Compare commits

...

No commits in common. "c8" and "c10s" have entirely different histories.
c8 ... c10s

12 changed files with 194 additions and 75 deletions

1
.fmf/version Normal file
View File

@ -0,0 +1 @@
1

24
.gitignore vendored
View File

@ -1 +1,23 @@
SOURCES/perl-ldap-0.66.tar.gz
perl-ldap-0.40.tar.gz
/perl-ldap-0.44.tar.gz
/perl-ldap-0.46.tar.gz
/perl-ldap-0.47.tar.gz
/perl-ldap-0.49.tar.gz
/perl-ldap-0.50.tar.gz
/perl-ldap-0.51.tar.gz
/perl-ldap-0.52.tar.gz
/perl-ldap-0.53.tar.gz
/perl-ldap-0.54.tar.gz
/perl-ldap-0.55.tar.gz
/perl-ldap-0.56.tar.gz
/perl-ldap-0.57.tar.gz
/perl-ldap-0.58.tar.gz
/perl-ldap-0.59.tar.gz
/perl-ldap-0.60.tar.gz
/perl-ldap-0.61.tar.gz
/perl-ldap-0.62.tar.gz
/perl-ldap-0.63.tar.gz
/perl-ldap-0.64.tar.gz
/perl-ldap-0.65.tar.gz
/perl-ldap-0.66.tar.gz
/perl-ldap-0.68.tar.gz

View File

@ -1 +0,0 @@
b6dbc774a7d42a994a103a7d5fd934f6c918e8e6 SOURCES/perl-ldap-0.66.tar.gz

View File

@ -1,26 +0,0 @@
From 4e63491c2a9ba2d9e9f5ad22360051038918c19d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= <ppisar@redhat.com>
Date: Tue, 29 Oct 2019 14:49:09 +0100
Subject: [PATCH] Correct a shell bang in data/regenerate_cert.sh
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Signed-off-by: Petr Písař <ppisar@redhat.com>
---
data/regenerate_cert.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/data/regenerate_cert.sh b/data/regenerate_cert.sh
index 9bf1879..8980fbe 100755
--- a/data/regenerate_cert.sh
+++ b/data/regenerate_cert.sh
@@ -1,4 +1,4 @@
-#/bin/sh
+#!/bin/sh
# regenerate server certificate for the SSL tests
if [ -e openssl.cnf ]; then
--
2.21.0

15
gating.yaml Normal file
View File

@ -0,0 +1,15 @@
--- !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}
# RHEL
--- !Policy
product_versions:
- rhel-*
decision_context: osci_compose_gate
rules:
- !PassingTestCaseRule {test_case_name: osci.brew-build.tier0.functional}

View File

