diff --git a/.gitignore b/.gitignore index 437aa32..5222685 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -SOURCES/Carp-1.50.tar.gz +Carp-1.50.tar.gz diff --git a/.perl-Carp.metadata b/.perl-Carp.metadata deleted file mode 100644 index 91c622e..0000000 --- a/.perl-Carp.metadata +++ /dev/null @@ -1 +0,0 @@ -309973bc0c27f7a186a307c0f243cac36101d229 SOURCES/Carp-1.50.tar.gz diff --git a/Carp-1.50-Upgrade-to-1.52.patch b/Carp-1.50-Upgrade-to-1.52.patch new file mode 100644 index 0000000..a2a5c3f --- /dev/null +++ b/Carp-1.50-Upgrade-to-1.52.patch @@ -0,0 +1,187 @@ +From a91baa4c8cb395568f4c55199e47ce4807e42bd2 Mon Sep 17 00:00:00 2001 +From: Jitka Plesnikova +Date: Wed, 5 May 2021 13:42:36 +0200 +Subject: [PATCH] Upgrade to 1.52 + +--- + lib/Carp.pm | 12 ++++++------ + lib/Carp/Heavy.pm | 2 +- + t/Carp.t | 6 ++++-- + t/Carp_overloadless.t | 6 ++++-- + t/broken_can.t | 5 ++++- + t/broken_univ_can.t | 12 +++++++++--- + t/vivify_stash.t | 6 +++++- + 7 files changed, 33 insertions(+), 16 deletions(-) + +diff --git a/lib/Carp.pm b/lib/Carp.pm +index 109b7fe..df563d0 100644 +--- a/lib/Carp.pm ++++ b/lib/Carp.pm +@@ -211,7 +211,7 @@ BEGIN { + } + + +-our $VERSION = '1.50'; ++our $VERSION = '1.52'; + $VERSION =~ tr/_//d; + + our $MaxEvalLen = 0; +@@ -284,7 +284,7 @@ sub shortmess { + my $cgc = _cgc(); + + # Icky backwards compatibility wrapper. :-( +- local @CARP_NOT = $cgc ? $cgc->() : caller(); ++ local @CARP_NOT = scalar( $cgc ? $cgc->() : caller() ); + shortmess_heavy(@_); + } + +@@ -944,10 +944,10 @@ This variable sets a general argument formatter to display references. + Plain scalars and objects that implement C will not go through + this formatter. Calling C from within this function is not supported. + +-local $Carp::RefArgFormatter = sub { +- require Data::Dumper; +- Data::Dumper::Dump($_[0]); # not necessarily safe +-}; ++ local $Carp::RefArgFormatter = sub { ++ require Data::Dumper; ++ Data::Dumper->Dump($_[0]); # not necessarily safe ++ }; + + =head2 @CARP_NOT + +diff --git a/lib/Carp/Heavy.pm b/lib/Carp/Heavy.pm +index a9b803c..fdb3e52 100644 +--- a/lib/Carp/Heavy.pm ++++ b/lib/Carp/Heavy.pm +@@ -2,7 +2,7 @@ package Carp::Heavy; + + use Carp (); + +-our $VERSION = '1.50'; ++our $VERSION = '1.52'; + $VERSION =~ tr/_//d; + + # Carp::Heavy was merged into Carp in version 1.12. Any mismatched versions +diff --git a/t/Carp.t b/t/Carp.t +index b1e399d..02c047e 100644 +--- a/t/Carp.t ++++ b/t/Carp.t +@@ -1,5 +1,6 @@ ++use strict; + use warnings; +-no warnings "once"; ++ + use Config; + + use IPC::Open3 1.0103 qw(open3); +@@ -353,6 +354,7 @@ for my $bodge_job ( 2, 1, 0 ) { SKIP: { + print "# required B\n"; + } + my $accum = ''; ++ no warnings 'once'; + local *CORE::GLOBAL::caller = sub { + local *__ANON__ = "fakecaller"; + my @c = CORE::caller(@_); +@@ -480,7 +482,7 @@ SKIP: + ); + + package Foo::No::Autovivify; +- $CARP_NOT = 1; ++ our $CARP_NOT = 1; + eval { Carp::croak(1) }; + ::ok( + !defined *{$Foo::No::Autovivify::{CARP_NOT}}{ARRAY}, +diff --git a/t/Carp_overloadless.t b/t/Carp_overloadless.t +index f4bda04..6b73601 100644 +--- a/t/Carp_overloadless.t ++++ b/t/Carp_overloadless.t +@@ -1,12 +1,14 @@ ++use strict; + use warnings; +-#no warnings 'once'; ++ + use Test::More tests => 1; + + use Carp; + + # test that enabling overload without loading overload.pm does not trigger infinite recursion + +-my $p = "OverloadedInXS"; ++no strict 'refs'; ++my $p = "OverloadedInXS"; + *{$p."::(("} = sub{}; + *{$p.q!::(""!} = sub { Carp::cluck "" }; + sub { Carp::longmess("longmess:") }->(bless {}, $p); +diff --git a/t/broken_can.t b/t/broken_can.t +index c32fa19..9232d68 100644 +--- a/t/broken_can.t ++++ b/t/broken_can.t +@@ -1,3 +1,6 @@ ++use strict; ++use warnings; ++ + use Test::More tests => 1; + + # [perl #132910] +@@ -10,6 +13,6 @@ package main; + use Carp; + + eval { +- sub { confess-sins }->(bless[], Foo); ++ sub { confess-sins }->(bless[], 'Foo'); + }; + like $@, qr/^-sins at /; +diff --git a/t/broken_univ_can.t b/t/broken_univ_can.t +index 0ec19d7..49c7720 100644 +--- a/t/broken_univ_can.t ++++ b/t/broken_univ_can.t +@@ -1,15 +1,21 @@ ++use strict; ++use warnings; ++ + # [perl #132910] + # This mock-up breaks Test::More. Don’t use Test::More. + +-sub UNIVERSAL::can { die; } ++{ ++ no warnings 'redefine'; ++ sub UNIVERSAL::can { die; } ++} + + # Carp depends on this to detect the override: +-BEGIN { $UNIVERSAL::can::VERSION = 0xbaff1ed_bee; } ++BEGIN { no warnings 'portable'; $UNIVERSAL::can::VERSION = 0xbaff1ed_bee; } + + use Carp; + + eval { +- sub { confess-sins }->(bless[], Foo); ++ sub { confess-sins }->(bless[], 'Foo'); + }; + print "1..1\n"; + if ($@ !~ qr/^-sins at /) { +diff --git a/t/vivify_stash.t b/t/vivify_stash.t +index 744d0d2..00181f3 100644 +--- a/t/vivify_stash.t ++++ b/t/vivify_stash.t +@@ -1,3 +1,6 @@ ++use strict; ++use warnings; ++ + BEGIN { print "1..5\n"; } + + our $has_utf8; BEGIN { $has_utf8 = exists($::{"utf8::"}); } +@@ -18,7 +21,8 @@ eval { sub { Carp::longmess() }->(\1) }; + print $@ eq '' ? "ok 4 # longmess check1\n" : "not ok 4 # longmess check1\n# $@"; + + # overload:: glob without hash +-undef *{"overload::"}; ++# Clear overload quoted so it happens to the runtime stash. ++{ no strict 'refs'; undef *{"overload::"} } + eval { sub { Carp::longmess() }->(\1) }; + print $@ eq '' ? "ok 5 # longmess check2\n" : "not ok 5 # longmess check2\n# $@"; + +-- +2.30.2 + diff --git a/Carp-1.52-Upgrade-to-1.54.patch b/Carp-1.52-Upgrade-to-1.54.patch new file mode 100644 index 0000000..a13b617 --- /dev/null +++ b/Carp-1.52-Upgrade-to-1.54.patch @@ -0,0 +1,77 @@ +From 7b5bfc02532e5a275fadc43beb1d7f9a0ef3fdb8 Mon Sep 17 00:00:00 2001 +From: Jitka Plesnikova +Date: Tue, 16 May 2023 12:41:10 +0200 +Subject: [PATCH] Upgrade to 1.54 + +--- + lib/Carp.pm | 12 ++++++------ + lib/Carp/Heavy.pm | 2 +- + 2 files changed, 7 insertions(+), 7 deletions(-) + +diff --git a/lib/Carp.pm b/lib/Carp.pm +index df563d0..20b9708 100644 +--- a/lib/Carp.pm ++++ b/lib/Carp.pm +@@ -179,7 +179,7 @@ BEGIN { + ? do { require "overload.pm"; _fetch_sub overload => 'mycan' } + : \&UNIVERSAL::can; + +- # _blessed is either UNIVERAL::isa(...), or, in the presence of an ++ # _blessed is either UNIVERSAL::isa(...), or, in the presence of an + # override, a hideous, but fairly reliable, workaround. + *_blessed = $isa + ? sub { &$isa($_[0], "UNIVERSAL") } +@@ -211,7 +211,7 @@ BEGIN { + } + + +-our $VERSION = '1.52'; ++our $VERSION = '1.54'; + $VERSION =~ tr/_//d; + + our $MaxEvalLen = 0; +@@ -776,8 +776,8 @@ Carp - alternative warn and die for modules + # cluck, longmess and shortmess not exported by default + use Carp qw(cluck longmess shortmess); + cluck "This is how we got here!"; # warn with stack backtrace +- $long_message = longmess( "message from cluck() or confess()" ); +- $short_message = shortmess( "message from carp() or croak()" ); ++ my $long_message = longmess( "message from cluck() or confess()" ); ++ my $short_message = shortmess( "message from carp() or croak()" ); + + =head1 DESCRIPTION + +@@ -802,7 +802,7 @@ Of course, C can't guarantee the latter. + + You can also alter the way the output and logic of C works, by + changing some global variables in the C namespace. See the +-section on C below. ++section on L below. + + Here is a more complete description of how C and C work. + What they do is search the call-stack for a function call stack where +@@ -868,7 +868,7 @@ or by including the string C<-MCarp=verbose> in the PERL5OPT + environment variable. + + Alternately, you can set the global variable C<$Carp::Verbose> to true. +-See the C section below. ++See the L section below. + + =head2 Stack Trace formatting + +diff --git a/lib/Carp/Heavy.pm b/lib/Carp/Heavy.pm +index fdb3e52..043e345 100644 +--- a/lib/Carp/Heavy.pm ++++ b/lib/Carp/Heavy.pm +@@ -2,7 +2,7 @@ package Carp::Heavy; + + use Carp (); + +-our $VERSION = '1.52'; ++our $VERSION = '1.54'; + $VERSION =~ tr/_//d; + + # Carp::Heavy was merged into Carp in version 1.12. Any mismatched versions +-- +2.40.1 + diff --git a/SPECS/perl-Carp.spec b/perl-Carp.spec similarity index 59% rename from SPECS/perl-Carp.spec rename to perl-Carp.spec index 43cde06..5e4999b 100644 --- a/SPECS/perl-Carp.spec +++ b/perl-Carp.spec @@ -1,11 +1,17 @@ +%global base_version 1.50 Name: perl-Carp -Version: 1.50 -Release: 439%{?dist} +Version: 1.54 +Release: 511%{?dist} Summary: Alternative warn and die for modules -License: GPL+ or Artistic +License: GPL-1.0-or-later OR Artistic-1.0-Perl URL: https://metacpan.org/release/Carp -Source0: https://cpan.metacpan.org/authors/id/X/XS/XSAWYERX/Carp-%{version}.tar.gz +Source0: https://cpan.metacpan.org/authors/id/X/XS/XSAWYERX/Carp-%{base_version}.tar.gz +# Unbundled from perl 5.34.0 +Patch0: Carp-1.50-Upgrade-to-1.52.patch +# Unbundled from perl 5.37.11 +Patch1: Carp-1.52-Upgrade-to-1.54.patch BuildArch: noarch +BuildRequires: coreutils BuildRequires: make BuildRequires: perl-generators BuildRequires: perl-interpreter @@ -22,10 +28,12 @@ BuildRequires: perl(Data::Dumper) BuildRequires: perl(IPC::Open3) BuildRequires: perl(overload) BuildRequires: perl(Test::More) >= 0.47 -Requires: perl(:MODULE_COMPAT_%(eval "`perl -V:version`"; echo $version)) # Do not export private DB module stub %global __provides_exclude %{?__provides_exclude:%__provides_exclude|}^perl\\(DB\\) +# Filter versioned tests require IPC::Open3 >= 1.0103, because provides is +# 2-digit number only +%global __requires_exclude %{?__requires_exclude:%__requires_exclude|}^perl\\(IPC::Open3\\) %description The Carp routines are useful in your own modules because they act like @@ -36,18 +44,46 @@ you can use carp or croak which report the error as being from where your module was called. There is no guarantee that that is where the error was, but it is a good educated guess. +%package tests +Summary: Tests for %{name} +Requires: %{name} = %{?epoch:%{epoch}:}%{version}-%{release} +Requires: perl(IPC::Open3) +Requires: perl-Test-Harness + +%description tests +Tests from %{name}. Execute them +with "%{_libexecdir}/%{name}/test". + %prep -%setup -q -n Carp-%{version} +%setup -q -n Carp-%{base_version} +%patch -P0 -p1 +%patch -P1 -p1 + +# Help file to recognise the Perl scripts +for F in t/*.t; do + perl -i -MConfig -ple 'print $Config{startperl} if $. == 1 && !s{\A#!.*perl\b}{$Config{startperl}}' "$F" + chmod +x "$F" +done %build -perl Makefile.PL INSTALLDIRS=vendor NO_PACKLIST=1 -make %{?_smp_mflags} +perl Makefile.PL INSTALLDIRS=vendor NO_PACKLIST=1 NO_PERLLOCAL=1 +%{make_build} %install -make pure_install DESTDIR=$RPM_BUILD_ROOT -%{_fixperms} $RPM_BUILD_ROOT/* +%{make_install} +%{_fixperms} %{buildroot}/* + +# Install tests +mkdir -p %{buildroot}%{_libexecdir}/%{name} +cp -a t %{buildroot}%{_libexecdir}/%{name} +cat > %{buildroot}%{_libexecdir}/%{name}/test << 'EOF' +#!/bin/sh +cd %{_libexecdir}/%{name} && exec prove -I . -j "$(getconf _NPROCESSORS_ONLN)" +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 @@ -55,7 +91,69 @@ make test %{perl_vendorlib}/* %{_mandir}/man3/* +%files tests +%{_libexecdir}/%{name} + %changelog +* Tue Oct 29 2024 Troy Dawson - 1.54-511 +- Bump release for October 2024 mass rebuild: + Resolves: RHEL-64018 + +* Thu Jul 18 2024 Jitka Plesnikova - 1.54-510 +- Increase release to favour standalone package + +* Mon Jun 24 2024 Troy Dawson - 1.54-503 +- Bump release for June 2024 mass rebuild + +* Thu Jan 25 2024 Fedora Release Engineering - 1.54-502 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Sun Jan 21 2024 Fedora Release Engineering - 1.54-501 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Thu Jul 20 2023 Fedora Release Engineering - 1.54-500 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Tue Jul 11 2023 Jitka Plesnikova - 1.54-499 +- Increase release to favour standalone package + +* Tue May 16 2023 Jitka Plesnikova - 1.54-1 +- Upgrade to 1.54 as provided in perl-5.37.11 + +* Fri Jan 20 2023 Fedora Release Engineering - 1.52-490 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Fri Jul 22 2022 Fedora Release Engineering - 1.52-489 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Mon May 30 2022 Jitka Plesnikova - 1.52-488 +- Increase release to favour standalone package + +* Thu Jan 20 2022 Fedora Release Engineering - 1.52-479 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Thu Jul 22 2021 Fedora Release Engineering - 1.52-478 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Fri May 21 2021 Jitka Plesnikova - 1.52-477 +- Increase release to favour standalone package + +* Wed May 05 2021 Jitka Plesnikova - 1.52-459 +- Upgrade to 1.52 as provided in perl-5.34.0 +- Package tests + +* Tue Jan 26 2021 Fedora Release Engineering - 1.50-458 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Tue Jul 28 2020 Fedora Release Engineering - 1.50-457 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Mon Jun 22 2020 Jitka Plesnikova - 1.50-456 +- Increase release to favour standalone package + +* Wed Jan 29 2020 Fedora Release Engineering - 1.50-440 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + * Fri Jul 26 2019 Fedora Release Engineering - 1.50-439 - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild diff --git a/sources b/sources new file mode 100644 index 0000000..e12b7c7 --- /dev/null +++ b/sources @@ -0,0 +1 @@ +SHA512 (Carp-1.50.tar.gz) = 624e5fe41492d1d5de840d56a648168f2e6066717efaa20d257b277219ea2cd3b73e5bc2bd46a3e37e060cb3e35b4cccc560bdd169c2e252e861d441e90df4b6