2
0
mirror of https://github.com/xcat2/xcat-dep.git synced 2026-09-12 12:36:23 +00:00
Files
xcat-dep/perl-Net-DNS/Net-DNS.spec
T
Vinícius Ferrão 7ffc621b79 feat(perl): build the EPEL-only perl deps of xCAT where there is no EPEL
EL10 x86_64/ppc64le take these perl deps of xCAT from EPEL; riscv64 has no EPEL
and Rocky Linux 10 riscv64 BaseOS/AppStream/CRB do not carry them, so xcat-dep
builds them for that arch. Add them to mockbuild-perl-packages.pl's package
table, and a --epel-gap switch that appends them to the build list (the
default list6 build is unchanged):

  perl-Crypt-Blowfish  EPEL 10 src.rpm (2.14-25.el10_0, vendored now; the spec
                       in the dir is a SUSE one); its optional tests need
                       Crypt::CBC, so it 'needs' our perl-Crypt-CBC
  perl-Crypt-CBC       perl-Crypt-CBC.spec + Crypt-CBC-2.33.tar.gz: the spec
                       is now the Fedora one of the vendored fc29 src.rpm
                       (release 21) with the BuildRequires an EL10 buildroot
                       lacks (make, perl-interpreter); it replaces the SUSE
                       spec (perl-macros) that could not build on EL (noarch)
  perl-Crypt-Rijndael  perl-Crypt-Rijndael-1.13-10.fc29.src.rpm
  perl-Digest-SHA1     perl-Digest-SHA1-2.13-23.fc28.src.rpm
  perl-Expect          perl-Expect-1.35-6.fc29.src.rpm          (noarch)
  perl-Mail-Sender     perl-Mail-Sender-0.903-7.fc29.src.rpm    (noarch)
  perl-Net-DNS         Net-DNS.spec + Net-DNS-0.80.tar.gz, now built with
                       --noxs as noarch (the cpan2rpm spec hard-coded
                       buildarch x86_64 for the XS dn_expand) and with the
                       BuildRequires cpan2rpm specs never carry; release 2
  perl-Net-IP          perl-Net-IP-1.26-30.el10_0.src.rpm       (noarch)
  perl-Path-Class      new dir, EPEL 10 src.rpm (0.37-24.el10_0, noarch): only
                       a build dep -- Crypt-SSLeay's Makefile.PL needs it --
                       so perl-Crypt-SSLeay 'needs' it; on x86_64 EPEL still
                       provides it and nothing changes there

Two EPEL-only deps of xCAT are deliberately not built: perl-SOAP-Lite
(1.27-3.fc29 src.rpm is in the table for completeness, but its BuildRequires
IO::SessionData, MIME::Lite, XML::Parser::Lite and Test::XML are EPEL-only as
well, so it can neither be built nor installed without EPEL; xCAT uses it for
HP blade/VirtualBox support only) and perl-DB_File (needs libdb, which EL10
dropped and Rocky Linux 10 riscv64 does not have at all; only xCAT-server's
Confluent client uses it and xCAT-server merely recommends the package).
2026-08-25 18:30:13 -03:00

148 lines
4.5 KiB
RPMSpec

