diff --git a/.gitignore b/.gitignore index 39c346d..b959b75 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -SOURCES/libwww-perl-6.34.tar.gz +libwww-perl-6.76.tar.gz diff --git a/.perl-libwww-perl.metadata b/.perl-libwww-perl.metadata deleted file mode 100644 index ecc445f..0000000 --- a/.perl-libwww-perl.metadata +++ /dev/null @@ -1 +0,0 @@ -bbdfb8a675369a78f9eac233a8c5db00579b9fcf SOURCES/libwww-perl-6.34.tar.gz diff --git a/SOURCES/libwww-perl-6.19-Accept-proxy-URLs-with-IPv6-host-names.patch b/SOURCES/libwww-perl-6.19-Accept-proxy-URLs-with-IPv6-host-names.patch deleted file mode 100644 index 409e266..0000000 --- a/SOURCES/libwww-perl-6.19-Accept-proxy-URLs-with-IPv6-host-names.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 572538753601755b4b6acace1d445bc8e1cc10c8 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= -Date: Thu, 16 Feb 2017 14:00:57 +0100 -Subject: [PATCH] Accept proxy URLs with IPv6 host names -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - - - -Signed-off-by: Petr Písař ---- - lib/LWP/UserAgent.pm | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/lib/LWP/UserAgent.pm b/lib/LWP/UserAgent.pm -index ea03157..8549808 100644 ---- a/lib/LWP/UserAgent.pm -+++ b/lib/LWP/UserAgent.pm -@@ -1039,7 +1039,7 @@ sub proxy - my $url = shift; - if (defined($url) && length($url)) { - Carp::croak("Proxy must be specified as absolute URI; '$url' is not") unless $url =~ /^$URI::scheme_re:/; -- Carp::croak("Bad http proxy specification '$url'") if $url =~ /^https?:/ && $url !~ m,^https?://\w,; -+ Carp::croak("Bad http proxy specification '$url'") if $url =~ /^https?:/ && $url !~ m,^https?://(?:\w|\[),; - } - $self->{proxy}{$key} = $url; - $self->set_my_handler("request_preprepare", \&_need_proxy) --- -2.7.4 - diff --git a/libwww-perl-6.39-Normalize-shebangs-in-examples.patch b/libwww-perl-6.39-Normalize-shebangs-in-examples.patch new file mode 100644 index 0000000..a9173cc --- /dev/null +++ b/libwww-perl-6.39-Normalize-shebangs-in-examples.patch @@ -0,0 +1,26 @@ +From 6b042eb2188528afa0b9c4eb490973430c802344 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= +Date: Tue, 7 May 2019 10:30:00 +0200 +Subject: [PATCH] Normalize shebangs in examples +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Signed-off-by: Petr Písař +--- + examples/handler-order.pl | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/examples/handler-order.pl b/examples/handler-order.pl +index 813fac7..fb49424 100755 +--- a/examples/handler-order.pl ++++ b/examples/handler-order.pl +@@ -1,4 +1,4 @@ +-#!/usr/bin/env perl ++#!/usr/bin/perl + + use strict; + use warnings; +-- +2.20.1 + diff --git a/SPECS/perl-libwww-perl.spec b/perl-libwww-perl.spec similarity index 57% rename from SPECS/perl-libwww-perl.spec rename to perl-libwww-perl.spec index 87a7a11..79e2703 100644 --- a/SPECS/perl-libwww-perl.spec +++ b/perl-libwww-perl.spec @@ -1,28 +1,32 @@ +# Run optional tests +%bcond_without perl_libwww_perl_enables_optional_test +# Perform tests that need the Internet +%bcond_with perl_libwww_perl_enables_internet_test + Name: perl-libwww-perl -Version: 6.34 -Release: 1%{?dist} +Version: 6.76 +Release: 3%{?dist} Summary: A Perl interface to the World-Wide Web -License: GPL+ or Artistic +License: GPL-1.0-or-later OR Artistic-1.0-Perl URL: https://metacpan.org/release/libwww-perl -Source0: https://cpan.metacpan.org/authors/id/E/ET/ETHER/libwww-perl-%{version}.tar.gz -# Accept proxy URLs with IPv6 host names, CPAN RT#94654 -Patch0: libwww-perl-6.19-Accept-proxy-URLs-with-IPv6-host-names.patch +Source0: https://cpan.metacpan.org/authors/id/O/OA/OALDERS/libwww-perl-%{version}.tar.gz +# Normalize shelbangs, not suitable for an upstream +Patch0: libwww-perl-6.39-Normalize-shebangs-in-examples.patch BuildArch: noarch +BuildRequires: coreutils +BuildRequires: findutils BuildRequires: make BuildRequires: perl-generators BuildRequires: perl-interpreter BuildRequires: perl(:VERSION) >= 5.8.1 -BuildRequires: perl(CPAN::Meta::Requirements) >= 2.120620 BuildRequires: perl(ExtUtils::MakeMaker) >= 6.76 BuildRequires: perl(File::Copy) BuildRequires: perl(Getopt::Long) -BuildRequires: perl(Module::Metadata) BuildRequires: perl(strict) BuildRequires: perl(warnings) # Run-time: # Authen::NTLM 1.02 not used at tests -BuildRequires: perl(base) BuildRequires: perl(Carp) # Data::Dump 1.13 not used at tests # Data::Dump::Trace not used at tests @@ -30,32 +34,32 @@ BuildRequires: perl(Digest::MD5) BuildRequires: perl(Encode) >= 2.12 BuildRequires: perl(Encode::Locale) BuildRequires: perl(Exporter) +BuildRequires: perl(File::Temp) # Fcntl not used at tests # File::Listing 6 not used at tests # File::Spec not used at tests BuildRequires: perl(HTML::Entities) -BuildRequires: perl(HTML::HeadParser) +BuildRequires: perl(HTML::HeadParser) => 3.71 BuildRequires: perl(HTTP::Config) -# HTTP::Cookies 6 not used at tests +BuildRequires: perl(HTTP::Cookies) >= 6 BuildRequires: perl(HTTP::Date) >= 6 BuildRequires: perl(HTTP::Headers::Util) # HTTP::Negotiate 6 not used at tests -BuildRequires: perl(HTTP::Request) >= 6 -BuildRequires: perl(HTTP::Request::Common) >= 6 -BuildRequires: perl(HTTP::Response) >= 6 -BuildRequires: perl(HTTP::Status) >= 6 -# Tests fail with buggy HTTP::Status 6.17 -BuildConflicts: perl(HTTP::Status) = 6.17 +BuildRequires: perl(HTTP::Request) >= 6.18 +BuildRequires: perl(HTTP::Request::Common) >= 6.18 +BuildRequires: perl(HTTP::Response) >= 6.18 +BuildRequires: perl(HTTP::Status) >= 6.18 # integer not used at tests BuildRequires: perl(IO::Select) BuildRequires: perl(IO::Socket) BuildRequires: perl(LWP::MediaTypes) >= 6 # Mail::Internet not needed BuildRequires: perl(MIME::Base64) >= 2.1 +BuildRequires: perl(Module::Load) # Net::FTP 2.58 not used at tests -BuildRequires: perl(Net::HTTP) >= 6.07 +BuildRequires: perl(Net::HTTP) >= 6.18 # Net::NNTP not used at tests -BuildRequires: perl(parent) +BuildRequires: perl(parent) >= 0.217 BuildRequires: perl(Scalar::Util) BuildRequires: perl(Try::Tiny) BuildRequires: perl(URI) >= 1.10 @@ -69,18 +73,25 @@ BuildRequires: perl(WWW::RobotRules) >= 6 # Tests: BuildRequires: perl(Config) BuildRequires: perl(File::Spec) -BuildRequires: perl(File::Temp) BuildRequires: perl(FindBin) -BuildRequires: perl(HTTP::Daemon) >= 6 +BuildRequires: perl(HTTP::CookieJar::LWP) +BuildRequires: perl(HTTP::Daemon) >= 6.01 BuildRequires: perl(Test::Fatal) -BuildRequires: perl(Test::More) +BuildRequires: perl(Test::More) >= 0.96 +%if %{with perl_libwww_perl_enables_internet_test} BuildRequires: perl(Test::RequiresInternet) +%endif BuildRequires: perl(utf8) +%if %{with perl_libwww_perl_enables_internet_test} +BuildRequires: perl(Test::Needs) +%if %{with perl_libwww_perl_enables_optional_test} # Optional tests: # CPAN::Meta not helpful # CPAN::Meta::Prereqs not helpful +BuildRequires: perl(Test::LeakTrace) +%endif +%endif -Requires: perl(:MODULE_COMPAT_%(eval "`perl -V:version`"; echo $version)) Requires: perl(Authen::NTLM) >= 1.02 Suggests: perl(CPAN::Config) Requires: perl(Encode) >= 2.12 @@ -98,15 +109,15 @@ Requires: perl(HTTP::Cookies) >= 6 Requires: perl(HTTP::Date) >= 6 Requires: perl(HTTP::Headers::Util) Requires: perl(HTTP::Negotiate) >= 6 -Requires: perl(HTTP::Request) >= 6 -Requires: perl(HTTP::Request::Common) >= 6 -Requires: perl(HTTP::Response) >= 6 -Requires: perl(HTTP::Status) >= 6 +Requires: perl(HTTP::Request) >= 6.18 +Requires: perl(HTTP::Request::Common) >= 6.18 +Requires: perl(HTTP::Response) >= 6.18 +Requires: perl(HTTP::Status) >= 6.18 Requires: perl(LWP::MediaTypes) >= 6 Suggests: perl(LWP::Protocol::https) >= 6.02 Requires: perl(MIME::Base64) >= 2.1 Requires: perl(Net::FTP) >= 2.58 -Requires: perl(Net::HTTP) >= 6.07 +Requires: perl(Net::HTTP) >= 6.18 Requires: perl(URI) >= 1.10 Requires: perl(URI::Escape) Requires: perl(WWW::RobotRules) >= 6 @@ -114,6 +125,9 @@ Provides: perl(LWP::Debug::TraceHTTP::Socket) = %{version} Provides: perl(LWP::Protocol::http::Socket) = %{version} Provides: perl(LWP::Protocol::http::SocketMethods) = %{version} +# Remove underspecified dependencies +%global __requires_exclude %{?__requires_exclude:%{__requires_exclude}|}^perl\\((Authen::NTLM|Encode|File::Listing|HTTP::Cookies|HTTP::Daemon|HTTP::Date|HTTP::Negotiate|HTTP::Request|HTTP::Response|HTTP::Status|LWP::MediaTypes|MIME::Base64|Net::FTP|Net::HTTP|Test::More|URI|WWW::RobotRules)\\)$ + %description The libwww-perl collection is a set of Perl modules which provides a simple and consistent application programming interface to the World-Wide Web. The main @@ -121,37 +135,273 @@ focus of the library is to provide classes and functions that allow you to write WWW clients. The library also contain modules that are of more general use and even classes that help you implement simple HTTP servers. -# Remove underspecified dependencies -%global __requires_exclude %{?__requires_exclude:%{__requires_exclude}|}^perl\\((Authen::NTLM|Encode|File::Listing|HTTP::Date|HTTP::Negotiate|HTTP::Request|HTTP::Response|HTTP::Status|LWP::MediaTypes|MIME::Base64|Net::FTP|Net::HTTP|URI|WWW::RobotRules)\\)$ +%package tests +Summary: Tests for %{name} +Requires: %{name} = %{?epoch:%{epoch}:}%{version}-%{release} +Requires: coreutils +Requires: perl-Test-Harness +Requires: perl(HTTP::Cookies) >= 6 +Requires: perl(HTTP::CookieJar::LWP) +Requires: perl(HTTP::Daemon) >= 6.01 +Requires: perl(HTTP::Request) >= 6.18 +Requires: perl(HTTP::Response) >= 6.18 +Requires: perl(Net::HTTP) >= 6.18 +Requires: perl(Test::More) >= 0.96 +%if %{with perl_libwww_perl_enables_internet_test} && %{with perl_libwww_perl_enables_optional_test} +Requires: perl(Test::LeakTrace) +%endif +Requires: perl(URI) >= 1.10 +Suggests: perl(JSON::PP) => 2.27300 + +%description tests +Tests from %{name}. Execute them +with "%{_libexecdir}/%{name}/test". %prep %setup -q -n libwww-perl-%{version} -%patch0 -p1 +%patch -P 0 -p1 +%if !%{with perl_libwww_perl_enables_internet_test} +rm t/base/protocols/nntp.t t/leak/no_leak.t t/redirect.t +perl -i -ne 'print $_ unless m{^(?:t/base/protocols/nntp\.t|t/leak/no_leak\.t|t/redirect\.t)}' MANIFEST +%endif +# Help generators to recognize a Perl code +for F in $(find t -name '*.t') talk-to-ourself; do + perl -i -MConfig -ple 'print $Config{startperl} if $. == 1 && !s{\A#!.*\bperl}{$Config{startperl}}' "$F" + chmod +x "$F" +done %build # Install the aliases by default -perl Makefile.PL INSTALLDIRS=vendor NO_PACKLIST=1 --aliases < /dev/null -make %{?_smp_mflags} +perl Makefile.PL INSTALLDIRS=vendor NO_PACKLIST=1 NO_PERLLOCAL=1 --aliases < /dev/null +%{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 talk-to-ourself %{buildroot}%{_libexecdir}/%{name} +cat > %{buildroot}%{_libexecdir}/%{name}/test << 'EOF' +#!/bin/bash +set -e +# t/local/http.t writes to CWD +DIR=$(mktemp -d) +cp -a %{_libexecdir}/%{name}/* "$DIR" +pushd "$DIR" +unset COVERAGE PERL_LWP_ENV_HTTP_TEST_SERVER_TIMEOUT PERL_LWP_ENV_HTTP_TEST_URL +prove -I . -j "$(getconf _NPROCESSORS_ONLN)" -r +popd +rm -r "$DIR" +EOF +chmod +x %{buildroot}%{_libexecdir}/%{name}/test %check -unset PERL_LWP_ENV_HTTP_TEST_SERVER_TIMEOUT PERL_LWP_ENV_HTTP_TEST_URL +unset COVERAGE PERL_LWP_ENV_HTTP_TEST_SERVER_TIMEOUT PERL_LWP_ENV_HTTP_TEST_URL make test %files %license LICENSE -%doc Changes README.SSL +%doc Changes examples README.SSL %{_bindir}/* -%{perl_vendorlib}/libwww/ -%{perl_vendorlib}/LWP.pm -%{perl_vendorlib}/LWP/ +%{perl_vendorlib}/* %{_mandir}/man1/*.1* %{_mandir}/man3/*.3* +%files tests +%{_libexecdir}/%{name} + %changelog +* Tue Oct 29 2024 Troy Dawson - 6.76-3 +- Bump release for October 2024 mass rebuild: + Resolves: RHEL-64018 + +* Mon Jun 24 2024 Troy Dawson - 6.76-2 +- Bump release for June 2024 mass rebuild + +* Mon Jan 29 2024 Michal Josef Špaček - 6.76-1 +- 6.76 bump + +* Tue Jan 23 2024 Michal Josef Špaček - 6.74-1 +- 6.74 bump + +* Sun Jan 21 2024 Fedora Release Engineering - 6.73-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Wed Jan 17 2024 Michal Josef Špaček - 6.73-1 +- 6.73 bump + +* Tue Jul 25 2023 Michal Josef Špaček - 6.72-1 +- 6.72 bump + +* Fri Jul 21 2023 Fedora Release Engineering - 6.71-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Thu Jun 22 2023 Michal Josef Špaček - 6.71-1 +- 6.71 bump + +* Tue May 16 2023 Michal Josef Špaček - 6.70-1 +- 6.70 bump +- Fix %patch macro + +* Wed Mar 01 2023 Michal Josef Špaček - 6.68-1 +- 6.68 bump + +* Fri Jan 20 2023 Fedora Release Engineering - 6.67-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Tue Oct 25 2022 Michal Josef Špaček - 6.67-3 +- Update license to SPDX format + +* Fri Jul 22 2022 Fedora Release Engineering - 6.67-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Thu Jun 16 2022 Michal Josef Špaček - 6.67-1 +- 6.67 bump + +* Wed Jun 01 2022 Jitka Plesnikova - 6.66-2 +- Perl 5.36 rebuild + +* Thu May 19 2022 Michal Josef Špaček - 6.66-1 +- 6.66 bump + +* Tue May 10 2022 Michal Josef Špaček - 6.65-1 +- 6.65 bump + +* Wed Apr 27 2022 Michal Josef Špaček - 6.64-1 +- 6.64 bump + +* Tue Apr 26 2022 Michal Josef Špaček - 6.63-1 +- 6.63 bump + +* Tue Apr 05 2022 Michal Josef Špaček - 6.62-1 +- 6.62 bump + +* Tue Feb 08 2022 Michal Josef Špaček - 6.61-1 +- 6.61 bump + +* Fri Jan 21 2022 Fedora Release Engineering - 6.60-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Mon Dec 20 2021 Michal Josef Špaček - 6.60-1 +- 6.60 bump + +* Mon Nov 01 2021 Michal Josef Špaček - 6.58-1 +- 6.58 bump + +* Tue Sep 21 2021 Michal Josef Špaček - 6.57-1 +- 6.57 bump + +* Fri Aug 20 2021 Jitka Plesnikova - 6.56-1 +- 6.56 bump + +* Tue Jul 27 2021 Fedora Release Engineering - 6.55-2 +- Second attempt - Rebuilt for + https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Fri Jun 18 2021 Michal Josef Špaček - 6.55-1 +- 6.55 bump + +* Fri May 21 2021 Jitka Plesnikova - 6.54-2 +- Perl 5.34 rebuild + +* Thu May 06 2021 Michal Josef Špaček - 6.54-1 +- 6.54 bump +- Unify build root to macro usage only + +* Tue Mar 09 2021 Petr Pisar - 6.53-2 +- Package talk-to-ourself script with the tests + +* Mon Mar 08 2021 Petr Pisar - 6.53-1 +- 6.53 bump +- Package tests + +* Wed Jan 27 2021 Fedora Release Engineering - 6.52-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Fri Jan 08 2021 Petr Pisar - 6.52-1 +- 6.52 bump + +* Tue Jan 05 2021 Petr Pisar - 6.51-1 +- 6.51 bump + +* Thu Dec 17 2020 Petr Pisar - 6.50-1 +- 6.50 bump + +* Thu Sep 24 2020 Petr Pisar - 6.49-1 +- 6.49 bump + +* Mon Sep 21 2020 Petr Pisar - 6.48-1 +- 6.48 bump + +* Wed Aug 19 2020 Petr Pisar - 6.47-1 +- 6.47 bump + +* Tue Jul 28 2020 Fedora Release Engineering - 6.46-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Sat Jun 27 2020 Jitka Plesnikova - 6.46-2 +- Perl 5.32 re-rebuild updated packages + +* Wed Jun 24 2020 Petr Pisar - 6.46-1 +- 6.46 bump + +* Tue Jun 23 2020 Jitka Plesnikova - 6.45-2 +- Perl 5.32 rebuild + +* Tue Jun 09 2020 Petr Pisar - 6.45-1 +- 6.45 bump + +* Wed Apr 15 2020 Petr Pisar - 6.44-1 +- 6.44 bump + +* Fri Feb 14 2020 Petr Pisar - 6.43-3 +- Do not perform tests that need the Internet by default + +* Thu Jan 30 2020 Fedora Release Engineering - 6.43-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Wed Nov 27 2019 Petr Pisar - 6.43-1 +- 6.43 bump + +* Thu Nov 21 2019 Petr Pisar - 6.42-1 +- 6.42 bump + +* Fri Nov 01 2019 Petr Pisar - 6.41-1 +- 6.41 bump + +* Fri Oct 25 2019 Jitka Plesnikova - 6.40-1 +- 6.40 bump + +* Fri Jul 26 2019 Fedora Release Engineering - 6.39-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Fri May 31 2019 Jitka Plesnikova - 6.39-2 +- Perl 5.30 rebuild + +* Tue May 07 2019 Petr Pisar - 6.39-1 +- 6.39 bump + +* Tue Mar 26 2019 Petr Pisar - 6.38-1 +- 6.38 bump + +* Thu Mar 07 2019 Petr Pisar - 6.37-1 +- 6.37 bump + +* Sat Feb 02 2019 Fedora Release Engineering - 6.36-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Thu Oct 11 2018 Jitka Plesnikova - 6.36-1 +- 6.36 bump + +* Mon Jul 16 2018 Petr Pisar - 6.35-1 +- 6.35 bump + +* Fri Jul 13 2018 Fedora Release Engineering - 6.34-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Thu Jun 28 2018 Jitka Plesnikova - 6.34-2 +- Perl 5.28 rebuild + * Wed Jun 06 2018 Petr Pisar - 6.34-1 - 6.34 bump diff --git a/sources b/sources new file mode 100644 index 0000000..dded97b --- /dev/null +++ b/sources @@ -0,0 +1 @@ +SHA512 (libwww-perl-6.76.tar.gz) = 8a055c3324007eb1badc3d8b8d368a46b7c1c5e5dd837ddbb862924e8c7fc13c413f50dae4ff8d32bf53774f1a95016098e56c181547f60b42dbbedf3813b897