]> gitweb.michael.orlitzky.com - mjo-overlay.git/blobdiff - app-laptop/hdapsd/hdapsd-20141024.ebuild
Update hdapsd with libconfig support.
[mjo-overlay.git] / app-laptop / hdapsd / hdapsd-20141024.ebuild
diff --git a/app-laptop/hdapsd/hdapsd-20141024.ebuild b/app-laptop/hdapsd/hdapsd-20141024.ebuild
new file mode 100644 (file)
index 0000000..a4e29e0
--- /dev/null
@@ -0,0 +1,59 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+EAPI=5
+inherit linux-info readme.gentoo systemd
+
+DESCRIPTION="IBM ThinkPad Hard Drive Active Protection System (HDAPS) daemon"
+HOMEPAGE="https://github.com/evgeni/${PN}/"
+SRC_URI="https://github.com/evgeni/${PN}/releases/download/${PV}/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="libconfig"
+
+DEPEND="libconfig? ( dev-libs/libconfig )"
+RDEPEND="${DEPEND}"
+
+pkg_setup() {
+       # We require the hdaps module which can either come from kernel sources
+       # or from the tp_smapi package.
+       if ! has_version app-laptop/tp_smapi[hdaps]; then
+               CONFIG_CHECK="~SENSORS_HDAPS"
+               ERROR_SENSORS_HDAPS="${P} requires app-laptop/tp_smapi (with hdaps USE enabled) or support for CONFIG_SENSORS_HDAPS enabled"
+               linux-info_pkg_setup
+       fi
+
+       DOC_CONTENTS="You can change the default frequency by modifing /sys/devices/platform/hdaps/sampling_rate.
+               You might need to enable shock protection manually by running:\n
+               # echo -1 > /sys/block/DEVICE/device/unload_heads"
+}
+
+src_configure(){
+       econf \
+               $(use_enable libconfig) \
+               --with-systemdsystemunitdir=$(systemd_get_unitdir) \
+               --docdir="${EROOT}usr/share/doc/${PF}"
+}
+
+src_install() {
+       default
+       newconfd "${FILESDIR}"/hdapsd.conf.3 hdapsd
+       newinitd "${FILESDIR}"/hdapsd.init.3 hdapsd
+       readme.gentoo_create_doc
+}
+
+pkg_postinst(){
+       [[ -z $(ls "${EROOT}"sys/block/*/queue/protect 2>/dev/null) ]] && \
+       [[ -z $(ls "${EROOT}"sys/block/*/device/unload_heads 2>/dev/null) ]] && \
+               ewarn "Your kernel does NOT support shock protection."
+
+       if ! has_version app-laptop/tp_smapi[hdaps]; then
+               ewarn "Using the hdaps module provided by app-laptop/tp_smapi instead"
+               ewarn "of the in-kernel driver is strongly recommended!"
+       fi
+
+       readme.gentoo_print_elog
+}