#
# - Net::DNS -
# This spec file was automatically generated by cpan2rpm [ver: 2.028]
# The following arguments were used:
# ./Net-DNS-0.80.tar.gz
# For more information on cpan2rpm please visit: http://perl.arix.com/
#
%define pkgname Net-DNS
%define filelist %{pkgname}-%{version}-filelist
%define NVR %{pkgname}-%{version}-%{release}
%define maketest 1
name: perl-Net-DNS
summary: Net-DNS - Perl DNS resolver module
version: 0.80
release: 2
vendor: Olaf Kolkman <olaf@net-dns.org>
packager: Arix International <cpan2rpm@arix.com>
license: Artistic
group: Applications/CPAN
url: http://www.cpan.org
buildroot: %{_tmppath}/%{name}-%{version}-%(id -u -n)
buildarch: noarch
prefix: %(echo %{_prefix})
source: Net-DNS-0.80.tar.gz
# cpan2rpm specs carry no BuildRequires; an EL10 buildroot has neither perl nor make, and
# perl-generators is what makes rpm compute the perl(...) Requires.
BuildRequires: make
BuildRequires: perl-interpreter
BuildRequires: perl-generators
BuildRequires: perl(ExtUtils::MakeMaker)
BuildRequires: perl(Digest::HMAC)
BuildRequires: perl(Digest::MD5)
BuildRequires: perl(Digest::SHA)
BuildRequires: perl(MIME::Base64)
BuildRequires: perl(Test::More)
%description
Net::DNS is a collection of Perl modules that act as a Domain Name System
(DNS) resolver. It allows the programmer to perform DNS queries that are
beyond the capabilities of "gethostbyname" and "gethostbyaddr".
The programmer should be somewhat familiar with the format of a DNS packet
and its various sections. See RFC 1035 or DNS and BIND (Albitz & Liu) for
details.
#
# This package was generated automatically with the cpan2rpm
# utility. To get this software or for more information
# please visit: http://perl.arix.com/
#
%prep
%setup -q -n %{pkgname}-%{version}
chmod -R u+w %{_builddir}/%{pkgname}-%{version}
%build
grep -rsl '^#!.*perl' . |
grep -v '.bak$' |xargs --no-run-if-empty \
%__perl -MExtUtils::MakeMaker -e 'MY->fixin(@ARGV)'
CFLAGS="$RPM_OPT_FLAGS"
# --noxs: pure-perl Net::DNS (no compiled dn_expand), so one noarch rpm serves every arch
%{__perl} Makefile.PL --noxs `%{__perl} -MExtUtils::MakeMaker -e ' print qq|PREFIX=%{buildroot}%{_prefix}| if \$ExtUtils::MakeMaker::VERSION =~ /5\.9[1-6]|6\.0[0-5]/ '`
%{__make}
%if %maketest
%{__make} test
%endif
%install
[ "%{buildroot}" != "/" ] && rm -rf %{buildroot}
%{makeinstall} `%{__perl} -MExtUtils::MakeMaker -e ' print \$ExtUtils::MakeMaker::VERSION <= 6.05 ? qq|PREFIX=%{buildroot}%{_prefix}| : qq|DESTDIR=%{buildroot}| '`
cmd=/usr/share/spec-helper/compress_files
[ -x $cmd ] || cmd=/usr/lib/rpm/brp-compress
[ -x $cmd ] && $cmd
# SuSE Linux
if [ -e /etc/SuSE-release -o -e /etc/UnitedLinux-release ]
then
%{__mkdir_p} %{buildroot}/var/adm/perl-modules
%{__cat} `find %{buildroot} -name "perllocal.pod"` \
| %{__sed} -e s+%{buildroot}++g \
> %{buildroot}/var/adm/perl-modules/%{name}
fi
# remove special files
find %{buildroot} -name "perllocal.pod" \
-o -name ".packlist" \
-o -name "*.bs" \
|xargs -i rm -f {}
# no empty directories
find %{buildroot}%{_prefix} \
-type d -depth \
-exec rmdir {} \; 2>/dev/null
%{__perl} -MFile::Find -le '
find({ wanted => \&wanted, no_chdir => 1}, "%{buildroot}");
print "%doc Changes README TODO contrib demo";
for my $x (sort @dirs, @files) {
push @ret, $x unless indirs($x);
}
print join "\n", sort @ret;
sub wanted {
return if /auto$/;
local $_ = $File::Find::name;
my $f = $_; s|^\Q%{buildroot}\E||;
return unless length;
return $files[@files] = $_ if -f $f;
$d = $_;
/\Q$d\E/ && return for reverse sort @INC;
$d =~ /\Q$_\E/ && return
for qw|/etc %_prefix/man %_prefix/bin %_prefix/share|;
$dirs[@dirs] = $_;
}
sub indirs {
my $x = shift;
$x =~ /^\Q$_\E\// && $x ne $_ && return 1 for @dirs;
}
' > %filelist
[ -z %filelist ] && {
echo "ERROR: empty %files listing"
exit -1
}
%clean
[ "%{buildroot}" != "/" ] && rm -rf %{buildroot}
%files -f %filelist
%defattr(-,root,root)
%changelog
* Thu Aug 20 2026 xCAT build - 0.80-2
- Build the pure-perl module (--noxs) as noarch instead of an XS x86_64 rpm.
- BuildRequires for an EL10 buildroot (make, perl-interpreter, perl-generators,
MakeMaker, Digest::HMAC/MD5/SHA, MIME::Base64, Test::More).
* Tue Oct 28 2014 root@slesmn
- Initial build.