rpms/isdn4k-utils/devel capi20.conf, NONE, 1.1 isdn4k-utils-CVS-2010-05-01-capi.patch, NONE, 1.1 isdn4k-utils-autoconf-2.6.4-quoting.patch, NONE, 1.1 isdndial, 1.3, 1.4 isdnhangup, 1.2, 1.3 isdnstatus, 1.2, 1.3 userisdnctl.c, 1.3, 1.4 .cvsignore, 1.16, 1.17 isdn4k-utils.spec, 1.88, 1.89 sources, 1.18, 1.19 capi20_be.patch, 1.1, NONE

Than Ngo than at fedoraproject.org
Tue May 4 12:28:01 UTC 2010


Author: than

Update of /cvs/extras/rpms/isdn4k-utils/devel
In directory cvs01.phx2.fedoraproject.org:/tmp/cvs-serv13934

Modified Files:
	.cvsignore isdn4k-utils.spec sources 
Added Files:
	capi20.conf isdn4k-utils-CVS-2010-05-01-capi.patch 
	isdn4k-utils-autoconf-2.6.4-quoting.patch isdndial isdnhangup 
	isdnstatus userisdnctl.c 
Removed Files:
	capi20_be.patch 
Log Message:
enable capi20.new



--- NEW FILE capi20.conf ---
# -- Configuration -----------------------------------
# ----------------------------------------------------
# 
# libcapi20 features autodetection of connected CAPI
# devices. In case you need to select a special device
# use the remote configuration file:
#   ~/.capi20rc
# if it doesn't exist look for
#   /etc/capi20.conf
# 
# To set the remote machine, the above file need to have
# the following line
#   REMOTE <driver> <remote hostname|ip-address> <remote port>
#  
# Drivers:
# 	* fritzbox	- Remote CAPI via FRITZ!Box
# 	* rcapi		- Melware Remote CAPI
# 
# If this doesn't exist, the library tries the old, normal way
# of using the local /dev/isdn/capi20.

#REMOTE fritzbox 192.168.178.1

isdn4k-utils-CVS-2010-05-01-capi.patch:
 capidyn.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

--- NEW FILE isdn4k-utils-CVS-2010-05-01-capi.patch ---
diff -up isdn4k-utils-CVS-2006-07-20/capi20.new/capidyn.c.orig isdn4k-utils-CVS-2006-07-20/capi20.new/capidyn.c
--- isdn4k-utils-CVS-2006-07-20/capi20.new/capidyn.c.orig	2009-01-19 15:18:10.000000000 +0100
+++ isdn4k-utils-CVS-2006-07-20/capi20.new/capidyn.c	2009-01-19 15:19:30.000000000 +0100
@@ -26,7 +26,7 @@
 #include <dlfcn.h>
 
 
-#define LIBCAPI	"libcapi20.so"
+#define LIBCAPI	"libcapi20.so.3"
 static int loadlib(void);
 
 /* ---------------------------------------------------------------------- */

isdn4k-utils-autoconf-2.6.4-quoting.patch:
 configure.in |    4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

--- NEW FILE isdn4k-utils-autoconf-2.6.4-quoting.patch ---
diff -up isdn4k-utils-CVS-2009-10-20-patched/isdnlog/configure.in.orig isdn4k-utils-CVS-2009-10-20-patched/isdnlog/configure.in
--- isdn4k-utils-CVS-2009-10-20-patched/isdnlog/configure.in.orig	2010-05-03 14:50:46.000000000 +0200
+++ isdn4k-utils-CVS-2009-10-20-patched/isdnlog/configure.in	2010-05-03 14:58:15.000000000 +0200
@@ -140,8 +140,8 @@ if test -e tools/cdb/i4l_cdb.c  ; then
     AC_MSG_RESULT(Using 'cdb' as database)
 else
 AC_CHECK_LIB(gdbm, gdbm_open, DBMLIB=-lgdbm; AC_DEFINE(HAVE_LIBGDBM, 1, [Use libgdbm]),
-	AC_CHECK_LIB(dbm, dbm_open, DBMLIB=-ldbm; AC_DEFINE(HAVE_LIBDBM, 1, [Use libdbm]),
-		AC_CHECK_LIB(db, dbm_open, DBMLIB=-ldb; AC_DEFINE(HAVE_LIBDB, 1, [use libdb]))))
+	[AC_CHECK_LIB(dbm, dbm_open, DBMLIB=-ldbm; AC_DEFINE(HAVE_LIBDBM, 1, [Use libdbm]),
+		[AC_CHECK_LIB(db, dbm_open, DBMLIB=-ldb; AC_DEFINE(HAVE_LIBDB, 1, [use libdb]))])])
 fi
 AC_DEFINE_UNQUOTED(RDBEXT,"$RDBEXT",[rdb extension])
 


