blob: 54053993481b575700b4d233a0394621b5772126 (
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
|
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="6"
inherit eutils linux-mod udev
MY_P=vhba-module-${PV}
DESCRIPTION="Virtual (SCSI) Host Bus Adapter kernel module for the CDEmu suite"
HOMEPAGE="http://cdemu.org"
SRC_URI="mirror://sourceforge/cdemu/${MY_P}.tar.bz2"
LICENSE="GPL-2+"
SLOT="0"
KEYWORDS="~amd64 ~hppa ~x86"
IUSE=""
RDEPEND="virtual/udev"
DEPEND="${RDEPEND}
virtual/pkgconfig"
S=${WORKDIR}/${MY_P}
MODULE_NAMES="vhba(block:${S})"
BUILD_TARGETS=modules
pkg_setup() {
CONFIG_CHECK="~BLK_DEV_SR ~CHR_DEV_SG"
check_extra_config
BUILD_PARAMS="KDIR=${KV_OUT_DIR}"
linux-mod_pkg_setup
}
src_prepare() {
# Avoid "make jobserver unavailable" warning and -Werror problems
sed -e '/ccflags/s/-Werror$/-Wall/' \
-i Makefile || die "sed failed"
eapply_user
}
src_install() {
dodoc AUTHORS ChangeLog README
linux-mod_src_install
einfo "Generating udev rules ..."
dodir "$(get_udevdir)"/rules.d
cat > "${D}/$(get_udevdir)"/rules.d/69-vhba.rules <<-EOF || die
# do not edit this file, it will be overwritten on update
#
KERNEL=="vhba_ctl", SUBSYSTEM=="misc", TAG+="uaccess"
EOF
}
pkg_postinst() {
# Older versions of vhba installed their rule file in /etc/udev/rules.d,
# which overrides rules in /lib/udev/rules.d. We remove the old file
# automatically if it is identical to the default one installed by
# vhba-1.2.1 or 20101015-r1. Note that the comment at the top of the rules
# file states that it can be automatically overwritten by the system.
old_rules="${ROOT}etc/udev/rules.d/70-vhba.rules"
if [[ -f "${old_rules}" ]]; then
case "$(md5sum ${old_rules})" in
2959b3cf61cfe6e466cc3516a7bc19de* | 1e7a7e5d6d28c811eeec98ec26ed5d28* )
elog
elog "Removing old ${old_rules} ..."
rm -f "${old_rules}" ||
eerror "Failed, please remove ${old_rules} manually."
;;
* )
ewarn
ewarn "The ${old_rules} file from a previous"
ewarn "installation of ${PN} is overriding ${P}'s"
ewarn "udev rules. Unless you had deliberately customized it,"
ewarn "you should remove it."
ewarn
;;
esac
fi
linux-mod_pkg_postinst
}
|