summaryrefslogtreecommitdiff
blob: 6913618ec38707d44057332620103ef578822a88 (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
# Copyright 1999-2008 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/net-wireless/ipw3945d/ipw3945d-1.7.22-r6.ebuild,v 1.1 2008/03/21 12:52:20 lack Exp $

inherit eutils

DESCRIPTION="Regulatory daemon for the Intel PRO/Wireless 3945ABG miniPCI express adapter"
HOMEPAGE="http://www.bughost.org/ipw3945/"
SRC_URI="http://www.bughost.org/ipw3945/daemon/${P}.tgz"

LICENSE="ipw3945"
SLOT="0"
KEYWORDS="~amd64 ~x86"

IUSE=""
DEPEND=""

RESTRICT="strip"

pkg_setup() {
	# Create a user for the ipw3945d daemon
	enewuser ipw3945d -1
}

src_install() {
	into /
	use x86 && dosbin x86/ipw3945d
	use amd64 && dosbin x86_64/ipw3945d

	# Give the ipw3945d access to the binary
	fowners ipw3945d:root /sbin/ipw3945d
	fperms 04450 /sbin/ipw3945d

	keepdir /var/run/ipw3945d
	fowners ipw3945d:root /var/run/ipw3945d

	newconfd "${FILESDIR}/${PN}-conf.d" ${PN}
	newinitd "${FILESDIR}/${PN}-init.d" ${PN}

	insinto /etc/modprobe.d
	newins "${FILESDIR}/${P}-modprobe.conf" ${PN}

	dodoc README.${PN}
}

pkg_postinst() {
	# Update the modprobe.d cache
	if [ "${ROOT}" = "/" ] && [ -f "${ROOT}/etc/modprobe.d/${PN}" ] ; then
		ebegin "Updating modules.conf"
		[ -x /sbin/update-modules ] && /sbin/update-modules --force || /sbin/modules-update --force
		eend $?
	fi

	echo

	# These nasty live-filesystem fixes are needed, because if the files are
	# already there, the permissions applied in src_install() won't get
	# merged to the live filesystem. Once portage is fixed with regard to
	# this, these hacks can go away.

	# Fix the permissions of /sbin/ipw3945d
	ebegin "Fixing permissions of ${ROOT}sbin/ipw3945d"
	chown ipw3945d:root "${ROOT}sbin/ipw3945d"
	chmod 04450 "${ROOT}sbin/ipw3945d"
	eend $?

	# Fixing ownership of /var/run/ipw3945d
	ebegin "Fixing ownership of ${ROOT}var/run/ipw3945d"
	chown ipw3945d:root "${ROOT}var/run/ipw3945d"
	eend $?

	echo

	einfo "The ipw3945 daemon is now started by udev. The daemon should be"
	einfo "brought up automatically once you reboot. Also make sure when you"
	einfo "update from a previous version, you need to reboot in order to"
	einfo "replace an existing version of this daemon!"
}