Hi,
to use DBIx-Recordset 0.25a with DBD-Oracle 1.15 I must done some fixes (patch attached):
1. see http://www.mail-archive.com/[EMAIL PROTECTED]/msg21302.html
2. to make test.pl compatible with perl >= 5.6 (two necessary changes was done from 0.24 to 0.25a, but not all)
3. for one changed test the expected result was only adapted for databases for which $EmptyIsNull is not true
4. the cleanup after the test does not work, because $dbh can't be used any more at this point, because the db-handle will be disconnected some line above:
$db = undef ;
by DBIx::Database::DESTROY()
5. some cosmetics, e.g. deprecated $#tabs < 0
I hope that all, except the cosmetics, will be integrated in the next release.
IMO it would be good idea if DBI would be offer an additional method like user_tables() or schema_tables() which uses in DBD-Oracle the SQL code which I put to DBIx::Compat where it strictly speaking does not belong.
regards, Silvio
# Time-stamp: <01/04/03 17:11:52 DBIx-Recordset.spec [EMAIL PROTECTED]> # rpm -bb -v --target noarch specfile # -----------------------------------------------------------------------------
%global module DBIx-Recordset
%global srcdir %{module}-%{version}
%global tarname %{module}-%{version}.tgz
# some distribution spec. docs located in %{_buildroot}/%{name}-%{version}
%global rel_docs README* Change* TODO Intrors.txt eg
%global perlver v6s1
%global oracle_home %(/opt/dev-tools/lbin/getOracleHome)
%global tns_admin /home/ddts4/local
%global two_task dbprod8
%global conf_arg </dev/null
%global conf_env $nothing
%global make_arg test TESTARGS='Oracle dbi:Oracle:%{two_task} guest guest'
%global make_env ORACLE_HOME=%{oracle_home} TNS_ADMIN=%{tns_admin}
Version: 0.25a
Requires: perl5 >= 5.6.0, perl-DBI
# RPM < v3.04 does not support BuildArch, i.e. --target noarch is req. on
# command line.
#BuildArch: noarch
# For *most* CPAN modules no further changes are required.
# -----------------------------------------------------------------------------
Prefix: /opt/perl5
%global ccroot /cc/common/3pp/perl
%global whoami %(whoami)
%global defview smc3def
%ifos linux
%global platform linux
%global perl /usr/bin/perl
%else
%global platform %(/opt/dev-tools/lbin/get_platform)
%global perl %{expand:%{prefix}/%{perlver}/bin/%{platform}/perl}
%endif
%global cleartool /usr/atria/bin/cleartool
%global viewtag %(v=`%{cleartool} pwv -short|grep -v '*'`;v=${v:-%{defview}};echo
"Use view: $v">&2;%{cleartool} startview $v && echo $v)
%global viewroot %{expand:/view/%{viewtag}}
# override built-in paths
%define _topdir %{viewroot}%{ccroot}/src
%define _builddir /var/tmp
%define _buildshell /usr/bin/ksh
%ifnos linux
%define _docdir %{prefix}/doc
%endif
Summary: See %{_docdir}/%{module}-%{version}/*
Name: perl-%{module}
Release: %(eval $(%{perl} -V:subversion -V:patchlevel); echo $patchlevel$subversion)
License: Perl Artistic License
Group: Development/Languages/Perl
Source0: %{tarname}
Patch0: %{module}.conf.patch
Patch1: %{module}.make.patch
Url: http://www.cpan.org
BuildRoot: /var/tmp/%{name}-%{version}-buildroot
Vendor: See %{_docdir}/%{module}-%{version}/*
Packager: %{whoami}
%description
See %{_docdir}/%{module}-%{version}/*
%prep
if [[ %{_target_cpu} != noarch ]]
then
>&2 echo Please specify target noarch "(rpm -bO --target[=]noarch ...)"
exit 1
fi
%setup -q -n %{srcdir}
set -f
for env in %{conf_env}
do
case "$env" in
?*\?*)
eval ": \${$env}"
;;
?*=*)
eval "export $env"
;;
esac
done
set +f
if [[ -r %{P:0} ]]
then
patch -p0 < %{P:0}
fi
%{perl} Makefile.PL %{conf_arg}
if [[ -r %{P:1} ]]
then
patch -p0 < %{P:1}
fi
%build
set -f
for env in %{make_env}
do
case "$env" in
?*\?*)
eval ": \${$env}"
;;
?*=*)
eval "export $env"
;;
esac
done
set +f
${MAKE:-make} %{make_arg}
%install
rm -rf %{buildroot}
set -A p5_install_dirs -- -V:prefix \
-V:installscript \
-V:installman1dir \
-V:installman3dir \
-V:installsitelib \
-V:installarchlib \
-V:installsitearch
eval $(%{perl} "[EMAIL PROTECTED]")
siteprefix=$(echo $installsitelib | sed 's:/lib/.*$::')
installman1dir=$siteprefix/${installman1dir#$prefix/}
installman3dir=$siteprefix/${installman3dir#$prefix/}
if [[ -d blib/script ]]
then
%{perl} %{_sourcedir}/fix_scripts.pl bin blib/script
installscript=$siteprefix/bin
fi
mkdir -p %{buildroot}$installarchlib
touch %{buildroot}$installarchlib/perllocal.pod
${MAKE:-make} PREFIX=%{buildroot}$prefix \
INSTALLSCRIPT=%{buildroot}$installscript \
INSTALLSITELIB=%{buildroot}$installsitelib \
INSTALLMAN1DIR=%{buildroot}$installman1dir \
INSTALLMAN3DIR=%{buildroot}$installman3dir \
INSTALLSITEARCH=%{buildroot}$installsitearch \
install
pod2text Intrors.pod > Intrors.txt
set -A docs %{rel_docs}
if [[ ${#docs[*]} -gt 0 ]]
then
docdir=%{buildroot}%{_docdir}/%{module}-%{version}
rm -rf $docdir
mkdir -p $docdir
cp -pr "[EMAIL PROTECTED]" $docdir
%{perl} %{_sourcedir}/fix_scripts.pl doc $docdir
fi
find %{buildroot} -type f -print | \
%{perl} -e 'open(ARCH_L, ">packlist.arch") || die $!;
open(MAIN_L, ">packlist") || die $!;
while (<>) {
if (m@/(perllocal\.pod|\.packlist)$@)
{
chomp; unlink; next;
}
next
unless [EMAIL PROTECTED]@@;
next
if [EMAIL PROTECTED]@;
if (m@/\Q%{platform}\E/@) {
print ARCH_L $_;
}
else {
print MAIN_L $_;
}
}'
if [[ -s packlist.arch ]]
then
>&2 echo 'This module contains architecture dependend files !'
>&2 echo 'Please use the other template !'
exit 9
fi
if [[ ${#docs[*]} -gt 0 ]]
then
echo %{_docdir}/%{module}-%{version} >> packlist
fi
%clean
rm -rf %{buildroot}
%files -f packlist
%defattr(-,bin,bin)
%changelog
* %(date '+%a %b %d %Y') %{whoami}
- built version %{version} for target 'noarch'
* Mon Apr 02 2001 Werner Bosse <[EMAIL PROTECTED]>
- initial spec file
