You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
427 lines
15 KiB
427 lines
15 KiB
## |
|
## perl-dbi.spec -- OpenPKG RPM Package Specification |
|
## Copyright (c) 2000-2022 OpenPKG Project <http://openpkg.org/> |
|
## |
|
## 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_perl 5.22 |
|
%define V_dbi 1.641 |
|
%define V_sql_statement 1.412 |
|
%define V_sql_abstract 1.75 |
|
%define V_sql_routine 0.70.3 |
|
%define V_sql_builder 0.033 |
|
%define V_sql_interpolate 0.41 |
|
%define V_sql_translator 0.11007 |
|
%define V_dbd_mock 1.39 |
|
%define V_dbd_anydata 0.110 |
|
%define V_dbd_csv 0.22 |
|
%define V_dbd_sprite 6.11 |
|
%define V_dbd_sqlite 1.52 |
|
%define V_dbd_mysql 4.045 |
|
%define V_dbd_pgsql 3.7.4 |
|
%define V_dbd_oracle 1.26 |
|
%define V_dbd_sybase 1.14_1 |
|
%define V_dbd_odbc 1.58 |
|
%define V_dbd_pglite 0.11 |
|
%define V_dbd_cego 1.4.0 |
|
|
|
# package information |
|
Name: perl-dbi |
|
Summary: Perl Modules for use with DBI API |
|
URL: http://www.cpan.org/ |
|
Vendor: Perl Community |
|
Packager: OpenPKG Project |
|
Distribution: OpenPKG Community |
|
Class: BASE |
|
Group: Perl |
|
License: GPL/Artistic |
|
Version: %{V_perl} |
|
Release: 20180320 |
|
|
|
# package options |
|
%option with_sqlite yes |
|
%option with_mysql no |
|
%option with_pgsql no |
|
%option with_oracle no |
|
%option with_sybase no |
|
%option with_odbc no |
|
%option with_cego no |
|
|
|
# package backward compatibility |
|
%option with_dbd_sqlite no |
|
%option with_dbd_mysql no |
|
%option with_dbd_pgsql no |
|
%option with_dbd_oracle no |
|
%option with_dbd_sybase no |
|
%option with_dbd_odbc no |
|
%option with_dbd_cego no |
|
%if "%{with_dbd_sqlite}" == "yes" |
|
%undefine with_sqlite |
|
%define with_sqlite yes |
|
%endif |
|
%if "%{with_dbd_mysql}" == "yes" |
|
%undefine with_mysql |
|
%define with_mysql yes |
|
%endif |
|
%if "%{with_dbd_pgsql}" == "yes" |
|
%undefine with_pgsql |
|
%define with_pgsql yes |
|
%endif |
|
%if "%{with_dbd_oracle}" == "yes" |
|
%undefine with_oracle |
|
%define with_oracle yes |
|
%endif |
|
%if "%{with_dbd_sybase}" == "yes" |
|
%undefine with_sybase |
|
%define with_sybase yes |
|
%endif |
|
%if "%{with_dbd_odbc}" == "yes" |
|
%undefine with_odbc |
|
%define with_odbc yes |
|
%endif |
|
%if "%{with_dbd_cego}" == "yes" |
|
%undefine with_cego |
|
%define with_cego yes |
|
%endif |
|
|
|
# list of sources |
|
Source0: http://www.cpan.org/authors/id/T/TI/TIMB/DBI-%{V_dbi}.tar.gz |
|
Source1: http://www.cpan.org/authors/id/R/RE/REHSACK/SQL-Statement-%{V_sql_statement}.tar.gz |
|
Source2: http://www.cpan.org/authors/id/R/RI/RIBASUSHI/SQL-Abstract-%{V_sql_abstract}.tar.gz |
|
Source3: http://www.darrenduncan.net/d/perl/archives/SQL-Routine-v%{V_sql_routine}.tar.gz |
|
Source4: http://download.openpkg.org/components/orphaned/SQL-Builder-%{V_sql_builder}.tar.gz |
|
Source5: http://www.cpan.org/authors/id/M/MA/MARKSTOS/SQL-Interpolate-%{V_sql_interpolate}.tar.gz |
|
Source6: http://www.cpan.org/authors/id/J/JR/JROBINSON/SQL-Translator-%{V_sql_translator}.tar.gz |
|
Source7: http://www.cpan.org/authors/id/D/DR/DROLSKY/DBD-Mock-%{V_dbd_mock}.tar.gz |
|
Source8: http://www.cpan.org/authors/id/R/RE/REHSACK/DBD-AnyData-%{V_dbd_anydata}.tar.gz |
|
Source9: http://www.cpan.org/modules/by-module/DBD/DBD-CSV-%{V_dbd_csv}.tar.gz |
|
Source10: http://www.cpan.org/authors/id/T/TU/TURNERJW/DBD-Sprite-%{V_dbd_sprite}.tar.gz |
|
Source11: http://www.cpan.org/authors/id/I/IS/ISHIGAKI/DBD-SQLite-%{V_dbd_sqlite}.tar.gz |
|
Source12: http://www.cpan.org/authors/id/C/CA/CAPTTOFU/DBD-mysql-%{V_dbd_mysql}.tar.gz |
|
Source13: http://www.cpan.org/authors/id/T/TU/TURNSTEP/DBD-Pg-%{V_dbd_pgsql}.tar.gz |
|
Source14: http://www.cpan.org/authors/id/T/TI/TIMB/DBD-Oracle-%{V_dbd_oracle}.tar.gz |
|
Source15: http://www.cpan.org/authors/id/M/MJ/MJEVANS/DBD-ODBC-%{V_dbd_odbc}.tar.gz |
|
Source16: http://www.peppler.org/downloads/DBD-Sybase-%{V_dbd_sybase}.tar.gz |
|
Source17: http://www.cpan.org/authors/id/G/GR/GRUBER/DBD-PgLite-%{V_dbd_pglite}.tar.gz |
|
Source18: http://www.lemke-it.com/DBD-cego-%{V_dbd_cego}.tar.gz |
|
Patch0: perl-dbi.patch |
|
|
|
# build information |
|
BuildPreReq: OpenPKG, openpkg >= 20160101, perl >= %{V_perl}, perl-openpkg >= %{V_perl}-20040126, pkgconfig |
|
PreReq: OpenPKG, openpkg >= 20160101, perl >= %{V_perl} |
|
BuildPreReq: perl-module, perl-util, perl-net, perl-locale, perl-text, perl-parse, perl-crypto |
|
PreReq: perl-module, perl-util, perl-net, perl-locale, perl-text, perl-parse, perl-crypto |
|
%if "%{with_sqlite}" == "yes" |
|
BuildPreReq: sqlite, perl-locale >= %{V_perl}-20060921 |
|
PreReq: sqlite, perl-locale >= %{V_perl}-20060921 |
|
%endif |
|
%if "%{with_mysql}" == "yes" |
|
BuildPreReq: mysql |
|
PreReq: mysql |
|
%endif |
|
%if "%{with_pgsql}" == "yes" |
|
BuildPreReq: postgresql |
|
PreReq: postgresql |
|
%endif |
|
%if "%{with_oracle}" == "yes" |
|
BuildPreReq: oracle |
|
PreReq: oracle |
|
%endif |
|
%if "%{with_sybase}" == "yes" |
|
BuildPreReq: freetds, libiconv |
|
PreReq: freetds, libiconv |
|
%endif |
|
%if "%{with_odbc}" == "yes" |
|
BuildPreReq: ODBC |
|
PreReq: ODBC |
|
%endif |
|
%if "%{with_cego}" == "yes" |
|
BuildPreReq: cego |
|
PreReq: cego |
|
%endif |
|
|
|
%description |
|
Various modules for using the DBI API of Perl: |
|
- DBI (%{V_dbi}) |
|
- SQL::Statement (%{V_sql_statement}) |
|
- SQL::Abstract (%{V_sql_abstract}) |
|
- SQL::Routine (%{V_sql_routine}) |
|
- SQL::Builder (%{V_sql_builder}) |
|
- SQL::Interpolate (%{V_sql_interpolate}) |
|
- SQL::Translator (%{V_sql_translator}) |
|
- DBD::Mock (%{V_dbd_mock}) |
|
- DBD::AnyData (%{V_dbd_anydata}) |
|
- DBD::CSV (%{V_dbd_csv}) |
|
- DBD::Sprite (%{V_dbd_sprite}) |
|
- DBD::SQLite (%{V_dbd_sqlite}) [%{with_sqlite}] |
|
- DBD::PgLite (%{V_dbd_pglite}) [%{with_sqlite}] |
|
- DBD::mysql (%{V_dbd_mysql}) [%{with_mysql}] |
|
- DBD::Pg (%{V_dbd_pgsql}) [%{with_pgsql}] |
|
- DBD::Oracle (%{V_dbd_oracle}) [%{with_oracle}] |
|
- DBD::Sybase (%{V_dbd_sybase}) [%{with_sybase}] |
|
- DBD::ODBC (%{V_dbd_odbc}) [%{with_odbc}] |
|
- DBD::Cego (%{V_dbd_cego}) [%{with_cego}] |
|
|
|
%track |
|
prog perl-dbi:DBI = { |
|
version = %{V_dbi} |
|
url = http://www.cpan.org/authors/id/T/TI/TIMB/ |
|
regex = DBI-(\d+\.\d+)\.tar\.gz |
|
} |
|
prog perl-dbi:SQL-Statement = { |
|
version = %{V_sql_statement} |
|
url = http://www.cpan.org/authors/id/R/RE/REHSACK/ |
|
regex = SQL-Statement-(__VER__)\.tar\.gz |
|
} |
|
prog perl-dbi:SQL-Abstract = { |
|
version = %{V_sql_abstract} |
|
url = http://www.cpan.org/authors/id/R/RI/RIBASUSHI/ |
|
regex = SQL-Abstract-(__VER__)\.tar\.gz |
|
} |
|
prog perl-dbi:SQL-Routine = { |
|
version = %{V_sql_routine} |
|
url = http://www.darrenduncan.net/d/perl/archives/ |
|
regex = SQL-Routine-v(__VER__)\.tar\.gz |
|
} |
|
prog perl-dbi:SQL-Builder = { |
|
disabled |
|
comment = "rse: disappeared from CPAN" |
|
version = %{V_sql_builder} |
|
url = http://download.openpkg.org/components/orphaned/ |
|
regex = SQL-Builder-(__VER__)\.tar\.gz |
|
} |
|
prog perl-dbi:SQL-Interpolate = { |
|
version = %{V_sql_interpolate} |
|
url = http://www.cpan.org/authors/id/M/MA/MARKSTOS/ |
|
regex = SQL-Interpolate-(__VER__)\.tar\.gz |
|
} |
|
prog perl-dbi:SQL-Translator = { |
|
version = %{V_sql_translator} |
|
url = http://www.cpan.org/authors/id/J/JR/JROBINSON/ |
|
regex = SQL-Translator-(__VER__)\.tar\.gz |
|
} |
|
prog perl-dbi:DBD-Mock = { |
|
version = %{V_dbd_mock} |
|
url = http://www.cpan.org/authors/id/D/DR/DROLSKY/ |
|
regex = DBD-Mock-(__VER__)\.tar\.gz |
|
} |
|
prog perl-dbi:DBD-AnyData = { |
|
version = %{V_dbd_anydata} |
|
url = http://www.cpan.org/authors/id/R/RE/REHSACK/ |
|
regex = DBD-AnyData-(__VER__)\.tar\.gz |
|
} |
|
prog perl-dbi:DBD-CSV = { |
|
version = %{V_dbd_csv} |
|
url = http://www.cpan.org/modules/by-module/DBD/ |
|
regex = DBD-CSV-(\d+\.\d\d)\.tar\.gz |
|
} |
|
prog perl-dbi:DBD-mysql = { |
|
version = %{V_dbd_mysql} |
|
url = http://www.cpan.org/authors/id/C/CA/CAPTTOFU/ |
|
regex = DBD-mysql-(__VER__)\.tar\.gz |
|
} |
|
prog perl-dbi:DBD-ODBC = { |
|
version = %{V_dbd_odbc} |
|
url = http://www.cpan.org/authors/id/M/MJ/MJEVANS/ |
|
regex = DBD-ODBC-(__VER__)\.tar\.gz |
|
} |
|
prog perl-dbi:DBD-Oracle = { |
|
version = %{V_dbd_oracle} |
|
url = http://www.cpan.org/authors/id/T/TI/TIMB/ |
|
regex = DBD-Oracle-(__VER__)\.tar\.gz |
|
} |
|
prog perl-dbi:DBD-Pg = { |
|
version = %{V_dbd_pgsql} |
|
url = http://www.cpan.org/authors/id/T/TU/TURNSTEP/ |
|
regex = DBD-Pg-(__VER__)\.tar\.gz |
|
} |
|
prog perl-dbi:DBD-Sprite = { |
|
version = %{V_dbd_sprite} |
|
url = http://www.cpan.org/authors/id/T/TU/TURNERJW/ |
|
regex = DBD-Sprite-(__VER__)\.tar\.gz |
|
} |
|
prog perl-dbi:DBD-SQLite = { |
|
version = %{V_dbd_sqlite} |
|
url = http://www.cpan.org/authors/id/A/AD/ADAMK/ |
|
regex = DBD-SQLite-(__VER__)\.tar\.gz |
|
} |
|
prog perl-dbi:DBD-PgLite = { |
|
version = %{V_dbd_pglite} |
|
url = http://www.cpan.org/authors/id/G/GR/GRUBER/ |
|
regex = DBD-PgLite-(__VER__)\.tar\.gz |
|
} |
|
prog perl-dbi:DBD-Sybase = { |
|
version = %{V_dbd_sybase} |
|
url = http://www.peppler.org/downloads/ |
|
regex = DBD-Sybase-(__VER__)\.tar\.gz |
|
} |
|
prog perl-dbi:DBD-cego = { |
|
version = %{V_dbd_cego} |
|
url = http://www.lemke-it.com/litexec?request=pubcego&user=&lang=en |
|
regex = DBD-cego-(__VER__)\.tar\.gz |
|
} |
|
|
|
%prep |
|
%setup -q -c |
|
%setup -q -T -D -a 1 |
|
%setup -q -T -D -a 2 |
|
%setup -q -T -D -a 3 |
|
%setup -q -T -D -a 4 |
|
%setup -q -T -D -a 5 |
|
%setup -q -T -D -a 6 |
|
%setup -q -T -D -a 7 |
|
%setup -q -T -D -a 8 |
|
%setup -q -T -D -a 9 |
|
%setup -q -T -D -a 10 |
|
%setup -q -T -D -a 11 |
|
%setup -q -T -D -a 12 |
|
%setup -q -T -D -a 13 |
|
%setup -q -T -D -a 14 |
|
%setup -q -T -D -a 15 |
|
%setup -q -T -D -a 16 |
|
%setup -q -T -D -a 17 |
|
%setup -q -T -D -a 18 |
|
%patch -p0 |
|
chmod u+w SQL-Translator-*/* |
|
|
|
%build |
|
|
|
%install |
|
%{l_prefix}/bin/perl-openpkg prepare |
|
|
|
# build and install individual modules |
|
%{l_prefix}/bin/perl-openpkg -d %{SOURCE0} configure build install |
|
%{l_prefix}/bin/perl-openpkg -d %{SOURCE1} configure build install |
|
%{l_prefix}/bin/perl-openpkg -d %{SOURCE2} configure build install |
|
%{l_prefix}/bin/perl-openpkg -d %{SOURCE3} configure build install |
|
%{l_prefix}/bin/perl-openpkg -d %{SOURCE4} configure build install |
|
%{l_prefix}/bin/perl-openpkg -d %{SOURCE5} configure build install |
|
%{l_prefix}/bin/perl-openpkg -d %{SOURCE6} configure build install |
|
%{l_prefix}/bin/perl-openpkg -d %{SOURCE7} configure build install |
|
%{l_prefix}/bin/perl-openpkg -d %{SOURCE8} configure build install |
|
%{l_prefix}/bin/perl-openpkg -d %{SOURCE9} configure build install |
|
%{l_prefix}/bin/perl-openpkg -d %{SOURCE10} configure build install |
|
|
|
%if "%{with_sqlite}" == "yes" |
|
# build DBD::SQLite |
|
( cd DBD-SQLite-%{V_dbd_sqlite} |
|
# remove local SQLite sources (we use external one) |
|
# in order to not confuse ExtUtils::MakeMaker |
|
mv ppport.h dbdimp.[ch] SQLiteXS.h .. |
|
for file in `echo *.[ch] getsqlite.pl`; do |
|
sed -e "s;^ *$file *$;;" <MANIFEST >MANIFEST.NEW && mv MANIFEST.NEW MANIFEST |
|
rm -f $file |
|
done |
|
mv ../ppport.h ../dbdimp.[ch] ../SQLiteXS.h . |
|
# substitute paths in patched Makefile.PL |
|
%{l_shtool} subst %{l_value -s -a} Makefile.PL |
|
# perform regular build and install |
|
%{l_prefix}/bin/perl-openpkg configure -A SQLITE_LOCATION=%{l_prefix} build install |
|
) || exit $? |
|
|
|
# build DBD::PgLite |
|
%{l_prefix}/bin/perl-openpkg -d DBD-PgLite-%{V_dbd_pglite} configure build install |
|
%endif |
|
|
|
%if "%{with_mysql}" == "yes" |
|
# build DBD::mysql |
|
( cd DBD-mysql-%{V_dbd_mysql} |
|
# (determines MySQL header/lib paths via mysql_config in $PATH) |
|
%{l_prefix}/bin/perl-openpkg configure build install |
|
) || exit $? |
|
%endif |
|
|
|
%if "%{with_pgsql}" == "yes" |
|
# build DBD::Pg |
|
( cd DBD-Pg-%{V_dbd_pgsql} |
|
%{l_shtool} subst \ |
|
-e 's;POSTGRES_LIB -lpq;POSTGRES_LIB -lpq -lssl -lcrypto -lcrypt;' \ |
|
Makefile.PL |
|
POSTGRES_HOME=%{l_prefix} |
|
POSTGRES_INCLUDE=%{l_prefix}/include/postgresql |
|
POSTGRES_LIB=%{l_prefix}/lib |
|
export POSTGRES_HOME POSTGRES_INCLUDE POSTGRES_LIB |
|
%{l_prefix}/bin/perl-openpkg configure build install |
|
) || exit $? |
|
%endif |
|
|
|
%if "%{with_oracle}" == "yes" |
|
# build DBD::oracle |
|
( cd DBD-Oracle-%{V_dbd_oracle} |
|
ORACLE_HOME="`%{l_rc} --query oracle_home`" |
|
export ORACLE_HOME |
|
case "%{l_platform -t}" in |
|
i?86-linux* ) |
|
;; |
|
sun*-sunos* | ix86-sunos* ) |
|
# OpenPKG builds with gcc in 32-bit mode by default |
|
%{l_shtool} subst \ |
|
-e 's;demo_rdbms\.mk;demo_rdbms32.mk;g' \ |
|
Makefile.PL |
|
;; |
|
* ) |
|
echo "Platform \"%{l_platform -t}\" not supported" 1>&2 |
|
exit 1 |
|
;; |
|
esac |
|
%{l_prefix}/bin/perl-openpkg configure build install |
|
) || exit $? |
|
%endif |
|
|
|
%if "%{with_sybase}" == "yes" |
|
# build DBD::Sybase |
|
( cd DBD-Sybase-%{V_dbd_sybase} |
|
SYBASE="%{l_prefix}" |
|
export SYBASE |
|
%{l_shtool} subst \ |
|
-e 's;\([^s(]/lib\);\1/freetds;g' \ |
|
-e 's;-lct;%{l_ldflags} -lct -liconv;g' \ |
|
Makefile.PL |
|
%{l_prefix}/bin/perl-openpkg configure build install |
|
) || exit $? |
|
%endif |
|
|
|
%if "%{with_odbc}" == "yes" |
|
# build DBD::odbc |
|
( cd DBD-ODBC-%{V_dbd_odbc} |
|
ODBCHOME="%{l_prefix}" |
|
DBROOT= |
|
export ODBCHOME DBROOT |
|
%{l_prefix}/bin/perl-openpkg configure build install |
|
) || exit $? |
|
%endif |
|
|
|
%if "%{with_cego}" == "yes" |
|
# build DBD::Cego |
|
( cd DBD-cego |
|
rm -f ._* >/dev/null 2>&1 || true |
|
%{l_prefix}/bin/perl-openpkg --args=--prefix=%{l_prefix} configure build install |
|
) || exit $? |
|
%endif |
|
|
|
# determine installation files |
|
%{l_prefix}/bin/perl-openpkg -F perl-openpkg-files fixate cleanup |
|
%{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT %{l_files_std} `cat perl-openpkg-files` |
|
|
|
%files -f files |
|
|
|
%clean |
|
|
|
|