Compare commits
19 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
4ab8a92934 | ||
|
e439828cb8 | ||
|
ee35d0a333 | ||
|
eedb762e53 | ||
|
81878c7f47 | ||
|
34205f4426 | ||
|
1b991bf120 | ||
|
b87c37bb4f | ||
|
d42b6b8a27 | ||
|
f273284325 | ||
|
8ffc8da702 | ||
|
c5f26bd774 | ||
|
5b52d58c65 | ||
|
d68b97b881 | ||
|
3b05893863 | ||
|
17a8b1093b | ||
|
a141ef57de | ||
|
869ff9dd3f | ||
|
2f70229b24 |
1
.fmf/version
Normal file
1
.fmf/version
Normal file
@ -0,0 +1 @@
|
||||
1
|
187
Carp-1.50-Upgrade-to-1.52.patch
Normal file
187
Carp-1.50-Upgrade-to-1.52.patch
Normal file
@ -0,0 +1,187 @@
|
||||
From a91baa4c8cb395568f4c55199e47ce4807e42bd2 Mon Sep 17 00:00:00 2001
|
||||
From: Jitka Plesnikova <jplesnik@redhat.com>
|
||||
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<CARP_TRACE> will not go through
|
||||
this formatter. Calling C<Carp> 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 "<My Stringify>" };
|
||||
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
|
||||
|
77
Carp-1.52-Upgrade-to-1.54.patch
Normal file
77
Carp-1.52-Upgrade-to-1.54.patch
Normal file
@ -0,0 +1,77 @@
|
||||
From 7b5bfc02532e5a275fadc43beb1d7f9a0ef3fdb8 Mon Sep 17 00:00:00 2001
|
||||
From: Jitka Plesnikova <jplesnik@redhat.com>
|
||||
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<Carp> can't guarantee the latter.
|
||||
|
||||
You can also alter the way the output and logic of C<Carp> works, by
|
||||
changing some global variables in the C<Carp> namespace. See the
|
||||
-section on C<GLOBAL VARIABLES> below.
|
||||
+section on L</GLOBAL VARIABLES> below.
|
||||
|
||||
Here is a more complete description of how C<carp> and C<croak> 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<GLOBAL VARIABLES> section below.
|
||||
+See the L</GLOBAL VARIABLES> 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
|
||||
|
7
gating.yaml
Normal file
7
gating.yaml
Normal file
@ -0,0 +1,7 @@
|
||||
--- !Policy
|
||||
product_versions:
|
||||
- fedora-*
|
||||
decision_context: bodhi_update_push_stable
|
||||
subject_type: koji_build
|
||||
rules:
|
||||
- !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.tier0.functional}
|
108
perl-Carp.spec
108
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: 502%{?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,59 @@ make test
|
||||
%{perl_vendorlib}/*
|
||||
%{_mandir}/man3/*
|
||||
|
||||
%files tests
|
||||
%{_libexecdir}/%{name}
|
||||
|
||||
%changelog
|
||||
* Thu Jan 25 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1.54-502
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
|
||||
|
||||
* Sun Jan 21 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1.54-501
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
|
||||
|
||||
* Thu Jul 20 2023 Fedora Release Engineering <releng@fedoraproject.org> - 1.54-500
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
|
||||
|
||||
* Tue Jul 11 2023 Jitka Plesnikova <jplesnik@redhat.com> - 1.54-499
|
||||
- Increase release to favour standalone package
|
||||
|
||||
* Tue May 16 2023 Jitka Plesnikova <jplesnik@redhat.com> - 1.54-1
|
||||
- Upgrade to 1.54 as provided in perl-5.37.11
|
||||
|
||||
* Fri Jan 20 2023 Fedora Release Engineering <releng@fedoraproject.org> - 1.52-490
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
|
||||
|
||||
* Fri Jul 22 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1.52-489
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
|
||||
|
||||
* Mon May 30 2022 Jitka Plesnikova <jplesnik@redhat.com> - 1.52-488
|
||||
- Increase release to favour standalone package
|
||||
|
||||
* Thu Jan 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1.52-479
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
|
||||
|
||||
* Thu Jul 22 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1.52-478
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
|
||||
|
||||
* Fri May 21 2021 Jitka Plesnikova <jplesnik@redhat.com> - 1.52-477
|
||||
- Increase release to favour standalone package
|
||||
|
||||
* Wed May 05 2021 Jitka Plesnikova <jplesnik@redhat.com> - 1.52-459
|
||||
- Upgrade to 1.52 as provided in perl-5.34.0
|
||||
- Package tests
|
||||
|
||||
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1.50-458
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
|
||||
|
||||
* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.50-457
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
|
||||
|
||||
* Mon Jun 22 2020 Jitka Plesnikova <jplesnik@redhat.com> - 1.50-456
|
||||
- Increase release to favour standalone package
|
||||
|
||||
* Wed Jan 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.50-440
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
|
||||
|
||||
* Fri Jul 26 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.50-439
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
|
||||
|
||||
|
5
plans/sanity.fmf
Normal file
5
plans/sanity.fmf
Normal file
@ -0,0 +1,5 @@
|
||||
summary: Sanity tests
|
||||
discover:
|
||||
how: fmf
|
||||
execute:
|
||||
how: tmt
|
4
tests/upstream-tests.fmf
Normal file
4
tests/upstream-tests.fmf
Normal file
@ -0,0 +1,4 @@
|
||||
summary: Upstream tests
|
||||
component: perl-Carp
|
||||
require: perl-Carp-tests
|
||||
test: /usr/libexec/perl-Carp/test
|
Loading…
Reference in New Issue
Block a user