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

Reply via email to