Index: isdndial
===================================================================
RCS file: isdndial
diff -N isdndial
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ isdndial	4 May 2010 12:28:01 -0000	1.4
@@ -0,0 +1,63 @@
+#!/bin/bash
+# Network Interface Configuration System
+# Copyright (c) 1996-2002 Red Hat, Inc. all rights reserved.
+#
+# This software may be freely redistributed under the terms of the GNU
+# public license.
+# 
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+. /etc/init.d/functions
+
+cd /etc/sysconfig/network-scripts
+. network-functions
+
+[ -f ../network ] && . ../network
+
+CONFIG=${1}
+
+[ -z "${CONFIG}" ] && {
+    echo $"Usage: isdndial <device name>" >&2
+    exit 1
+}
+
+need_config ${CONFIG}
+
+[ -f "${CONFIG}" ] || {
+    echo $"$0: configuration for ${1} not found." >&2
+    echo $"Usage: isdndial <device name>" >&2
+    exit 1
+}
+
+[ -x /sbin/ifup ] || {
+    echo $"/sbin/ifup does not exist" >&2
+    exit 1
+}
+
+[ -x /sbin/isdnctrl ] || {
+    echo $"/sbin/isdnctrl does not exist" >&2
+    exit 1
+}
+
+if [ ${UID} != 0 ]; then
+    if [ -x /usr/sbin/userisdnctl ]; then
+        source_config
+        if /usr/sbin/userisdnctl ${CONFIG} report ; then
+            exec /usr/sbin/userisdnctl ${CONFIG} dial
+        fi
+    fi
+    echo $"Users cannot control this device." >&2
+    exit 1
+fi
+
+source_config
+
+/sbin/ifdown ${CONFIG}
+sleep 2
+
+/sbin/ifup ${CONFIG} || exit 1
+sleep 2
+
+/sbin/isdnctrl dial ${DEVICE} && sleep 4


Index: isdnhangup
===================================================================
RCS file: isdnhangup
diff -N isdnhangup
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ isdnhangup	4 May 2010 12:28:01 -0000	1.3
@@ -0,0 +1,52 @@
+#!/bin/bash
+# Network Interface Configuration System
+# Copyright (c) 1996-2002 Red Hat, Inc. all rights reserved.
+#
+# This software may be freely redistributed under the terms of the GNU
+# public license.
+# 
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+. /etc/init.d/functions
+
+cd /etc/sysconfig/network-scripts
+. network-functions
+
+[ -f ../network ] && . ../network
+
+CONFIG=${1}
+
+[ -z "${CONFIG}" ] && {
+    echo $"Usage: isdnhangup <device name>" >&2
+    exit 1
+}
+
+need_config ${CONFIG}
+
+[ -f "${CONFIG}" ] || {
+    echo $"$0: configuration for ${1} not found." >&2
+    echo $"Usage: isdnhangup <device name>" >&2
+    exit 1
+}
+
+[ -x /sbin/isdnctrl ] || {
+    echo $"/sbin/isdnctrl does not exist" >&2
+    exit 1
+}
+
+if [ ${UID} != 0 ]; then
+    if [ -x /usr/sbin/userisdnctl ]; then
+        source_config
+        if /usr/sbin/userisdnctl ${CONFIG} report ; then
+            exec /usr/sbin/userisdnctl ${CONFIG} hangup
+        fi
+    fi
+    echo $"Users cannot control this device." >&2
+    exit 1
+fi
+
+source_config
+
+/sbin/isdnctrl hangup ${DEVICE}


Index: isdnstatus
===================================================================
RCS file: isdnstatus
diff -N isdnstatus
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ isdnstatus	4 May 2010 12:28:01 -0000	1.3
@@ -0,0 +1,52 @@
+#!/bin/bash
+# Network Interface Configuration System
+# Copyright (c) 1996-2002 Red Hat, Inc. all rights reserved.
+#
+# This software may be freely redistributed under the terms of the GNU
+# public license.
+# 
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+. /etc/init.d/functions
+
+cd /etc/sysconfig/network-scripts
+. network-functions
+
+[ -f ../network ] && . ../network
+
+CONFIG=${1}
+
+[ -z "${CONFIG}" ] && {
+    echo $"Usage: isdnstatus <device name>" >&2
+    exit 1
+}
+
+need_config ${CONFIG}
+
+[ -f "${CONFIG}" ] || {
+    echo $"$0: configuration for ${1} not found." >&2
+    echo $"Usage: isdnstatus <device name>" >&2
+    exit 1
+}
+
+[ -x /sbin/isdnctrl ] || {
+    echo $"/sbin/isdnctrl does not exist" >&2
+    exit 1
+}
+
+if [ ${UID} != 0 ]; then
+    if [ -x /usr/sbin/userisdnctl ]; then
+        source_config
+        if /usr/sbin/userisdnctl ${CONFIG} report ; then
+            exec /usr/sbin/userisdnctl ${CONFIG} status
+        fi
+    fi
+    echo $"Users cannot control this device." >&2
+    exit 1
+fi
+
+source_config
+
+/sbin/isdnctrl status ${DEVICE}


