diff --git a/.gitignore b/.gitignore index 2594304..d566669 100644 --- a/.gitignore +++ b/.gitignore @@ -3,3 +3,9 @@ /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.spec b/anet.spec index 2d25e6a..d6c93ab 100644 --- a/anet.spec +++ b/anet.spec @@ -1,21 +1,21 @@ Name: anet -Version: 0.4.1 -Release: 2%{?dist} +Version: 0.5.1 +Release: 7%{?dist} Summary: Ada Networking Library -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.4.1-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} @@ -37,6 +37,8 @@ länklagersocketar och Netlink. %package devel Summary: Development files for Anet Summary(sv): Filer för programmering med Anet +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 @@ -52,34 +54,47 @@ 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 - -%setup -q -n libanet-%{version} -%patch1 -p 1 -%patch2 +%{gpgverify} --keyring='%{SOURCE5}' --signature='%{SOURCE2}' --data='%{SOURCE0}' +%autosetup -n libanet-%{version} -p0 -%define all_the_flags "GNAT_BUILDER_FLAGS=%{GNAT_builder_flags}" "ADAFLAGS=%{build_adaflags}" "LDFLAGS=%{build_ldflags}" +# 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 %{all_the_flags} -make doc +make build-doc %install # Pass all_the_flags here too to ensure that GPRbuild won't recompile anything. -%{make_install} %{all_the_flags} prefix=%{_prefix} libdir=%{_libdir} gprdir=%{_GNAT_project_dir} +%{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 @@ -88,7 +103,6 @@ make doc # all_the_flags must be lazily expanded for this to work. %undefine _hardened_build make tests %{all_the_flags} -%{_rpmconfigdir}/check-rpaths %files @@ -101,10 +115,86 @@ make tests %{all_the_flags} %{_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 diff --git a/sources b/sources index 059225c..18b44c3 100644 --- a/sources +++ b/sources @@ -1,3 +1,5 @@ -SHA512 (0xBB793815pub.asc) = 8f69764f8ac52e09df45caf937bce47867de43ec2df033988d9d6210b1452386650ece06f91dd5a4de8ad1f935362d64e63a84186519363291bb3cd196fe8d35 -SHA512 (libanet-0.4.1.tar.bz2) = e5acdc46c2965299a47b93bdea097490f4a94d953fd3420ed30f4fc37775d41734b34dcd5a3adcc8f516ffe003e6208083a68b07d57827f090f92f2f0f1f5541 -SHA512 (libanet-0.4.1.tar.bz2.sig) = a3b00f0b169959d869263d4e4d2d7852b589e0880a881a8f75bb8468964da3aa991407c00ffe05c3f36da8a4edf38ac44d3a094f8efaa666ae82daa7d1fbc16d +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