From 83413fb0110a402177d88762e684b61e2a3a926b Mon Sep 17 00:00:00 2001 From: lissav Date: Tue, 27 Jul 2010 15:18:33 +0000 Subject: [PATCH] new build notes and new spec file Former-commit-id: 411de981a24ff4c919ef8cc363395de4fd0beb12 --- AIX/perl-DBD-mysql/Build-notes | 11 ++- AIX/perl-DBD-mysql/DBD-mysql.spec | 109 +++++++++++++++++++----- AIX/perl-DBD-mysql/DBD-mysql.spec.old | 118 ++++++++++++++++++++++++++ 3 files changed, 210 insertions(+), 28 deletions(-) create mode 100644 AIX/perl-DBD-mysql/DBD-mysql.spec.old diff --git a/AIX/perl-DBD-mysql/Build-notes b/AIX/perl-DBD-mysql/Build-notes index eca5507..7c6f368 100644 --- a/AIX/perl-DBD-mysql/Build-notes +++ b/AIX/perl-DBD-mysql/Build-notes @@ -13,14 +13,13 @@ 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 ). +cp DBD-mysql-4.007.tar.gz /opt/freeware/src/packages/BUILD directory -Put the DBD-mysql.spec file provided by xCAT in the -/opt/freeware/src/packages/SPECS directory. +Use the DBD-mysql.spec provided in this directory and +cp DBD-mysql.spec /opt/freeware/src/packages/SPECS -Go to the subdirectory DBD-mysql-4.007 and run "cpan2rpm ." -(cpan2rpm is available from CPAN) +cd /opt/freeware/src/packages/SPECS +rpm -bb DBD-mysql.spec 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 index 2ff1fc6..ad2c88a 100644 --- a/AIX/perl-DBD-mysql/DBD-mysql.spec +++ b/AIX/perl-DBD-mysql/DBD-mysql.spec @@ -1,20 +1,21 @@ # # - DBD::mysql - +# This spec file was automatically generated by cpan2rpm [ver: 2.028] +# The following arguments were used: +# DBD-mysql-4.007.tar.gz -U --tempdir=/tmp/test +# For more information on cpan2rpm please visit: http://perl.arix.com/ # %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 +%define maketest 1 name: perl-DBD-mysql -summary: DBD-mysql - Self Contained RDBMS in a DBI Driver -version: 4.007 +summary: DBD-mysql - A MySQL driver for the Perl5 Database Interface (DBI) +version: 4.007 release: 1 -vendor: Matt Sergeant +vendor: Rudy Lippan packager: Arix International license: Artistic group: Applications/CPAN @@ -22,10 +23,74 @@ url: http://www.cpan.org buildroot: %{_tmppath}/%{name}-%{version}-%(id -u -n) buildarch: ppc prefix: %(echo %{_prefix}) -source: DBD-mysql-4.007.tar.gz +source: DBD-mysql-4.007.tar.gz %description -Perl DBD module for MySQL +DBD::mysql is the Perl5 Database Interface driver for the MySQL +database. In other words: DBD::mysql is an interface between the Perl +programming language and the MySQL programming API that comes with +the MySQL relational database management system. Most functions +provided by this programming API are supported. Some rarely used +functions are missing, mainly because noone ever requested +them. :-) + +In what follows we first discuss the use of DBD::mysql, +because this is what you will need the most. For installation, see the +sections on INSTALLATION, and "WIN32 INSTALLATION" +below. See EXAMPLE for a simple example above. + +From perl you activate the interface with the statement + + use DBI; + +After that you can connect to multiple MySQL database servers +and send multiple queries to any of them via a simple object oriented +interface. Two types of objects are available: database handles and +statement handles. Perl returns a database handle to the connect +method like so: + + $dbh = DBI->connect("DBI:mysql:database=$db;host=$host", + $user, $password, {RaiseError => 1}); + +Once you have connected to a database, you can can execute SQL +statements with: + + my $query = sprintf("INSERT INTO foo VALUES (%d, %s)", + $number, $dbh->quote("name")); + $dbh->do($query); + +See DBI(3) for details on the quote and do methods. An alternative +approach is + + $dbh->do("INSERT INTO foo VALUES (?, ?)", undef, + $number, $name); + +in which case the quote method is executed automatically. See also +the bind_param method in DBI(3). See "DATABASE HANDLES" below +for more details on database handles. + +If you want to retrieve results, you need to create a so-called +statement handle with: + + $sth = $dbh->prepare("SELECT * FROM $table"); + $sth->execute(); + +This statement handle can be used for multiple things. First of all +you can retreive a row of data: + + my $row = $sth->fetchrow_hashref(); + +If your table has columns ID and NAME, then $row will be hash ref with +keys ID and NAME. See "STATEMENT HANDLES" below for more details on +statement handles. + +But now for a more formal approach: + +# +# 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} @@ -53,13 +118,13 @@ cmd=/usr/share/spec-helper/compress_files [ -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 +# 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" \ @@ -68,13 +133,13 @@ find %{buildroot} -name "perllocal.pod" \ |xargs -i rm -f {} # no empty directories -#find %{buildroot}%{_prefix} \ -# -type d -depth \ -# -exec rmdir {} \; 2>/dev/null +# 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"; + print "%doc TODO eg INSTALL.html README"; for my $x (sort @dirs, @files) { push @ret, $x unless indirs($x); } @@ -114,5 +179,5 @@ find %{buildroot} -name "perllocal.pod" \ %defattr(-,root,root) %changelog -* Mon Jun 4 2007 root@c68m3hvp01 -- Initial build. +* Tue Jul 27 2010 root@c114m4h1p04.ppd.pok.ibm.com +- Initial build. \ No newline at end of file diff --git a/AIX/perl-DBD-mysql/DBD-mysql.spec.old b/AIX/perl-DBD-mysql/DBD-mysql.spec.old new file mode 100644 index 0000000..2ff1fc6 --- /dev/null +++ b/AIX/perl-DBD-mysql/DBD-mysql.spec.old @@ -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.