Index: userisdnctl.c
===================================================================
RCS file: userisdnctl.c
diff -N userisdnctl.c
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ userisdnctl.c	4 May 2010 12:28:01 -0000	1.4
@@ -0,0 +1,230 @@
+/*
+ * Copyright (c) 1997-2003 Red Hat, Inc. All rights reserved.
+ *
+ * This software may be freely redistributed under the terms of the GNU
+ * public license.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *
+ */
+
+#include <alloca.h>
+#include <ctype.h>
+#include <errno.h>
+#include <fcntl.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <sys/stat.h>
+#include <unistd.h>
+#include <limits.h>
+
+/* This will be running setuid root, so be careful! */
+static char * safeEnviron[] = {
+	"PATH=/bin:/sbin:/usr/bin:/usr/sbin",
+	"HOME=/root",
+	NULL
+};
+
+#define FOUND_FALSE -1
+#define NOT_FOUND 0
+#define FOUND_TRUE 1
+
+static void
+usage(void) {
+    fprintf(stderr, "usage: userisdnctl <interface-config> <dial|hangup|status|report>\n");
+    exit(1);
+}
+
+static size_t
+testSafe(char *ifaceConfig) {
+    struct stat sb;
+
+    /* These shouldn't be symbolic links -- anal, but that's fine w/ mkj. */
+    if (lstat(ifaceConfig, &sb)) {
+	fprintf(stderr, "failed to stat %s: %s\n", ifaceConfig, 
+		strerror(errno));
+	exit(1);
+    }
+
+    /* Safety/sanity checks. */
+    if (!S_ISREG(sb.st_mode)) {
+	fprintf(stderr, "%s is not a normal file\n", ifaceConfig);
+	exit(1);
+    }
+
+    if (sb.st_uid) {
+	fprintf(stderr, "%s should be owned by root\n", ifaceConfig);
+	exit(1);
+    }
+    
+    if (sb.st_mode & S_IWOTH) {
+	fprintf(stderr, "%s should not be world writeable\n", ifaceConfig);
+	exit(1);
+    }
+
+    return sb.st_size;
+}
+
+
+static int
+userCtl(char *file) {
+    char *buf;
+    char *contents = NULL;
+    char *chptr = NULL;
+    char *next = NULL;
+    int fd = -1, retval = NOT_FOUND;
+    size_t size = 0;
+
+    size = testSafe(file);
+
+    buf = contents = malloc(size + 2);
+
+    if ((fd = open(file, O_RDONLY)) == -1) {
+	fprintf(stderr, "failed to open %s: %s\n", file, strerror(errno));
+	exit(1);
+    }
+
+    if (read(fd, contents, size) != size) {
+	perror("error reading device configuration");
+	exit(1);
+    }
+    close(fd);
+
+    contents[size] = '\n';
+    contents[size + 1] = '\0';
+
+    /* Each pass parses a single line (until an answer is found),  The contents
+       pointer itself points to the beginning of the current line. */
+    while (*contents) {
+	chptr = contents;
+	while (*chptr != '\n') chptr++;
+	next = chptr + 1;
+	while (chptr >= contents && isspace(*chptr)) chptr--;
+	*(++chptr) = '\0';
+
+	if (!strncmp(contents, "USERCTL=", 8)) {
+	    contents += 8;
+	    if ((contents[0] == '"' &&
+		 contents[strlen(contents) - 1] == '"') ||
+		(contents[0] == '\'' &&
+		 contents[strlen(contents) - 1] == '\''))
+		{
+		contents++;
+		contents[strlen(contents) - 1] = '\0';
+	    }
+
+	    if (!strcmp(contents, "yes") || !strcmp(contents, "true")) 
+		retval = FOUND_TRUE;
+	    else 
+		retval = FOUND_FALSE;
+
+	    break;
+	}
+
+	contents = next;
+    }
+
+    free(buf);
+
+    return retval;
+}
+
+int
+main(int argc, char ** argv) {
+    char * ifaceConfig;
+    char * chptr;
+    char * cmd = NULL;
+    int report = 0;
+    char tmp;
+
+    if (argc != 3) usage();
+
+    if (!strcmp(argv[2], "dial")) {
+	cmd = "/usr/sbin/isdndial";
+    } else if (!strcmp(argv[2], "hangup")) {
+	cmd = "/usr/sbin/isdnhangup";
+	} else if (!strcmp(argv[2], "status")) {
+	cmd = "/usr/sbin/isdnstatus";
+    } else if (!strcmp(argv[2], "report")) {
+	report = 1;
+    } else {
+	usage();
+    }
+
+    if (chdir("/etc/sysconfig/network-scripts")) {
+	fprintf(stderr, "error switching to /etc/sysconfig/network-scripts: "
+		"%s\n", strerror(errno));
+	exit(1);
+    }
+
+    /* force the interface configuration to be in the current directory */
+    chptr = ifaceConfig = argv[1];
+    while (*chptr) {
+	if (*chptr == '/')
+	    ifaceConfig = chptr + 1;
+	chptr++;
+    }
+
+    /* automatically prepend "ifcfg-" if it is not specified */
+    if (strncmp(ifaceConfig, "ifcfg-", 6)) {
+	char *temp;
+        size_t len = strlen(ifaceConfig);
+
+	/* Make sure a wise guys hasn't tried an integer wrap-around or
+	   stack overflow attack. There's no way it could refer to anything 
+	   bigger than the largest filename, so cut 'em off there. */
+        if (len > PATH_MAX)
+		exit(1);
+
+	temp = (char *) alloca(len + 7);
+	strcpy(temp, "ifcfg-");
+	/* strcat is safe because we got the length from strlen */
+	strcat(temp, ifaceConfig);
+	ifaceConfig = temp;
+    }
+    
+    if(getuid() != 0)
+    switch (userCtl(ifaceConfig)) {
+	char *dash;
+
+	case NOT_FOUND:
+	    /* a `-' will be found at least in "ifcfg-" */
+	    dash = strrchr(ifaceConfig, '-');
+	    if (*(dash-1) != 'g') {
+		/* This was a clone configuration; ask the parent config */
+		tmp = *dash;
+		*dash = '\0';
+		if (userCtl(ifaceConfig) == FOUND_TRUE) {
+		    /* exit the switch; users are allowed to control */
+		    *dash = tmp;
+		    break;
+		}
+		*dash = tmp;
+	    }
+	    /* else fall through */
+	case FOUND_FALSE:
+	    if (! report)
+	        fprintf(stderr,
+			"Users are not allowed to control this interface.\n");
+	    exit(1);
+	    break;
+    }
+
+    /* looks good to me -- let's go for it if we are changing the interface,
+     * report good status to the user otherwise */
+
+    if (report)
+	exit(0);
+
+    /* pppd wants the real uid to be the same as the effective (god only
+       knows why when it works fine setuid out of the box) */
+    setuid(geteuid());
+
+    execle(cmd, cmd, ifaceConfig, NULL, safeEnviron);
+    fprintf(stderr, "exec of %s failed: %s\n", cmd, strerror(errno));
+    
+    exit(1);
+}


