2
0
mirror of https://github.com/xcat2/xcat-dep.git synced 2024-11-21 17:11:45 +00:00
xcat-dep/AIX/perl-DBD-mysql/DBD-mysql.spec
lissav 83413fb011 new build notes and new spec file
Former-commit-id: 411de981a24ff4c919ef8cc363395de4fd0beb12
2010-07-27 15:18:33 +00:00

183 lines
5.6 KiB
RPMSpec

#
# - 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}
%define maketest 1
name: perl-DBD-mysql
summary: DBD-mysql - A MySQL driver for the Perl5 Database Interface (DBI)
version: 4.007
release: 1
vendor: Rudy Lippan <rlippan@remotelinux.com>
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
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}
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 TODO eg INSTALL.html 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
* Tue Jul 27 2010 root@c114m4h1p04.ppd.pok.ibm.com
- Initial build.