Accepting request 198645 from devel:libraries:c_c++

Needed to fix unresolvable on the gammu

OBS-URL: https://build.opensuse.org/request/show/198645
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/libdbi-drivers?expand=0&rev=12
This commit is contained in:
Tomáš Chvátal 2013-09-12 16:19:26 +00:00 committed by Git OBS Bridge
parent 80c8794020
commit 47929d486d
7 changed files with 152 additions and 87 deletions

32
badcode.diff Normal file
View File

@ -0,0 +1,32 @@
From: Jan Engelhardt <jengelh@inai.de>
Date: 2013-09-07 22:51:05.518210575 +0200
build: resolve rpmlint aborting due to bad code
gcc:
src/constraint.c:167:32: warning: initialization makes pointer from integer without a cast [enabled by default]
src/constraint.c:168:5: warning: passing argument 1 of 'matches' makes pointer from integer without a cast [enabled by default]
src/constraint.c:168:5: note: expected 'const void *' but argument is of type 'intptr_t'
rpmlint:
E: libdbi-drivers 64bit-portability-issue src/constraint.c:167, 168
---
tests/cgreen/src/constraint.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
Index: libdbi-drivers-0.9.0/tests/cgreen/src/constraint.c
===================================================================
--- libdbi-drivers-0.9.0.orig/tests/cgreen/src/constraint.c
+++ libdbi-drivers-0.9.0/tests/cgreen/src/constraint.c
@@ -164,8 +164,8 @@ static void test_want_double(Constraint
}
static int compare_using_matcher(Constraint *constraint, intptr_t actual) {
- int (*matches)(const void*) = constraint->expected;
- return matches(actual);
+ int (*matches)(const void*) = (void *)(intptr_t)constraint->expected;
+ return matches((void *)actual);
}
static void test_with_matcher(Constraint *constraint, const char *function, const char* matcher_name, intptr_t matcher_function, const char *test_file, int test_line, TestReporter *reporter) {

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:e4bf319ffcfd87b1dfb14469eade057c419ecec1e827a2d6f5c15dddc034ec75
size 1332620

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:43d2eacd573a4faff296fa925dd97fbf2aedbf1ae35c6263478210c61004c854
size 1829864

View File

@ -1,3 +1,26 @@
-------------------------------------------------------------------
Wed Sep 11 13:07:00 UTC 2013 - jengelh@inai.de
- Added libdl.diff (successfully link testsuite) and run testsuite
as far as possible
-------------------------------------------------------------------
Wed Sep 11 09:18:56 UTC 2013 - tchvatal@suse.com
- Remove tests code to have this not fail on rpm checks.
- Do not put __DATE__ into resulting binaries to avoid needless
rebuilds.
-------------------------------------------------------------------
Sun Sep 8 13:11:41 UTC 2013 - jengelh@inai.de
- Update to new upstream release 0.9.0
* the pgsql driver now supports features specific to PostgreSQL 9
and later
* drivers now support transactions and savepoints if the underlying
database engines do
- Added badcode.diff, sqlite3.diff to resolve build failures
------------------------------------------------------------------- -------------------------------------------------------------------
Thu Sep 27 09:38:04 UTC 2012 - idonmez@suse.com Thu Sep 27 09:38:04 UTC 2012 - idonmez@suse.com

View File

@ -1,7 +1,7 @@
# #
# spec file for package libdbi-drivers # spec file for package libdbi-drivers
# #
# Copyright (c) 2012 SUSE LINUX Products GmbH, Nuernberg, Germany. # Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany.
# #
# All modifications and additions to the file contributed by third parties # All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed # remain the property of their copyright owners, unless otherwise agreed
@ -16,76 +16,62 @@
# #
%define special -1
%define libdbi_ver 0.8.4
%define libdbi_sover 1 %define libdbi_sover 1
Name: libdbi-drivers
Version: 0.9.0
Release: 0
Summary: Database drivers for libdbi Summary: Database drivers for libdbi
License: LGPL-2.1+ License: LGPL-2.1+
Group: Development/Libraries Group: System/Libraries
Url: http://libdbi-drivers.sf.net/
Name: libdbi-drivers Source: http://downloads.sf.net/libdbi-drivers/%name-%version.tar.gz
Version: 0.8.3 Patch1: sqlite3.diff
Release: 0 Patch2: badcode.diff
Url: http://libdbi-drivers.sourceforge.net/ Patch3: libdl.diff
Source: %{name}-%{version}%{special}.tar.bz2
BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: autoconf
BuildRequires: automake
BuildRequires: gettext BuildRequires: gettext
BuildRequires: libdbi-devel BuildRequires: libdbi-devel
BuildRequires: libtool
BuildRequires: mysql-devel BuildRequires: mysql-devel
BuildRequires: openjade BuildRequires: openjade
BuildRequires: postgresql-devel BuildRequires: postgresql-devel
BuildRequires: sqlite-devel BuildRequires: sqlite3-devel
%description %description
libdbi implements a database-independent abstraction layer in C, similar to the libdbi implements a database-independent abstraction layer in C,
DBI/DBD layer in Perl. Drivers are distributed separately from the library similar to the DBI/DBD layer in Perl. Drivers are distributed
itself. separately from the library itself.
%package dbd-mysql %package dbd-mysql
Summary: MySQL driver for libdbi Summary: MySQL driver for libdbi
Group: Development/Libraries Group: System/Libraries
Requires: libdbi%{libdbi_sover} = %{libdbi_ver} Requires: libdbi%{libdbi_sover} = %version
%description dbd-mysql %description dbd-mysql
This driver provides connectivity to MySQL database servers through the This driver provides connectivity to MySQL database servers through
libdbi database independent abstraction layer. Switching a program's driver the libdbi database independent abstraction layer. Switching a
does not require recompilation or rewriting source code. program's driver does not require recompilation or rewriting source
code.
%package dbd-pgsql %package dbd-pgsql
Summary: PostgreSQL driver for libdbi Summary: PostgreSQL driver for libdbi
Group: Development/Libraries Group: System/Libraries
Requires: libdbi%{libdbi_sover} = %{libdbi_ver} Requires: libdbi%{libdbi_sover} = %version
Requires: postgresql >= 7.0.3 Requires: postgresql >= 7.0.3
%description dbd-pgsql %description dbd-pgsql
This driver provides connectivity to PostgreSQL database servers through the This driver provides connectivity to PostgreSQL database servers
libdbi database independent abstraction layer. Switching a program's driver through the libdbi database independent abstraction layer. Switching
does not require recompilation or rewriting source code. a program's driver does not require recompilation or rewriting source
code.
%if 0%{?suse_version} == 910
# SLES 9
%package dbd-sqlite
Summary: SQLite driver for libdbi
Group: Development/Libraries
Requires: libdbi%{libdbi_sover} = %{libdbi_ver}
Requires: sqlite
%description dbd-sqlite
This driver provides connectivity to SQLite database servers through the
libdbi database independent abstraction layer. Switching a program's driver
does not require recompilation or rewriting source code.
%else
%package dbd-sqlite3 %package dbd-sqlite3
Summary: SQLite3 driver for libdbi Summary: SQLite3 driver for libdbi
Group: Development/Libraries Group: System/Libraries
Requires: libdbi%{libdbi_sover} = %{libdbi_ver} Requires: libdbi%{libdbi_sover} = %version
Requires: sqlite Requires: sqlite
%description dbd-sqlite3 %description dbd-sqlite3
@ -93,73 +79,46 @@ This driver provides connectivity to SQLite database servers through the
libdbi database independent abstraction layer. Switching a program's driver libdbi database independent abstraction layer. Switching a program's driver
does not require recompilation or rewriting source code. does not require recompilation or rewriting source code.
%endif
%prep %prep
%setup -q -n %{name}-%{version}%{special} %setup -q
%patch -P 1 -P 2 -P 3 -p1
# Fake the __DATE__ so we do not needelessly rebuild
FAKE_BUILDDATE=$(LC_ALL=C date -u -r %{_sourcedir}/%{name}.changes '+%%b %%e %%Y')
sed -i "s/__DATE__/\"$FAKE_BUILDDATE\"/" drivers/*/*.c
%build %build
autoreconf -fi
%configure \ %configure \
--with-mysql \ --with-mysql \
--with-mysql-incdir=%_includedir/mysql \
--with-mysql-libdir=%{_libdir}/mysql \
--with-pgsql \ --with-pgsql \
--with-pgsql-incdir=%_includedir/pgsql \
--with-pgsql-libdir=%{_libdir} \
%if 0%{?suse_version} == 910
--with-sqlite \
--with-sqlite-incdir=%_includedir \
--with-sqlite-libdir=%{_libdir} \
%else
--with-sqlite3 \ --with-sqlite3 \
--with-sqlite3-incdir=%_includedir \
--with-sqlite3-libdir=%{_libdir} \
%endif
--with-dbi-incdir=%_includedir/dbi \ --with-dbi-incdir=%_includedir/dbi \
--with-dbi-libdir=%{_libdir} \ --with-dbi-libdir=%{_libdir} \
--disable-static \ --disable-static \
--disable-docs --disable-docs
# Broken upstream code overrides CFLAGS !:-[. Since AM_CFLAGS is unused in make %{?_smp_mflags}
# the source, we can hack there to get our flags in...
make %{?_smp_mflags} AM_CFLAGS="%optflags"
%install %install
make DESTDIR=$RPM_BUILD_ROOT install make DESTDIR=$RPM_BUILD_ROOT install
find "%buildroot" -type f -name "*.la" -delete
%check
make check || :
%files dbd-mysql %files dbd-mysql
%defattr(-,root,root) %defattr(-,root,root)
%dir %{_libdir}/dbd %dir %{_libdir}/dbd
%{_libdir}/dbd/libdbdmysql.so %{_libdir}/dbd/libdbdmysql.so
%{_libdir}/dbd/libdbdmysql.la
%files dbd-pgsql %files dbd-pgsql
%defattr(-,root,root) %defattr(-,root,root)
%dir %{_libdir}/dbd %dir %{_libdir}/dbd
%{_libdir}/dbd/libdbdpgsql.so %{_libdir}/dbd/libdbdpgsql.so
%{_libdir}/dbd/libdbdpgsql.la
%if 0%{?suse_version} == 910
%defattr(-,root,root)
# SLES 9
%files dbd-sqlite
%defattr(-,root,root)
%dir %{_libdir}/dbd
%{_libdir}/dbd/libdbdsqlite.so
%{_libdir}/dbd/libdbdsqlite.la
%else
%files dbd-sqlite3 %files dbd-sqlite3
%defattr(-,root,root) %defattr(-,root,root)
%dir %{_libdir}/dbd %dir %{_libdir}/dbd
%{_libdir}/dbd/libdbdsqlite3.so %{_libdir}/dbd/libdbdsqlite3.so
%{_libdir}/dbd/libdbdsqlite3.la
%endif
%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig
%changelog %changelog

26
libdl.diff Normal file
View File

@ -0,0 +1,26 @@
From: Jan Engelhardt <jengelh@inai.de>
Date: 2013-09-11 14:33:49.545836772 +0200
build: add missing libraries to link line
test_dbi_dlopen.o: In function `main':
test_dbi_dlopen.c:41: undefined reference to `dlopen'
test_dbi_dlopen.c:45: undefined reference to `dlopen'
test_dbi_dlopen.c:61: undefined reference to `dlsym'
test_dbi_dlopen.c:63: undefined reference to `dlerror'
---
tests/Makefile.am | 1 +
1 file changed, 1 insertion(+)
Index: libdbi-drivers-0.9.0/tests/Makefile.am
===================================================================
--- libdbi-drivers-0.9.0.orig/tests/Makefile.am
+++ libdbi-drivers-0.9.0/tests/Makefile.am
@@ -11,6 +11,7 @@ test_dbi_SOURCES = test_dbi.c
test_dbi_LDADD = $(top_srcdir)/tests/cgreen/libcgreen.a -L@libdir@ -lm -ldbi @LIBADD_LIBDBI@
test_dbi_dlopen_SOURCES = test_dbi_dlopen.c
test_dbi_dlopen_LDFLAGS = @LIBADD_LIBDBI@
+test_dbi_dlopen_LDADD = -ldl
libtest_dbi_plugin_la_SOURCES = test_dbi_plugin.c
libtest_dbi_plugin_la_LIBADD = @LIBADD_LIBDBI@
libtest_dbi_plugin_la_LDFLAGS = -module -rpath /nowhere

25
sqlite3.diff Normal file
View File

@ -0,0 +1,25 @@
From: Jan Engelhardt <jengelh@inai.de>
Date: 2013-09-04 12:52:32.851115468 +0200
build: resolve link failure in sqlite3 module
The sqlite3 backend fails to link because the wrong library name is
used. (Ideally, libdbi-drivers should use PKG_CHECK_MODULES instead.)
---
acinclude.m4 | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
Index: libdbi-drivers-0.9.0/acinclude.m4
===================================================================
--- libdbi-drivers-0.9.0.orig/acinclude.m4
+++ libdbi-drivers-0.9.0/acinclude.m4
@@ -310,7 +310,7 @@ if test "$ac_sqlite3" = "yes"; then
AC_SEARCH_LIBS_VAR([sqlite3_exec], sqlite3, , , , SQLITE3_LIBS)
SQLITE3_LDFLAGS=""
else
- SQLITE3_LIBS=-lsqlite
+ SQLITE3_LIBS=-lsqlite3
SQLITE3_LDFLAGS=-L$ac_sqlite3_libdir
fi