Hello community,
here is the log from the commit of package i4l-base for openSUSE:Factory
checked in at Mon Mar 2 15:49:02 CET 2009.
--------
--- i4l-base/i4l-base.changes 2008-12-10 14:07:09.000000000 +0100
+++ /mounts/work_src_done/STABLE/i4l-base/i4l-base.changes 2009-03-02 14:45:31.965269000 +0100
@@ -1,0 +2,6 @@
+Mon Mar 2 13:06:52 CET 2009 - kkeil@suse.de
+
+- fix some issue with the CAPI 2.0 libraries (bnc#475808)
+- fix load script for Fritz!Card PnP/PCI v2.0 (bnc#465219)
+
+-------------------------------------------------------------------
calling whatdependson for head-i586
New:
----
capi20_fixes.diff
i4l_suse.diff
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ i4l-base.spec ++++++
--- /var/tmp/diff_new_pack.m27030/_old 2009-03-02 15:46:44.000000000 +0100
+++ /var/tmp/diff_new_pack.m27030/_new 2009-03-02 15:46:44.000000000 +0100
@@ -1,7 +1,7 @@
#
-# spec file for package i4l-base (Version 2008.12.10)
+# spec file for package i4l-base (Version 2009.3.2)
#
-# Copyright (c) 2008 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2009 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -26,7 +26,7 @@
Provides: i4l
AutoReqProv: on
Obsoletes: i4l
-Version: 2008.12.10
+Version: 2009.3.2
Release: 1
Summary: ISDN for Linux Basic Utilities
Source: isdn4k-utils.v3.13.tar.bz2
@@ -36,6 +36,8 @@
Source4: 45-isdn.rules
Source5: isdn.sh
Patch: isdn4k-utils.dif
+Patch1: capi20_fixes.diff
+Patch11: i4l_suse.diff
Patch31: divactrl_2.1-gcc.diff
Patch32: divactrl_2.1-fix.diff
#Patch10: i4l_suse-auto.diff
@@ -77,7 +79,7 @@
%package -n ppp-userpass
License: GPL v2 or later; LGPL v2.1 or later
-Version: 2008.12.10
+Version: 2009.3.2
Release: 1
Summary: Password plugin for pppd
Group: Productivity/Networking/PPP
@@ -98,7 +100,7 @@
%package -n capi4linux
License: GPL v2 or later; LGPL v2.1 or later
-Version: 2008.12.10
+Version: 2009.3.2
Release: 1
Summary: CAPI 2.0 library and associated tools
Group: Hardware/ISDN
@@ -128,11 +130,12 @@
Armin Schindler
Werner Cornelius
Karsten Keil
+ Jan-Michael Brummer
and more
%package -n capi4linux-devel
License: GPL v2 or later; LGPL v2.1 or later
-Version: 2008.12.10
+Version: 2009.3.2
Release: 1
Summary: CAPI 2.0 library files for development
Group: Hardware/ISDN
@@ -157,11 +160,12 @@
Armin Schindler
Werner Cornelius
Karsten Keil
+ Jan-Michael Brummer
and more
%package -n i4lfirm
License: GPL v2 or later; freely distributable, no modification
-Version: 2008.12.10
+Version: 2009.3.2
Release: 1
Summary: ISDN firmware for active ISDN cards
Group: Hardware/ISDN
@@ -189,7 +193,7 @@
%package -n i4l-vbox
License: GPL v2 or later
-Version: 2008.12.10
+Version: 2009.3.2
Release: 1
Obsoletes: vbox
Provides: vbox vbox2b4
@@ -218,7 +222,7 @@
%package -n ant-phone
License: GPL v2 or later
-Version: 2008.12.10
+Version: 2009.3.2
Release: 1
Summary: A telephone application
Group: Hardware/ISDN
@@ -240,7 +244,7 @@
%package -n i4l-isdnlog
License: GPL v2 or later
-Version: 2008.12.10
+Version: 2009.3.2
Release: 1
Summary: An ISDN line logging and control utility
Group: Hardware/ISDN
@@ -268,6 +272,7 @@
%prep
%setup -q -n isdn4k-utils -b 1 -b 2 -b 3
%patch
+%patch1 -p1
chmod a+x */configure
mv -f eicon/firmware/eicon_firm.tgz eicon/firmware/firmware.tgz
mv -f eicon/firmware ../divactrl_2.1/
@@ -275,7 +280,7 @@
%patch31 -p1
%patch32 -p1
cd ../i4l_suse
-#%patch10 -p1
+%patch11 -p1
%build
for i in capi20 capiinfo capiinit capifax rcapid ; do
@@ -466,6 +471,8 @@
### rcapid
install -d $RPM_BUILD_ROOT%{_defaultdocdir}/capi4linux/rcapid
cp -p rcapid/README $RPM_BUILD_ROOT%{_defaultdocdir}/capi4linux/rcapid
+### capi4linux
+cp -p capi20/README $RPM_BUILD_ROOT%{_defaultdocdir}/capi4linux
### vbox
install -d $RPM_BUILD_ROOT%{_defaultdocdir}/i4l-vbox/examples
cp -p vbox/README $RPM_BUILD_ROOT%{_defaultdocdir}/i4l-vbox
@@ -848,6 +855,9 @@
/lib/firmware/isdn/te*.qm*
%changelog
+* Mon Mar 02 2009 kkeil@suse.de
+- fix some issue with the CAPI 2.0 libraries (bnc#475808)
+- fix load script for Fritz!Card PnP/PCI v2.0 (bnc#465219)
* Wed Dec 10 2008 olh@suse.de
- use Obsoletes: -XXbit only for ppc64 to help solver during distupgrade
(bnc#437293)
++++++ capi20_fixes.diff ++++++
Index: isdn4k-utils/capi20/Makefile.am
===================================================================
--- isdn4k-utils.orig/capi20/Makefile.am
+++ isdn4k-utils/capi20/Makefile.am
@@ -10,7 +10,7 @@ lib_LTLIBRARIES = libcapi20.la
lib_LIBRARIES = libcapi20dyn.a
libcapi20_la_SOURCES = capi20.c capifunc.c convert.c
-libcapi20_la_LDFLAGS = -version-info ${LIBCAPI_VERSION}:${LIBCAPI_VERSION_RELEASE}:${LIBCAPI_VERSION_AGE} -lc -ldl
+libcapi20_la_LDFLAGS = -version-info ${LIBCAPI_VERSION}:${LIBCAPI_VERSION_RELEASE}:${LIBCAPI_VERSION_AGE} -lc -ldl -rdynamic
libcapi20_la_CFLAGS = -fno-strict-aliasing -DLIBDIR=\"$(libdir)/capi\"
modulesdir = $(libdir)/capi
Index: isdn4k-utils/capi20/capi20.c
===================================================================
--- isdn4k-utils.orig/capi20/capi20.c
+++ isdn4k-utils/capi20/capi20.c
@@ -140,6 +140,21 @@ unsigned char *put_word( unsigned char *
}
/**
+ * \brief Put dword to data buffer and increase buffer pointer
+ * \param ppnPtr data buffer pointer
+ * \param nVal dword number
+ * \return word from buffer
+ */
+unsigned char *put_dword( unsigned char **ppnPtr, _cdword nVal ) {
+ put_byte( ppnPtr, nVal & 0xFF );
+ put_byte( ppnPtr, ( nVal & 0xFF00 ) >> 8 );
+ put_byte( ppnPtr, ( nVal & 0xFF0000 ) >> 16 );
+ put_byte( ppnPtr, ( nVal & 0xFF000000 ) >> 24 );
+
+ return *ppnPtr;
+}
+
+/**
* \brief Put netword to data buffer and increase buffer pointer
* \param ppnPtr data buffer pointer
* \param nVal netword number
@@ -523,7 +538,7 @@ static int LoadModule( char *pnName ) {
InitModule initModule;
/* Try to open module */
- pHandle = dlopen( pnName, RTLD_LAZY );
+ pHandle = dlopen( pnName, RTLD_LAZY | RTLD_GLOBAL);
if ( pHandle == NULL ) {
Debug( 1, "Could not open module!\n" );
return -1;
@@ -636,32 +651,51 @@ unsigned capi20_isinstalled( void ) {
/* read configuration file */
read_config();
- /* no special driver requested, set default to 'standard' */
+ /* no special driver requested, auto-detect */
if ( strlen( driver ) <= 0 ) {
- snprintf( driver, sizeof( driver ), "standard" );
- }
-
- /* Find requested driver in list */
- psList = psModuleList;
- while ( psList != NULL ) {
- if ( !strcasecmp( psList -> psMod -> pnName, driver ) ) {
- psModule = psList -> psMod;
- break;
+ /* backwards-compatible: check standard interface fist */
+ psList = psModuleList;
+ while ( psList != NULL ) {
+
+ if ( !strcasecmp( psList -> psMod -> pnName, "standard" ) ) {
+ psModule = psList -> psMod;
+ capi_fd = psModule -> psOperations -> IsInstalled();
+ if ( capi_fd >= 0 ) {
+ /* no error */
+ return CapiNoError;
+ }
+ }
+ psList = psList -> psNext;
}
- psList = psList -> psNext;
- }
-
- /* if no module is selected, abort */
- if ( psModule == NULL ) {
- return CapiRegNotInstalled;
- }
-
- /* check if we have a capi interface and return file handle */
- capi_fd = psModule -> psOperations -> IsInstalled();
- if ( capi_fd >= 0 ) {
- /* no error */
- return CapiNoError;
+ /* no standard device detect, try the other modules */
+ psList = psModuleList;
+ while ( psList != NULL ) {
+ if ( strcasecmp( psList -> psMod -> pnName, "standard" ) ) {
+ psModule = psList -> psMod;
+ capi_fd = psModule -> psOperations -> IsInstalled();
+ if ( capi_fd >= 0 ) {
+ /* no error */
+ return CapiNoError;
+ }
+ }
+ psList = psList -> psNext;
+ }
+ } else {
+ /* Find requested driver in list */
+ psList = psModuleList;
+ while ( psList != NULL ) {
+ if ( !strcasecmp( psList -> psMod -> pnName, driver ) ) {
+ psModule = psList -> psMod;
+ capi_fd = psModule -> psOperations -> IsInstalled();
+ if ( capi_fd >= 0 ) {
+ /* no error */
+ return CapiNoError;
+ }
+ break;
+ }
+ psList = psList -> psNext;
+ }
}
/* uhh, not installed */
Index: isdn4k-utils/capi20/capi_mod.h
===================================================================
--- isdn4k-utils.orig/capi20/capi_mod.h
+++ isdn4k-utils/capi20/capi_mod.h
@@ -32,6 +32,7 @@ char *getHostName( void );
int getPort( void );
char *getTraceFile( void );
int getTraceLevel( void );
+unsigned char *get_buffer( unsigned applid, size_t *sizep, unsigned *handle );
#define MODULE_LOADER_VERSION 0x01
Index: isdn4k-utils/capi20/capi_mod_fritzbox.c
===================================================================
--- isdn4k-utils.orig/capi20/capi_mod_fritzbox.c
+++ isdn4k-utils/capi20/capi_mod_fritzbox.c
@@ -115,7 +115,7 @@ static int fritzboxOpenSocket( void ) {
/* no errors, return handle */
return nHandle;
}
- Debug( 1, "[%s]: Could not connect to port %d on '%s'", __FUNCTION__, getPort(), getHostName() );
+ Debug( 1, "[%s]: Could not connect to port %d on '%s'. CapiOverTCP enabled??", __FUNCTION__, getPort(), getHostName() );
} else {
Debug( 1, "[%s]: Could not resolve host '%s'", __FUNCTION__, getHostName() );
}
@@ -531,7 +531,7 @@ static unsigned fritzboxGetProfile( int
}
/** Module operations structure */
-struct sModuleOperations sFritzBox = {
+static struct sModuleOperations sFritzBox = {
fritzboxIsInstalled,
fritzboxRegister,
fritzboxRelease,
Index: isdn4k-utils/capi20/capi_mod_rcapi.c
===================================================================
--- isdn4k-utils.orig/capi20/capi_mod_rcapi.c
+++ isdn4k-utils/capi20/capi_mod_rcapi.c
@@ -479,7 +479,7 @@ static unsigned rcapiGetProfile( int nHa
}
/** Module operations structure */
-struct sModuleOperations sRemoteCapi = {
+static struct sModuleOperations sRemoteCapi = {
rcapiIsInstalled,
rcapiRegister,
NULL,
Index: isdn4k-utils/capi20/capi_mod_std.c
===================================================================
--- isdn4k-utils.orig/capi20/capi_mod_std.c
+++ isdn4k-utils/capi20/capi_mod_std.c
@@ -21,8 +21,9 @@
#include "capi20.h"
#include "capi_mod.h"
-static char capidevname[] = "/dev/capi20";
-static char capidevnamenew[] = "/dev/isdn/capi20";
+#define CAPI_DEVICE_NAME "/dev/capi20"
+#define CAPI_DEVICE_NAME_NEW "/dev/isdn/capi20"
+
static capi_ioctl_struct ioctl_data;
/**
@@ -32,8 +33,8 @@ static capi_ioctl_struct ioctl_data;
static unsigned standardIsInstalled( void ) {
int nHandle;
- if ( ( nHandle = open( capidevname, O_RDWR, 0666 ) ) < 0 && ( errno == ENOENT ) ) {
- nHandle = open( capidevnamenew, O_RDWR, 0666 );
+ if ( ( nHandle = open( CAPI_DEVICE_NAME, O_RDWR, 0666 ) ) < 0 && ( errno == ENOENT ) ) {
+ nHandle = open( CAPI_DEVICE_NAME_NEW, O_RDWR, 0666 );
}
if ( nHandle >= 0 ) {
@@ -59,8 +60,8 @@ static unsigned standardRegister( unsign
int nIndex;
int nHandle;
- if ( ( nHandle = open( capidevname, O_RDWR | O_NONBLOCK, 0666 ) ) < 0 && ( errno == ENOENT ) ) {
- nHandle = open( capidevnamenew, O_RDWR | O_NONBLOCK, 0666 );
+ if ( ( nHandle = open( CAPI_DEVICE_NAME, O_RDWR | O_NONBLOCK, 0666 ) ) < 0 && ( errno == ENOENT ) ) {
+ nHandle = open( CAPI_DEVICE_NAME_NEW, O_RDWR | O_NONBLOCK, 0666 );
}
if (nHandle < 0) {
@@ -435,7 +436,7 @@ static int standardGetNcciOpenCount( uns
}
/** Module operations structure */
-struct sModuleOperations sStandard = {
+static struct sModuleOperations sStandard = {
standardIsInstalled,
standardRegister,
NULL,
++++++ i4l_suse.diff ++++++
--- i4l_suse/etc/sysconfig/isdn/scripts/add-hisax_fcpcipnp~ 2009-03-02 14:40:17.819728000 +0100
+++ i4l_suse/etc/sysconfig/isdn/scripts/add-hisax_fcpcipnp 2009-03-02 14:40:17.820725000 +0100
@@ -12,10 +12,6 @@ case "$PROTOCOL" in
ni1) PROTOCOL_NR=4 ;;
*) PROTOCOL_NR=2 ;;
esac
-if [ -z $HISAXFC_PROTOCOL ] ; then
- HISAXFC_PROTOCOL="$PROTOCOL_NR"
-else
- HISAXFC_PROTOCOL="${HISAXFC_PROTOCOL},${PROTOCOL_NR}"
-fi
+HISAXFC_PROTOCOL="$PROTOCOL_NR"
HISAXFC_CNT=$(($HISAXFC_CNT + 1))
RET=0
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org
For additional commands, e-mail: opensuse-commit+help@opensuse.org