Index: .cvsignore
===================================================================
RCS file: /cvs/extras/rpms/isdn4k-utils/devel/.cvsignore,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -p -r1.16 -r1.17
--- .cvsignore	29 Jan 2010 17:32:24 -0000	1.16
+++ .cvsignore	4 May 2010 12:28:01 -0000	1.17
@@ -12,3 +12,4 @@ isdn4k-utils-CVS-2006-07-20.tar.bz2
 isdn4k-utils-CVS-2009-10-20.tar.bz2
 capiinit.8
 isdn4k-utils-CVS-2009-10-20-patched.tar.bz2
+isdn4k-utils-CVS-2010-05-01-patched.tar.bz2


Index: isdn4k-utils.spec
===================================================================
RCS file: /cvs/extras/rpms/isdn4k-utils/devel/isdn4k-utils.spec,v
retrieving revision 1.88
retrieving revision 1.89
diff -u -p -r1.88 -r1.89
--- isdn4k-utils.spec	18 Feb 2010 17:28:28 -0000	1.88
+++ isdn4k-utils.spec	4 May 2010 12:28:01 -0000	1.89
@@ -1,30 +1,29 @@
-%define _default_patch_fuzz 2
-
-%define app_defaults_dir %{_datadir}/X11/app-defaults
-
-%define interver CVS-2009-10-20
-%ifarch s390 s390x
-%define PIE -fPIE
-%else
-%define PIE -fpie
-%endif
+%global _default_patch_fuzz 2
+%global app_defaults_dir %{_datadir}/X11/app-defaults
+%global interver CVS-2010-05-01
+%global PIE -fpie
 
 Summary: Utilities for configuring an ISDN subsystem
 Name: isdn4k-utils
 Version: 3.2
-Release: 68%{?dist}
+Release: 70%{?dist}
 License: GPLv2+ and GPL+ and MIT and BSD and zlib
 Group: Applications/System
-
 Url: http://www.isdn4linux.de/
+BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
 
 # license issue, remove the isdn_lzscomp.c and firmwares
 Source0: ftp://ftp.isdn4linux.de/pub/isdn4linux/utils/isdn4k-utils-%{interver}-patched.tar.bz2
 # license GPL, http://www.datenwelt.net/oss/ibod
 Source1: http://www.datenwelt.net/oss/ibod/ibod-1.4-src.tar.gz
 Source2: isdn.init
-Source3: capi.init
-Source4: capiinit.8
+Source3: userisdnctl.c
+Source4: isdndial
+Source5: isdnstatus
+Source6: isdnhangup
+Source7: capi20.conf
+Source8: capi.init
+Source9: capiinit.8
 
 Patch0: isdn4k-utils-CVS-2009-10-20-redhat.patch
 Patch1: isdn4k-utils-CVS-2009-10-20-lib64.patch
@@ -40,8 +39,8 @@ Patch13: isdn4k-utils-capiinit.patch
 Patch16: isdn4k-utils-CVS-2006-07-20-capi.patch
 Patch17: isdn4k-utils-misc-overflow-in-capi-subsystem.patch
 Patch18: isdn4k-utils-sh-linux.patch
-
-BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
+Patch19: isdn4k-utils-autoconf-2.6.4-quoting.patch
+Patch20: isdn4k-utils-CVS-2010-05-01-capi.patch
 
 Requires: udev >= 039-10.14.EL4
 Requires: hwdata >= 0.146.18.EL-1
@@ -73,13 +72,23 @@ The isdn4k-utils package contains a coll
 configuring an ISDN subsystem.
 
 %package devel
-Summary: Static library and header files for capi development
+Summary: header files for capi development
 Group: Development/Libraries
 Requires: %{name} = %{version}-%{release}
 
 %description devel
-The isdn4k-utils-devel package contains the capi static library and header files
-required to develop capi applications.
+The isdn4k-utils-devel package contains the header files required to develop
+capi applications.
+
+%package static
+Summary: Static library for capi development
+Group: Development/Libraries
+Requires: %{name} = %{version}-%{release}
+Requires: %{name}-devel = %{version}-%{release}
+
+%description static
+The isdn4k-utils-devel package contains the capi static library required to
+develop capi applications.
 
 %package vboxgetty
 Summary: ISDN voice box (getty)
@@ -101,7 +110,6 @@ load average over your ISDN connection.
 
 %prep
 %setup -q -n %{name}-%{interver}-patched
-
 %patch0 -p1 -b .redhat
 %patch1 -p1 -b .lib64
 
@@ -122,23 +130,22 @@ popd
 %patch16 -p1 -b .capi
 %patch17 -p1 -b .misc-overflow
 %patch18 -p1 -b .sh-support
+%patch19 -p1 -b .quote
+%patch20 -p1 -b .capinew
 
-# remove useless files
-find -type d -name CVS | xargs rm -rf
+# enable capi20.new
+rm -rf capi20 && mv capi20.new capi20
 
+# autoreconf for new autofoo
 for i in */configure; do
-   cd `dirname $i`
-   autoreconf --force --install
-   cd ..
+	cd `dirname $i`
+	autoreconf --force --install
+	cd ..
 done
 
 # fix utf8 issue
-for f in vbox/doc/de/vbox.txt.in imontty/imontty.8.in FAQ/tutorial/EN-i4l.sgml \
-  isdnlog/README isdnlog/tools/rate-files.man \
-  Mini-FAQ/isdn-faq.txt vbox/doc/de/vbox.sgml.in ; do
-    iconv -f iso-8859-1 -t utf-8 < $f > ${f}_
-    mv ${f}_ $f
-done
+iconv -f iso-8859-1 -t utf-8 < imontty/imontty.8.in > imontty/imontty.8.in_
+mv imontty/imontty.8.in_ imontty/imontty.8.in
 
 %build
 export CFLAGS="$RPM_OPT_FLAGS -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE"
