2
0
mirror of https://github.com/xcat2/xcat-dep.git synced 2024-11-21 17:11:45 +00:00

new build notes and new spec file

Former-commit-id: 411de981a24ff4c919ef8cc363395de4fd0beb12
This commit is contained in:
lissav 2010-07-27 15:18:33 +00:00
parent b30095c5fb
commit 83413fb011
3 changed files with 210 additions and 28 deletions

View File

@ -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

View File

@ -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 <matt@sergeant.org>
vendor: Rudy Lippan <rlippan@remotelinux.com>
packager: Arix International <cpan2rpm@arix.com>
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.

View File

@ -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 <matt@sergeant.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: 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.