@ -1,30 +1,34 @@
# Perform optional tests
%bcond_without perl_LDAP_enables_optional_test
# Support XML serialization of LDAP schemata (DSML languge)
%if 0%{?rhel}
%bcond_with perl_LDAP_enables_xml
%bcond_with perl_LDAP_enables_optional_test
%else
%bcond_without perl_LDAP_enables_xml
%bcond_without perl_LDAP_enables_optional_test
%endif
Name: perl-LDAP
Version: 0.66
Release: 7%{?dist}
Version: 0.68
Release: 16%{?dist}
Epoch: 1
Summary: LDAP Perl module
License: GPL+ or Artistic
License: GPL-1.0-or-later OR Artistic-1.0-Perl
URL: https://metacpan.org/release/perl-ldap
Source0: https://cpan.metacpan.org/authors/id/M/MA/MARSCHAP/perl-ldap-%{version}.tar.gz
# Optional tests need to know a location of an LDAP server executable
Patch0: perl-ldap-0.65-Configure-usr-sbin-slapd-for-tests.patch
# Remove an unreliable cancelling test
Patch1: perl-ldap-0.66-test-Remove-a-test-for-cancelling-asynchronous-calls.patch
# Fix a shell bang in a certificate generator script,
# <https://github.com/perl-ldap/perl-ldap/pull/55>, bug #1663063
Patch2: perl-ldap-0.66-Correct-a-shell-bang-in-data-regenerate_cert.sh.patch
# Fix resolving localhost on loopback-only machines,
# <https://github.com/perl-ldap/perl-ldap/pull/60>, CPAN RT#104793
Patch2: perl-ldap-0.68-Do-not-default-IO-Socket-IP-to-AI_ADDRCONFIG-flag.patch
BuildArch: noarch
BuildRequires: perl-interpreter
BuildRequires: coreutils
BuildRequires: make
BuildRequires: perl-generators
BuildRequires: perl-interpreter
BuildRequires: perl(Config)
BuildRequires: perl(inc::Module::Install)
BuildRequires: perl(Module::Install::AutoInstall)
BuildRequires: perl(Module::Install::Metadata)
@ -73,7 +77,6 @@ BuildRequires: perl(Test::More)
BuildRequires: openldap-servers
BuildRequires: perl(LWP::UserAgent)
%endif
Requires: perl(:MODULE_COMPAT_%(eval "`perl -V:version`"; echo $version))
Requires: perl(Authen::SASL) >= 2.00
Requires: perl(Convert::ASN1) >= 0.2
Requires: perl(IO::Socket::SSL) >= 1.26
@ -89,6 +92,7 @@ Requires: perl(Time::Local)
# Remove under-specified dependencies
%global __provides_exclude %{?__provides_exclude:%__provides_exclude|}^perl\\(Net::LDAP::Filter\\)$
%global __requires_exclude %{?__requires_exclude:%__requires_exclude|}^perl\\(Convert::ASN1\\)$
%global __requires_exclude %{__requires_exclude}|^perl\\(t::common.pl\\)
%description
Net::LDAP is a collection of modules that implements an LDAP services API
@ -99,7 +103,6 @@ maintenance functions such as adding, deleting or modifying entries.
%package -n perl-Net-LDAP-DSML
Summary: DSML Writer for Net::LDAP
Requires: perl-LDAP = %{?epoch:%{epoch}:}%{version}-%{release}
Requires: perl(:MODULE_COMPAT_%(eval "`perl -V:version`"; echo $version))
Requires: perl(MIME::Base64)
Requires: perl(Net::LDAP::Schema)
Requires: perl(XML::SAX::Writer)
@ -118,34 +121,11 @@ Requires: perl-LDAP = %{?epoch:%{epoch}:}%{version}-%{release}
# perl-Test-Harness for "prove" command
Requires: perl-Test-Harness
Requires: perl(Convert::ASN1) >= 0.2
Requires: perl(File::Basename)
Requires: perl(File::Compare)
Requires: perl(File::Path)
Requires: perl(File::Spec)
Requires: perl(IO::File)
Requires: perl(Net::LDAP)
Requires: perl(Net::LDAP::ASN)
Requires: perl(Net::LDAP::Constant)
Requires: perl(Net::LDAP::Control::Assertion)
Requires: perl(Net::LDAP::Control::ManageDsaIT)
Requires: perl(Net::LDAP::Control::MatchedValues)
Requires: perl(Net::LDAP::Control::PostRead)
Requires: perl(Net::LDAP::Control::PreRead)
Requires: perl(Net::LDAP::Control::ProxyAuth)
Requires: perl(Net::LDAP::Control::Sort)
Requires: perl(Net::LDAP::Entry)
Requires: perl(Net::LDAP::Extension::Cancel)
Requires: perl(Net::LDAP::Filter)
Requires: perl(Net::LDAP::FilterMatch)
Requires: perl(Net::LDAP::LDIF)
Requires: perl(Net::LDAP::Schema)
Requires: perl(Net::LDAP::Util)
Requires: perl(Net::LDAPI)
Requires: perl(Test::More)
# Prefer core Text::Soundex
Requires: perl(Text::Soundex)
%if %{with perl_LDAP_enables_xml}
Requires: perl(Net::LDAP::DSML)
Requires: perl(XML::SAX::Base)
Requires: perl(XML::SAX::Writer)
%endif
@ -163,28 +143,32 @@ Tests from %{name}-%{version}. Execute them with "%{_libexecdir}/%{name}/test".
%prep
%setup -q -n perl-ldap-%{version}
%patch0 -p1
%patch1 -p1
%patch2 -p1
%patch -P0 -p1
%patch -P1 -p1
%patch -P2 -p1
chmod -c 644 bin/* contrib/* lib/Net/LDAP/DSML.pm
perl -pi -e 's|^#!/usr/local/bin/perl\b|#!%{__perl}|' contrib/*
# Remove bundled libraries
rm -rf inc
sed -i -e '/^inc\// d' MANIFEST
perl -i -ne 'print $_ unless m{^inc/}' MANIFEST
# Remove tests specific for XML support if the support is disabled
%if !%{with perl_LDAP_enables_xml}
rm t/05dsml.t
sed -i -e '/^t\/05dsml\.t/ d' MANIFEST
perl -i -ne 'print $_ unless m{^t/05dsml\.t}' MANIFEST
%endif
find -type f \! -name 'regenerate_cert.sh' -exec chmod -x {} +
# Help generators to recognize Perl scripts
for F in t/*; do
perl -i -MConfig -pe 's/\A#!perl\b/$Config{startperl}/' "$F"
chmod +x "$F"
done
%build
perl Makefile.PL INSTALLDIRS=vendor < /dev/null
make %{?_smp_mflags}
perl Makefile.PL INSTALLDIRS=vendor NO_PACKLIST=1 NO_PERLLOCAL=1 < /dev/null
%{make_build}
%install
make pure_install DESTDIR=%{buildroot}
find %{buildroot} -type f -name .packlist -delete
%{make_install}
mkdir -p %{buildroot}/%{_libexecdir}/%{name}
# FIXME: Generators should scan these non-executable files
cp -a data t test.cfg %{buildroot}/%{_libexecdir}/%{name}
@ -226,12 +210,68 @@ make test
%{_libexecdir}/%{name}
%changelog
* Tue Oct 29 2019 Petr Pisar <ppisar@redhat.com> - 1:0.66-7
- Fix tests subpackage test script (bug #1663063)
- Fix a shell bang in a certificate generator script (bug #1663063)
* Tue Oct 29 2024 Troy Dawson <tdawson@redhat.com> - 1:0.68-16
- Bump release for October 2024 mass rebuild:
Resolves: RHEL-64018
* Tue Sep 17 2019 Petr Pisar <ppisar@redhat.com> - 1:0.66-6
- Bump a release to replace the EPEL package (bug #1663063)
* Tue Jul 09 2024 Jitka Plesnikova <jplesnik@redhat.com> - 1:0.68-15
- Resolves: RHEL-46816 - disable optional tests
* Mon Jun 24 2024 Troy Dawson <tdawson@redhat.com> - 1:0.68-14
- Bump release for June 2024 mass rebuild
* Thu Jan 25 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1:0.68-13
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Sun Jan 21 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1:0.68-12
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Thu Jul 20 2023 Fedora Release Engineering <releng@fedoraproject.org> - 1:0.68-11
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
* Tue Jan 24 2023 Jitka Plesnikova <jplesnik@redhat.com> - 1:0.68-10
- Filter run-require perl(t::common.pl) (BZ#2163998)
* Fri Jan 20 2023 Fedora Release Engineering <releng@fedoraproject.org> - 1:0.68-9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Fri Jul 22 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1:0.68-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Wed Jun 01 2022 Jitka Plesnikova <jplesnik@redhat.com> - 1:0.68-7
- Perl 5.36 rebuild
* Fri Jan 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1:0.68-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Thu Jul 22 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1:0.68-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Fri May 21 2021 Jitka Plesnikova <jplesnik@redhat.com> - 1:0.68-4
- Perl 5.34 rebuild
* Tue Feb 16 2021 Petr Pisar <ppisar@redhat.com> - 1:0.68-3
- Fix resolving localhost on loopback-only machines
(https://github.com/perl-ldap/perl-ldap/pull/60)
* Wed Jan 27 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1:0.68-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Tue Jan 05 2021 Jitka Plesnikova <jplesnik@redhat.com> - 1:0.68-1
- 0.68 bump
* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1:0.66-9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Tue Jun 23 2020 Jitka Plesnikova <jplesnik@redhat.com> - 1:0.66-8
- Perl 5.32 rebuild
* Thu Jan 30 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1:0.66-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Tue Oct 29 2019 Petr Pisar <ppisar@redhat.com> - 1:0.66-6
- Fix tests subpackage test script
- Fix a shell bang in a certificate generator script
* Mon Aug 26 2019 Petr Pisar <ppisar@redhat.com> - 1:0.66-5
- Package tests

View File

@ -0,0 +1,51 @@
From 957a39309fa2f8a85a6b8a0a2c5b1751a151cb8b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= <ppisar@redhat.com>
Date: Tue, 16 Feb 2021 15:29:58 +0100
Subject: [PATCH] Do not default IO::Socket::IP to AI_ADDRCONFIG flag
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
t/40connect.t fails if the only available network interface is
loopback and IO::Socket::IP is installed:
# perl -Ilib -I. t/40connect.t
1..3
ok 1 - client with IPv4/IPv6 auto-selection, bound to ::1
ldap://localhost:9009/ Name or service not known at t/common.pl line 157.
# Looks like your test exited with 22 just after 1.
The reason is that IO::Socket::IP by default resolves host names with
AI_ADDRCONFIG flag and in the particular case (no interfaces other
than loopback) a system resolver (glibc in my case) hides both IPv4
and IPv6 addreses of the hostname (e.g. localhost).
See <https://rt.cpan.org/Ticket/Display.html?id=104793> for more
details.
I applied a workaround similar to one found in IO-Socket-SSL.
I believe that other Socket implementations perl-ldap can use do not
suffer from this problem.
Signed-off-by: Petr Písař <ppisar@redhat.com>
---
lib/Net/LDAP.pm | 3 +++
1 file changed, 3 insertions(+)
diff --git a/lib/Net/LDAP.pm b/lib/Net/LDAP.pm
index 5dfe3e3..be11d12 100644
--- a/lib/Net/LDAP.pm
+++ b/lib/Net/LDAP.pm
@@ -167,6 +167,9 @@ sub connect_ldap {
LocalAddr => $arg->{localaddr} || undef,
Proto => 'tcp',
($class eq 'IO::Socket::IP' ? 'Family' : 'Domain') => $domain,
+ # Work around IO::Socket::IP defaulting to AI_ADDRCONFIG which breaks
+ # resolution if only a loopback interface is available. CPAN RT#104793.
+ ($class eq 'IO::Socket::IP' and $domain ne AF_UNSPEC ? ('GetAddrInfoFlags' => 0) : ()),
MultiHomed => $arg->{multihomed},
Timeout => defined $arg->{timeout}
? $arg->{timeout}
--
2.26.2

5
plans/sanity.fmf Normal file
View File

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

1
sources Normal file
View File

@ -0,0 +1 @@
SHA512 (perl-ldap-0.68.tar.gz) = 9b6260ac997c3279585745571f7d825aac956f157aef5715f13efb118723379aa9c838fdc123e2932047b28b38ebc2261ebe82ae1ef6a1f383b775d748ff18c6

11
tests/upstream-tests.fmf Normal file
View File

@ -0,0 +1,11 @@
summary: Upstream tests
component: perl-LDAP
require: perl-LDAP-tests
test: /usr/libexec/perl-LDAP/test
enabled: true
tag:
- rhel-buildroot
adjust:
- enabled: false
when: distro < rhel-10 or distro < centos-stream-10
continue: false