@@ -153,24 +160,17 @@ echo "CONFIG_FIRMWAREDIR='%{_datadir}/is
 echo "CONFIG_CARD_SBINDIR='/sbin'" >>.config
 sed -e "s,',,g" .config > .config.h
 
-# workaround for automake/autoconf
-if [ -x /usr/share/automake/depcomp ] ; then
-  for i in capiinfo capiinit rcapid capifax; do
-    cp -f /usr/share/automake/depcomp $i
-    ( cd $i ; aclocal && autoconf )
-  done
-fi
-
-# we need it on ia64 machine
-( cd capi20; [ -f configure.in ] && libtoolize --copy --force )
-( cd vbox; [ -f configure.in ] && libtoolize --copy --force )
-
 make subconfig
 make
 
 # build ibod
 (cd ibod && gcc $RPM_OPT_FLAGS ibod.c -o ibod)
 
+%if 0%{?fedora} < 14
+  # build userisdnctl
+  gcc %{PIE} -pie $RPM_OPT_FLAGS %{SOURCE3} -o isdnctrl/userisdnctl
+%endif
+
 %install
 rm -rf %{buildroot}
 
@@ -192,7 +192,7 @@ make install DESTDIR=%{buildroot} \
 install -m 644 ibod/ibod.1 %{buildroot}%{_mandir}/man1/
 install -m 644 ibod/ibod.cf.4 %{buildroot}%{_mandir}/man4/
 install -m 644 ibod/ibod.cf %{buildroot}/etc/isdn/
-install -m 755 ibod/ibod %{buildroot}%{_sbindir}/
+install -m 755 ibod/ibod %{buildroot}/usr/sbin/
 
 touch %{buildroot}/etc/ppp/ioptions
 
@@ -213,26 +213,29 @@ mkdir -p %{buildroot}%{_datadir}/isdn
 cp -f isdnlog/*.dat %{buildroot}%{_datadir}/isdn/
 chmod 644 %{buildroot}%{_datadir}/isdn/*.dat
 
-# delete files to avoid conflicts and don't package *.a files
+# delete files to avoid conflicts and don't package *.la files
 rm -rf %{buildroot}/etc/isdn/stop \
        %{buildroot}/etc/drdsl/adsl.conf \
-       %{buildroot}%{_bindir}/cdb* \
-       %{buildroot}%{_includedir}/freecdb.h \
-       %{buildroot}%{_includedir}/freecdbmake.h \
-       %{buildroot}%{_libdir}/*.a \
+       %{buildroot}/usr/bin/cdb* \
+       %{buildroot}/usr/include/freecdb.h \
+       %{buildroot}/usr/include/freecdbmake.h \
        %{buildroot}%{_libdir}/*.la \
-       %{buildroot}%{_mandir}/man1/cdb* \
-       %{buildroot}%{_mandir}/man3 \
+       %{buildroot}/usr/lib/libfreecdb.a \
+       %{buildroot}/usr/lib/libfreecdbmake.a \
+       %{buildroot}%{_libdir}/capi/*.la \
+       %{buildroot}%{_libdir}/capi/*.so \
+       %{buildroot}/usr/share/man/man1/cdb* \
+       %{buildroot}/usr/share/man/man3 \
        %{buildroot}%{_mandir}/man5/vboxtcl.5* \
-       %{buildroot}%{_docdir}/isdn4k-utils \
+       %{buildroot}%{_docdir}/isdn4k-utils  \
        %{buildroot}%{_docdir}/vbox \
        %{buildroot}/usr/X11R6 \
-       %{buildroot}/usr/lib*/X11
+       %{buildroot}%{_prefix}/lib/X11
 
 # install isdn startup script
 mkdir -p %{buildroot}%{_initddir}
 install -m755 %{SOURCE2} %{buildroot}%{_initddir}/isdn
-install -m755 %{SOURCE3} %{buildroot}%{_initddir}/capi
+install -m755 %{SOURCE8} %{buildroot}%{_initddir}/capi
 
 # move some binaries into /sbin
 mkdir -p %{buildroot}/sbin
@@ -245,22 +248,28 @@ for i in * ; do
 done
 popd
 
+%if 0%{?fedora} < 14
+  # install userisdnctl,isdnup
+  install -m 755 isdnctrl/userisdnctl %{buildroot}%{_sbindir}/
+  install -m 755 %{SOURCE4} %{buildroot}%{_sbindir}/
+  install -m 755 %{SOURCE5} %{buildroot}%{_sbindir}/
+  install -m 755 %{SOURCE6} %{buildroot}%{_sbindir}/
+%endif
+
 mv %{buildroot}%{_mandir}/man8/.isdnctrl_conf.8 \
    %{buildroot}%{_mandir}/man8/isdnctrl_conf.8
 
 # move doc file to avoid conflict
-mv isdnlog/README isdnlog/README.isdnlog
+cp isdnlog/README isdnlog/README.isdnlog
 
