diff options
author | Peter Weller <welp@gentoo.org> | 2008-03-30 22:29:51 +0000 |
---|---|---|
committer | Peter Weller <welp@gentoo.org> | 2008-03-30 22:29:51 +0000 |
commit | 41105efb54a1909ba9e20cf4adcd8641aef565cb (patch) | |
tree | 19f0cf7820e14cc5bd629127c15a2bbe33b131e3 /app-laptop/hdapsd | |
parent | Stable for HPPA (bug #215485). (diff) | |
download | gentoo-2-41105efb54a1909ba9e20cf4adcd8641aef565cb.tar.gz gentoo-2-41105efb54a1909ba9e20cf4adcd8641aef565cb.tar.bz2 gentoo-2-41105efb54a1909ba9e20cf4adcd8641aef565cb.zip |
Bump; bug 141565
(Portage version: 2.1.4.4)
Diffstat (limited to 'app-laptop/hdapsd')
-rw-r--r-- | app-laptop/hdapsd/ChangeLog | 9 | ||||
-rw-r--r-- | app-laptop/hdapsd/hdapsd-20060409-r2.ebuild | 100 |
2 files changed, 107 insertions, 2 deletions
diff --git a/app-laptop/hdapsd/ChangeLog b/app-laptop/hdapsd/ChangeLog index 8cbc3299392d..27f0ac97e06d 100644 --- a/app-laptop/hdapsd/ChangeLog +++ b/app-laptop/hdapsd/ChangeLog @@ -1,6 +1,11 @@ # ChangeLog for app-laptop/hdapsd -# Copyright 1999-2007 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/app-laptop/hdapsd/ChangeLog,v 1.8 2008/03/17 16:20:39 chainsaw Exp $ +# Copyright 1999-2008 Gentoo Foundation; Distributed under the GPL v2 +# $Header: /var/cvsroot/gentoo-x86/app-laptop/hdapsd/ChangeLog,v 1.9 2008/03/30 22:29:51 welp Exp $ + +*hdapsd-20060409-r2 (30 Mar 2008) + + 30 Mar 2008; Peter Weller <welp@gentoo.org> +hdapsd-20060409-r2.ebuild: + Bump; bug 141565 *hdapsd-20060409-r1.ebuild (29 Aug 2007) *hdapsd-20060409.ebuild (29 Aug 2007) diff --git a/app-laptop/hdapsd/hdapsd-20060409-r2.ebuild b/app-laptop/hdapsd/hdapsd-20060409-r2.ebuild new file mode 100644 index 000000000000..c56c05a5071d --- /dev/null +++ b/app-laptop/hdapsd/hdapsd-20060409-r2.ebuild @@ -0,0 +1,100 @@ +# Copyright 1999-2008 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/app-laptop/hdapsd/hdapsd-20060409-r2.ebuild,v 1.1 2008/03/30 22:29:51 welp Exp $ + +inherit eutils linux-info + +PROTECT_VER="2" + +DESCRIPTION="IBM ThinkPad Harddrive Active Protection disk head parking daemon" +HOMEPAGE="http://hdaps.sourceforge.net/" +SRC_URI="mirror://gentoo/${P}.c.bz2 + mirror://gentoo/hdaps_protect-patches-${PROTECT_VER}.tar.bz2" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~x86" + +IUSE="" +RDEPEND="" + +S="${WORKDIR}" + +src_compile() { + # We require the hdaps module; problem is that it can come from either + # kernel sources or from the tp_smapi package. This hack is required because + # the linux-info eclass doesn't export any more suitable config checkers. + # Here we just skip calling its pkg_setup() in case the module is provided + # by the package. + + if ! has_version app-laptop/tp_smapi || ! built_with_use app-laptop/tp_smapi hdaps; then + CONFIG_CHECK="SENSORS_HDAPS" + ERROR_SENSORS_HDAPS="${P} requires support for HDAPS (CONFIG_SENSORS_HDAPS)" + linux-info_pkg_setup + fi + + cd "${WORKDIR}" + gcc ${CFLAGS} "${P}".c -o hdapsd || die "failed to compile" +} + +src_install() { + dosbin "${WORKDIR}"/hdapsd + newconfd "${FILESDIR}"/hdapsd.conf hdapsd + newinitd "${FILESDIR}"/hdapsd.init hdapsd + + # Install our kernel patches + dodoc *.patch "${FILESDIR}"/hdaps-Z60m.patch +} + +# Yes, this sucks as the source location may change, kernel sources may not be +# installed, but we try our best anyway +kernel_patched() { + get_version + + if grep -qs "blk_protect_register" "${KERNEL_DIR}"/block/ll_rw_blk.c ; then + einfo "Your kernel has already been patched for blk_freeze" + return 0 + fi + + return 1 +} + +pkg_config() { + kernel_patched && return 0 + + local docdir="${ROOT}/usr/share/doc/${PF}/" + local p="hdaps_protect-${KV_MAJOR}.${KV_MINOR}.${KV_PATCH}.patch.gz" + + # We need to find our FILESDIR as it's now lost + if [[ ! -e ${docdir}/${p} ]] ; then + eerror "We don't have a patch for kernel ${KV_MAJOR}.${KV_MINOR}.${KV_PATCH} yet" + return 1 + fi + + if [[ ! -d ${KERNEL_DIR} ]] ; then + eerror "Kernel sources not found!" + return 1 + fi + + cd "${KERNEL_DIR}" + epatch "${docdir}/${p}" + + # This is just a nice to have for me as I use a Z60m myself + if ! grep -q "Z60m" "${KERNEL_DIR}"/drivers/hwmon/hdaps.c ; then + epatch "${docdir}"/hdaps-Z60m.patch.gz + fi + + echo + einfo "Now you should rebuild your kernel, its modules" + einfo "and then install them." +} + +pkg_postinst(){ + [[ -n $(ls "${ROOT}"/sys/block/*/queue/protect 2>/dev/null) ]] && return 0 + + if ! kernel_patched ; then + ewarn "Your kernel has NOT been patched for blk_freeze" + elog "The ebuild can attempt to patch your kernel like so" + elog " emerge --config =${PF}" + fi +} |