Compare commits

...
Sign in to create a new pull request.

6 commits

Author SHA1 Message Date
Petr Písař
7a49550866 6.93 bump 2021-06-16 08:05:37 +02:00
Petr Písař
165109ec0b 6.92 bump 2021-06-08 16:28:50 +02:00
Petr Písař
81ceff63df Add FMF tests and gating 2021-06-07 14:13:36 +02:00
Petr Písař
c6ea3df2b6 Unbundle Net::Netmask 2021-06-07 14:13:36 +02:00
Petr Písař
6d6f69027a Package the tests 2021-06-07 14:13:22 +02:00
Petr Písař
518e3767ee 6.91 bump 2021-06-07 14:12:32 +02:00
8 changed files with 110 additions and 12 deletions

1
.fmf/version Normal file
View file

@ -0,0 +1 @@
1

3
.gitignore vendored
View file

@ -15,3 +15,6 @@ 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
/POE-Component-IRC-6.92.tar.gz
/POE-Component-IRC-6.93.tar.gz

7
gating.yaml Normal file
View 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}

View file

@ -0,0 +1,2 @@
from Config import *
addFilter("-tests\\.noarch: W: no-documentation")

View file

@ -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.93
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
@ -20,10 +20,10 @@ 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)
BuildRequires: sed
# Run-time:
BuildRequires: perl(base)
BuildRequires: perl(Carp)
@ -67,10 +67,9 @@ 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
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}
@ -107,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\\(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
@ -117,22 +119,82 @@ 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
sed -i -e '/^t\/inc\/Crypt/d' 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
# 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"
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=%{buildroot}
%{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
@ -141,7 +203,21 @@ make test
%{perl_vendorlib}/*
%{_mandir}/man3/*.3*
%files tests
%{_libexecdir}/%{name}
%changelog
* Wed Jun 16 2021 Petr Pisar <ppisar@redhat.com> - 6.93-1
- 6.93 bump
* Tue Jun 08 2021 Petr Pisar <ppisar@redhat.com> - 6.92-1
- 6.92 bump
* Mon Jun 07 2021 Petr Pisar <ppisar@redhat.com> - 6.91-1
- 6.91 bump
- Package the tests
- Unbundle Net::Netmask
* Wed Jan 27 2021 Fedora Release Engineering <releng@fedoraproject.org> - 6.90-11
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild

5
plans/sanity.fmf Normal file
View file

@ -0,0 +1,5 @@
summary: Sanity tests
discover:
how: fmf
execute:
how: tmt

View file

@ -1 +1 @@
SHA512 (POE-Component-IRC-6.90.tar.gz) = c8106bf740a60dc075f99df40c96f30232f69f1369ea5f68ce10636ab0640536ef2c806d73e721f21c21043ab7c386a1e54e099241bd52070648ffc9fd010750
SHA512 (POE-Component-IRC-6.93.tar.gz) = 334535cb4f02c63fbc8b457b9e5c6d8cb96ef0ac159ac6f810d7cda337f55a729b73115a65dfca11c44ca286d355667500b021cd5408943a1afd2d325ece7be0

4
tests/upstream-tests.fmf Normal file
View file

@ -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