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.
80 lines
2.2 KiB
80 lines
2.2 KiB
2 years ago
|
# Copyright 1999-2022 Gentoo Authors
|
||
|
# Distributed under the terms of the GNU General Public License v2
|
||
|
|
||
|
EAPI=8
|
||
|
inherit linux-info readme.gentoo-r1 systemd udev
|
||
|
|
||
|
DESCRIPTION="IBM ThinkPad Hard Drive Active Protection System (HDAPS) daemon"
|
||
|
HOMEPAGE="https://github.com/evgeni/hdapsd/"
|
||
|
SRC_URI="https://github.com/evgeni/${PN}/releases/download/${PV}/${P}.tar.gz"
|
||
|
|
||
|
LICENSE="GPL-2"
|
||
|
SLOT="0"
|
||
|
KEYWORDS="~amd64 ~x86"
|
||
|
IUSE="libconfig"
|
||
|
|
||
|
BDEPEND=""
|
||
|
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_systemunitdir) \
|
||
|
--with-udevdir="$(get_udevdir)" \
|
||
|
--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
|
||
|
udev_reload
|
||
|
}
|
||
|
|
||
|
pkg_postrm() {
|
||
|
udev_reload
|
||
|
}
|
||
|
|
||
|
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.
|
||
|
"
|