summaryrefslogtreecommitdiff
blob: fb39d045ff77c6bc1a34d6e7a36c374661c0cc79 (plain)
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
# Copyright 1999-2008 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/net-dialup/eagle-usb/eagle-usb-2.3.3.ebuild,v 1.7 2008/06/04 18:32:10 flameeyes Exp $

inherit linux-mod eutils autotools

DESCRIPTION="GPL Driver for Eagle Chipset powered ADSL modem"
SRC_URI="http://baud123.free.fr/eagle-usb/${PN}-${PV%.*}/${P}.tar.bz2"
HOMEPAGE="http://www.eagle-usb.org/"

LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE=""

RDEPEND="net-dialup/ppp
	!net-dialup/ueagle-atm
	virtual/logger"

MODULE_NAMES="${PN}(net:${S}/driver)"
CONFIG_CHECK="!IPV6 USB"
BUILD_TARGETS=" "

pkg_setup() {
	if kernel_is ge 2 6 16; then
		eerror "This driver should be used only with kernel versions less than 2.6.16."
		eerror "Please install and use the driver included in your kernel instead."
		eerror
		eerror "The kernel option that enables the driver is CONFIG_USB_UEAGLEATM."
		eerror "You should also install firmware files available through net-dialup/ueagle-atm."
		die "unsupported kernel version"
	fi
	linux-mod_pkg_setup
	BUILD_PARAMS="KERNELSRC='${KV_DIR}'"
}

src_unpack() {
	unpack ${A}

	epatch "${FILESDIR}/${P}-kernel-2.6.14.patch"
	eautoreconf
}

src_compile() {
	CONFIG_FILES=Makefile.common econf --with-kernel-src="${KV_DIR}" || die "econf failed"
	for i in pppoa utils/scripts utils/eagleconnect; do
		emake -C ${i} || die "emake ${i} failed"
	done

	linux-mod_src_compile
}

src_install() {
	linux-mod_src_install

	for i in driver/firmware driver/user pppoa utils/scripts utils/eagleconnect; do
		make DESTDIR="${D}" -C ${i} install || die "make ${i} install failed"
	done

	doman doc/man/*
	dodoc README ChangeLog

	newinitd "${FILESDIR}/initd" "${PN}"
	newconfd "${FILESDIR}/confd" "${PN}"
	insopts -m 600 ; insinto /etc/ppp/peers ; doins "${FILESDIR}/dsl.peer"
}

pkg_postinst() {
	linux-mod_pkg_postinst

	ewarn "Please set METHOD in /etc/conf.d/${PN} to the needed value:"
	ewarn "dhcpip:"
	ewarn "          Make sure you have dhcpcd emerged."
	ewarn "staticip:"
	ewarn "          Set your static IP in /etc/conf.d/eagle-adsl"
	ewarn "dhcpip && staticip: You can use the following to set up the eagle conf-files:"
	ewarn 'sed -i -e "s/Encapsulation *= *[0-9]\+/Encapsulation=00000004/" /etc/eagle-usb/eagle-usb.conf'
	ewarn 'sed -i -e "s/VCI *= *[0-9]\+/VCI=00000024/" /etc/eagle-usb/eagle-usb.conf'
	ewarn "pppoa:"
	ewarn "          Make sure you have kernel support for HDCL and PPP"
	ewarn "          Edit /etc/ppp/peers/dsl.peer to insert your username as"
	ewarn "          well as /etc/ppp/chap-secrets and /etc/ppp/pap-secrets"
	ewarn
	ewarn "          dsl.peer contains the \"usepeerdns\" option so, you"
	ewarn "          should consider making a symlink named /etc/resolv.conf"
	ewarn "          and pointing to /etc/ppp/resolv.conf:"
	ewarn "rm /etc/resolv.conf"
	ewarn "ln -s /etc/ppp/resolv.conf /etc/resolv.conf"
}