You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

73 lines
2.1 KiB

# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
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 either the
# kernel itself (CONFIG_SENSORS_HDAPS) 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[hdaps] or "
ERROR_SENSORS_HDAPS+="kernel support for CONFIG_SENSORS_HDAPS enabled"
linux-info_pkg_setup
fi
}
src_configure(){
econf \
$(use_enable libconfig) \
--with-systemdsystemunitdir=$(systemd_get_unitdir) \
--docdir="/usr/share/doc/${PF}"
}
src_install() {
default
newconfd "${FILESDIR}/hdapsd.conf-20141024" hdapsd
newinitd "${FILESDIR}/hdapsd.init-20141024" hdapsd
readme.gentoo_create_doc
}
pkg_postinst(){
[[ -z $(ls "${ROOT}"sys/block/*/queue/protect 2>/dev/null) ]] && \
[[ -z $(ls "${ROOT}"sys/block/*/device/unload_heads 2>/dev/null) ]] && \
ewarn "Your kernel does NOT support shock protection."
readme.gentoo_print_elog
}
DISABLE_AUTOFORMATTING=1
DOC_CONTENTS="
${PN} requires a kernel module to function properly. The recommended
approach is to install app-laptop/tp_smapi[hdaps], but the in-tree
module provided by CONFIG_SENSORS_HDAPS may work as well.
Common daemon parameters can be set in ${EROOT}etc/conf.d/${PN}. If the
package was installed with USE=libconfig, then the parameters can also
be set in ${EROOT}etc/${PN}.conf, although the former will take
precedence over the latter if both are used.
You can change the default sampling rate by modifing
/sys/devices/platform/hdaps/sampling_rate
and you may need to enable shock protection manually by running
# echo -1 > /sys/block/<disk>/device/unload_heads
as root.
"