blob: 057915718310b740942c293f56b7581f5295e5b2 [file] [log] [blame]
# Copyright 1999-2014 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI="5"
inherit linux-mod user 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
enewgroup cdemu
}
src_prepare() {
# Avoid "make jobserver unavailable" warning and -Werror problems
sed -e '/ccflags/s/-Werror$/-Wall/' \
-i Makefile || die "sed failed"
}
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/70-vhba.rules <<-EOF || die
# do not edit this file, it will be overwritten on update
#
KERNEL=="vhba_ctl", MODE="0660", OWNER="root", GROUP="cdemu"
EOF
}
pkg_postinst() {
elog "Don't forget to add your user to the cdemu group if you want to"
elog "be able to use virtual cdemu devices."
# 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
}