From be74236d562b36dc7fac77a30bc87585092dc0a7 Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Wed, 21 Jul 2021 16:36:30 -0400 Subject: [PATCH 01/12] Opt in to rpmautospec --- changelog | 2 ++ wyhash.spec | 5 ++--- 2 files changed, 4 insertions(+), 3 deletions(-) create mode 100644 changelog diff --git a/changelog b/changelog new file mode 100644 index 0000000..b196415 --- /dev/null +++ b/changelog @@ -0,0 +1,2 @@ +* Sat Mar 06 2021 Benjamin A. Beasley - 1.20210306gitfinal +- Initial package diff --git a/wyhash.spec b/wyhash.spec index ca55c87..2feb1a2 100644 --- a/wyhash.spec +++ b/wyhash.spec @@ -11,7 +11,7 @@ Summary: No hash function is perfect, but some are useful # compat package, Version: final1 # Note that the forgemeta macro prepends commit information to the dist macro. -Release: 1%{?dist} +Release: %autorelease URL: %{forgeurl} Source0: %{forgesource} @@ -116,5 +116,4 @@ ln -s %{compat_name}/%{name}.h %{buildroot}%{_includedir}/%{name}.h %changelog -* Sat Mar 06 2021 Benjamin A. Beasley - 1.20210306gitfinal -- Initial package +%autochangelog From 6b61cea2fef336a6f5bc041d08b0d0905898abde Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Sat, 13 Nov 2021 15:37:03 -0500 Subject: [PATCH 02/12] Reduce macro indirection in the spec file --- wyhash.spec | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/wyhash.spec b/wyhash.spec index 2feb1a2..dae2571 100644 --- a/wyhash.spec +++ b/wyhash.spec @@ -1,7 +1,7 @@ Name: wyhash Summary: No hash function is perfect, but some are useful -%global forgeurl https://github.com/wangyi-fudan/%{name} -%global tag %{name}_final +%global forgeurl https://github.com/wangyi-fudan/wyhash +%global tag wyhash_final %forgemeta # Upstream has haphazard versioning: after going through “v1”-“v6”, they # selected a version “final1”, and are now working on “final2”. They also keep @@ -23,7 +23,7 @@ BuildRequires: make # We need the delimiter in the “compat” version because the name ends, and the # version starts, with a letter. See # https://docs.fedoraproject.org/en-US/packaging-guidelines/Naming/#multiple. -%global compat_name %{name}_%{version} +%global compat_name wyhash_%{version} # No compiled code is installed, so this would be empty. %global debug_package %{nil} @@ -49,7 +49,7 @@ Summary: %{summary} # Since this is a header-only library, dependent packages must require one of # the -static virtual Provides. -Provides: %{name}-static = %{version}-%{release} +Provides: wyhash-static = %{version}-%{release} Provides: %{compat_name}-devel = %{version}-%{release} Provides: %{compat_name}-devel%{?_isa} = %{version}-%{release} @@ -63,7 +63,7 @@ virtual Provides for %{compat_name}-devel/%{compat_name}-static, and should add %package doc -Summary: Documentation for %{name} +Summary: Documentation for wyhash BuildArch: noarch %description doc %{common_description} @@ -90,11 +90,11 @@ sed -r -i \ # not yet properly versioned. We put it in a subdirectory of _includedir for # parallel-installability; dependent packages requiring particular versions # will have to adjust their CFLAGS. -install -D -p -m 0644 -t %{buildroot}%{_includedir}/%{compat_name} %{name}.h +install -D -p -m 0644 -t %{buildroot}%{_includedir}/%{compat_name} wyhash.h # For this package, which tracks the latest version, we also allow the header # to be used without adding the subdirectory to the CFLAGS. -ln -s %{compat_name}/%{name}.h %{buildroot}%{_includedir}/%{name}.h +ln -s %{compat_name}/wyhash.h %{buildroot}%{_includedir}/wyhash.h %check @@ -105,7 +105,7 @@ ln -s %{compat_name}/%{name}.h %{buildroot}%{_includedir}/%{name}.h %license LICENSE %{_includedir}/%{compat_name} -%{_includedir}/%{name}.h +%{_includedir}/wyhash.h %files doc From 1740f1dcd5fa2a878177518b652734e74842a34b Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Thu, 16 Dec 2021 20:44:54 -0500 Subject: [PATCH 03/12] Let -devel subpackage be noarch --- wyhash.spec | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/wyhash.spec b/wyhash.spec index dae2571..57ab193 100644 --- a/wyhash.spec +++ b/wyhash.spec @@ -47,12 +47,13 @@ simplest: In the sense of code size.} %package devel Summary: %{summary} +BuildArch: noarch + # Since this is a header-only library, dependent packages must require one of # the -static virtual Provides. Provides: wyhash-static = %{version}-%{release} Provides: %{compat_name}-devel = %{version}-%{release} -Provides: %{compat_name}-devel%{?_isa} = %{version}-%{release} Provides: %{compat_name}-static = %{version}-%{release} %description devel %{common_description} From bca7bf9fd5f5b8062f175d0ec9f49428de8b4ecc Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Sat, 22 Jan 2022 04:44:53 +0000 Subject: [PATCH 04/12] - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild Signed-off-by: Fedora Release Engineering From 1ff3a27b673b40e0abb29937c0973dc4ad46faba Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Wed, 20 Apr 2022 10:43:57 -0400 Subject: [PATCH 05/12] =?UTF-8?q?Drop=20=E2=80=9Cforge=E2=80=9D=20macros?= =?UTF-8?q?=20to=20modernize=20snapshot=20versioning?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- wyhash.spec | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/wyhash.spec b/wyhash.spec index 57ab193..c2e39d1 100644 --- a/wyhash.spec +++ b/wyhash.spec @@ -1,20 +1,21 @@ -Name: wyhash -Summary: No hash function is perfect, but some are useful -%global forgeurl https://github.com/wangyi-fudan/wyhash -%global tag wyhash_final -%forgemeta # Upstream has haphazard versioning: after going through “v1”-“v6”, they # selected a version “final1”, and are now working on “final2”. They also keep # all old versions in the git repository. We will package only based on the # “final” version numbers. When “final2” is released, this package will move # forward to that version, with “final1” offered in a parallel-installable -# compat package, -Version: final1 -# Note that the forgemeta macro prepends commit information to the dist macro. +# compat package. +# +# Since versioning is so wonky, we treat the git tag as a snapshot version. +%global tag wyhash_final +%global snapdate 20200311 + +Name: wyhash +Summary: No hash function is perfect, but some are useful +Version: final1^%{snapdate}git%{tag} Release: %autorelease -URL: %{forgeurl} -Source0: %{forgesource} +URL: https://github.com/wangyi-fudan/wyhash +Source0: %{url}/archive/%{tag}/wyhash-%{tag}.tar.gz License: Unlicense BuildRequires: gcc-c++ @@ -71,7 +72,7 @@ BuildArch: noarch %prep -%forgeautosetup +%autosetup -n wyhash-%{tag} # Build the tests with the distribution’s preferred flags sed -r -i \ From 50b2a29037b3655a0fdd4d867c7c0628a9f3d013 Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Fri, 22 Apr 2022 15:12:26 -0400 Subject: [PATCH 06/12] Fix virtual Provides --- wyhash.spec | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/wyhash.spec b/wyhash.spec index c2e39d1..8b1e0d5 100644 --- a/wyhash.spec +++ b/wyhash.spec @@ -24,7 +24,8 @@ BuildRequires: make # We need the delimiter in the “compat” version because the name ends, and the # version starts, with a letter. See # https://docs.fedoraproject.org/en-US/packaging-guidelines/Naming/#multiple. -%global compat_name wyhash_%{version} +%global baseversion %(echo '%{version}' | cut -d '^' -f 1) +%global compat_name wyhash_%{baseversion} # No compiled code is installed, so this would be empty. %global debug_package %{nil} @@ -59,9 +60,9 @@ Provides: %{compat_name}-static = %{version}-%{release} %description devel %{common_description} -Dependent packages that require version %{version} in particular should use the -virtual Provides for %{compat_name}-devel/%{compat_name}-static, and should add --I%{_includedir}/%{compat_name} to their compiler flags. +Dependent packages that require version %{baseversion} in particular should use +the virtual Provides for %{compat_name}-devel/%{compat_name}-static, and should +add -I%{_includedir}/%{compat_name} to their compiler flags. %package doc From 88a37fe47247170967591f02acf354abf4a1d4db Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Sat, 23 Jul 2022 12:43:01 +0000 Subject: [PATCH 07/12] Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild Signed-off-by: Fedora Release Engineering From 6e83e8186227947b91903ef43f82822d311998f1 Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Tue, 29 Nov 2022 14:31:15 -0500 Subject: [PATCH 08/12] Confirm License is SPDX Unlicense --- wyhash.spec | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/wyhash.spec b/wyhash.spec index 8b1e0d5..bf7733e 100644 --- a/wyhash.spec +++ b/wyhash.spec @@ -14,9 +14,10 @@ Summary: No hash function is perfect, but some are useful Version: final1^%{snapdate}git%{tag} Release: %autorelease +# SPDX +License: Unlicense URL: https://github.com/wangyi-fudan/wyhash Source0: %{url}/archive/%{tag}/wyhash-%{tag}.tar.gz -License: Unlicense BuildRequires: gcc-c++ BuildRequires: make From 501f666690bf30c14de62f7732606ee4fd90c58a Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Thu, 22 Dec 2022 13:04:20 -0500 Subject: [PATCH 09/12] Indicate dirs. in files lists with trailing slashes --- wyhash.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/wyhash.spec b/wyhash.spec index bf7733e..301cc9f 100644 --- a/wyhash.spec +++ b/wyhash.spec @@ -108,7 +108,7 @@ ln -s %{compat_name}/wyhash.h %{buildroot}%{_includedir}/wyhash.h %files devel %license LICENSE -%{_includedir}/%{compat_name} +%{_includedir}/%{compat_name}/ %{_includedir}/wyhash.h From eabaf636d1874790fe1ef2f85ff495705cf7e614 Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Thu, 22 Dec 2022 13:04:38 -0500 Subject: [PATCH 10/12] Leaf package: remove i686 support --- wyhash.spec | 3 +++ 1 file changed, 3 insertions(+) diff --git a/wyhash.spec b/wyhash.spec index 301cc9f..656f45c 100644 --- a/wyhash.spec +++ b/wyhash.spec @@ -19,6 +19,9 @@ License: Unlicense URL: https://github.com/wangyi-fudan/wyhash Source0: %{url}/archive/%{tag}/wyhash-%{tag}.tar.gz +# https://fedoraproject.org/wiki/Changes/EncourageI686LeafRemoval +ExcludeArch: %{ix86} + BuildRequires: gcc-c++ BuildRequires: make From 39585ec2be5079edace698db41d261e1542ced87 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Sat, 21 Jan 2023 07:04:49 +0000 Subject: [PATCH 11/12] Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild Signed-off-by: Fedora Release Engineering From 53b25ee1ca75ec720dd6f7d3b939999c0811c637 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= Date: Thu, 25 May 2023 08:32:48 +0200 Subject: [PATCH 12/12] Orphaned for 6+ weeks --- .gitignore | 1 - README.md | 3 -- changelog | 2 - dead.package | 1 + sources | 1 - wyhash.spec | 126 --------------------------------------------------- 6 files changed, 1 insertion(+), 133 deletions(-) delete mode 100644 .gitignore delete mode 100644 README.md delete mode 100644 changelog create mode 100644 dead.package delete mode 100644 sources delete mode 100644 wyhash.spec diff --git a/.gitignore b/.gitignore deleted file mode 100644 index 5494e3a..0000000 --- a/.gitignore +++ /dev/null @@ -1 +0,0 @@ -/wyhash-wyhash_final.tar.gz diff --git a/README.md b/README.md deleted file mode 100644 index bee77e8..0000000 --- a/README.md +++ /dev/null @@ -1,3 +0,0 @@ -# wyhash - -The wyhash package diff --git a/changelog b/changelog deleted file mode 100644 index b196415..0000000 --- a/changelog +++ /dev/null @@ -1,2 +0,0 @@ -* Sat Mar 06 2021 Benjamin A. Beasley - 1.20210306gitfinal -- Initial package diff --git a/dead.package b/dead.package new file mode 100644 index 0000000..5204a84 --- /dev/null +++ b/dead.package @@ -0,0 +1 @@ +Orphaned for 6+ weeks diff --git a/sources b/sources deleted file mode 100644 index c912fcc..0000000 --- a/sources +++ /dev/null @@ -1 +0,0 @@ -SHA512 (wyhash-wyhash_final.tar.gz) = 8f71005a478cbc65fc0c9314620cbbfd42c1fc76d114771f5d8cf82424727116803ff7f8ded2d8abef664f87424676d07f5fe7f6b8084c9e9141dbe96b4af8f4 diff --git a/wyhash.spec b/wyhash.spec deleted file mode 100644 index 656f45c..0000000 --- a/wyhash.spec +++ /dev/null @@ -1,126 +0,0 @@ -# Upstream has haphazard versioning: after going through “v1”-“v6”, they -# selected a version “final1”, and are now working on “final2”. They also keep -# all old versions in the git repository. We will package only based on the -# “final” version numbers. When “final2” is released, this package will move -# forward to that version, with “final1” offered in a parallel-installable -# compat package. -# -# Since versioning is so wonky, we treat the git tag as a snapshot version. -%global tag wyhash_final -%global snapdate 20200311 - -Name: wyhash -Summary: No hash function is perfect, but some are useful -Version: final1^%{snapdate}git%{tag} -Release: %autorelease - -# SPDX -License: Unlicense -URL: https://github.com/wangyi-fudan/wyhash -Source0: %{url}/archive/%{tag}/wyhash-%{tag}.tar.gz - -# https://fedoraproject.org/wiki/Changes/EncourageI686LeafRemoval -ExcludeArch: %{ix86} - -BuildRequires: gcc-c++ -BuildRequires: make - -# We need the delimiter in the “compat” version because the name ends, and the -# version starts, with a letter. See -# https://docs.fedoraproject.org/en-US/packaging-guidelines/Naming/#multiple. -%global baseversion %(echo '%{version}' | cut -d '^' -f 1) -%global compat_name wyhash_%{baseversion} - -# No compiled code is installed, so this would be empty. -%global debug_package %{nil} - -%global common_description %{expand: -No hash function is perfect, but some are useful. - -wyhash and wyrand are the ideal 64-bit hash function and PRNG respectively: - -solid: wyhash passed SMHasher, wyrand passed BigCrush, practrand. - -portable: 64-bit/32-bit system, big/little endian. - -fastest: Efficient on 64-bit machines, especially for short keys. - -simplest: In the sense of code size.} - -%description %{common_description} - - -%package devel -Summary: %{summary} - -BuildArch: noarch - -# Since this is a header-only library, dependent packages must require one of -# the -static virtual Provides. -Provides: wyhash-static = %{version}-%{release} - -Provides: %{compat_name}-devel = %{version}-%{release} -Provides: %{compat_name}-static = %{version}-%{release} - -%description devel %{common_description} - -Dependent packages that require version %{baseversion} in particular should use -the virtual Provides for %{compat_name}-devel/%{compat_name}-static, and should -add -I%{_includedir}/%{compat_name} to their compiler flags. - - -%package doc -Summary: Documentation for wyhash -BuildArch: noarch - -%description doc %{common_description} - - -%prep -%autosetup -n wyhash-%{tag} - -# Build the tests with the distribution’s preferred flags -sed -r -i \ - -e 's/ -O3\b//g' \ - -e 's/ -march=native\b/ \$\(CXXFLAGS\) \$\(LDFLAGS\)/g' \ - makefile - - -%build -%set_build_flags -# We build only the test executable, not the benchmarks. -%make_build test_vector CXX="${CXX-g++}" - - -%install -# We install only the main wyhash header; others, like wyhash32 and o1hash, are -# not yet properly versioned. We put it in a subdirectory of _includedir for -# parallel-installability; dependent packages requiring particular versions -# will have to adjust their CFLAGS. -install -D -p -m 0644 -t %{buildroot}%{_includedir}/%{compat_name} wyhash.h - -# For this package, which tracks the latest version, we also allow the header -# to be used without adding the subdirectory to the CFLAGS. -ln -s %{compat_name}/wyhash.h %{buildroot}%{_includedir}/wyhash.h - - -%check -./test_vector - - -%files devel -%license LICENSE - -%{_includedir}/%{compat_name}/ -%{_includedir}/wyhash.h - - -%files doc -%license LICENSE -%doc README.md -# An academic paper on the algorithm: -%doc *.docx - - -%changelog -%autochangelog