From 5f9a493951a20abbffa4414acc097ecbba4fbefd Mon Sep 17 00:00:00 2001 From: nott Date: Thu, 14 Aug 2008 11:54:56 +0000 Subject: [PATCH] create DBD-mysql package for MySQL on AIX --- AIX/perl-DBD-mysql/Build-notes | 18 +++++ AIX/perl-DBD-mysql/DBD-mysql.spec | 118 ++++++++++++++++++++++++++++++ 2 files changed, 136 insertions(+) create mode 100644 AIX/perl-DBD-mysql/Build-notes create mode 100644 AIX/perl-DBD-mysql/DBD-mysql.spec diff --git a/AIX/perl-DBD-mysql/Build-notes b/AIX/perl-DBD-mysql/Build-notes new file mode 100644 index 0000000..6e6db65 --- /dev/null +++ b/AIX/perl-DBD-mysql/Build-notes @@ -0,0 +1,18 @@ +Build Notes + +Need cc_r compiler installed on AIX build system. + +Download DBD-mysql-4.007.tar.gz from CPAN. + +Put the gz file in /opt/freeware/src/packages/BUILD directory and unwrap +it (gunzip & tar -xvf ). + +Put the DBD-mysql.spec file provided by xCAT in the +/opt/freeware/src/packages/SPECS directory. + +Go to the subdirectory DBD-mysql-4.007 and run "cpan2rpm ." +(cpan2rpm is available from CPAN) + +Creates: +/opt/freeware/src/packages/RPMS/ppc/perl-DBD-mysql-4.007-1.aix5.3.ppc.rpm + diff --git a/AIX/perl-DBD-mysql/DBD-mysql.spec b/AIX/perl-DBD-mysql/DBD-mysql.spec new file mode 100644 index 0000000..2ff1fc6 --- /dev/null +++ b/AIX/perl-DBD-mysql/DBD-mysql.spec @@ -0,0 +1,118 @@ +# +# - DBD::mysql - +# + +%define pkgname DBD-mysql +%define filelist %{pkgname}-%{version}-filelist +%define NVR %{pkgname}-%{version}-%{release} + +#ndebug - test fails when building on AIX +#%define maketest 1 +%define maketest 0 + +name: perl-DBD-mysql +summary: DBD-mysql - Self Contained RDBMS in a DBI Driver +version: 4.007 +release: 1 +vendor: Matt Sergeant +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: DBD-mysql-4.007.tar.gz + +%description +Perl DBD module for MySQL + +%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 Jun 4 2007 root@c68m3hvp01 +- Initial build.