diff --git a/.gitignore b/.gitignore index 85b3cd3..d566669 100644 --- a/.gitignore +++ b/.gitignore @@ -1,9 +1,11 @@ -/libanet-0.2.2.tar.bz2 -/libanet-0.2.3.tar.bz2 -/libanet-0.3.1.tar.bz2 -/libanet-0.3.3.tar.bz2 -/libanet-0.3.4.tar.bz2 /0xBB793815pub.asc -/libanet-0.3.4.tar.bz2.sig /libanet-0.4.0.tar.bz2 /libanet-0.4.0.tar.bz2.sig +/libanet-0.4.1.tar.bz2 +/libanet-0.4.1.tar.bz2.sig +/BB793815-extended.key +/0xDBF6D7E1095FD0D9.asc +/libanet-0.5.0.tar.bz2 +/libanet-0.5.0.tar.bz2.sig +/libanet-0.5.1.tar.bz2 +/libanet-0.5.1.tar.bz2.sig diff --git a/anet-0.2.2-directories_gpr.patch b/anet-0.4.1-directories_gpr.patch similarity index 86% rename from anet-0.2.2-directories_gpr.patch rename to anet-0.4.1-directories_gpr.patch index 00ecdd0..3edc16b 100644 --- a/anet-0.2.2-directories_gpr.patch +++ b/anet-0.4.1-directories_gpr.patch @@ -1,5 +1,3 @@ -diff --git a/gnat/anet.gpr b/gnat/anet.gpr -index 1c0e2dd..5d1b5a4 100644 --- a/gnat/anet.gpr +++ b/gnat/anet.gpr @@ -21,11 +21,13 @@ @@ -8,7 +6,7 @@ index 1c0e2dd..5d1b5a4 100644 +with "directories"; + - project Anet is + library project Anet is - for Source_Dirs use ("../../include/anet"); + for Source_Dirs use (Directories.Includedir & "/anet"); for Library_Name use "anet"; diff --git a/anet.spec b/anet.spec index 7997cdd..d6c93ab 100644 --- a/anet.spec +++ b/anet.spec @@ -1,22 +1,21 @@ Name: anet -Version: 0.4.0 -Release: 2%{?dist} +Version: 0.5.1 +Release: 7%{?dist} Summary: Ada Networking Library -Group: System Environment/Libraries -License: GPLv2+ with exceptions +License: GPL-2.0-or-later WITH GNAT-exception URL: https://www.codelabs.ch/anet/ Source: https://www.codelabs.ch/download/libanet-%{version}.tar.bz2 Source2: https://www.codelabs.ch/download/libanet-%{version}.tar.bz2.sig -Source3: https://www.codelabs.ch/keys/0xBB793815pub.asc -# Fedora-specific patch to use the directories project: -Patch1: anet-0.2.2-directories_gpr.patch +Source5: https://www.codelabs.ch/keys/0xDBF6D7E1095FD0D9.asc # Disable one test that doesn't work in Koji: -Patch2: anet-0.3.3-no_IPv6_multicast_test.patch +Patch: anet-0.3.3-no_IPv6_multicast_test.patch -BuildRequires: gcc-gnat fedora-gnat-project-common make asciidoc ahven-devel +BuildRequires: gcc-gnat fedora-gnat-project-common make ahven-devel BuildRequires: gprbuild -BuildRequires: gnupg2 +BuildRequires: gpgverify +BuildRequires: asciidoctor +BuildRequires: sed # Build only on architectures where GPRbuild is available: ExclusiveArch: %{GPRbuild_arches} @@ -38,7 +37,8 @@ länklagersocketar och Netlink. %package devel Summary: Development files for Anet Summary(sv): Filer för programmering med Anet -Group: Development/Libraries +License: GPL-2.0-or-later WITH GNAT-exception AND MIT +# Asciidoctor inserts an MIT-licensed stylesheet in the manual. Requires: %{name}%{?_isa} = %{version}-%{release} Requires: fedora-gnat-project-common @@ -54,35 +54,55 @@ för att utveckla program som använder Anet. %prep -# Decode the ASCII armor on the keyring. -gpg2 --homedir=nonexistent/dir --yes --output=keyring.gpg --dearmor %{SOURCE3} -# Verify the signature using the decoded keyring. -gpgv2 --homedir=nonexistent/dir --keyring=./keyring.gpg %{SOURCE2} %{SOURCE0} -# (--homedir isn't actually necessary. --dearmor processes only the input file, -# and if --keyring is used and contains a slash, then gpgv2 uses only that -# keyring. Thus neither command will look for a default keyring, but --homedir -# makes extra double sure that no default keyring will be touched in case -# another version of GPG works differently.) -rm keyring.gpg +%{gpgverify} --keyring='%{SOURCE5}' --signature='%{SOURCE2}' --data='%{SOURCE0}' +%autosetup -n libanet-%{version} -p0 -%setup -q -n libanet-%{version} -%patch1 -p 1 -%patch2 + +# Override the upstream usage of control-flow checking with Fedora's arch- +# dependent choice because GCC doesn't offer control-flow checking for all +# arches. +%global fix_cf_protection %([[ '%{build_adaflags}' = *-fcf-protection* ]] || echo -fcf-protection=none) +# This expands to an empty string if "-fcf-protection" is found among Fedora's +# compiler flags, and to "-fcf-protection=none" if it's not found. + +%define all_the_flags "GNAT_BUILDER_FLAGS=%{GNAT_builder_flags}" "ADAFLAGS=%{build_adaflags} %{fix_cf_protection}" "LDFLAGS=%{build_ldflags}" +# define makes the macro lazily expanded, unlike global. %build -make GNATFLAGS='%{GPRbuild_optflags}' LDFLAGS='%{?__global_ldflags}' -make doc +make %{all_the_flags} +make build-doc %install -# Pass GPRbuild_optflags here too to ensure that GPRbuild won't recompile anything. -%{make_install} GNATFLAGS='%{GPRbuild_optflags}' prefix=%{_prefix} libdir=%{_libdir} gprdir=%{_GNAT_project_dir} +# Pass all_the_flags here too to ensure that GPRbuild won't recompile anything. +%{make_install} %{all_the_flags} GPRINSTALLFLAGS='%{GPRinstall_flags}' + +# Make the generated usage project file architecture-independent. +sed --regexp-extended --in-place \ + '--expression=1i with "directories";' \ + '--expression=/^-- This project has been generated/d' \ + '--expression=s|^( *for +Source_Dirs +use +).*;$|\1(Directories.Includedir \& "/%{name}");|i' \ + '--expression=s|^( *for +Library_Dir +use +).*;$|\1Directories.Libdir;|i' \ + '--expression=s|^( *for +Library_ALI_Dir +use +).*;$|\1Directories.Libdir \& "/%{name}";|i' \ + %{buildroot}%{_GNAT_project_dir}/*.gpr +# The Sed commands are: +# 1: Insert a with clause before the first line to import the directories +# project. +# 2: Delete a comment that mentions the architecture. +# 3: Replace the value of Source_Dirs with a pathname based on +# Directories.Includedir. +# 4: Replace the value of Library_Dir with Directories.Libdir. +# 5: Replace the value of Library_ALI_Dir with a pathname based on +# Directories.Libdir. %check -make tests GNATFLAGS='%{GPRbuild_optflags} -cargs -fPIE' -%{_rpmconfigdir}/check-rpaths +# Disable the hardening hack only for the testsuite. +# https://bugzilla.redhat.com/show_bug.cgi?id=1197501 +# all_the_flags must be lazily expanded for this to work. +%undefine _hardened_build +make tests %{all_the_flags} %files @@ -95,10 +115,92 @@ make tests GNATFLAGS='%{GPRbuild_optflags} -cargs -fPIE' %{_libdir}/*.so %{_libdir}/%{name} %{_GNAT_project_dir}/* -%doc README TODO doc/html examples +%doc README TODO obj/html examples %changelog +* Fri Jan 16 2026 Fedora Release Engineering - 0.5.1-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild + +* Wed Jan 07 2026 Björn Persson - 0.5.1-6 +- Rebuilt with GCC 16 prerelease. + +* Sun Aug 10 2025 Björn Persson - 0.5.1-5 +- Rebuilt because the ALI of System.OS_Constants changed. + +* Wed Jul 23 2025 Fedora Release Engineering - 0.5.1-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild + +* Thu Jan 16 2025 Fedora Release Engineering - 0.5.1-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild + +* Tue Jan 14 2025 Björn Persson - 0.5.1-2 +- Rebuilt with GCC 15 prerelease. + +* Mon Nov 04 2024 Björn Persson - 0.5.1-1 +- Upgraded to version 0.5.1. + +* Wed Jul 17 2024 Fedora Release Engineering - 0.5.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + +* Sun Feb 25 2024 Björn Persson - 0.5.0-1 +- Upgraded to version 0.5.0. + +* Mon Jan 22 2024 Fedora Release Engineering - 0.4.1-18 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Fri Jan 19 2024 Fedora Release Engineering - 0.4.1-17 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Tue Jan 16 2024 Björn Persson - 0.4.1-16 +- Rebuilt with GCC 14 prerelease. + +* Wed Jul 19 2023 Fedora Release Engineering - 0.4.1-15 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Wed Jan 18 2023 Fedora Release Engineering - 0.4.1-14 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Tue Jan 17 2023 Björn Persson - 0.4.1-13 +- Rebuilt with GCC 13. + +* Wed Jul 20 2022 Fedora Release Engineering - 0.4.1-12 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Wed Jan 19 2022 Fedora Release Engineering - 0.4.1-11 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Wed Jul 21 2021 Fedora Release Engineering - 0.4.1-10 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Fri Apr 02 2021 Björn Persson - 0.4.1-9 +- rebuilt with gcc-11.0.1-0.3 + +* Tue Jan 26 2021 Fedora Release Engineering - 0.4.1-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Tue Dec 08 2020 Björn Persson - 0.4.1-7 +- Rebuilt with GCC 11. + +* Fri Jul 31 2020 Fedora Release Engineering - 0.4.1-6 +- Second attempt - Rebuilt for + https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Mon Jul 27 2020 Fedora Release Engineering - 0.4.1-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Tue Jan 28 2020 Fedora Release Engineering - 0.4.1-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Wed Jul 24 2019 Fedora Release Engineering - 0.4.1-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Thu Jan 31 2019 Fedora Release Engineering - 0.4.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Sat Aug 18 2018 Björn Persson - 0.4.1-1 +- Upgraded to version 0.4.1. + * Thu Jul 12 2018 Fedora Release Engineering - 0.4.0-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild diff --git a/sources b/sources index 222ce94..18b44c3 100644 --- a/sources +++ b/sources @@ -1,3 +1,5 @@ -SHA512 (0xBB793815pub.asc) = 8f69764f8ac52e09df45caf937bce47867de43ec2df033988d9d6210b1452386650ece06f91dd5a4de8ad1f935362d64e63a84186519363291bb3cd196fe8d35 -SHA512 (libanet-0.4.0.tar.bz2) = 92514863e20f1145b82dfd5deb1fea5331c16d7d99976dfc5dcdbd4512ee850a9bf2d0847784a156f2d8043128f80eaf40deb0d187e0491a39f0dd708bf5f338 -SHA512 (libanet-0.4.0.tar.bz2.sig) = ad8125a752d117b777a10bdb117bb4f9d88082dfe620d378093a9f8c729ee00671110cce668cdf03cc655761bf2be3de139d1e55f90c4783c773ea24033c1482 +SHA512 (0xDBF6D7E1095FD0D9.asc) = 58d80b4de7fac4e95554c913ba60738ef7f8c55424f7b5a88a6d8c65dd482dcf4ec859f3928ed232d1bae4032c42c58183156099ee96d87a51125d28efd18149 +SHA512 (libanet-0.5.0.tar.bz2) = cb61f5b3231c56d8e0521a0693fb093d4203ec6a66bc592316c0f8a677d2d995feea65b46d72ba5cca4dc46a8c41ae4027ce3387c0f7dde6ba326cbde6b12c4d +SHA512 (libanet-0.5.0.tar.bz2.sig) = 46bb94fda693da3af6207ee06661e7d0104f1954bcef2a86874bb5f3bb24a36b1488432724e3fa49786aa65c33df1fca6608da62d05182da4a2c51eda2c2d6e2 +SHA512 (libanet-0.5.1.tar.bz2) = bb9e8f8d040c30c036b11cb5923a06c1a230f4a70c674d8c8a1c816fc7901b1355e878d62f37e4f3e6caa43d0e3dc8e5b29a5ba2d32380110e0c3d4310777ecf +SHA512 (libanet-0.5.1.tar.bz2.sig) = 5e3da5a2af7f746b49547a1dae64102ccfb08666a0a525cb7c7876bb575a9f2dad44a844923cf71289902455c5dc5bd8f8af2acacc844350ef7e115ec4656061