diff options
author | Stefan Knoblich <stkn@gentoo.org> | 2005-08-19 19:19:45 +0000 |
---|---|---|
committer | Stefan Knoblich <stkn@gentoo.org> | 2005-08-19 19:19:45 +0000 |
commit | 4c544a2ff7ab0669831ec9dedaceb76c766f158b (patch) | |
tree | 44847559084c2a4bec85ebb1bd7445e3d5f1178d /net-misc/zaptel | |
parent | Stable on ppc. (diff) | |
download | gentoo-2-4c544a2ff7ab0669831ec9dedaceb76c766f158b.tar.gz gentoo-2-4c544a2ff7ab0669831ec9dedaceb76c766f158b.tar.bz2 gentoo-2-4c544a2ff7ab0669831ec9dedaceb76c766f158b.zip |
Pre-release version, work-in-progress.
(Portage version: 2.0.51.22-r2)
Diffstat (limited to 'net-misc/zaptel')
-rw-r--r-- | net-misc/zaptel/ChangeLog | 9 | ||||
-rw-r--r-- | net-misc/zaptel/files/digest-zaptel-1.2.0_pre20050818 | 1 | ||||
-rw-r--r-- | net-misc/zaptel/files/zaptel-1.2.0_pre20050818-gentoo.diff | 124 | ||||
-rw-r--r-- | net-misc/zaptel/zaptel-1.2.0_pre20050818.ebuild | 357 |
4 files changed, 490 insertions, 1 deletions
diff --git a/net-misc/zaptel/ChangeLog b/net-misc/zaptel/ChangeLog index 769d13e9e864..374972397a6c 100644 --- a/net-misc/zaptel/ChangeLog +++ b/net-misc/zaptel/ChangeLog @@ -1,6 +1,13 @@ # ChangeLog for net-misc/zaptel # Copyright 2000-2005 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/net-misc/zaptel/ChangeLog,v 1.56 2005/08/18 18:02:49 stkn Exp $ +# $Header: /var/cvsroot/gentoo-x86/net-misc/zaptel/ChangeLog,v 1.57 2005/08/19 19:19:45 stkn Exp $ + +*zaptel-1.2.0_pre20050818 (19 Aug 2005) + + 19 Aug 2005; Stefan Knoblich <stkn@gentoo.org> + +files/zaptel-1.2.0_pre20050818-gentoo.diff, + +zaptel-1.2.0_pre20050818.ebuild: + Pre-release version, work-in-progress. *zaptel-1.0.9_p1-r1 (18 Aug 2005) diff --git a/net-misc/zaptel/files/digest-zaptel-1.2.0_pre20050818 b/net-misc/zaptel/files/digest-zaptel-1.2.0_pre20050818 new file mode 100644 index 000000000000..c6bc0459e30b --- /dev/null +++ b/net-misc/zaptel/files/digest-zaptel-1.2.0_pre20050818 @@ -0,0 +1 @@ +MD5 a051237a5197fddefdab5f647fdfbf11 zaptel-1.2.0_pre20050818.tar.bz2 484157 diff --git a/net-misc/zaptel/files/zaptel-1.2.0_pre20050818-gentoo.diff b/net-misc/zaptel/files/zaptel-1.2.0_pre20050818-gentoo.diff new file mode 100644 index 000000000000..f8445f72290f --- /dev/null +++ b/net-misc/zaptel/files/zaptel-1.2.0_pre20050818-gentoo.diff @@ -0,0 +1,124 @@ +--- zaptel/Makefile.orig 2005-08-15 18:18:49.000000000 +0200 ++++ zaptel/Makefile 2005-08-15 18:33:42.000000000 +0200 +@@ -21,7 +21,7 @@ + endif + KINCLUDES:=$(KSRC)/include + +-CFLAGS+=-I. -O4 -g -Wall -DBUILDING_TONEZONE #-DTONEZONE_DRIVER ++CFLAGS+=-I. -g -Wall -DBUILDING_TONEZONE #-DTONEZONE_DRIVER + CFLAGS_PPC:=$(shell if uname -m | grep -q ppc; then echo "-fsigned-char"; fi) + CFLAGS_X86-64:=$(shell if uname -m | grep -q x86_64; then echo "-m64"; fi) + CFLAGS+=$(CFLAGS_PPC) $(CFLAGS_X64-64) +@@ -55,27 +55,7 @@ + BUILDVER:=linux24 + endif + +-ifeq ($(BUILDVER),linux26) +- ifneq (,$(wildcard $(ROOT_PREFIX)/etc/modprobe.d)) +- MODCONF:=$(ROOT_PREFIX)/etc/modprobe.d/zaptel +- else +- ifneq (,$(wildcard $(ROOT_PREFIX)/etc/modprobe.conf)) +- MODCONF:=$(ROOT_PREFIX)/etc/modprobe.conf +- else +- ifneq (,$(wildcard $(ROOT_PREFIX)/etc/conf.modules)) +- MODCONF:=$(ROOT_PREFIX)/etc/conf.modules +- endif +- endif +- endif +-else # BUILDVER == linux24 +- ifneq (,$(wildcard $(ROOT_PREFIX)/etc/modutils)) +- MODCONF:=$(ROOT_PREFIX)/etc/modutils/zaptel +- else +- ifneq (,$(wildcard $(ROOT_PREFIX)/etc/modules.conf)) +- MODCONF:=$(ROOT_PREFIX)/etc/modules.conf +- endif +- endif +-endif ++MODCONF:=$(INSTALL_PREFIX)/etc/modules.d/zaptel + + ifeq (${BUILDVER},linux24) + #We only support DEVFS in linux 2.4 kernels, since its considered obsolete post 2.4 +@@ -83,7 +63,7 @@ + endif + ifeq (${BUILDVER},linux26) + #Tests for newer linux-2.6 udev support +-DYNFS:=$(shell ps ax | grep -v grep | grep udevd && echo "yes") ++DYNFS:=$(shell ps ax | grep -v grep | grep -q udevd && echo "yes") + endif + + CHKCONFIG:=$(shell sh -c 'type -p chkconfig' 2> /dev/null) +@@ -312,7 +292,7 @@ + docbook2man -o doc doc/ztmonitor.sgml + gzip doc/ztmonitor.8 + +-install: all devices ++install: devices + install -D -m 755 ztcfg $(INSTALL_PREFIX)/sbin/ztcfg + if [ -f sethdlc-new ]; then \ + install -D -m 755 sethdlc-new $(INSTALL_PREFIX)/sbin/sethdlc; \ +@@ -339,49 +319,27 @@ + rm -f $(INSTALL_PREFIX)/lib/modules/$(KVERS)/misc/wcfxs.o; \ + fi + install -D -m 755 $(LIBTONEZONE_SO) $(INSTALL_PREFIX)/usr/lib/$(LIBTONEZONE_SO).$(LIBTONEZONE_SO_MAJOR_VER).$(LIBTONEZONE_SO_MINOR_VER) +- [ `id -u` = 0 ] && /sbin/ldconfig || : + rm -f $(INSTALL_PREFIX)/usr/lib/$(LIBTONEZONE_SO) + ln -sf $(LIBTONEZONE_SO).$(LIBTONEZONE_SO_MAJOR_VER) $(INSTALL_PREFIX)/usr/lib/$(LIBTONEZONE_SO) +- if [ -x /usr/sbin/sestatus ] && (/usr/sbin/sestatus | grep "SELinux status:" | grep -q "enabled") ; then restorecon -v $(INSTALL_PREFIX)/usr/lib/$(LIBTONEZONE_SO); fi + install -D -m 644 zaptel.h $(INSTALL_PREFIX)/usr/include/linux/zaptel.h + 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 +- install -m 644 doc/ztcfg.8.gz $(INSTALL_PREFIX)/usr/share/man/man8 +- install -m 644 doc/ztmonitor.8.gz $(INSTALL_PREFIX)/usr/share/man/man8 +- install -m 644 doc/zttool.8.gz $(INSTALL_PREFIX)/usr/share/man/man8 +- if [ -f $(MODCONF) ]; then mv -f $(MODCONF) $(MODCONF).bak ; fi +- cat $(MODCONF).bak | grep -v "alias char-major-250" | \ +- grep -v "post-install torisa /sbin/ztcfg" | \ +- grep -v "post-install wcfxsusb /sbin/ztcfg" | \ +- grep -v "alias wctdm" | \ +- grep -v "post-install wctdm /sbin/ztcfg" > $(MODCONF) || true ++ install -D -m 644 doc/ztcfg.8.gz $(INSTALL_PREFIX)/usr/share/man/man8 ++ install -D -m 644 doc/ztmonitor.8.gz $(INSTALL_PREFIX)/usr/share/man/man8 ++ install -D -m 644 doc/zttool.8.gz $(INSTALL_PREFIX)/usr/share/man/man8 ++ if [ ! -d `dirname $(MODCONF)` ]; then install -d -m 755 `dirname $(MODCONF)` ; fi + if ! grep "options torisa" $(MODCONF); then \ + echo "options torisa base=$(BASEADDR)" >> $(MODCONF); \ + fi + if ! grep "alias char-major-196" $(MODCONF); then \ + echo "alias char-major-196 $(PRIMARY)" >> $(MODCONF); \ + fi +- for x in $(MODULES); do \ +- if ! grep -q "post-install $$x" $(MODCONF); then \ +- if ! grep -q "install $$x " $(MODCONF); then \ +- if [ "$$x" != "zaptel" ] ; then \ +- if [ -f zaptel.ko ]; then echo "install $$x /sbin/modprobe --ignore-install $$x && /sbin/ztcfg" >> $(MODCONF); \ +- else echo "post-install $$x /sbin/ztcfg" >> $(MODCONF); \ +- fi; \ +- fi; \ +- fi; \ +- fi; \ +- done + if ! grep "alias wcfxs" $(MODCONF); then \ + echo "alias wcfxs wctdm" >> $(MODCONF); \ + fi + if ! grep "alias wct2xxp" $(MODCONF); then \ + echo "alias wct2xxp wct4xxp" >> $(MODCONF); \ + fi +- if [ -d /etc/modutils ]; then \ +- /sbin/update-modules ; \ +- fi +- [ `id -u` = 0 ] && /sbin/depmod -a || : + [ -f $(CONFIG_FILE) ] || install -D -m 644 zaptel.conf.sample $(CONFIG_FILE) + + install-udev: +--- zaptel/zconfig.h.orig 2005-08-16 21:33:25.000000000 +0200 ++++ zaptel/zconfig.h 2005-08-16 21:33:58.000000000 +0200 +@@ -133,5 +133,10 @@ + */ + /* #define EMFLASH */ + ++/* ++ * Enable RTC support ++ */ ++/* #define USE_RTC */ ++ + #endif diff --git a/net-misc/zaptel/zaptel-1.2.0_pre20050818.ebuild b/net-misc/zaptel/zaptel-1.2.0_pre20050818.ebuild new file mode 100644 index 000000000000..1e67d38a4eea --- /dev/null +++ b/net-misc/zaptel/zaptel-1.2.0_pre20050818.ebuild @@ -0,0 +1,357 @@ +# Copyright 1999-2005 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-misc/zaptel/zaptel-1.2.0_pre20050818.ebuild,v 1.1 2005/08/19 19:19:45 stkn Exp $ + +inherit toolchain-funcs eutils linux-mod + +## TODO: +# +# - bristuff (waiting for next upstream release...) +# - cleanup (work-in-progress) +# - testing of new features (zapras / -net) +# + +#BRI_VERSION="0.2.0-RC8h" +#FLORZ_VERSION="0.2.0-RC8a_florz-6" + +IUSE="devfs26 rtc ecmark ecmark2 ecmark3 ecaggressive ecsteve ecsteve2 watchdog zapras zapnet" + +DESCRIPTION="Drivers for Digium and ZapataTelephony cards" +HOMEPAGE="http://www.asterisk.org" +SRC_URI="http://www.netdomination.org/pub/asterisk/${P}.tar.bz2" +# bri? ( http://www.junghanns.net/asterisk/downloads/bristuff-${BRI_VERSION}.tar.gz ) +# florz? ( http://zaphfc.florz.dyndns.org/zaphfc_${FLORZ_VERSION}.diff.gz )" + +S="${WORKDIR}/${PN}" + +SLOT="0" +LICENSE="GPL-2" +KEYWORDS="~x86 ~ppc ~amd64" + +DEPEND="virtual/libc + virtual/linux-sources + >=dev-libs/newt-0.50.0" + +# list of echo canceller use flags, +# first active in this list is selected (=order does matter) +ZAP_EC_FLAGS="ecmark ecmark2 ecmark3 ecsteve ecsteve2" + +### Begin: Helper functions + +select_echo_cancel() { + local myEC="" + + for x in ${ZAP_EC_FLAGS}; do + if use $x; then + myEC=$(echo "$x" | sed -e "s:^ec::" | tr '[:lower:]' '[:upper:]') + break; + fi + done + + echo ${myEC} +} + +zconfig_disable() { + if grep -q "${1}" ${S}/zconfig.h; then + # match a little more than ${1} so we can use zconfig_disable + # to disable all echo cancellers in zconfig.h w/o calling it several times + sed -i -e "s:^[ \t]*#define[ \t]\+\(${1}[a-zA-Z0-9_-]*\).*:#undef \1:" \ + ${S}/zconfig.h || die "QA error: No substitution performed" + fi + + return $? +} + +zconfig_enable() { + if grep -q "${1}" ${S}/zconfig.h; then + sed -i -e "s:^/\*[ \t]*#define[ \t]\+\(${1}\).*:#define \1:" \ + -e "s:^[ \t]*#undef[ \t]\+\(${1}\).*:#define \1:" \ + ${S}/zconfig.h || die "QA error: No substitution performed" + fi + + return $? +} + +### End: Helper functions + +pkg_setup() { + local result=0 numec=0 + + linux-mod_pkg_setup + + einfo "Running pre-flight checks..." + + # basic zaptel checks + if ! linux_chkconfig_present CRC_CCITT; then + echo + eerror "Your kernel lacks CRC_CCIT support!" + eerror "Enable CONFIG_CRC_CCIT!" + result=$((result+1)) + fi + + # check if multiple echo cancellers have been selected + for x in ${ZAP_EC_FLAGS}; do + use $x && numec=$((numec+1)) + done + if [[ $numec -gt 1 ]]; then + # multiple flags are active, only the first in the ZAP_EC_FLAGS list + # will be used, make sure the user knows about this + echo + ewarn "Multiple echo canceller flags are active but only one will be used!" + ewarn "Selected: $(select_echo_cancel)" + fi + + # we need at least HDLC generic support + if use zapnet && ! linux_chkconfig_present HDLC; then + echo + eerror "zapnet: Your kernel lacks HDLC support!" + eerror "zapnet: Enable CONFIG_HDLC* to use zaptel network support!" + result=$((result+1)) + fi + + # zapras needs PPP support + if use zapras && ! linux_chkconfig_present PPP; then + echo + eerror "zapras: Your kernel lacks PPP support!" + eerror "zapras: Enable CONFIG_PPP* to use zaptel ras support!" + result=$((result+1)) + fi + + # rtc needs linux-2.6 and CONFIG_RTC + if use rtc; then + if ! kernel_is 2 6; then + echo + eerror "rtc: >=Linux-2.6.0 is needed for rtc support!" + result=$((result+1)) + fi + + if ! linux_chkconfig_present RTC; then + eerror "rtc: Your kernel lacks RealTime-Clock support!" + result=$((result+1)) + fi + fi + + if [[ $result -gt 0 ]]; then + echo + ewarn "One or more of the neccessary precondition(s) is/are not met!" + ewarn "Look at the messages above, resolve the problem (or disable the use-flag) and try again" + echo + + # no alcohol or drugs involved here + if [[ $result -lt 3 ]]; then + eerror "[$result Error(s)] Zaptel is not happy :(" + else + eerror "[$result Error(s)] You're making zaptel cry :´(" + fi + die "[$result] Precondition(s) not met" + fi + + echo + einfo "Zaptel is happy and continues... :)" +} + +src_unpack() { + unpack ${A} + + cd ${S} + epatch ${FILESDIR}/${P}-gentoo.diff + + if use devfs26; then + epatch ${FILESDIR}/${PN}-1.0.4-experimental-devfs26.diff + + # fix Makefile to not create device nodes for + # devfs enabled 2.6 kernels + sed -i -e 's:grep -q udevd:grep -q \"udevd\\|devfsd\":' \ + Makefile || die "QA error: No substitution performed" + fi + + # try to apply bristuff patch +# if use bri; then +# einfo "Patching zaptel w/ BRI stuff (${BRI_VERSION})" +# epatch ${FILESDIR}/zaptel-bristuff-${BRI_VERSION}.patch +# +# cd ${WORKDIR}/bristuff-${BRI_VERSION} +# +# if use florz; then +# einfo "Using florz patches (${FLORZ_VERSION}) for zaphfc" +# +# # remove as soon as there's a new florz patch available +# sed -i -e "s:zaptel-1\.0\.7:zaptel-1.0.8:g" \ +# ${WORKDIR}/zaphfc_${FLORZ_VERSION}.diff +# +# epatch ${WORKDIR}/zaphfc_${FLORZ_VERSION}.diff +# fi +# +# # patch includes +# sed -i -e "s:^#include.*zaptel\.h.*:#include <zaptel.h>:" \ +# qozap/qozap.c \ +# zaphfc/zaphfc.c \ +# cwain/cwain.c +# +# # patch makefiles +# sed -i -e "s:^ZAP[\t ]*=.*:ZAP=-I${S}:" \ +# -e "s:^MODCONF=.*:MODCONF=/etc/modules.d/zaptel:" \ +# -e "s:linux-2.6:linux:g" \ +# qozap/Makefile \ +# zaphfc/Makefile \ +# cwain/Makefile +# +# sed -i -e "s:^\(CFLAGS+=-I. \).*:\1 \$(ZAP):" \ +# zaphfc/Makefile +# fi + +### Configuration changes + local myEC + + # prepare zconfig.h + myEC=$(select_echo_cancel) + if [[ -n "${myEC}" ]]; then + einfo "Selected echo canceller: ${myEC}" + # disable default first, set new selected ec afterwards + zconfig_disable ECHO_CAN + zconfig_enable ECHO_CAN_${myEC} + fi + + # enable rtc support on 2.6 + if use rtc && linux_chkconfig_present RTC && kernel_is 2 6; then + einfo "Enabling ztdummy RTC support" + zconfig_enable USE_RTC + fi + + # disable udev support on devfs26 systems + use devfs26 && \ + zconfig_disable CONFIG_ZAP_UDEV + + # enable agressive echo surpression + use ecaggressive && \ + zconfig_enable AGGRESSIVE_SUPPRESSOR + + # ppp ras support + use zapras && \ + zconfig_enable CONFIG_ZAPATA_PPP + + # frame relay, syncppp... + use zapnet && \ + zconfig_enable CONFIG_ZAPATA_NET + + # zaptel watchdog + use watchdog && \ + zconfig_enable CONFIG_ZAPTEL_WATCHDOG +} + +src_compile() { + # build + make KVERS=${KV_FULL} \ + KSRC=/usr/src/linux ARCH=$(tc-arch-kernel) || die + +# if use bri; then +# cd ${WORKDIR}/bristuff-${BRI_VERSION} +# make -C qozap || die +# make -C zaphfc || die +# make -C cwain || die +# fi +} + +src_install() { + make INSTALL_PREFIX=${D} ARCH=$(tc-arch-kernel) \ + KVERS=${KV_FULL} KSRC=/usr/src/linux install || die + + dodoc ChangeLog README README.udev README.Linux26 README.fxsusb zaptel.init + dodoc zaptel.conf.sample LICENSE zaptel.sysconfig + + # additional tools + dobin ztmonitor ztspeed zttest + + # install all header files, several packages need the complete set + # (e.g. sangoma wanpipe) + insinto /usr/include/zaptel + doins *.h + +# if use bri; then +# einfo "Installing bri" +# cd ${WORKDIR}/bristuff-${BRI_VERSION} +# +# insinto /lib/modules/${KV_FULL}/misc +# doins qozap/qozap.${KV_OBJ} +# doins zaphfc/zaphfc.${KV_OBJ} +# doins cwain/cwain.${KV_OBJ} +# +# # install example configs for octoBRI and quadBRI +# insinto /etc +# doins qozap/zaptel.conf.octoBRI +# newins qozap/zaptel.conf zaptel.conf.quadBRI +# newins zaphfc/zaptel.conf zaptel.conf.zaphfc +# +# insinto /etc/asterisk +# doins qozap/zapata.conf.octoBRI +# newins qozap/zapata.conf zapata.conf.quadBRI +# newins zaphfc/zapata.conf zapata.conf.zaphfc +# +# docinto bristuff +# dodoc CHANGES INSTALL +# +# docinto bristuff/qozap +# dodoc qozap/LICENSE qozap/TODO qozap/*.conf* +# +# docinto bristuff/zaphfc +# dodoc zaphfc/LICENSE zaphfc/*.conf +# +# docinto bristuff/cwain +# dodoc cwain/TODO cwain/LICENSE +# fi + + # install init script + newinitd ${FILESDIR}/zaptel.rc6 zaptel + newconfd ${FILESDIR}/zaptel.confd zaptel + + # install devfsd rule file + insinto /etc/devfs.d + newins ${FILESDIR}/zaptel.devfsd zaptel + + # install udev rule file + insinto /etc/udev/rules.d + newins ${FILESDIR}/zaptel.udevd 10-zaptel.rules + + # fix permissions if there's no udev / devfs around + if [[ -d ${D}/dev/zap ]]; then + chown -R root:dialout ${D}/dev/zap + chmod -R u=rwX,g=rwX,o= ${D}/dev/zap + fi +} + +pkg_postinst() { + linux-mod_pkg_postinst + + if use devfs26; then + ewarn "*** Warning! ***" + ewarn "Devfs support for linux-2.6 is experimental and not" + ewarn "supported by digium or the asterisk project!" + echo + ewarn "Send bug-reports to: stkn@gentoo.org" + fi + + echo + einfo "Use the /etc/init.d/zaptel script to load zaptel.conf settings on startup!" + echo + +# if use bri; then +# einfo "Bristuff configs have been merged as:" +# einfo "" +# einfo "${ROOT}etc/" +# einfo " zaptel.conf.zaphfc" +# einfo " zaptel.conf.quadBRI" +# einfo " zaptel.conf.octoBRI" +# einfo "" +# einfo "${ROOT}etc/asterisk/" +# einfo " zapata.conf.zaphfc" +# einfo " zapata.conf.quadBRI" +# einfo " zapata.conf.octoBRI" +# echo +# fi + + # fix permissions if there's no udev / devfs around + if [[ -d ${ROOT}dev/zap ]]; then + chown -R root:dialout ${ROOT}dev/zap + chmod -R u=rwX,g=rwX,o= ${ROOT}dev/zap + fi +} |