From c00875d2c1c43cc02f79ed76751439d289d5385b Mon Sep 17 00:00:00 2001 From: eabdullin Date: Wed, 14 May 2025 17:50:19 +0000 Subject: [PATCH] import UBI perl-version-0.99.32-4.el10 --- .gitignore | 2 +- .perl-version.metadata | 1 - ...locale_name_on_entry-isn-t-clobbered.patch | 65 -------- SPECS/perl-version.spec => perl-version.spec | 154 ++++++++++++++++-- sources | 1 + 5 files changed, 142 insertions(+), 81 deletions(-) delete mode 100644 .perl-version.metadata delete mode 100644 SOURCES/version-0.9924-ensure-locale_name_on_entry-isn-t-clobbered.patch rename SPECS/perl-version.spec => perl-version.spec (66%) create mode 100644 sources diff --git a/.gitignore b/.gitignore index 5c62b70..d29275a 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -SOURCES/version-0.9924.tar.gz +version-0.9932.tar.gz diff --git a/.perl-version.metadata b/.perl-version.metadata deleted file mode 100644 index 101ce99..0000000 --- a/.perl-version.metadata +++ /dev/null @@ -1 +0,0 @@ -86a2a814def626d269ce332df5d3df1d63b07f5f SOURCES/version-0.9924.tar.gz diff --git a/SOURCES/version-0.9924-ensure-locale_name_on_entry-isn-t-clobbered.patch b/SOURCES/version-0.9924-ensure-locale_name_on_entry-isn-t-clobbered.patch deleted file mode 100644 index 97aef57..0000000 --- a/SOURCES/version-0.9924-ensure-locale_name_on_entry-isn-t-clobbered.patch +++ /dev/null @@ -1,65 +0,0 @@ -From eecfc44fbd6659ed35719038ecf2b029fe20cfd5 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= -Date: Mon, 25 Nov 2019 16:48:33 +0100 -Subject: [PATCH] Subject: [PATCH] ensure locale_name_on_entry isn't clobbered -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -If the return value of setlocale() is static storage, the call to -setlocale(LC_NUMERIC, "C"); could overwrite it. - -If the return value of setlocale() is malloced, the call to -setlocale(LC_NUMERIC, "C"); could free it. - -Either way, we need to copy it. Fixes gh #17054 rt134212 - -Petr Písař: Ported to version-0.9924 from perl commit -bcb1da5c29c3a2534a0e43874974b83c9c8b174c. - -Signed-off-by: Petr Písař ---- - vutil/vutil.c | 6 ++++++ - 1 file changed, 6 insertions(+) - -diff --git a/vutil/vutil.c b/vutil/vutil.c -index 5d183a0..69c8351 100644 ---- a/vutil/vutil.c -+++ b/vutil/vutil.c -@@ -638,6 +638,8 @@ VER_NV: - if ( strNE(locale_name_on_entry, "C") - && strNE(locale_name_on_entry, "POSIX")) - { -+ /* the setlocale() call might free or overwrite the name */ -+ locale_name_on_entry = savepv(locale_name_on_entry); - setlocale(LC_NUMERIC, "C"); - } - else { /* This value indicates to the restore code that we didn't -@@ -661,6 +663,8 @@ VER_NV: - if ( strNE(locale_name_on_entry, "C") - && strNE(locale_name_on_entry, "POSIX")) - { -+ /* the setlocale() call might free or overwrite the name */ -+ locale_name_on_entry = savepv(locale_name_on_entry); - setlocale(LC_NUMERIC, "C"); - } - else { /* This value indicates to the restore code that we -@@ -710,6 +714,7 @@ VER_NV: - - if (locale_name_on_entry) { - setlocale(LC_NUMERIC, locale_name_on_entry); -+ Safefree(locale_name_on_entry); - } - - LC_NUMERIC_UNLOCK; /* End critical section */ -@@ -718,6 +723,7 @@ VER_NV: - - if (locale_name_on_entry) { - setlocale(LC_NUMERIC, locale_name_on_entry); -+ Safefree(locale_name_on_entry); - LC_NUMERIC_UNLOCK; - } - else if (locale_obj_on_entry == PL_underlying_numeric_obj) { --- -2.21.0 - diff --git a/SPECS/perl-version.spec b/perl-version.spec similarity index 66% rename from SPECS/perl-version.spec rename to perl-version.spec index daced3f..38d7642 100644 --- a/SPECS/perl-version.spec +++ b/perl-version.spec @@ -6,17 +6,16 @@ %endif Name: perl-version -Epoch: 7 -Version: 0.99.24 -%global module_version 0.9924 -Release: 441%{?dist} +Epoch: 8 +Version: 0.99.32 +%global module_version 0.9932 +Release: 4%{?dist} Summary: Perl extension for Version Objects -License: GPL+ or Artistic +License: GPL-1.0-or-later OR Artistic-1.0-Perl URL: https://metacpan.org/release/version -Source0: https://cpan.metacpan.org/authors/id/J/JP/JPEACOCK/version-%{module_version}.tar.gz -# Do not clobber memory when switching a locale, Perl GH#17054, in Perl 5.31.5 -Patch0: version-0.9924-ensure-locale_name_on_entry-isn-t-clobbered.patch +Source0: https://cpan.metacpan.org/authors/id/L/LE/LEONT/version-%{module_version}.tar.gz # Build +BuildRequires: coreutils BuildRequires: findutils BuildRequires: gcc BuildRequires: make @@ -41,20 +40,20 @@ BuildRequires: perl(warnings) BuildRequires: perl(warnings::register) BuildRequires: perl(XSLoader) # Tests only +BuildRequires: perl(base) BuildRequires: perl(Data::Dumper) BuildRequires: perl(File::Basename) BuildRequires: perl(File::Spec) +BuildRequires: perl(I18N::Langinfo) BuildRequires: perl(IO::Handle) BuildRequires: perl(lib) BuildRequires: perl(List::Util) -BuildRequires: perl(parent) BuildRequires: perl(Test::Harness) BuildRequires: perl(Test::More) >= 0.45 # Optional tests %if %{with perl_version_enables_optional_test} && ! %{defined perl_bootstrap} BuildRequires: perl(Test::Taint) %endif -Requires: perl(:MODULE_COMPAT_%(eval "$(perl -V:version)"; echo $version)) Requires: perl(B) Requires: perl(Carp) Requires: perl(locale) @@ -65,6 +64,7 @@ Requires: perl(XSLoader) %{?perl_default_filter} # version::vxs is private module (see bug #633775) %global __provides_exclude %{?__provides_exclude:%__provides_exclude|}perl\\(version::vxs\\) +%global __provides_exclude_from %{?__provides_exclude_from:%__provides_exclude_from|}^%{_libexecdir} %description Version objects were added to Perl in 5.10. This module implements version @@ -74,20 +74,54 @@ should not be used due to incompatible API changes. Version 0.77 introduces the new 'parse' and 'declare' methods to standardize usage. You are strongly urged to set 0.77 as a minimum in your code. +%package tests +Summary: Tests for %{name} +Requires: %{name} = %{?epoch:%{epoch}:}%{version}-%{release} +Requires: perl-Test-Harness +Requires: perl(I18N::Langinfo) + +%description tests +Tests from %{name}. Execute them +with "%{_libexecdir}/%{name}/test". + %prep %setup -q -n version-%{module_version} -%patch0 -p1 + +# Help file to recognise the Perl scripts +for F in t/*.t t/survey_locales; do + perl -i -MConfig -ple 'print $Config{startperl} if $. == 1 && !s{\A#!.*perl\b}{$Config{startperl}}' "$F" + chmod +x "$F" +done +perl -MConfig -i -pe 's/\A#!.*perl/$Config{startperl}/' t/*.pm %build -perl Makefile.PL INSTALLDIRS=vendor OPTIMIZE="%{optflags}" UNINST=0 NO_PACKLIST=1 -make %{?_smp_mflags} +perl Makefile.PL INSTALLDIRS=vendor OPTIMIZE="%{optflags}" UNINST=0 NO_PACKLIST=1 NO_PERLLOCAL=1 +%{make_build} %install -make pure_install DESTDIR=%{buildroot} +%{make_install} find %{buildroot} -type f -name '*.bs' -size 0 -delete %{_fixperms} %{buildroot}/* +# Install tests +mkdir -p %{buildroot}/%{_libexecdir}/%{name} +cp -a t %{buildroot}/%{_libexecdir}/%{name} +cat > %{buildroot}/%{_libexecdir}/%{name}/test << 'EOF' +#!/bin/bash +set -e +# Some tests write into temporary files/directories. The easiest solution +# is to copy the tests into a writable directory and execute them from there. +DIR=$(mktemp -d) +pushd "$DIR" +cp -a %{_libexecdir}/%{name}/* ./ +prove -I . -j "$(getconf _NPROCESSORS_ONLN)" +popd +rm -rf "$DIR" +EOF +chmod +x %{buildroot}/%{_libexecdir}/%{name}/test + %check +export HARNESS_OPTIONS=j$(perl -e 'if ($ARGV[0] =~ /.*-j([0-9][0-9]*).*/) {print $1} else {print 1}' -- '%{?_smp_mflags}') make test %files @@ -103,7 +137,99 @@ make test %{_mandir}/man3/version.3pm* %{_mandir}/man3/version::Internals.3pm* +%files tests +%{_libexecdir}/%{name} + %changelog +* Tue Oct 29 2024 Troy Dawson - 8:0.99.32-4 +- Bump release for October 2024 mass rebuild: + Resolves: RHEL-64018 + +* Fri Aug 09 2024 Jitka Plesnikova - 8:0.99.32-3 +- Perl 5.40 re-rebuild of bootstrapped packages + +* Thu Jul 18 2024 Jitka Plesnikova - 8:0.99.32-2 +- Perl 5.40 rebuild + +* Thu Jul 18 2024 Jitka Plesnikova - 8:0.99.32-1 +- 0.9932 bump + +* Mon Jun 24 2024 Troy Dawson - 8:0.99.30-4 +- Bump release for June 2024 mass rebuild + +* Thu Jan 25 2024 Fedora Release Engineering - 8:0.99.30-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Sun Jan 21 2024 Fedora Release Engineering - 8:0.99.30-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Tue Sep 12 2023 Jitka Plesnikova - 8:0.9930-1 +- 0.9930 bump (rhbz#2238421) + +* Fri Jul 21 2023 Fedora Release Engineering - 8:0.99.29-501 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Wed Jul 12 2023 Jitka Plesnikova - 8:0.99.29-500 +- Perl 5.38 re-rebuild of bootstrapped packages + +* Tue Jul 11 2023 Jitka Plesnikova - 8:0.99.29-499 +- Increase release to favour standalone package + +* Fri Jan 20 2023 Fedora Release Engineering - 8:0.99.29-491 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Fri Jul 22 2022 Fedora Release Engineering - 8:0.99.29-490 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Fri Jun 03 2022 Jitka Plesnikova - 8:0.99.29-489 +- Perl 5.36 re-rebuild of bootstrapped packages + +* Mon May 30 2022 Jitka Plesnikova - 8:0.99.29-488 +- Increase release to favour standalone package + +* Fri Jan 21 2022 Fedora Release Engineering - 8:0.99.29-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Tue Jul 27 2021 Fedora Release Engineering - 8:0.99.29-4 +- Second attempt - Rebuilt for + https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Mon May 24 2021 Jitka Plesnikova - 8:0.99.29-3 +- Perl 5.34 re-rebuild of bootstrapped packages + +* Fri May 21 2021 Jitka Plesnikova - 8:0.99.29-2 +- Increase epoch to favour standalone package + +* Mon Apr 19 2021 Jitka Plesnikova - 7:0.99.29-1 +- 0.9929 bump +- Package tests + +* Wed Jan 27 2021 Fedora Release Engineering - 7:0.99.28-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Wed Sep 23 2020 Jitka Plesnikova - 7:0.99.28-1 +- 0.9928 bump + +* Fri Aug 21 2020 Jitka Plesnikova - 7:0.99.27-458 +- 0.9927 bump + +* Tue Jul 28 2020 Fedora Release Engineering - 7:0.99.24-458 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Fri Jun 26 2020 Jitka Plesnikova - 7:0.99.24-457 +- Perl 5.32 re-rebuild of bootstrapped packages + +* Mon Jun 22 2020 Jitka Plesnikova - 7:0.99.24-456 +- Increase release to favour standalone package + +* Thu Feb 06 2020 Tom Stellard - 7:0.99.24-443 +- Spec file cleanups: Use make_build and make_install macros +- https://docs.fedoraproject.org/en-US/packaging-guidelines/#_parallel_make +- https://fedoraproject.org/wiki/Perl/Tips#ExtUtils::MakeMake + +* Thu Jan 30 2020 Fedora Release Engineering - 7:0.99.24-442 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + * Mon Nov 25 2019 Petr Pisar - 7:0.99.24-441 - Do not clobber memory when switching a locale (Perl GH#17054) diff --git a/sources b/sources new file mode 100644 index 0000000..dd0534d --- /dev/null +++ b/sources @@ -0,0 +1 @@ +SHA512 (version-0.9932.tar.gz) = 60bcfd3a1244e37609deb46650ecbfb0e40304f84b2a6871bdfd9d7eb209fdba9df2c0b8d7341f20d827c14f703fad29472214645b7945a0903d8493be8916dd