From 518e3767ee8d88165f34b35907e4b61e7e4133fd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= Date: Mon, 7 Jun 2021 12:30:25 +0200 Subject: [PATCH 1/6] 6.91 bump --- .gitignore | 1 + perl-POE-Component-IRC.spec | 16 +++++++++------- sources | 2 +- 3 files changed, 11 insertions(+), 8 deletions(-) diff --git a/.gitignore b/.gitignore index 79552dc..51c9c4e 100644 --- a/.gitignore +++ b/.gitignore @@ -15,3 +15,4 @@ POE-Component-IRC-6.14.tar.gz /POE-Component-IRC-6.68.tar.gz /POE-Component-IRC-6.88.tar.gz /POE-Component-IRC-6.90.tar.gz +/POE-Component-IRC-6.91.tar.gz diff --git a/perl-POE-Component-IRC.spec b/perl-POE-Component-IRC.spec index 71592a2..1a91d39 100644 --- a/perl-POE-Component-IRC.spec +++ b/perl-POE-Component-IRC.spec @@ -9,8 +9,8 @@ Name: perl-POE-Component-IRC Summary: A POE component for building IRC clients -Version: 6.90 -Release: 11%{?dist} +Version: 6.91 +Release: 1%{?dist} License: GPL+ or Artistic Source0: https://cpan.metacpan.org/authors/id/B/BI/BINGOS/POE-Component-IRC-%{version}.tar.gz URL: https://metacpan.org/release/POE-Component-IRC @@ -23,7 +23,6 @@ BuildRequires: perl(:VERSION) >= 5.8.1 BuildRequires: perl(ExtUtils::MakeMaker) >= 6.76 BuildRequires: perl(strict) BuildRequires: perl(warnings) -BuildRequires: sed # Run-time: BuildRequires: perl(base) BuildRequires: perl(Carp) @@ -122,14 +121,14 @@ is to it. Cool, no? chmod -c -x examples/* # Remove bundled modules rm -r t/inc/Crypt -sed -i -e '/^t\/inc\/Crypt/d' MANIFEST +perl -i -e 'print $_ unless m{\At/inc/Crypt\b}' MANIFEST %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=%{buildroot} +%{make_install} %{_fixperms} %{buildroot}/* %check @@ -142,6 +141,9 @@ make test %{_mandir}/man3/*.3* %changelog +* Mon Jun 07 2021 Petr Pisar - 6.91-1 +- 6.91 bump + * Wed Jan 27 2021 Fedora Release Engineering - 6.90-11 - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild diff --git a/sources b/sources index 8b124d4..7a00b5e 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (POE-Component-IRC-6.90.tar.gz) = c8106bf740a60dc075f99df40c96f30232f69f1369ea5f68ce10636ab0640536ef2c806d73e721f21c21043ab7c386a1e54e099241bd52070648ffc9fd010750 +SHA512 (POE-Component-IRC-6.91.tar.gz) = 1dc8e4756a18777c1414e7f1b236922de0a8fb4a38e058a3f8e316de86a94ad9ab0ef4135c212f746484ec11ba7cb6cb48fc7526259619da5b6e03d2daa5f9cd From 6d6f69027aeb843703376d92a276ab164acc9ca7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= Date: Mon, 7 Jun 2021 12:32:48 +0200 Subject: [PATCH 2/6] Package the tests --- perl-POE-Component-IRC.rpmlintrc | 2 + perl-POE-Component-IRC.spec | 64 +++++++++++++++++++++++++++++++- 2 files changed, 64 insertions(+), 2 deletions(-) create mode 100644 perl-POE-Component-IRC.rpmlintrc diff --git a/perl-POE-Component-IRC.rpmlintrc b/perl-POE-Component-IRC.rpmlintrc new file mode 100644 index 0000000..1118857 --- /dev/null +++ b/perl-POE-Component-IRC.rpmlintrc @@ -0,0 +1,2 @@ +from Config import * +addFilter("-tests\\.noarch: W: no-documentation") diff --git a/perl-POE-Component-IRC.spec b/perl-POE-Component-IRC.spec index 1a91d39..17bcbff 100644 --- a/perl-POE-Component-IRC.spec +++ b/perl-POE-Component-IRC.spec @@ -20,6 +20,7 @@ BuildRequires: make BuildRequires: perl-generators BuildRequires: perl-interpreter BuildRequires: perl(:VERSION) >= 5.8.1 +BuildRequires: perl(Config) BuildRequires: perl(ExtUtils::MakeMaker) >= 6.76 BuildRequires: perl(strict) BuildRequires: perl(warnings) @@ -66,7 +67,6 @@ BuildRequires: perl(Socket6) # Tests: BuildRequires: perl(Crypt::PasswdMD5) BuildRequires: perl(Data::Dumper) -BuildRequires: perl(Digest::MD5) BuildRequires: perl(File::Temp) BuildRequires: perl(lib) # TODO: Unbundle Net::Netmask @@ -106,7 +106,10 @@ Requires: perl(Socket6) %{?perl_default_filter} # Remove under-specified dependencies -%global __requires_exclude %{?__requires_exclude:%{__requires_exclude}|}^perl\\((IRC::Utils|List::Util|POE|POE::Filter::IRCD)\\)$ +%global __requires_exclude %{?__requires_exclude:%{__requires_exclude}|}^perl\\((IRC::Utils|List::Util|POE|POE::Filter::IRCD|Test::Differences|Test::More)\\)$ +# Remove private modules +%global __requires_exclude %{__requires_exclude}|^perl\\((Net::Netmask|POE::Component::Server::IRC.*)\\)$ +%global __provides_exclude %{?__provides_exclude:%{__provides_exclude}|}^perl\\((Net::Netmask|POE::Component::IRC::Test::Plugin|POE::Component::Server::IRC.*)\\) %description POE::Component::IRC is a POE component (who'd have guessed?) which acts as an @@ -116,12 +119,49 @@ where to connect to, and it sends back interesting IRC events when they happen. You make the client do things by sending it events. That's all there is to it. Cool, no? +%package tests +Summary: Tests for %{name} +Requires: %{name} = %{?epoch:%{epoch}:}%{version}-%{release} +Requires: coreutils +Requires: perl-Test-Harness +Requires: perl(IRC::Utils) >= 0.12 +Requires: perl(List::Util) >= 1.33 +Requires: perl(POE) >= 1.311 +%if %{with perl_POE_Component_IRC_enables_dns} +Requires: perl(POE::Component::Client::DNS) >= 0.99 +%endif +Requires: perl(POE::Filter::IRCD) >= 2.42 +Requires: perl(POE::Filter::Line) +%if %{with perl_POE_Component_IRC_enables_zlib} +Requires: perl(POE::Filter::Zlib::Stream) >= 1.96 +%endif +Requires: perl(POE::Wheel::ReadWrite) +Requires: perl(POE::Wheel::SocketFactory) +%if %{with perl_POE_Component_IRC_enables_ipv6} +Requires: perl(Socket::GetAddrInfo) +%endif +%if %{with perl_POE_Component_IRC_enables_ipv6} +Requires: perl(Socket6) +%endif +Requires: perl(Test::Differences) >= 0.61 +Requires: perl(Test::More) >= 0.47 +Provides: bundled(POE-Component-Server-IRC) = 1.52 + +%description tests +Tests from %{name}. Execute them +with "%{_libexecdir}/%{name}/test". + %prep %setup -q -n POE-Component-IRC-%{version} chmod -c -x examples/* # Remove bundled modules rm -r t/inc/Crypt perl -i -e 'print $_ unless m{\At/inc/Crypt\b}' MANIFEST +# Help generators to recognize Perl scripts +for F in $(find t -type f -name '*.t'); do + perl -i -MConfig -ple 'print $Config{startperl} if $. == 1 && !s{\A#!\s*perl}{$Config{startperl}}' "$F" + chmod +x "$F" +done %build perl Makefile.PL INSTALLDIRS=vendor NO_PACKLIST=1 NO_PERLLOCAL=1 @@ -130,8 +170,24 @@ perl Makefile.PL INSTALLDIRS=vendor NO_PACKLIST=1 NO_PERLLOCAL=1 %install %{make_install} %{_fixperms} %{buildroot}/* +# Install tests +mkdir -p %{buildroot}%{_libexecdir}/%{name} +cp -a Changes t %{buildroot}%{_libexecdir}/%{name} +cat > %{buildroot}%{_libexecdir}/%{name}/test << 'EOF' +#!/bin/bash +set -e +# t/04_plugins/17_dcc/04_send_spaces.t writes to CWD +DIR=$(mktemp -d) +cp -a %{_libexecdir}/%{name}/* "$DIR" +pushd "$DIR" +prove -I . -r -j "$(getconf _NPROCESSORS_ONLN)" +popd +rm -r "$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 @@ -140,9 +196,13 @@ make test %{perl_vendorlib}/* %{_mandir}/man3/*.3* +%files tests +%{_libexecdir}/%{name} + %changelog * Mon Jun 07 2021 Petr Pisar - 6.91-1 - 6.91 bump +- Package the tests * Wed Jan 27 2021 Fedora Release Engineering - 6.90-11 - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild From c6ea3df2b6d6a8bacfdd0751e559ea04b8f6c7d0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= Date: Mon, 7 Jun 2021 13:43:49 +0200 Subject: [PATCH 3/6] Unbundle Net::Netmask --- perl-POE-Component-IRC.spec | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/perl-POE-Component-IRC.spec b/perl-POE-Component-IRC.spec index 17bcbff..a52509c 100644 --- a/perl-POE-Component-IRC.spec +++ b/perl-POE-Component-IRC.spec @@ -69,7 +69,7 @@ BuildRequires: perl(Crypt::PasswdMD5) BuildRequires: perl(Data::Dumper) BuildRequires: perl(File::Temp) BuildRequires: perl(lib) -# TODO: Unbundle Net::Netmask +BuildRequires: perl(Net::Netmask) BuildRequires: perl(POE::Component::Client::Ident::Agent) # TODO: Unbundle POE::Component::Server::IRC %if %{with perl_POE_Component_IRC_enables_ipv6} @@ -108,8 +108,8 @@ Requires: perl(Socket6) # Remove under-specified dependencies %global __requires_exclude %{?__requires_exclude:%{__requires_exclude}|}^perl\\((IRC::Utils|List::Util|POE|POE::Filter::IRCD|Test::Differences|Test::More)\\)$ # Remove private modules -%global __requires_exclude %{__requires_exclude}|^perl\\((Net::Netmask|POE::Component::Server::IRC.*)\\)$ -%global __provides_exclude %{?__provides_exclude:%{__provides_exclude}|}^perl\\((Net::Netmask|POE::Component::IRC::Test::Plugin|POE::Component::Server::IRC.*)\\) +%global __requires_exclude %{__requires_exclude}|^perl\\(POE::Component::Server::IRC.*\\)$ +%global __provides_exclude %{?__provides_exclude:%{__provides_exclude}|}^perl\\((POE::Component::IRC::Test::Plugin|POE::Component::Server::IRC.*)\\) %description POE::Component::IRC is a POE component (who'd have guessed?) which acts as an @@ -155,8 +155,10 @@ with "%{_libexecdir}/%{name}/test". %setup -q -n POE-Component-IRC-%{version} chmod -c -x examples/* # Remove bundled modules -rm -r t/inc/Crypt -perl -i -e 'print $_ unless m{\At/inc/Crypt\b}' MANIFEST +for D in t/inc/Crypt t/inc/Net; do + rm -r "$D" + perl -i -ne 'print $_ unless m{\A\Q'"$D"'\E/}' MANIFEST +done # Help generators to recognize Perl scripts for F in $(find t -type f -name '*.t'); do perl -i -MConfig -ple 'print $Config{startperl} if $. == 1 && !s{\A#!\s*perl}{$Config{startperl}}' "$F" @@ -203,6 +205,7 @@ make test * Mon Jun 07 2021 Petr Pisar - 6.91-1 - 6.91 bump - Package the tests +- Unbundle Net::Netmask * Wed Jan 27 2021 Fedora Release Engineering - 6.90-11 - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild From 81ceff63df446715581854150bb6ffabdf7b740c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= Date: Mon, 7 Jun 2021 13:58:26 +0200 Subject: [PATCH 4/6] Add FMF tests and gating --- .fmf/version | 1 + gating.yaml | 7 +++++++ plans/sanity.fmf | 5 +++++ tests/upstream-tests.fmf | 4 ++++ 4 files changed, 17 insertions(+) create mode 100644 .fmf/version create mode 100644 gating.yaml create mode 100644 plans/sanity.fmf create mode 100644 tests/upstream-tests.fmf diff --git a/.fmf/version b/.fmf/version new file mode 100644 index 0000000..d00491f --- /dev/null +++ b/.fmf/version @@ -0,0 +1 @@ +1 diff --git a/gating.yaml b/gating.yaml new file mode 100644 index 0000000..282e16b --- /dev/null +++ b/gating.yaml @@ -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} diff --git a/plans/sanity.fmf b/plans/sanity.fmf new file mode 100644 index 0000000..a72ded4 --- /dev/null +++ b/plans/sanity.fmf @@ -0,0 +1,5 @@ +summary: Sanity tests +discover: + how: fmf +execute: + how: tmt diff --git a/tests/upstream-tests.fmf b/tests/upstream-tests.fmf new file mode 100644 index 0000000..e67e129 --- /dev/null +++ b/tests/upstream-tests.fmf @@ -0,0 +1,4 @@ +summary: Upstream tests +component: perl-POE-Component-IRC +require: perl-POE-Component-IRC-tests +test: /usr/libexec/perl-POE-Component-IRC/test From 165109ec0b04a3d970dee1a9e3c08435ee13698f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= Date: Tue, 8 Jun 2021 16:21:48 +0200 Subject: [PATCH 5/6] 6.92 bump --- .gitignore | 1 + perl-POE-Component-IRC.spec | 5 ++++- sources | 2 +- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 51c9c4e..e21b75b 100644 --- a/.gitignore +++ b/.gitignore @@ -16,3 +16,4 @@ POE-Component-IRC-6.14.tar.gz /POE-Component-IRC-6.88.tar.gz /POE-Component-IRC-6.90.tar.gz /POE-Component-IRC-6.91.tar.gz +/POE-Component-IRC-6.92.tar.gz diff --git a/perl-POE-Component-IRC.spec b/perl-POE-Component-IRC.spec index a52509c..7d1bfea 100644 --- a/perl-POE-Component-IRC.spec +++ b/perl-POE-Component-IRC.spec @@ -9,7 +9,7 @@ Name: perl-POE-Component-IRC Summary: A POE component for building IRC clients -Version: 6.91 +Version: 6.92 Release: 1%{?dist} License: GPL+ or Artistic Source0: https://cpan.metacpan.org/authors/id/B/BI/BINGOS/POE-Component-IRC-%{version}.tar.gz @@ -202,6 +202,9 @@ make test %{_libexecdir}/%{name} %changelog +* Tue Jun 08 2021 Petr Pisar - 6.92-1 +- 6.92 bump + * Mon Jun 07 2021 Petr Pisar - 6.91-1 - 6.91 bump - Package the tests diff --git a/sources b/sources index 7a00b5e..f5b48a1 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (POE-Component-IRC-6.91.tar.gz) = 1dc8e4756a18777c1414e7f1b236922de0a8fb4a38e058a3f8e316de86a94ad9ab0ef4135c212f746484ec11ba7cb6cb48fc7526259619da5b6e03d2daa5f9cd +SHA512 (POE-Component-IRC-6.92.tar.gz) = ac5889ab0b00a41444693e44e0155ea9ec793b9b19ea0745ab1d6d9aa33c985dfbd28d1edb5b7b25e700e107e7771e611650a4cff298ea6eb116dd1225981210 From 7a495508662ac9710c619ddc3db4b49fc95271b6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= Date: Wed, 16 Jun 2021 07:52:38 +0200 Subject: [PATCH 6/6] 6.93 bump --- .gitignore | 1 + perl-POE-Component-IRC.spec | 10 +++++++++- sources | 2 +- 3 files changed, 11 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index e21b75b..3631050 100644 --- a/.gitignore +++ b/.gitignore @@ -17,3 +17,4 @@ POE-Component-IRC-6.14.tar.gz /POE-Component-IRC-6.90.tar.gz /POE-Component-IRC-6.91.tar.gz /POE-Component-IRC-6.92.tar.gz +/POE-Component-IRC-6.93.tar.gz diff --git a/perl-POE-Component-IRC.spec b/perl-POE-Component-IRC.spec index 7d1bfea..4a76dfc 100644 --- a/perl-POE-Component-IRC.spec +++ b/perl-POE-Component-IRC.spec @@ -9,7 +9,7 @@ Name: perl-POE-Component-IRC Summary: A POE component for building IRC clients -Version: 6.92 +Version: 6.93 Release: 1%{?dist} License: GPL+ or Artistic Source0: https://cpan.metacpan.org/authors/id/B/BI/BINGOS/POE-Component-IRC-%{version}.tar.gz @@ -159,6 +159,11 @@ for D in t/inc/Crypt t/inc/Net; do rm -r "$D" perl -i -ne 'print $_ unless m{\A\Q'"$D"'\E/}' MANIFEST done +# Remove online tests +for T in t/02_behavior/06_online.t; do + rm "$T" + perl -i -ne 'print $_ unless m{\A\Q'"$T"'\E\b}' MANIFEST +done # Help generators to recognize Perl scripts for F in $(find t -type f -name '*.t'); do perl -i -MConfig -ple 'print $Config{startperl} if $. == 1 && !s{\A#!\s*perl}{$Config{startperl}}' "$F" @@ -202,6 +207,9 @@ make test %{_libexecdir}/%{name} %changelog +* Wed Jun 16 2021 Petr Pisar - 6.93-1 +- 6.93 bump + * Tue Jun 08 2021 Petr Pisar - 6.92-1 - 6.92 bump diff --git a/sources b/sources index f5b48a1..86a5ac1 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (POE-Component-IRC-6.92.tar.gz) = ac5889ab0b00a41444693e44e0155ea9ec793b9b19ea0745ab1d6d9aa33c985dfbd28d1edb5b7b25e700e107e7771e611650a4cff298ea6eb116dd1225981210 +SHA512 (POE-Component-IRC-6.93.tar.gz) = 334535cb4f02c63fbc8b457b9e5c6d8cb96ef0ac159ac6f810d7cda337f55a729b73115a65dfca11c44ca286d355667500b021cd5408943a1afd2d325ece7be0