-# install man pages, fix permission files
-install -m644 %{SOURCE4} %{buildroot}%{_mandir}/man8/
-chmod 644 %{buildroot}%{_mandir}/man?/*
+# install man page for capiinit
+install -m644 %{SOURCE9} %{buildroot}%{_mandir}/man8/
 
 # install config file for capi
-mkdir -p %{buildroot}/etc
-install -m 644 capiinit/capi.conf %{buildroot}/etc
+mkdir -p $RPM_BUILD_ROOT/etc
+install -m 644 capiinit/capi.conf $RPM_BUILD_ROOT/etc
+install -m 644 %{SOURCE7} $RPM_BUILD_ROOT/etc
 
-# add comment
-echo "# config files" >> %{buildroot}/etc/ppp/ioptions
 
 %post
 /sbin/ldconfig
@@ -310,79 +319,79 @@ function clear_env()
 
 n=0
 for i in $provider ; do
-   clear_env
-   . $i >/dev/null 2>&1
-   [ -n "$BOOT" ] || BOOT=no
-   touch $DEVPATH/${NETDEV}${PROVIDER}
-   chmod 700 $DEVPATH/${NETDEV}${PROVIDER}
-   if [ "$ENCAP" = "syncppp" ]; then
-      DEVICE=ippp${n}
-   else
-      DEVICE=isdn${n}
-   fi
-   if [ "$BUNDLING" = "yes" -o "$BUNDLING" = "on" ]; then
-      if [ "$ENCAP" = "syncppp" ] ; then
-         n=$[$n+1]
-         SLAVE_DEVICE=ippp${n}
-         echo "SLAVE_DEVICE=$SLAVE_DEVICE" >> $DEVPATH/${NETDEV}${PROVIDER}
-      fi
-   fi
-   echo "DEVICE=$DEVICE" >> $DEVPATH/${NETDEV}${PROVIDER}
-   if [ "$BOOT" = "on" ] ; then
-      echo "ONBOOT=yes" >> $DEVPATH/${NETDEV}${PROVIDER}
-   else
-      echo "ONBOOT=no" >> $DEVPATH/${NETDEV}${PROVIDER}
-   fi
-   echo "PROVIDER=$PROVIDER" >> $DEVPATH/${NETDEV}${PROVIDER}
-   echo "USER=$USER" >> $DEVPATH/${NETDEV}${PROVIDER}
-   echo "PASSWORD=$PASSWORD" >> $DEVPATH/${NETDEV}${PROVIDER}
-   echo "ENCAP=$ENCAP" >> $DEVPATH/${NETDEV}${PROVIDER}
-   echo "DIALMODE=$DIALMODE" >> $DEVPATH/${NETDEV}${PROVIDER}
-   echo "SECURE=$SECURE" >> $DEVPATH/${NETDEV}${PROVIDER}
-   echo "MSN=$MSN" >> $DEVPATH/${NETDEV}${PROVIDER}
-   echo "PHONE_IN=$PHONE_IN" >> $DEVPATH/${NETDEV}${PROVIDER}
-   echo "PREFIX=$PREFIX" >> $DEVPATH/${NETDEV}${PROVIDER}
-   echo "AREACODE=$AREACODE" >> $DEVPATH/${NETDEV}${PROVIDER}
-   echo "PHONE_OUT=$PHONE_OUT" >> $DEVPATH/${NETDEV}${PROVIDER}
-   echo "BUNDLING=$BUNDLING" >> $DEVPATH/${NETDEV}${PROVIDER}
-   echo "IPADDR=$LOCAL_IP" >> $DEVPATH/${NETDEV}${PROVIDER}
-   echo "GATEWAY=$REMOTE_IP" >> $DEVPATH/${NETDEV}${PROVIDER}
-   echo "HUPTIMEOUT=$HUPTIMEOUT" >> $DEVPATH/${NETDEV}${PROVIDER}
-   if [ -z "$DNS" ] ; then
-      echo "PEERDNS=yes" >> $DEVPATH/${NETDEV}${PROVIDER}
-   else
-      l=1
-      for j in $DNS ; do
-         echo "DNS${l}=$j" >> $DEVPATH/${NETDEV}${PROVIDER}
-         l=$[$l+1]
-      done
-   fi
-   echo "NETMASK=$NETMASK" >> $DEVPATH/${NETDEV}${PROVIDER}
-   echo "DOMAIN=$DOMAIN" >> $DEVPATH/${NETDEV}${PROVIDER}
-   echo "CALLBACK=$CALLBACK" >> $DEVPATH/${NETDEV}${PROVIDER}
-   echo "CHARGEHUP=$CHARGEHUP" >> $DEVPATH/${NETDEV}${PROVIDER}
-   echo "CHARGEINT=$CHARGEINT" >> $DEVPATH/${NETDEV}${PROVIDER}
-   echo "CBHUP=$CBHUP" >> $DEVPATH/${NETDEV}${PROVIDER}
-   echo "CBDELAY=$CBDELAY" >> $DEVPATH/${NETDEV}${PROVIDER}
-   echo "DIALMAX=$DIALMAX" >> $DEVPATH/${NETDEV}${PROVIDER}
-   echo "AUTH=\"$AUTH\"" >> $DEVPATH/${NETDEV}${PROVIDER}
-   echo "IHUP=$IHUP" >> $DEVPATH/${NETDEV}${PROVIDER}
-   if [ "$DELDEFAULTROUTE" = "enabled" ] ; then
-      echo "DEFROUTE=yes" >> $DEVPATH/${NETDEV}${PROVIDER}
-   else
-      echo "DEFROUTE=no" >> $DEVPATH/${NETDEV}${PROVIDER}
-   fi
-   echo "CBCP=$CBCP" >> $DEVPATH/${NETDEV}${PROVIDER}
-   echo "VJ=$VJ" >> $DEVPATH/${NETDEV}${PROVIDER}
-   echo "VJCCOMP=$VJCCOMP" >> $DEVPATH/${NETDEV}${PROVIDER}
-   echo "AC=$AC" >> $DEVPATH/${NETDEV}${PROVIDER}
-   echo "PC=$PC" >> $DEVPATH/${NETDEV}${PROVIDER}
-   echo "BSDCOMP=$BSDCOMP" >> $DEVPATH/${NETDEV}${PROVIDER}
-   echo "CCP=$CPP" >> $DEVPATH/${NETDEV}${PROVIDER}
-   echo "DIALIN=$DIALIN" >> $DEVPATH/${NETDEV}${PROVIDER}
-   (cd /etc/sysconfig/network-scripts/ && ln -f ../networking/devices/${NETDEV}${PROVIDER} ${NETDEV}${DEVICE})
-   (cd $PROFILEPATH && ln -f ../../devices/${NETDEV}${PROVIDER} .)
-   n=$[$n+1]
+	clear_env
+	. $i >/dev/null 2>&1
+	[ -n "$BOOT" ] || BOOT=no
+	touch $DEVPATH/${NETDEV}${PROVIDER}
+	chmod 700 $DEVPATH/${NETDEV}${PROVIDER}
+	if [ "$ENCAP" = "syncppp" ]; then
+		DEVICE=ippp${n}
+	else
+		DEVICE=isdn${n}
+	fi
+	if [ "$BUNDLING" = "yes" -o "$BUNDLING" = "on" ]; then
+		if [ "$ENCAP" = "syncppp" ] ; then
+			n=$[$n+1]
+			SLAVE_DEVICE=ippp${n}
+			echo "SLAVE_DEVICE=$SLAVE_DEVICE" >> $DEVPATH/${NETDEV}${PROVIDER}
+		fi
+	fi
+	echo "DEVICE=$DEVICE" >> $DEVPATH/${NETDEV}${PROVIDER}
+	if [ "$BOOT" = "on" ] ; then
+		echo "ONBOOT=yes" >> $DEVPATH/${NETDEV}${PROVIDER}
+	else
+		echo "ONBOOT=no" >> $DEVPATH/${NETDEV}${PROVIDER}
+	fi
+	echo "PROVIDER=$PROVIDER" >> $DEVPATH/${NETDEV}${PROVIDER}
+	echo "USER=$USER" >> $DEVPATH/${NETDEV}${PROVIDER}
+	echo "PASSWORD=$PASSWORD" >> $DEVPATH/${NETDEV}${PROVIDER}
+	echo "ENCAP=$ENCAP" >> $DEVPATH/${NETDEV}${PROVIDER}
+	echo "DIALMODE=$DIALMODE" >> $DEVPATH/${NETDEV}${PROVIDER}
+	echo "SECURE=$SECURE" >> $DEVPATH/${NETDEV}${PROVIDER}
+	echo "MSN=$MSN" >> $DEVPATH/${NETDEV}${PROVIDER}
+	echo "PHONE_IN=$PHONE_IN" >> $DEVPATH/${NETDEV}${PROVIDER}
+	echo "PREFIX=$PREFIX" >> $DEVPATH/${NETDEV}${PROVIDER}
+	echo "AREACODE=$AREACODE" >> $DEVPATH/${NETDEV}${PROVIDER}
+	echo "PHONE_OUT=$PHONE_OUT" >> $DEVPATH/${NETDEV}${PROVIDER}
+	echo "BUNDLING=$BUNDLING" >> $DEVPATH/${NETDEV}${PROVIDER}
+	echo "IPADDR=$LOCAL_IP" >> $DEVPATH/${NETDEV}${PROVIDER}
+	echo "GATEWAY=$REMOTE_IP" >> $DEVPATH/${NETDEV}${PROVIDER}
+	echo "HUPTIMEOUT=$HUPTIMEOUT" >> $DEVPATH/${NETDEV}${PROVIDER}
+	if [ -z "$DNS" ] ; then
+		echo "PEERDNS=yes" >> $DEVPATH/${NETDEV}${PROVIDER}
+	else
+		l=1
+		for j in $DNS ; do
+			echo "DNS${l}=$j" >> $DEVPATH/${NETDEV}${PROVIDER}
+			l=$[$l+1]
+		done
+	fi
+	echo "NETMASK=$NETMASK" >> $DEVPATH/${NETDEV}${PROVIDER}
+	echo "DOMAIN=$DOMAIN" >> $DEVPATH/${NETDEV}${PROVIDER}
+	echo "CALLBACK=$CALLBACK" >> $DEVPATH/${NETDEV}${PROVIDER}
+	echo "CHARGEHUP=$CHARGEHUP" >> $DEVPATH/${NETDEV}${PROVIDER}
+	echo "CHARGEINT=$CHARGEINT" >> $DEVPATH/${NETDEV}${PROVIDER}
+	echo "CBHUP=$CBHUP" >> $DEVPATH/${NETDEV}${PROVIDER}
+	echo "CBDELAY=$CBDELAY" >> $DEVPATH/${NETDEV}${PROVIDER}
+	echo "DIALMAX=$DIALMAX" >> $DEVPATH/${NETDEV}${PROVIDER}
+	echo "AUTH=\"$AUTH\"" >> $DEVPATH/${NETDEV}${PROVIDER}
+	echo "IHUP=$IHUP" >> $DEVPATH/${NETDEV}${PROVIDER}
+	if [ "$DELDEFAULTROUTE" = "enabled" ] ; then
+		echo "DEFROUTE=yes" >> $DEVPATH/${NETDEV}${PROVIDER}
+	else
+		echo "DEFROUTE=no" >> $DEVPATH/${NETDEV}${PROVIDER}
+	fi
+	echo "CBCP=$CBCP" >> $DEVPATH/${NETDEV}${PROVIDER}
+	echo "VJ=$VJ" >> $DEVPATH/${NETDEV}${PROVIDER}
+	echo "VJCCOMP=$VJCCOMP" >> $DEVPATH/${NETDEV}${PROVIDER}
+	echo "AC=$AC" >> $DEVPATH/${NETDEV}${PROVIDER}
+	echo "PC=$PC" >> $DEVPATH/${NETDEV}${PROVIDER}
+	echo "BSDCOMP=$BSDCOMP" >> $DEVPATH/${NETDEV}${PROVIDER}
+	echo "CCP=$CPP" >> $DEVPATH/${NETDEV}${PROVIDER}
+	echo "DIALIN=$DIALIN" >> $DEVPATH/${NETDEV}${PROVIDER}
+	(cd /etc/sysconfig/network-scripts/ && ln -f ../networking/devices/${NETDEV}${PROVIDER} ${NETDEV}${DEVICE})
+	(cd $PROFILEPATH && ln -f ../../devices/${NETDEV}${PROVIDER} .)
+	n=$[$n+1]
 done
 
 /sbin/chkconfig --del isdn >/dev/null 2>&1 || true
@@ -403,27 +412,17 @@ rm -rf %{buildroot}
 %verify(not md5 size mtime) %config(noreplace) /etc/ppp/ioptions
 %config(noreplace) /etc/ppp/peers/*
 %config(noreplace) /etc/capi.conf
+%config(noreplace) /etc/capi20.conf
 %config(noreplace) /etc/vbox/*.conf
 %{_libdir}/pppd
 %{_datadir}/isdn
 %{_libdir}/*.so.*
-%{_mandir}/man1/*
-%{_mandir}/man4/*
-%{_mandir}/man5/*
-%{_mandir}/man7/*
-%{_mandir}/man8/*
-%exclude %{_mandir}/man1/xmonisdn.1*
-%exclude %{_mandir}/man1/xisdnload.1*
-%exclude %{_mandir}/man5/vboxgetty.conf.5*
-%exclude %{_mandir}/man8/vboxgetty.8*
-%exclude %{_mandir}/man8/vboxputty.8*
-%exclude %{_bindir}/xisdnload
-%exclude %{_bindir}/xmonisdn
+%{_libdir}/capi/*.so.*
 %defattr(755,root,root,755)
 /sbin/*
 %{_initddir}/isdn
 %{_initddir}/capi
-%{_bindir}/*
+%{_bindir}/
 %{_sbindir}/capiinit
 %{_sbindir}/ibod
 %{_sbindir}/imon
@@ -436,6 +435,12 @@ rm -rf %{buildroot}
 %{_sbindir}/mkzonedb
 %{_sbindir}/rcapid
 %{_sbindir}/vboxd
+%if 0%{?fedora} < 14
+%attr(4755,root,root) %{_sbindir}/userisdnctl
+%{_sbindir}/isdnhangup
+%{_sbindir}/isdnstatus
+%{_sbindir}/isdndial
+%endif
 %defattr(644,root,root,755)
 %doc COPYING README isdnlog/README.*
 %doc isdnlog/FAQ
@@ -448,6 +453,18 @@ rm -rf %{buildroot}
 %doc vbox/examples/timeout*
 %doc FAQ/tutorial/* FAQ/i4lfaq* Mini-FAQ/isdn-faq.txt
 %lang(de) %doc vbox/doc/de/vbox.sgml vbox/doc/de/vbox.txt
+%{_mandir}/man1/*
+%{_mandir}/man4/*
+%{_mandir}/man5/*
+%{_mandir}/man7/*
+%{_mandir}/man8/*
+%exclude %{_mandir}/man1/xmonisdn.1*
+%exclude %{_mandir}/man1/xisdnload.1*
+%exclude %{_mandir}/man5/vboxgetty.conf.5*
+%exclude %{_mandir}/man8/vboxgetty.8*
+%exclude %{_mandir}/man8/vboxputty.8*
+%exclude %{_bindir}/xisdnload
+%exclude %{_bindir}/xmonisdn
 
 %files vboxgetty
 %defattr(644,root,root,755)
@@ -463,6 +480,10 @@ rm -rf %{buildroot}
 %defattr(-,root,root)
 %{_includedir}/*
 %{_libdir}/*.so
+%{_libdir}/pkgconfig/*.pc
+
+%files static
+%{_libdir}/*.a
 
 %files -n xisdnload
 %defattr(644,root,root,755)
@@ -474,8 +495,15 @@ rm -rf %{buildroot}
 %{_bindir}/xisdnload
 %{_bindir}/xmonisdn
 
-
 %changelog
+* Tue May 04 2010 Than Ngo <than at redhat.com> - 3.2-70
+- enable capi.new
+
+* Mon May 03 2010 Than Ngo <than at redhat.com> - 3.2-69
+- fix quotation issue with autoconf-2.64
+- fix bz#556056, split off -static subpackage
+- fix bz#539020, FTBFS
+
 * Fri Jan 15 2010 Than Ngo <than at redhat.com> - 3.2-68
 - fix license
 - cleanup


Index: sources
===================================================================
RCS file: /cvs/extras/rpms/isdn4k-utils/devel/sources,v
retrieving revision 1.18
retrieving revision 1.19
diff -u -p -r1.18 -r1.19
--- sources	18 Feb 2010 17:28:28 -0000	1.18
+++ sources	4 May 2010 12:28:01 -0000	1.19
@@ -1,3 +1,3 @@
 38b45be27c0a82b38380f680fdee0aff  ibod-1.4-src.tar.gz
 45e047c31ebbdfd2865532a80393223b  capiinit.8
-6d9ad575693fd3d40919ccf48d61dcec  isdn4k-utils-CVS-2009-10-20-patched.tar.bz2
+8c4184ad6c614f9a3ee8fdd291372507  isdn4k-utils-CVS-2010-05-01-patched.tar.bz2


--- capi20_be.patch DELETED ---



More information about the scm-commits mailing list