2
0
mirror of https://github.com/xcat2/xcat-dep.git synced 2024-11-23 01:51:54 +00:00

Add cpan2rpm, this is a rpm which can be used to create spec file from cpan tar.gz; Add perl-Net-DNS package, it is necessary for sles12 to support makedns for an issue in the version which shipped with sles12

Former-commit-id: 0475dcaa3d44ace25590909c5fde52292129cc89
This commit is contained in:
daniceexi 2014-10-29 04:39:57 -04:00
parent 3b2a81e7d1
commit 7713b2f19c
6 changed files with 142 additions and 0 deletions

6
cpan2rpm/Buildnote Normal file
View File

@ -0,0 +1,6 @@
1. The spec file is included in the cpan2rpm-2.028.tar.gz, you can just untar
it and extract out the cpan2rpm.spec.
2. Since the cpan2rpm uses a subroutine interpolate from POD::Text but it is
not supported in the latest build of POD::Text. The fix is to replace the
'POD::Text' with 'POK::PlainText' in the two places of file 'cpan2rpm'.
3. Generate the cpan2rpm-2.028-1.noarch.rpm as general rpm package.

Binary file not shown.

Binary file not shown.

6
perl-Net-DNS/Buildnote Normal file
View File

@ -0,0 +1,6 @@
How to build the perl-Net-DNS
1. cp the Net-DNS-0.80.tar.gz to the rpmbuild/SOURCES/
2. cp the Net-DNS.spec to the rpmbuild/SPECS/
3. cd rpmbuild/SPECS/
4. rpmbuild -bb Net-DNS.spec

Binary file not shown.

130
perl-Net-DNS/Net-DNS.spec Normal file
View File

@ -0,0 +1,130 @@
#
# - 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: 1
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: x86_64
prefix: %(echo %{_prefix})
source: Net-DNS-0.80.tar.gz
%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"
%{__perl} Makefile.PL `%{__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
* Tue Oct 28 2014 root@slesmn
- Initial build.