diff --git a/perl-db/perl-db.spec b/perl-db/perl-db.spec new file mode 100644 index 0000000000..713bb72707 --- /dev/null +++ b/perl-db/perl-db.spec @@ -0,0 +1,154 @@ +## +## perl-db.spec -- OpenPKG RPM Specification +## Copyright (c) 2000-2001 Cable & Wireless Deutschland GmbH +## Copyright (c) 2000-2001 The OpenPKG Project +## Copyright (c) 2000-2001 Ralf S. Engelschall +## +## Permission to use, copy, modify, and distribute this software for +## any purpose with or without fee is hereby granted, provided that +## the above copyright notice and this permission notice appear in all +## copies. +## +## THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED +## WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +## MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +## IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR +## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +## SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +## LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF +## USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +## ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +## OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT +## OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +## SUCH DAMAGE. +## + +# versions of individual parts +%define V_berkeleydb 0.17 +%define V_db_file 1.801 +%define V_db_file_lock 0.04 + +# package information +Name: perl-db +Summary: Perl Modules for use with Berkeley-DB +URL: http://www.cpan.org/ +Vendor: Perl Community +Packager: The OpenPKG Project +Distribution: OpenPKG [EXP] +Group: Language +License: GPL/Artistic +Version: 20011227 +Release: 20011227 + +# list of sources +Source0: http://www.cpan.org/modules/by-module/BerkeleyDB/BerkeleyDB-%{V_berkeleydb}.tar.gz +Source1: http://www.cpan.org/modules/by-module/DB_File/DB_File-%{V_db_file}.tar.gz +Source2: http://www.cpan.org/modules/by-module/DB_File/DB_File-Lock-%{V_db_file_lock}.tar.gz + +# build information +Prefix: %{l_prefix} +BuildRoot: %{l_buildroot} +BuildPreReq: OpenPKG, openpkg >= 20011227, perl, db, gcc +PreReq: OpenPKG, openpkg >= 20011227, perl, db +AutoReq: no +AutoReqProv: no + +%description + Various modules for using the GD library from within the Perl + language plus additional functionality for drawing various types of + charts and graphs. + +%prep + %setup0 -q -c -n %{name}-%{version} + %setup1 -q -T -D -a 1 + %setup2 -q -T -D -a 2 + +%build + +%install + rm -rf $RPM_BUILD_ROOT + %{l_shtool} mkdir -f -p -m 755 \ + $RPM_BUILD_ROOT%{l_prefix}/lib/perl5 \ + $RPM_BUILD_ROOT%{l_prefix}/man/man3 + + # create a wrapper script which finds the includes + eval `$perl -V:archname` + perl=$RPM_BUILD_ROOT/perl + echo "#!/bin/sh" >$perl + echo "exec %{l_prefix}/bin/perl \\" >>$perl + echo " -I$RPM_BUILD_ROOT%{l_prefix}/lib/perl5/%{version} \\" >>$perl + echo " -I$RPM_BUILD_ROOT%{l_prefix}/lib/perl5/%{version}/${archname} \\" >>$perl + echo " -I$RPM_BUILD_ROOT%{l_prefix}/lib/perl5/site_perl \\" >>$perl + echo " -I$RPM_BUILD_ROOT%{l_prefix}/lib/perl5/site_perl/%{version} \\" >>$perl + echo " -I$RPM_BUILD_ROOT%{l_prefix}/lib/perl5/site_perl/%{version}/${archname} \\" >>$perl + echo " \"\$@\"" >>$perl + chmod a+x $perl + + # determine general tools and arguments + perlargs="PREFIX=$RPM_BUILD_ROOT%{l_prefix} PERL=$perl FULLPERL=$perl" + make="%{l_make} %{l_mflags}" + makeargs="PERL=$perl FULLPERL=$perl" + + # make sure our Perl is used + %{l_rpmtool} subst \ + "s:\$^X:'$perl':g" \ + -- `find . -name Makefile.PL -print` + + # build BerkeleyDB + ( cd BerkeleyDB-%{V_berkeleydb} + ( echo "INCLUDE = %{l_prefix}/include" + echo "LIB = %{l_prefix}/lib" + ) >config.in + $perl Makefile.PL $perlargs + $make $makeargs all + $make $makeargs install + %{l_prefix}/bin/pod2man BerkeleyDB.pod \ + >$RPM_BUILD_ROOT%{l_prefix}/man/man3/BerkeleyDB.3 + ) + + # build DB_File + ( cd DB_File-%{V_db_file} + ( echo "PREFIX = size_t" + echo "HASH = u_int32_t" + echo "INCLUDE = %{l_prefix}/include" + echo "LIB = %{l_prefix}/lib" + ) >config.in + $perl Makefile.PL $perlargs + $make $makeargs all + $make $makeargs install + %{l_prefix}/bin/pod2man DB_File.pod \ + >$RPM_BUILD_ROOT%{l_prefix}/man/man3/DB_File.3 + ) + + # build DB_File::Lock + ( cd DB_File-Lock-%{V_db_file_lock} + $perl Makefile.PL $perlargs + $make $makeargs all + $make $makeargs install + ) + + # strip down installation tree + find $RPM_BUILD_ROOT%{l_prefix} -name perllocal.pod -print | xargs rm -f + find $RPM_BUILD_ROOT%{l_prefix} -name .packlist -print | xargs rm -f + find $RPM_BUILD_ROOT%{l_prefix} -type d -depth -print | (xargs rmdir >/dev/null 2>&1 || true) + + # determine installed files + eval `$perl -V:installarchlib -V:installprivlib -V:installsitearch -V:installsitelib` + %{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT \ + %{l_files_std} \ + '%not %dir %{l_prefix}/lib/perl5' \ + '%not %dir %{l_prefix}/lib/perl5/*' \ + "%not %dir $installarchlib" \ + "%not %dir $installprivlib" \ + "%not %dir $installsitearch" \ + "%not %dir $installsitelib" \ + "%not %dir $installarchlib/auto" \ + "%not %dir $installprivlib/auto" \ + "%not %dir $installsitearch/auto" \ + "%not %dir $installsitelib/auto" + +%files -f files + +%clean + rm -rf $RPM_BUILD_ROOT +