1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
|
# 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.0.4-r1.ebuild,v 1.4 2005/09/15 02:38:26 stkn Exp $
IUSE="devfs26"
inherit toolchain-funcs eutils linux-info
DESCRIPTION="Drivers for Digium and ZapataTelephony cards"
HOMEPAGE="http://www.asterisk.org"
SRC_URI="ftp://ftp.digium.com/pub/telephony/zaptel/old/zaptel-${PV}.tar.gz"
SLOT="0"
LICENSE="GPL-2"
KEYWORDS="~x86 ~ppc ~amd64"
DEPEND="virtual/libc
virtual/linux-sources
>=dev-libs/newt-0.50.0"
pkg_setup() {
local pause_sec=0
linux-info_pkg_setup
if ! linux_chkconfig_present PPP ; then
einfo ""
einfo "PPP support isn't enabled or available as a module."
einfo ""
einfo "If you aren't using PPP (eg. you're using voice ISDN"
einfo "or non-PPP data), then this is okay."
einfo "Otherwise, if you want to use PPP over your hardware"
einfo "please quit now and reconfigure your kernel to include"
einfo "CONFIG_PPP, CONFIG_PPP_ASYNC, CONFIG_PPP_DEFLATE"
einfo "and CONFIG_PPPOE."
einfo ""
pause_sec=10
fi
# show an nice warning message about zaptel not supporting devfs on 2.6
if kernel_is 2 6 && linux_chkconfig_present DEVFS_FS ; then
echo
einfo "You're using a 2.6 kernel with DEVFS."
einfo "The Zaptel drivers won't work unless you either:"
einfo " * switch to udev"
einfo " * write a script that re-creates the necessary device nodes for you"
einfo " * enable the devfs26 useflag (see below)"
einfo ""
einfo "There's an experimental patch which adds devfs support when using linux-2.6, but:"
einfo " 1. It's an ugly hack atm and needs a cleanup..."
einfo " 2. I was only abled to test loding / unloading with the ztd-eth driver..."
einfo " 3. I _really_ don't know if it works with real hardware..."
einfo " 4. It disables udev support to avoid conflicts"
eerror " 5. And more important: This is not officially supported by Digium / the Asterisk project!"
einfo ""
einfo "If you're still interested, abort now (ctrl+c) and enable the devfs26 USE-flag"
einfo "Feedback and bug-reports should go to: stkn@gentoo.org"
einfo "You have been warned!"
echo
pause_sec=$(($pause_sec + 20))
fi
# wait once, not multiple times
if [[ $pause_sec -gt 0 ]]; then
einfo "Sleeping $pause_sec seconds"
epause $pause_sec
fi
}
src_unpack() {
unpack ${A}
cd ${S}
# >= 1.0.3 requires new patch (-modulesd patch renamed to -gentoo)
epatch ${FILESDIR}/${PN}-1.0.3-gentoo.diff
# remove all from install target
sed -i -e "s#^\(install:\)[ \t]\+all[ \t]\+\(.*\)#\1 \2#" Makefile
# enable ztdummy...
sed -i -e "s:#\( ztdummy.*\):\1:" Makefile
# devfs support
if use devfs26; then
einfo "Enabling experimental devfs support for linux-2.6..."
epatch ${FILESDIR}/${PN}-1.0.4-experimental-devfs26.diff
# disable udev
sed -i -e "s:#define[\t ]\+\(CONFIG_ZAP_UDEV\):#undef \1:" \
zconfig.h
fi
# apply patch for gcc-3.4.x if that's the compiler in use...
# fixes (#76707)
if use x86 && [[ `gcc-fullversion` = "3.4.3" ]]; then
epatch ${FILESDIR}/${P}-gcc34.patch
fi
}
src_compile() {
make ARCH=$(tc-arch-kernel) || die
}
src_install() {
make INSTALL_PREFIX=${D} 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 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() {
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!"
# 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
}
|