diff options
Diffstat (limited to 'net-dialup/isdn4k-utils')
18 files changed, 971 insertions, 11 deletions
diff --git a/net-dialup/isdn4k-utils/ChangeLog b/net-dialup/isdn4k-utils/ChangeLog index 0efd71ec9760..6b6c7eb14dec 100644 --- a/net-dialup/isdn4k-utils/ChangeLog +++ b/net-dialup/isdn4k-utils/ChangeLog @@ -1,6 +1,16 @@ # ChangeLog for net-dialup/isdn4k-utils # Copyright 2002-2005 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/net-dialup/isdn4k-utils/ChangeLog,v 1.39 2005/02/23 05:52:20 mrness Exp $ +# $Header: /var/cvsroot/gentoo-x86/net-dialup/isdn4k-utils/ChangeLog,v 1.40 2005/03/29 08:40:14 mrness Exp $ + +*isdn4k-utils-3.7_pre20050329 (29 Mar 2005) + + 29 Mar 2005; Alin Nastac <mrness@gentoo.org> +files/auerswald.usermap, + +files/config-3.7_pre20050329, +files/hisax.conf, +files/hisax.initd, + +files/hisax.usermap, +files/ioptions, +files/isdn.blacklist, + +files/isdn.confd, +files/isdn.initd, +files/isdnlog.confd, + +files/isdnlog.initd, +files/isdnlog.logrotated, +files/net.ippp0, + +files/options.ippp0, +isdn4k-utils-3.7_pre20050329.ebuild: + Version bump. *isdn4k-utils-3.6_pre20041219-r1 (23 Feb 2005) diff --git a/net-dialup/isdn4k-utils/Manifest b/net-dialup/isdn4k-utils/Manifest index 40567cf62c7c..d11e04126862 100644 --- a/net-dialup/isdn4k-utils/Manifest +++ b/net-dialup/isdn4k-utils/Manifest @@ -1,10 +1,9 @@ ------BEGIN PGP SIGNED MESSAGE----- -Hash: SHA1 - +MD5 5eeb7174364e6bddb64a87d746660f78 isdn4k-utils-3.7_pre20050329.ebuild 7145 MD5 2095b24ef9d659aba0e72f092f5df8ce ChangeLog 10650 MD5 bab835f739889e139f5acaf397d3d875 metadata.xml 215 MD5 5eeb7174364e6bddb64a87d746660f78 isdn4k-utils-3.6_pre20041219-r1.ebuild 7145 MD5 6896aa81dfefd061abda1c5a4e6576a0 files/digest-isdn4k-utils-3.6_pre20041219-r1 81 +MD5 3ffe8175b16f619144c182f11e3df55d files/digest-isdn4k-utils-3.7_pre20050329 81 MD5 f26cdb4ad4237c11b371a7dcb2d89d17 files/3.6_pre20041219/isdnlog.confd 415 MD5 3f7c76a6d63f3677b81157bf9a7e84cd files/3.6_pre20041219/isdnlog.initd 1047 MD5 875318ba2ae375b068d0c7a7c1607e52 files/3.6_pre20041219/ioptions 323 @@ -19,10 +18,3 @@ MD5 0ead941effdcf6061c864112d4a68ccb files/3.6_pre20041219/isdn.confd 500 MD5 229cfd79f14eb291f6bb46b1275d4e0c files/3.6_pre20041219/isdn.initd 2410 MD5 673179cfabf5a9839cfbf81bc2eeb34e files/3.6_pre20041219/hisax.conf 1341 MD5 a077770a61b46a7dbedad0213e5b14c3 files/3.6_pre20041219/auerswald.usermap 752 ------BEGIN PGP SIGNATURE----- -Version: GnuPG v1.2.6 (GNU/Linux) - -iD8DBQFCHBogjiC39V7gKu0RAlwGAJ9YXfp4owN7Wwh0Uc+4AFeBstRlFACgwNk8 -J+K/ubO9SW5TPHP76PSII1Y= -=QuW7 ------END PGP SIGNATURE----- diff --git a/net-dialup/isdn4k-utils/files/auerswald.usermap b/net-dialup/isdn4k-utils/files/auerswald.usermap new file mode 100644 index 000000000000..846c04b349bf --- /dev/null +++ b/net-dialup/isdn4k-utils/files/auerswald.usermap @@ -0,0 +1,4 @@ +auerswald 0x0003 0x09bf 0x00c0 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x00000000 +auerswald 0x0003 0x09bf 0x00db 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x00000000 +auerswald 0x0003 0x09bf 0x00f1 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x00000000 +auerswald 0x0003 0x09bf 0x00f2 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x00000000 diff --git a/net-dialup/isdn4k-utils/files/config-3.7_pre20050329 b/net-dialup/isdn4k-utils/files/config-3.7_pre20050329 new file mode 100644 index 000000000000..f35e3212f4e8 --- /dev/null +++ b/net-dialup/isdn4k-utils/files/config-3.7_pre20050329 @@ -0,0 +1,137 @@ +# +# Automatically generated by make menuconfig: don't edit +# + +# +# Code maturity level options +# +CONFIG_EXPERIMENTAL=y + +# +# General configuration +# +CONFIG_BUILDX11=y +CONFIG_KERNELDIR='/usr/src/linux' +CONFIG_BINDIR='/usr/bin' +CONFIG_SBINDIR='/usr/sbin' +CONFIG_CARD_SBINDIR='/usr/sbin' +CONFIG_MANDIR='/usr/share/man' +CONFIG_FIRMWAREDIR='/lib/firmware' +CONFIG_RUNDIR='/var/run' +CONFIG_LOCKDIR='/var/lock' +CONFIG_LOCKFILE='LCK..' +CONFIG_I4LCONFDIR='/etc/isdn' +CONFIG_CONFFILE='isdn.conf' +CONFIG_CALLERIDFILE='callerid.conf' +CONFIG_USERCONFFILE='~/.isdn' +CONFIG_COUNTRYCODE='49' +CONFIG_AREACODE='89' +CONFIG_DATADIR='/usr/share/isdn' +CONFIG_LIB_AREACODE=y +CONFIG_COUNTRY_PREFIX='+' +CONFIG_AREA_PREFIX='0' + +# +# Runtime configuration tools +# +CONFIG_ISDNCTRL=y +# CONFIG_ISDNCTRL_DEBUG is not set +CONFIG_ISDNCTRL_CONF=y +CONFIG_ISDNCTRL_TIMRU=y +CONFIG_ISDNCTRL_DWABC_UDP_INFO=y +CONFIG_IPROFD=y +CONFIG_DIVERTCTRL=y + +# +# Card configuration tools +# +CONFIG_HISAXCTRL=y +CONFIG_ICNCTRL=y +# CONFIG_ICNCTRL_DEBUG is not set +CONFIG_PCBITCTL=y +# CONFIG_AVMCAPICTRL is not set +CONFIG_ACTCTRL=y +CONFIG_EICONCTRL=y +CONFIG_LOOPCTRL=y +# CONFIG_LOOPCTRL_DEBUG is not set +CONFIG_LOOPCTRL_LOOPDIR='~/isdn/drivers/isdn/isdnloop' + +# +# Tools for monitoring activity +# +CONFIG_IMON=y +CONFIG_IMONTTY=y +CONFIG_ISDNLOG=y + +# +# Options for isdnlog package +# +CONFIG_ISDNLOG_SERV_PORT=20011 +CONFIG_ISDNLOG_USERFILE='isdnlog.users' +CONFIG_ISDNLOG_CHARGEFILE='charge.dat' +CONFIG_ISDNLOG_LOGFILE='/var/log/isdn.log' +CONFIG_ISDNLOG_RELOADCMD='/etc/init.d/isdn restart' +CONFIG_ISDNLOG_STOPCMD='/etc/init.d/isdn stop' +CONFIG_ISDNLOG_REBOOTCMD='/sbin/reboot' +CONFIG_ISDNLOG_DOCDIR='' +CONFIG_ISDNLOG_OLDI4LCONFDIR='/etc/isdnlog' +CONFIG_ISDNLOG_OLDI4LCONFFILE='isdnlog.conf' +# CONFIG_ISDNLOG_POSTGRES is not set +# CONFIG_ISDNLOG_MYSQLDB is not set +# CONFIG_ISDNLOG_ORACLE is not set +CONFIG_ISDN_LOG_XX=y +CONFIG_ISDN_LOG_CC='' +CONFIG_ISDN_LOG_CC_EN=y +CONFIG_ISDN_LOG_DEST_DE=y +CONFIG_ISDN_LOG_DEST_AT=y +CONFIG_ISDN_LOG_DEST_NL=y +CONFIG_ISDN_LOG_DEST_CH=y +CONFIG_ISDN_LOG_DEST_BE=y +CONFIG_ISDN_LOG_DEST_CN=y +CONFIG_IPPPSTATS=y +CONFIG_XISDNLOAD=y +CONFIG_XMONISDN=y + +# +# Options for xmonisdn +# +CONFIG_XMONISDN_UPCMD='/etc/isdn/netup' +CONFIG_XMONISDN_DOWNCMD='/etc/isdn/netdown' + +# +# Applications +# +# CONFIG_VBOX is not set +CONFIG_IPPPD=y + +# +# Options for ipppd +# +CONFIG_IPPPD_MSCHAP=y +CONFIG_IPPP_FILTER=y +# CONFIG_IPPPD_RADIUS is not set +# CONFIG_RADIUS_WTMP_LOGGING is not set +RADIUS_CLIENT_CONFIG_FILE='' +# CONFIG_CAPIFAX is not set +# CONFIG_RCAPID is not set +# CONFIG_PPPDCAPIPLUGIN is not set +CONFIG_EUROFILE=y + +# +# Options for eurofile +# +CONFIG_EFTD=y +CONFIG_EFTD_WUAUTH=y +CONFIG_EFTD_SERVER_MSN='' +# CONFIG_EFT_INSTALL_EFTD_SH is not set +CONFIG_EFTP=y +CONFIG_EFTP_READLINE=y +# CONFIG_EFTP_SETUID is not set +CONFIG_EFTP_CLIENT_MSN='' +CONFIG_EFT_INSTALL_CONF=y + +# +# Documentation +# +CONFIG_GENMAN=y +# CONFIG_FAQ is not set diff --git a/net-dialup/isdn4k-utils/files/digest-isdn4k-utils-3.7_pre20050329 b/net-dialup/isdn4k-utils/files/digest-isdn4k-utils-3.7_pre20050329 new file mode 100644 index 000000000000..03c7ee362540 --- /dev/null +++ b/net-dialup/isdn4k-utils/files/digest-isdn4k-utils-3.7_pre20050329 @@ -0,0 +1 @@ +MD5 cc4ed55aecb2f612ef51d88a0345a56f isdn4k-utils-CVS-2005-03-29.tar.bz2 5579826 diff --git a/net-dialup/isdn4k-utils/files/hisax.conf b/net-dialup/isdn4k-utils/files/hisax.conf new file mode 100644 index 000000000000..3e3ef67a75e0 --- /dev/null +++ b/net-dialup/isdn4k-utils/files/hisax.conf @@ -0,0 +1,48 @@ +# Copyright 1999-2004 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-dialup/isdn4k-utils/files/hisax.conf,v 1.1 2005/03/29 08:40:14 mrness Exp $ + +# Please read the HiSax kernel documentation first: +# /usr/src/linux/Documentation/isdn/README.HiSax +# +# Then uncomment your cards below or add your own settings. +# If you want your specific card to be added to the list +# below, then drop me a line with your settings: +# Stefan Briesenick <sbriesen@gmx.de> + +# 'proto' can be: 1TR6 DSS1 NI1 LEASED +# 'debug' is optional, default is 4 (D-Channel Frames for isdnlog) +# 'id' is optional, but should be unique (see README.HiSax) + +# type proto io (io0,io1) irq mem debug id (optional) + +# Teles 16.0 +#1 DSS1 0xd80 5 0xd0000 - teles + +# Teles 16.3 +#3 DSS1 0x280 10 - - teles + +# Teles 16.3 PnP (values from isapnp setup, uses io0/io1) +#4 DSS1 0x580,0x180 10 - - teles + +# Fritz A1 +#5 DSS1 0x340 10 - - fritz + +# ELSA PCC/PCF +#6 DSS1 - - - - elsa + +# ELSA-QS3000 (values from isapnp setup) +#7 DSS1 0x160 3 - - qs3000 + +# Teles PCMCIA +#8 DSS1 0x180 15 - - teles + +# Sedlbauer Speed Fax+ PCI +#28 DSS1 - - - - speedfax + +# ASUSTeK ISDNLink P-IN100-ST-D (rev 02) +#35 DSS1 - - - - asustek + +# AVM Fritz PCI/PnP (fake type, will use hisax_fcpcipnp) +#99 DSS1 - - - - + diff --git a/net-dialup/isdn4k-utils/files/hisax.initd b/net-dialup/isdn4k-utils/files/hisax.initd new file mode 100644 index 000000000000..8502a238f60e --- /dev/null +++ b/net-dialup/isdn4k-utils/files/hisax.initd @@ -0,0 +1,212 @@ +#!/sbin/runscript +# Copyright 1999-2004 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-dialup/isdn4k-utils/files/hisax.initd,v 1.1 2005/03/29 08:40:14 mrness Exp $ + +opts="start stop" + +depend() { + use isapnp pcmcia +} + +check_module() { + /bin/grep 2>/dev/null -q "^${1} " /proc/modules +} + +get_first_free_idx() { + local -a _idxa + local _it _lin _idx=-1 + if ! read _it _lin < <(/usr/bin/head 2>/dev/null -n1 /dev/isdninfo); then + echo "0"; return + fi + read -a _idxa < <(echo $_lin) + while [ $_idx -lt 65 ]; do + : $((_idx++)) + if [ "${_idxa[$_idx]}" = "-" ]; then + echo $((_idx / 2)); return + fi + done +} + +read_config() { + HISAX_TYPE="" + HISAXFC_TYPE="" + HISAX_DEBUG="" + HISAX_FIRMWARE="" + HISAX_CNT=$(get_first_free_idx) + while read H_TYPE H_PROTO H_IO H_IRQ H_MEM H_DEBUG H_ID; do + + # check and set card id + case ${H_TYPE} in + 99) # AVM Fritz PCI/PnP + H_ID="#<FC>#" # fixed later + ;; + *) # all others + [ -z "${H_ID}" -o "${H_ID}" = "-" ] && H_ID="hisax${HISAX_CNT}" + H_ID="${H_ID//\%/-}"; H_ID="${H_ID// /_}" + ;; + esac + + # convert protocol to number + case "$H_PROTO" in + [eE][dD][sS][sS]1) H_PROTO_NR=2 ;; # EDSS1 + [eE][uU][rR][oO]) H_PROTO_NR=2 ;; # EDSS1 + [dD][sS][sS]1) H_PROTO_NR=2 ;; # EDSS1 + 1[tT][rR]6) H_PROTO_NR=1 ;; # 1TR6 + [nN][iI]1) H_PROTO_NR=4 ;; # NI1 + [lL][eE][aA][sS][eE][dD]) H_PROTO_NR=3 ;; # leased + *) return 1 ;; # error! + esac + + # split IO option (needed for Teles PnP) + if [ "${H_IO/,}" = "${H_IO}" ]; then + H_IO0="-" + H_IO1="-" + else + H_IO0="${H_IO%%,*}" + H_IO1="${H_IO##*,}" + H_IO="-" + fi + + # check debug option and build list + [ -z "${H_DEBUG}" -o "${H_DEBUG}" = "-" ] && H_DEBUG=4 + [ -z "${HISAX_DEBUG}" ] \ + && HISAX_DEBUG="${H_ID}%${H_DEBUG//\%}" \ + || HISAX_DEBUG="${HISAX_DEBUG} ${H_ID}%${H_DEBUG//\%}" + + # build list of cards which needs ISAR.BIN firmware + case ${H_TYPE} in + 28|29) [ -z "${HISAX_FIRMWARE}" ] \ + && HISAX_FIRMWARE="${H_ID}" \ + || HISAX_FIRMWARE="${HISAX_FIRMWARE} ${H_ID}" + ;; + esac + + # build options + case ${H_TYPE} in + 99) # AVM Fritz PCI/PnP + if [ -z "${HISAXFC_TYPE}" ]; then + HISAXFC_TYPE="${H_TYPE}" + HISAXFC_PROTO="${H_PROTO_NR}" + else + HISAXFC_TYPE="${HISAXFC_TYPE},${H_TYPE}" + HISAXFC_PROTO="${HISAXFC_PROTO},${H_PROTO_NR}" + fi + ;; + *) # all others + : $((HISAX_CNT++)) + if [ -z "${HISAX_TYPE}" ]; then + HISAX_TYPE="${H_TYPE}" + HISAX_IRQ="${H_IRQ//-}" + HISAX_MEM="${H_MEM//-}" + HISAX_IO="${H_IO//-}" + HISAX_IO0="${H_IO0//-}" + HISAX_IO1="${H_IO1//-}" + HISAX_ID="${H_ID}" + HISAX_PROTO="${H_PROTO_NR}" + HISAX_DUMMY="" + else + HISAX_TYPE="${HISAX_TYPE},${H_TYPE}" + HISAX_IRQ="${HISAX_IRQ},${H_IRQ//-}" + HISAX_IO="${HISAX_IO},${H_IO//-}" + HISAX_IO0="${HISAX_IO0},${H_IO0//-}" + HISAX_IO1="${HISAX_IO1},${H_IO1//-}" + HISAX_MEM="${HISAX_MEM},${H_MEM//-}" + HISAX_ID="${HISAX_ID}%${H_ID}" + HISAX_PROTO="${HISAX_PROTO},${H_PROTO_NR}" + HISAX_DUMMY="${HISAX_DUMMY}," + fi + ;; + esac + + done < <(/bin/sed 2>/dev/null -ne "s:^[[:space:]]*\([1-9][0-9]\?[[:space:]]\+[^#]*\)[#]*.*$:\1:p" "$@") + + # build final hisax options + if [ -n "$HISAX_TYPE" ]; then + HISAX_OPTIONS="type=${HISAX_TYPE}" + [ "$HISAX_IRQ" = "$HISAX_DUMMY" ] || HISAX_OPTIONS="${HISAX_OPTIONS} irq=${HISAX_IRQ}" + [ "$HISAX_IO" = "$HISAX_DUMMY" ] || HISAX_OPTIONS="${HISAX_OPTIONS} io=${HISAX_IO}" + [ "$HISAX_IO0" = "$HISAX_DUMMY" ] || HISAX_OPTIONS="${HISAX_OPTIONS} io0=${HISAX_IO0}" + [ "$HISAX_IO1" = "$HISAX_DUMMY" ] || HISAX_OPTIONS="${HISAX_OPTIONS} io1=${HISAX_IO1}" + [ "$HISAX_MEM" = "$HISAX_DUMMY" ] || HISAX_OPTIONS="${HISAX_OPTIONS} mem=${HISAX_MEM}" + HISAX_OPTIONS="${HISAX_OPTIONS} protocol=${HISAX_PROTO} id=${HISAX_ID}" + fi + + # build final hisax_fcpcipnp options + if [ -n "$HISAXFC_TYPE" ]; then + HISAXFC_OPTIONS="protocol=${HISAXFC_PROTO}" + fi + + return 0 +} + +start() { + if [ ! -e /etc/hisax.conf ]; then + eerror "You're missing /etc/hisax.conf" + return 1 + fi + + if ! read_config /etc/hisax.conf; then + eerror "You have an configuration error in /etc/hisax.conf" + return 1 + fi + + if [ -z "${HISAX_TYPE}" -a -z "${HISAXFC_TYPE}" ]; then + eerror "You have not configured /etc/hisax.conf" + return 1 + fi + + ebegin "Loading HiSax driver" + if [ -n "${HISAX_TYPE}" ]; then + /sbin/modprobe -s hisax ${HISAX_OPTIONS} && check_module hisax + if [ $? -ne 0 ]; then + /sbin/modprobe -sqr hisax_fcpcipnp + /sbin/modprobe -sqr hisax + eend 1; return 1 + fi + fi + if [ -n "${HISAXFC_TYPE}" ]; then + /sbin/modprobe -s hisax_fcpcipnp ${HISAXFC_OPTIONS} && check_module hisax_fcpcipnp + if [ $? -ne 0 ]; then + /sbin/modprobe -sqr hisax_fcpcipnp + /sbin/modprobe -sqr hisax + eend 1; return 1 + fi + fi + eend $? + + if [ -n "${HISAX_FIRMWARE}" ]; then + for ID in ${HISAX_FIRMWARE}; do + ebegin "Loading firmware to ${ID}" + /usr/sbin/hisaxctrl ${ID} 9 /lib/firmware/ISAR.BIN + if ! eend $?; then + /sbin/modprobe -sqr hisax_fcpcipnp + /sbin/modprobe -sqr hisax + return 1 + fi + done + fi + + CARDS="" + if [ -n "${HISAX_DEBUG}" ]; then + for DBG in ${HISAX_DEBUG}; do + ID="${DBG%%\%*}" + VAL="${DBG##*\%}" + if [ "${ID}" = "#<FC>#" ]; then + ID="fcpcipnp${HISAX_CNT}" + : $((HISAX_CNT++)) + fi + /usr/sbin/hisaxctrl ${ID} 1 ${VAL} + [ -z "${CARDS}" ] && CARDS="${ID}" || CARDS="${CARDS} ${ID}" + done + fi + + [ -n "${CARDS}" ] && einfo "HiSax cards: ${CARDS}" +} + +stop() { + ebegin "Unloading HiSax driver" + /sbin/modprobe -sqr hisax_fcpcipnp && /sbin/modprobe -sqr hisax + eend $? +} + diff --git a/net-dialup/isdn4k-utils/files/hisax.usermap b/net-dialup/isdn4k-utils/files/hisax.usermap new file mode 100644 index 000000000000..62290f15e517 --- /dev/null +++ b/net-dialup/isdn4k-utils/files/hisax.usermap @@ -0,0 +1 @@ +hisax 0x0003 0x0483 0x4810 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x00000000 diff --git a/net-dialup/isdn4k-utils/files/ioptions b/net-dialup/isdn4k-utils/files/ioptions new file mode 100644 index 000000000000..60a59c22dd0b --- /dev/null +++ b/net-dialup/isdn4k-utils/files/ioptions @@ -0,0 +1,6 @@ +# Copyright 1999-2004 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-dialup/isdn4k-utils/files/ioptions,v 1.1 2005/03/29 08:40:14 mrness Exp $ + +# System-wide configuration for ipppd. +# Normally, put all options into options.ipppX diff --git a/net-dialup/isdn4k-utils/files/isdn.blacklist b/net-dialup/isdn4k-utils/files/isdn.blacklist new file mode 100644 index 000000000000..1c788e5923b7 --- /dev/null +++ b/net-dialup/isdn4k-utils/files/isdn.blacklist @@ -0,0 +1,20 @@ +# Copyright 1999-2004 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-dialup/isdn4k-utils/files/isdn.blacklist,v 1.1 2005/03/29 08:40:14 mrness Exp $ + +# ISDN modules are load from /etc/init.d/{isdn,hisax} +#auerswald +#divas +#act2000 +#hfc_usb +hisax +hisax_fcpcipnp +hisax_st5481 +#hysdn +#icn +#pcbit +#sc +#tpam + +# 2004-12-19 Stefan Briesenick <sbriesen@gmx.de> +# some modules temporarily disabled, because we need an init-script first diff --git a/net-dialup/isdn4k-utils/files/isdn.confd b/net-dialup/isdn4k-utils/files/isdn.confd new file mode 100644 index 000000000000..95d2b1bc3a4d --- /dev/null +++ b/net-dialup/isdn4k-utils/files/isdn.confd @@ -0,0 +1,11 @@ +# Copyright 1999-2004 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-dialup/isdn4k-utils/files/isdn.confd,v 1.1 2005/03/29 08:40:14 mrness Exp $ + +# Location where isdnctrl will save its configuration +ISDNCTRL_CONFIG="/var/lib/isdn/isdnctrl.conf" + +# Location where iprofd will save the modem-register settings +# comment out if you don't want to use iprofd +IPROFD_SETTINGS="/var/lib/isdn/modem-register.dat" + diff --git a/net-dialup/isdn4k-utils/files/isdn.initd b/net-dialup/isdn4k-utils/files/isdn.initd new file mode 100644 index 000000000000..e4e3aa3dad33 --- /dev/null +++ b/net-dialup/isdn4k-utils/files/isdn.initd @@ -0,0 +1,98 @@ +#!/sbin/runscript +# Copyright 1999-2004 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-dialup/isdn4k-utils/files/isdn.initd,v 1.1 2005/03/29 08:40:14 mrness Exp $ + +opts="start stop save reload info show cards" + +depend() { + use capi hisax +} + +check_cards() { + local -a _idxa + local _it _lin _idx=0 + read _it _lin < <(/usr/bin/head 2>/dev/null -n1 /dev/isdninfo) || return 1 + read -a _idxa < <(echo $_lin) + while [ $_idx -lt 65 ]; do + [ "${_idxa[$_idx]}" = "-" ] || return 0 + : $((_idx+=2)); [ -z "${_idxa[$_idx]}" ] && break + done + return 1 +} + +check_module() { + /bin/grep 2>/dev/null -q "^${1} " /proc/modules +} + +start() { + /sbin/modprobe -s isdn && check_module isdn + if [ $? -ne 0 ]; then + eerror "ERROR: could not load ISDN driver" + /sbin/modprobe -sqr isdn + return 1 + fi + + if ! check_cards; then + eerror "ERROR: no ISDN cards available" + /sbin/modprobe -sqr isdn + return 1 + fi + + ebegin "Loading isdnctrl configuration" + [ ! -f "${ISDNCTRL_CONFIG}" ] || /usr/sbin/isdnctrl readconf "${ISDNCTRL_CONFIG}" >/dev/null + eend $? + + if [ -n "${IPROFD_SETTINGS}" ]; then + ebegin "Starting modem-register daemon" + start-stop-daemon --start --quiet --exec /usr/sbin/iprofd -- "${IPROFD_SETTINGS}" + eend $? + fi +} + +stop() { + if [ -n "${IPROFD_SETTINGS}" ]; then + ebegin "Stopping modem-register daemon" + start-stop-daemon --stop --quiet --retry 5 --exec /usr/sbin/iprofd + eend $? + fi + + ebegin "Unloading isdnctrl configuration" + /usr/sbin/isdnctrl reset force >/dev/null + eend $? +} + +save() { + ebegin "Saving isdnctrl configuration" + /usr/sbin/isdnctrl writeconf "${ISDNCTRL_CONFIG}" >/dev/null + eend $? +} + +reload() { + ebegin "Reloading isdnctrl configuration" + /usr/sbin/isdnctrl reset >/dev/null + [ ! -f "${ISDNCTRL_CONFIG}" ] || /usr/sbin/isdnctrl readconf "${ISDNCTRL_CONFIG}" >/dev/null + eend $? +} + +cards() { + local -a _idxa + local _it _lin _idx=0 + if ! read _it _lin < <(/usr/bin/head 2>/dev/null -n1 /dev/isdninfo); then + eerror "ERROR: no ISDN cards available" + return 1 + fi + read -a _idxa < <(echo $_lin) + while [ $_idx -lt 65 ]; do + [ "${_idxa[$_idx]}" = "-" ] || einfo "$((_idx / 2)) ${_idxa[$_idx]}" + : $((_idx+=2)); [ -z "${_idxa[$_idx]}" ] && break + done +} + +info() { + /usr/sbin/isdnctrl status all +} + +show() { + /usr/sbin/isdnctrl list all +} diff --git a/net-dialup/isdn4k-utils/files/isdnlog.confd b/net-dialup/isdn4k-utils/files/isdnlog.confd new file mode 100644 index 000000000000..c51551caaa7d --- /dev/null +++ b/net-dialup/isdn4k-utils/files/isdnlog.confd @@ -0,0 +1,10 @@ +# Copyright 1999-2004 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-dialup/isdn4k-utils/files/isdnlog.confd,v 1.1 2005/03/29 08:40:14 mrness Exp $ + +# here you can add some switches not covered by the +# corresponding /etc/isdnlog.options.contrX file. +# +# see "man (8) isdnlog" for further informations + +ISDNLOG_OPTIONS="" diff --git a/net-dialup/isdn4k-utils/files/isdnlog.initd b/net-dialup/isdn4k-utils/files/isdnlog.initd new file mode 100644 index 000000000000..555b1816720f --- /dev/null +++ b/net-dialup/isdn4k-utils/files/isdnlog.initd @@ -0,0 +1,33 @@ +#!/sbin/runscript +# Copyright 1999-2004 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-dialup/isdn4k-utils/files/isdnlog.initd,v 1.1 2005/03/29 08:40:14 mrness Exp $ + +opts="start stop" + +depend() { + need isdn +} + +start() { + local CONTR="${myservice#*.contr}" CTRL=$((CONTR * 2)) + local CONFIG="/etc/isdn/isdnlog.isdnctrl${CTRL}.options" + [ -e "$CONFIG" ] || CONFIG="/etc/isdn/isdnlog.options.contr${CONTR}" + + if [ ! -e "$CONFIG" ] ; then + eerror "You're missing ${CONFIG}" + return 1 + fi + + ebegin "Starting ISDNLOG for controller #${CONTR}" + start-stop-daemon --start --quiet --pidfile "/var/run/isdnlog.isdnctrl${CTRL}.pid" \ + --exec /usr/sbin/isdnlog -- ${ISDNLOG_OPTIONS} -f "${CONFIG}" "/dev/isdnctrl${CTRL}" + eend $? +} + +stop() { + local CONTR="${myservice#*.contr}" CTRL=$((CONTR * 2)) + ebegin "Stopping ISDNLOG for controller #${CONTR}" + start-stop-daemon --stop --quiet --retry 5 --pidfile "/var/run/isdnlog.isdnctrl${CTRL}.pid" + eend $? +} diff --git a/net-dialup/isdn4k-utils/files/isdnlog.logrotated b/net-dialup/isdn4k-utils/files/isdnlog.logrotated new file mode 100644 index 000000000000..c2417f191869 --- /dev/null +++ b/net-dialup/isdn4k-utils/files/isdnlog.logrotated @@ -0,0 +1,15 @@ +# Copyright 1999-2004 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-dialup/isdn4k-utils/files/isdnlog.logrotated,v 1.1 2005/03/29 08:40:14 mrness Exp $ + +# isdnlog logrotate snippet for Gentoo Linux +# contributed by Stefan Briesenick + +/var/log/isdn.log { + compress + rotate 99 + size=4096k + notifempty + missingok + copytruncate +} diff --git a/net-dialup/isdn4k-utils/files/net.ippp0 b/net-dialup/isdn4k-utils/files/net.ippp0 new file mode 100644 index 000000000000..b072ec12a790 --- /dev/null +++ b/net-dialup/isdn4k-utils/files/net.ippp0 @@ -0,0 +1,101 @@ +#!/sbin/runscript +# Copyright 1999-2004 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-dialup/isdn4k-utils/files/net.ippp0,v 1.1 2005/03/29 08:40:14 mrness Exp $ + +#NB: Config is in /etc/conf.d/net + +depend() { + need isdn +} + +checkconfig() { + if [ -z "$(eval echo \$\{iface_${IFACE}\})" ] + then + eerror "Please make sure that /etc/conf.d/net has \$iface_$IFACE set" + return 1 + fi +} + +start() { + checkconfig || return 1 + + local iface_args="$(eval echo \$\{iface_${IFACE}\})" + local ipppd_opts="" + + ebegin "Starting ipppd for ${IFACE}" + [ -n "${gateway}" ] && [ "${gateway%/*}" = "${IFACE}" ] && ipppd_opts='defaultroute' + /usr/sbin/ipppd ${ipppd_opts} pidfile /var/run/ipppd.${IFACE}.pid file /etc/ppp/options.${IFACE} || { + local retval=$? + eend ${retval} "Failed to start ipppd" + return ${retval} + } + eend 0 + + ebegin "Bringing ${IFACE} up" + /sbin/ifconfig ${IFACE} ${iface_args} >/dev/null || { + local retval=$? + eend ${retval} "Failed to bring ${IFACE} up" + stop + return ${retval} + } + eend 0 + + if [ -n "$(eval echo \$\{inet6_${IFACE}\})" ] + then + local x="" + ebegin " Adding inet6 addresses" + for x in $(eval echo \$\{inet6_${IFACE}\}) + do + ebegin " ${IFACE} inet6 add ${x}" + /sbin/ifconfig ${IFACE} inet6 add ${x} >/dev/null + eend 0 + done + save_options "inet6" "$(eval echo \$\{inet6_${IFACE}\})" + fi + + if [ -n "${gateway}" ] && [ "${gateway%/*}" = "${IFACE}" ] + then + ebegin " Setting default gateway" + /sbin/route add default dev ${gateway%/*} >/dev/null || { + local retval=$? + eend ${retval} "Failed to bring ${IFACE} up" + stop + return ${retval} + } + eend 0 + fi + + # Enabling rp_filter causes wacky packets to be auto-dropped by + # the kernel + if [ -e /proc/sys/net/ipv4/conf/${IFACE}/rp_filter ] + then + echo 1 > /proc/sys/net/ipv4/conf/${IFACE}/rp_filter + fi +} + +stop() { + local myinet6="$(get_options inet6)" + local pidfile="/var/run/ipppd.${IFACE}.pid" + + ebegin "Bringing ${IFACE} down" + + # Also down the inet6 interfaces + if [ -n "${myinet6}" ] + then + local x="" + for x in ${myinet6} + do + /sbin/ifconfig ${IFACE} inet6 del ${x} >/dev/null + done + fi + + /sbin/ifconfig ${IFACE} down >/dev/null + + # Kill ipppd + test -s "${pidfile}" && kill `cat ${pidfile}` + sleep 1 + test -s "${pidfile}" && sleep 2 && test -s "${pidfile}" && einfon "Killing ipppd" && kill -KILL `cat ${pidfile}` + + eend 0 +} diff --git a/net-dialup/isdn4k-utils/files/options.ippp0 b/net-dialup/isdn4k-utils/files/options.ippp0 new file mode 100644 index 000000000000..7e13aed4c6ab --- /dev/null +++ b/net-dialup/isdn4k-utils/files/options.ippp0 @@ -0,0 +1,29 @@ +# Copyright 1999-2004 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-dialup/isdn4k-utils/files/options.ippp0,v 1.1 2005/03/29 08:40:14 mrness Exp $ + +# Example config for a personal ISP dialin +# see "man ipppd" for explanation of all possible options + +# for the defaultroute setting, look in /etc/conf.d/net + +/dev/isdn/ippp0 + +# you have to put login and password into /etc/ppp/pap-secrets too + +name "insert ppp login here" + +lock +ipcp-accept-local +ipcp-accept-remote +noipdefault + +# You might want to try these if you have problems: +#-vj +#-vjccomp +#-ac +#-pc +#-bsdcomp +#mru 1524 +#mtu 1500 +#noccp diff --git a/net-dialup/isdn4k-utils/isdn4k-utils-3.7_pre20050329.ebuild b/net-dialup/isdn4k-utils/isdn4k-utils-3.7_pre20050329.ebuild new file mode 100644 index 000000000000..0d3cefb5e6c1 --- /dev/null +++ b/net-dialup/isdn4k-utils/isdn4k-utils-3.7_pre20050329.ebuild @@ -0,0 +1,232 @@ +# Copyright 1999-2005 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-dialup/isdn4k-utils/isdn4k-utils-3.7_pre20050329.ebuild,v 1.1 2005/03/29 08:40:14 mrness Exp $ + +inherit eutils linux-info + +MY_PV="${PV/*_pre/}" +MY_P="${PN}-CVS-${MY_PV:0:4}-${MY_PV:4:2}-${MY_PV:6:2}" + +DESCRIPTION="ISDN4Linux Utils" +SRC_URI="ftp://ftp.isdn4linux.de/pub/isdn4linux/CVS-Snapshots/${MY_P}.tar.bz2" +HOMEPAGE="http://www.isdn4linux.de/" + +KEYWORDS="~x86 ~amd64 ~alpha" +LICENSE="GPL-2" +IUSE="X unicode" +SLOT="0" + +DEPEND="virtual/linux-sources + virtual/libc + sys-libs/ncurses + sys-libs/gdbm + dev-lang/tcl + X? ( virtual/x11 )" +RDEPEND="${DEPEND} + virtual/modutils + net-dialup/ppp" + +S="${WORKDIR}/${MY_P}" + +pkg_setup() { + CONFIG_CHECK="PPP" + linux-info_pkg_setup + + # Get country code from I4L_CC variable + # default country: DE (Germany) + I4L_CC=$(echo -n "${I4L_CC}" | tr "[:lower:]" "[:upper:]") + [ -z "${I4L_CC}" ] && I4L_CC="DE" + I4L_CC_LOW=$(echo -n "${I4L_CC}" | tr "[:upper:]" "[:lower:]") + + # Get language from I4L_LANG variable ('de' or 'en') + I4L_LANG=$(echo -n "${I4L_CC}" | tr "[:lower:]" "[:upper:]") + if [ -z "${I4L_LANG}" ]; then + case "${I4L_CC}" in + AT|CH|DE) + I4L_LANG="DE" + ;; + *) + I4L_LANG="EN" + ;; + esac + fi + [ "${I4L_LANG}" = "DE" -o "${I4L_LANG}" = "EN" ] || I4L_LANG="EN" +} + +src_unpack() { + unpack ${A} + cd ${S} + + # fix for 2.6 headers + find . -name "*.c" | \ + xargs -r sed -i -e 's:linux/capi.h>$:linux/compiler.h>\n#include <linux/capi.h>:g' + + # patch all Makefiles to use our CFLAGS + find . -name "Makefile*" | \ + xargs -r sed -i -e "s:^CFLAGS\(.*\)-O[26]:CFLAGS\1${CFLAGS}:g" \ + -e "s:^CFLAGS\(.*\)-g:CFLAGS\1${CFLAGS}:g" \ + -e "s:^CFLAGS = -Wall$:CFLAGS = ${CFLAGS}:g" || die "sed failed" + + # install our config + case "${I4L_CC}" in + DE|AT|NL|LU|CH) + # These countries are specially supported in the isdnlog source. + sed -e "s:^CONFIG_ISDN_LOG_XX=:CONFIG_ISDN_LOG_${I4L_CC}=:g" -e "s:^CONFIG_ISDN_LOG_CC=.*$:#:g" \ + -e "s:^\(CONFIG_ISDN_LOG_CC_\)..=:\1${I4L_LANG}=:g" < ${FILESDIR}/config-${PV} > .config || die "failed to modify .config" + ;; + *) + # Others get a generic isdnlog. + sed -e "s:^\(CONFIG_ISDN_LOG_CC=\).*$:\1'${I4L_CC_LOW}':g" \ + -e "s:^\(CONFIG_ISDN_LOG_CC_\)..=:\1${I4L_LANG}=:g" < ${FILESDIR}/config-${PV} > .config || die "failed to modify .config" + ;; + esac + + useq X || \ + sed -i -e "s:^CONFIG_BUILDX11=.*$:#:g" \ + -e "s:^CONFIG_XISDNLOAD=.*$:#:g" \ + -e "s:^CONFIG_XMONISDN=.*$:#:g" .config + + # Patch in order to make generic config for countries which are not known to isdnlog source + sed -i -e "s:\$(INSTALL_DATA) rate-:-\$(INSTALL_DATA) rate-:g" \ + -e "s:\$(INSTALL_DATA) holiday-:-\$(INSTALL_DATA) holiday-:g" isdnlog/Makefile.in + + # if specified, convert all relevant files from latin1 to UTF-8 + if useq unicode; then + for i in isdnlog/samples/{isdn,rate}.conf* isdnlog/*-{at,ch,de,no}.dat isdnlog/{Isdn,.country-alias}; do + iconv -f latin1 -t utf8 -o "${i}~" "${i}" && mv -f "${i}~" "${i}" || rm -f "${i}~" + done + fi +} + +src_compile() { + for i in eicon; do + cd $i && autoconf || \ + die "autoconf failed in dir $i" + cd .. + done + make subconfig || die "make subconfig failed" + make || die "make failed" +} + +src_install() { + keepdir /var/lib/isdn + dodir /dev /etc/isdn /usr/bin /usr/sbin + make DESTDIR=${D} install || die "make install failed" + + # move ISAR.BIN (hisax firmware) to /lib/firmware + insinto /lib/firmware + doins ${D}/usr/share/isdn/ISAR.BIN + rm -f ${D}/usr/share/isdn/ISAR.BIN + + # remove obsolete firmware files (these are in net-dialup/isdn-firmware) + rm -f ${D}/usr/share/isdn/{bip1120.btl,dnload.bin,ds4bri.bit,dspdload.bin} + rm -f ${D}/usr/share/isdn/{loadpg.bin,pc_??_ca.bin,prload.bin,te_????.*} + + # install autoload/hotplug blacklist + insinto /etc/hotplug/blacklist.d + newins ${FILESDIR}/isdn.blacklist isdn + + # install docs (base) + dodoc NEWS README Mini-FAQ/isdn-faq.txt scripts/makedev.sh FAQ/_howto/xp* + + # install docs (ipppd) + docinto ipppd + dodoc LEGAL.ipppcomp ipppd/{README,README.*.ORIG,NOTES.IPPPD} ipppcomp/README.LZS # ipppd/README.RADIUS + docinto ipppd/example + dodoc FAQ/_example/*.txt + docinto ipppd/howto + dodoc FAQ/_howto/{dns*,i4l_ipx*,isdn*,lan*,leased*,masq*,mppp*,ppp*,route*} + + # install docs (isdnlog) + docinto isdnlog + dodoc isdnlog/{BUGS,FAQ,Isdn,NEWS,README*} FAQ/_howto/win* + docinto isdnlog/areacode + dodoc areacode/*.doc + docinto isdnlog/contrib/isdnbill + dodoc isdnlog/contrib/isdnbill/{*.isdnbill,*.gz} + docinto isdnlog/contrib/winpopup + dodoc isdnlog/contrib/winpopup/* + + # install docs (eft) + docinto eft + dodoc eurofile/{CHANGES,INSTALL,README*,TODO} + newdoc eurofile/src/wuauth/README README.AUTHLIB + docinto eft/scripts + dodoc eurofile/scripts/{eft_useradd,check_system,ix25test,eftd.sh,eftp.sh} + + # install init-scripts + newinitd ${FILESDIR}/isdn.initd isdn + newinitd ${FILESDIR}/hisax.initd hisax + newinitd ${FILESDIR}/net.ippp0 net.ippp0 + newinitd ${FILESDIR}/isdnlog.initd isdnlog.contr0 + + # install init-configs + dodir /etc/conf.d # BUG: w/o newconfd failes + newconfd ${FILESDIR}/isdn.confd isdn + newconfd ${FILESDIR}/isdnlog.confd isdnlog.contr0 + + # install example ippp scripts and configs + exeinto /etc/ppp + insinto /etc/ppp + doins ${FILESDIR}/{ioptions,options.ippp0} + + # install example isdn configs + insinto /etc/isdn + doins isdnlog/samples/{isdn,rate}.conf.{at,de,lu,nl,no,pl} + newins isdnlog/samples/isdn.conf isdn.conf.unknown + if [ -f isdnlog/samples/isdn.conf.${I4L_CC_LOW} ]; then + newins isdnlog/samples/isdn.conf.${I4L_CC_LOW} isdn.conf + else + doins isdnlog/samples/isdn.conf + fi + if [ -f isdnlog/samples/rate.conf.${I4L_CC_LOW} ]; then + newins isdnlog/samples/rate.conf.${I4L_CC_LOW} rate.conf + fi + sed -i -e "s:/usr/lib/isdn/:/usr/share/isdn/:g" ${D}/etc/isdn/isdn.conf* + + # install example hisax config + insinto /etc + doins ${FILESDIR}/hisax.conf + + # install sample provider script + exeinto /etc/isdn + doexe isdnlog/samples/provider + + # rename isdnlog options file + insinto /etc/isdn + mv -f ${D}/etc/isdn/isdnlog.isdnctrl0.options ${D}/etc/isdn/isdnlog.options.contr0 + + # install isdnlog data files + insinto /usr/share/isdn + doins isdnlog/*.dat + + # install logrotate configs + insinto /etc/logrotate.d + newins ${FILESDIR}/isdnlog.logrotated isdnlog +} + +pkg_postinst() { + einfo + einfo "Please edit:" + einfo + einfo "- /etc/conf.d/isdn to contain your ISDN kernel modules" + einfo "- /etc/hisax.conf if you have hisax supported cards" + einfo "- /etc/ppp/* critical if you need networking" + einfo + einfo "For isdnlog you should edit:" + einfo + einfo "- /etc/conf.d/isdnlog.contr0" + einfo "- /etc/isdn/isdnlog.options.contr0" + einfo "- /etc/isdn/*.conf" + einfo + einfo "/etc/init.d/isdn will save and restore your isdnctrl config." + einfo "it will also handle the modem-register daemon." + einfo + einfo "/etc/init.d/net.ippp0 will start synchronous PPP connections" + einfo "which you need to set up using isdnctrl first!" + einfo + einfo "/etc/init.d/isdnlog.contr0 starts and stops isdnlog for contr0" + einfo "You can symlink it to isdnlog.contr1 and copy the corresponding" + einfo "configs if you have more than one card." + einfo +} |