From 285e2417b6283c0b31eb9151e1350c55bad244cb Mon Sep 17 00:00:00 2001 From: markster Date: Fri, 21 Jan 2005 22:49:26 +0000 Subject: Improve portability for debian (bug #3390) git-svn-id: http://svn.digium.com/svn/zaptel/trunk@571 5390a7c7-147a-4af0-8ec9-7488f05a26cb --- Makefile | 15 ++++++--- zaptel.init | 100 +++++++++++++++++++++++++++++++++++++++---------------- zaptel.sysconfig | 27 +++++++++++++++ 3 files changed, 109 insertions(+), 33 deletions(-) diff --git a/Makefile b/Makefile index 0dc0216..e2af664 100755 --- a/Makefile +++ b/Makefile @@ -33,7 +33,7 @@ KFLAGS+=-DSTANDALONE_ZAPATA CFLAGS+=-DSTANDALONE_ZAPATA ROOT_PREFIX= -INSTALL_PREFIX= +INSTALL_PREFIX=$(DESTDIR) CONFIG_FILE=$(INSTALL_PREFIX)/etc/zaptel.conf CFLAGS+=-DZAPTEL_CONFIG=\"$(CONFIG_FILE)\" @@ -203,9 +203,10 @@ libtonezone.a: $(TZOBJS) ar rcs libtonezone.a $(TZOBJS) $(LIBTONEZONE): $(TZOBJS) - $(CC) -shared -Wl,-soname,libtonezone.so.1 -lm -o $@ $(TZOBJS) + $(CC) -shared -Wl,-soname,$(LIBTONEZONE) -lm -o $@ $(TZOBJS) [ `id -u` = 0 ] && /sbin/ldconfig || : - ln -sf libtonezone.so.1 libtonezone.so + ln -sf $(LIBTONEZONE) libtonezone.so + ln -sf $(LIBTONEZONE) libtonezone.so.1 ztcfg.c: ztcfg.h @@ -301,6 +302,7 @@ install: all devices $(LIBTONEZONE) install -D -m 644 torisa.h $(INSTALL_PREFIX)/usr/include/linux/torisa.h install -D -m 644 tonezone.h $(INSTALL_PREFIX)/usr/include/tonezone.h ( cd $(INSTALL_PREFIX)/usr/lib ; rm -f libtonezone.so ; ln -sf $(LIBTONEZONE) libtonezone.so ) + ( cd $(INSTALL_PREFIX)/usr/lib ; rm -f libtonezone.so.1 ; ln -sf $(LIBTONEZONE) libtonezone.so.1 ) [ `id -u` = 0 ] && /sbin/ldconfig || : if [ -f $(MODCONF) ]; then mv -f $(MODCONF) $(MODCONF).bak ; fi cat $(MODCONF).bak | grep -v "alias char-major-250" | \ @@ -343,7 +345,10 @@ config: install -D -m 755 zaptel.init $(INSTALL_PREFIX)/etc/init.d/zaptel; \ chkconfig --add zaptel; \ fi - if [ ! -f /etc/sysconfig/zaptel ]; then \ + if [ -d /etc/default ] && [ ! -f /etc/default/zaptel ]; then \ + install -D -m 644 zaptel.sysconfig $(INSTALL_PREFIX)/etc/default/zaptel; \ + fi + if [ -d /etc/sysconfig ] && [ ! -f /etc/sysconfig/zaptel ]; then \ install -D -m 644 zaptel.sysconfig $(INSTALL_PREFIX)/etc/sysconfig/zaptel; \ fi if [ -d /etc/sysconfig/network-scripts ]; then \ @@ -370,3 +375,5 @@ clean: rm -f tor2ee rm -f fxotune rm -f core + [ -d .tmp_versions ] && rm -rf .tmp_versions + diff --git a/zaptel.init b/zaptel.init index 300c74e..4593112 100755 --- a/zaptel.init +++ b/zaptel.init @@ -8,33 +8,52 @@ # # config: /etc/sysconfig/zaptel -# Source function library. -. /etc/rc.d/init.d/functions +initdir=/etc/init.d -[ -f /etc/sysconfig/zaptel ] || exit 0 +# +# Determine which kind of configuration we're using +# +system=redhat # assume redhat +if [ -f /etc/debian_version ]; then + system=debian +fi -# Source zaptel configuration. -. /etc/sysconfig/zaptel +# Source function library. +if [ $system = redhat ]; then + . $initdir/functions || exit 0 +fi -# Check that telephony is up. -if [ "${TELEPHONY}" = "no" ]; then - exit 0 +# Source zaptel configuration. +if [ $system = debian ]; then + [ -f /etc/default/zaptel ] && . /etc/default/zaptel +elif [ $system = redhat ]; then + [ -f /etc/sysconfig/zaptel ] && . /etc/sysconfig/zaptel fi -[ -f /sbin/ztcfg ] || exit 0 +if [ -z "${MODULES}" ]; then + # Populate defaults if not present + MODULES="tor2 wct4xxp wct1xxp wcte11xp wcfxo wctdm" +fi -[ -f /etc/zaptel.conf ] || exit 0 +RMODULES="" +# Reverse list for un-loading; don't change +for x in $MODULES; do + RMODULES="$x $RMODULES" +done -RETVAL=0 +# Check that telephony is up. +[ "${TELEPHONY}" = "yes" ] || exit 0 -MODULES="torisa tor2 wct4xxp wcte11xp wct1xxp wcfxo wctdm wcusb" +[ -f /sbin/ztcfg ] || exit 0 -RMODULES="wcusb wctdm wcfxo wct1xxp wcte11xp wct4xxp tor2 torisa" +[ -f /etc/zaptel.conf ] || exit 0 if [ "${DEBUG}" = "yes" ]; then ARGS="debug=1" fi +RETVAL=0 + # See how we were called. case "$1" in start) @@ -42,14 +61,20 @@ case "$1" in rmmod wcusb >& /dev/null rmmod wcfxsusb >& /dev/null rmmod audio >& /dev/null - action "Loading zaptel framework: " modprobe zaptel - echo -n "Loading zaptel hardware modules: " + if [ $system = debian ]; then + echo -n "Loading zaptel framework: " + modprobe zaptel >& /dev/null && echo -n "done" + echo "." + elif [ $system = redhat ]; then + action "Loading zaptel framework: " modprobe zaptel + fi + echo -n "Loading zaptel hardware modules:" for x in $MODULES; do - if insmod ${x} ${ARGS} >& /dev/null; then - echo -n "$x " + if modprobe ${x} ${ARGS} >& /dev/null; then + echo -n " $x" fi done - echo + echo "." TMOUT=10 # max secs to wait while [ ! -d /dev/zap ] ; do sleep 1 @@ -59,34 +84,51 @@ case "$1" in exit 1 fi done - sleep 1; - action "Running ztcfg: " /sbin/ztcfg + if [ $system = debian ]; then + echo -n "Running ztcfg: " + /sbin/ztcfg >& /dev/null && echo -n "done" + echo "." + elif [ $system = redhat ]; then + action "Running ztcfg: " /sbin/ztcfg + fi RETVAL=$? [ $RETVAL -eq 0 ] && touch /var/lock/subsys/zaptel - ;; stop) - # Stop daemons. - echo -n "Unloading zaptel hardware drivers: " + # Unload drivers + echo -n "Unloading zaptel hardware drivers:" for x in $RMODULES; do if rmmod ${x} >& /dev/null; then - echo -n "$x " + echo -n " $x" fi done - echo - - action "Removing zaptel module: " rmmod zaptel + echo "." + + if [ $system = debian ]; then + echo -n "Removing zaptel module: " + rmmod zaptel >& /dev/null && echo -n "done" + echo "." + elif [ $system = redhat ]; then + action "Removing zaptel module: " rmmod zaptel + fi RETVAL=$? + [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/zaptel ;; restart) $0 stop $0 start - RETVAL=$? ;; reload) - action "Reloading ztcfg: " /sbin/ztcfg + if [ $system = debian ]; then + echo -n "Reloading ztcfg: " + /sbin/ztcfg >& /dev/null && echo -n "done" + echo "." + elif [ $system = redhat ]; then + action "Reloading ztcfg: " /sbin/ztcfg + fi + RETVAL=$? ;; *) echo "Usage: zaptel {start|stop|restart|reload}" diff --git a/zaptel.sysconfig b/zaptel.sysconfig index bdc9736..351a42d 100755 --- a/zaptel.sysconfig +++ b/zaptel.sysconfig @@ -1,2 +1,29 @@ TELEPHONY=yes #DEBUG=yes + +# Un-comment as per your requirements; modules to load/unload +#Module Name Hardware +MODULES="$MODULES tor2" # T400P - Quad Span T1 Card + # E400P - Quad Span E1 Card + +MODULES="$MODULES wct4xxp" # TE405P - Quad Span T1/E1 Card (5v version) + # TE410P - Quad Span T1/E1 Card (3.3v version) + +MODULES="$MODULES wct1xxp" # T100P - Single Span T1 Card + # E100P - Single Span E1 Card + +MODULES="$MODULES wcte11xp" # TE110P - Single Span T1/E1 Card + +MODULES="$MODULES wcfxo" # X100P - Single port FXO interface + # X101P - Single port FXO interface + +MODULES="$MODULES wctdm" # TDM400P - Modular FXS/FXO interface (1-4 ports) +#MODULES="$MODULES wcfxs" # either above or this + +MODULES="$MODULES wcusb" # S100U - Single port FXS USB Interface +#MODULES="$MODULES wcfxsusb" # either above or this + +#MODULES="$MODULES torisa" # Old Tormenta1 ISA Card + +#MODULES="$MODULES ztdummy" # UHCI USB Zaptel Timing Only Interface + -- cgit v1.2.3