diff options
Diffstat (limited to 'net-dialup/isdn4k-utils/isdn4k-utils-3.5_pre20041110-r1.ebuild')
-rw-r--r-- | net-dialup/isdn4k-utils/isdn4k-utils-3.5_pre20041110-r1.ebuild | 214 |
1 files changed, 214 insertions, 0 deletions
diff --git a/net-dialup/isdn4k-utils/isdn4k-utils-3.5_pre20041110-r1.ebuild b/net-dialup/isdn4k-utils/isdn4k-utils-3.5_pre20041110-r1.ebuild new file mode 100644 index 000000000000..76b7b34578a7 --- /dev/null +++ b/net-dialup/isdn4k-utils/isdn4k-utils-3.5_pre20041110-r1.ebuild @@ -0,0 +1,214 @@ +# 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/isdn4k-utils-3.5_pre20041110-r1.ebuild,v 1.1 2004/12/02 13:42:03 dragonheart Exp $ + +inherit eutils + +MY_PV="${PV/*_pre/}" +MY_P="${PN}-CVS-${MY_PV:0:4}-${MY_PV:4:2}-${MY_PV:6:2}" +S="${WORKDIR}/${MY_P}" + +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" + +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}/${PV}/config > .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}/${PV}/config > .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() { + 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" + + # remove obsolete firmware files + 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 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 + exeinto /etc/init.d + newexe ${FILESDIR}/${PV}/isdn.init isdn + newexe ${FILESDIR}/${PV}/net.ippp0 net.ippp0 + newexe ${FILESDIR}/${PV}/isdnlog.init isdnlog.contr0 + + # install init-configs + insinto /etc/conf.d + newins ${FILESDIR}/${PV}/isdn.conf isdn + newins ${FILESDIR}/${PV}/isdnlog.conf isdnlog.contr0 + + # install example scripts and configs + exeinto /etc/ppp + insinto /etc/ppp + doexe ${FILESDIR}/${PV}/{ip-up,ip-down} + doins ${FILESDIR}/${PV}/{ioptions,options.ippp0} + + # install example 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 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}/${PV}/isdnlog.logrotated isdnlog + + + # ippdp.init script for the ebuild thinks ipppd should be in /sbin + dodir /sbin + mv ${D}/usr/sbin/ipppd ${D}/sbin/ipppd +} + +pkg_postinst() { + einfo + einfo "Please edit:" + einfo + einfo "- /etc/conf.d/isdn to contain your ISDN kernel modules" + 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 +} |