From e00bc20b3cc8a00f71d37cc621a76a2bcd19faea Mon Sep 17 00:00:00 2001 From: GONG Jie Date: Wed, 6 Jan 2016 14:38:21 +0800 Subject: [PATCH] Build perl-XML-Simple ver 2.22 for AIX 7.2 --- AIX/perl-XML-Simple/7.2/Build-notes | 15 +++ AIX/perl-XML-Simple/7.2/XML-Simple.spec | 134 ++++++++++++++++++++++++ 2 files changed, 149 insertions(+) create mode 100644 AIX/perl-XML-Simple/7.2/Build-notes create mode 100644 AIX/perl-XML-Simple/7.2/XML-Simple.spec diff --git a/AIX/perl-XML-Simple/7.2/Build-notes b/AIX/perl-XML-Simple/7.2/Build-notes new file mode 100644 index 0000000..79985d0 --- /dev/null +++ b/AIX/perl-XML-Simple/7.2/Build-notes @@ -0,0 +1,15 @@ +Build Notes + +Need cc_r compiler installed on AIX build system. + +Get XML-Simple-2.22.tar.gz from CPAN +se the XML-Simple.spec in this directory ( it was created by running a modified + cpan2rpm to support AIX) + +cp XML-Simple-2.22.tar.gz /opt/freeware/src/packages/SOURCES +cp XML-Simple.spec /opt/freeware/src/packages/SPECS + +Run "rpm -bb XML-Simple.spec". + - which creates: /opt/freeware/src/packages/RPMS/ppc/XML-Simple-2.22-1.aix7.2.ppc.rpm + + diff --git a/AIX/perl-XML-Simple/7.2/XML-Simple.spec b/AIX/perl-XML-Simple/7.2/XML-Simple.spec new file mode 100644 index 0000000..51334ba --- /dev/null +++ b/AIX/perl-XML-Simple/7.2/XML-Simple.spec @@ -0,0 +1,134 @@ +# +# - XML::Simple - +# This spec file was automatically generated by cpan2rpm [ver: 2.028] +# The following arguments were used: +# . +# For more information on cpan2rpm please visit: http://perl.arix.com/ +# + +%define pkgname XML-Simple +%define filelist %{pkgname}-%{version}-filelist +%define NVR %{pkgname}-%{version}-%{release} +%define maketest 1 + +name: perl-XML-Simple +summary: XML-Simple - Easy API to maintain XML (esp config files) +version: 2.22 +release: 1 +vendor: Grant McLean +packager: Arix International +license: Artistic +group: Applications/CPAN +url: http://www.cpan.org +buildroot: %{_tmppath}/%{name}-%{version}-%(id -u -n) +buildarch: ppc +prefix: %(echo %{_prefix}) +source: XML-Simple-2.22.tar.gz + +%description +The XML::Simple module provides a simple API layer on top of an underlying XML +parsing module (either XML::Parser or one of the SAX2 parser modules). Two +functions are exported: "XMLin()" and "XMLout()". Note: you can explicity +request the lower case versions of the function names: "xml_in()" and +"xml_out()". + +The simplest approach is to call these two functions directly, but an +optional object oriented interface (see "OPTIONAL OO INTERFACE" below) +allows them to be called as methods of an XML::Simple object. The object +interface can also be used at either end of a SAX pipeline. + +# +# 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 \ +grep -v '.bak$' |xargs \ +%__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"; + 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 +* Mon, 04 Jan 2016 gongjie@linux.vnet.ibm.com +- Initial build on AIX 7.2