Merge pull request #332 from flatcar-linux/tormath1/acpid

sys-power/acpid: new package
This commit is contained in:
Mathieu Tortuyaux 2022-05-24 16:52:11 +02:00 committed by GitHub
commit 5304946bb9
11 changed files with 263 additions and 0 deletions

View File

@ -0,0 +1 @@
new: acpid ([2.0.33](https://sourceforge.net/p/acpid2/code/ci/2.0.33/tree/Changelog))

View File

@ -0,0 +1,3 @@
DIST acpid-2.0.32.tar.xz 155768 BLAKE2B 829b2f78f497d9c0bbd90d952cadad96beece3070240bee69f2a5cf28903e9e5f969a3bf9000552c63a52c17f8b94285a181f4301449a9b64c573032d9a4d255 SHA512 c7afffdf9818504e1ac03b0ad693a05f772bfd07af9808262b3b6bb82ca4dabe6253c94e6dc59e5be6f0da9e815e8bcf2d3e16f02b23d0248b6bad4509e78be7
DIST acpid-2.0.33.tar.xz 156580 BLAKE2B 72a0835f3d88f4ccae44016809fdb930977f6b02dae6f74068186a8c850237764a1e8cd69a478e5af42115d5f630a9f91cd77b35b8cf01854e24b7e06bbdd536 SHA512 491a58c62fcad44dc57cbd9294437fbc215c2ec99a030286601cd1956ea504e723e61b11b315983073d66aace1997bc40e6421475f6073298f60b8dcda2add75
DIST sys-power_acpid_2.0.32-r2_extras.tar.xz 2196 BLAKE2B 0975289f7cff6ce24523246f1daac22149d69c410e07a19a5952457e269fc1f736bd3636c93038f660c411f3085d375250c31dc3de3ac1bc6335a97e1fa3dea3 SHA512 f49cf3f75f5db4ca454d29330ae40461deb1109f076e140188a7560fedd78970572a6c023146c4d33c0778ff65056abcbc66725c000ece8e6861419d02d0c6ca

View File

@ -0,0 +1,71 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
inherit linux-info systemd
DESCRIPTION="Daemon for Advanced Configuration and Power Interface"
HOMEPAGE="https://sourceforge.net/projects/acpid2"
EXTRAS_VER="2.0.32-r2"
EXTRAS_NAME="${CATEGORY}_${PN}_${EXTRAS_VER}_extras"
SRC_URI="mirror://sourceforge/${PN}2/${P}.tar.xz
https://dev.gentoo.org/~andrey_utkin/distfiles/${EXTRAS_NAME}.tar.xz
"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="amd64 ~arm arm64 ~ia64 ~riscv x86"
IUSE="selinux"
RDEPEND="selinux? ( sec-policy/selinux-apm )"
DEPEND=">=sys-kernel/linux-headers-3"
pkg_pretend() {
local CONFIG_CHECK="~INPUT_EVDEV"
local WARNING_INPUT_EVDEV="CONFIG_INPUT_EVDEV is required for ACPI button event support."
[[ ${MERGE_TYPE} != buildonly ]] && check_extra_config
}
pkg_setup() { :; }
PATCHES=(
"${WORKDIR}/${EXTRAS_NAME}/${PN}-2.0.32-powerbtn-gsd-power.patch" #702700
)
src_install() {
emake DESTDIR="${D}" install
newdoc kacpimon/README README.kacpimon
dodoc -r samples
rm -f "${D}"/usr/share/doc/${PF}/COPYING || die
exeinto /etc/acpi
newexe "${WORKDIR}/${EXTRAS_NAME}/${PN}-1.0.6-default.sh" default.sh
exeinto /etc/acpi/actions
newexe samples/powerbtn/powerbtn.sh powerbtn.sh
insinto /etc/acpi/events
newins "${WORKDIR}/${EXTRAS_NAME}/${PN}-1.0.4-default" default
newinitd "${WORKDIR}/${EXTRAS_NAME}/${PN}-2.0.26-init.d" ${PN}
newconfd "${WORKDIR}/${EXTRAS_NAME}/${PN}-2.0.16-conf.d" ${PN}
systemd_dounit "${WORKDIR}"/${EXTRAS_NAME}/systemd/${PN}.{service,socket}
}
pkg_postinst() {
if [[ -z ${REPLACING_VERSIONS} ]]; then
elog
elog "You may wish to read the Gentoo Linux Power Management Guide,"
elog "which can be found online at:"
elog "https://wiki.gentoo.org/wiki/Power_management/Guide"
elog
fi
# files/systemd/acpid.socket -> ListenStream=/run/acpid.socket
mkdir -p "${ROOT%/}"/run
if ! grep -qs "^tmpfs.*/run " "${ROOT%/}"/proc/mounts ; then
echo
ewarn "You should reboot the system now to get /run mounted with tmpfs!"
fi
}

View File

@ -0,0 +1,56 @@
# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit linux-info systemd
DESCRIPTION="Daemon for Advanced Configuration and Power Interface"
HOMEPAGE="https://sourceforge.net/projects/acpid2/"
SRC_URI="mirror://sourceforge/${PN}2/${P}.tar.xz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~arm ~arm64 ~ia64 ~loong ~riscv ~x86"
IUSE="selinux"
RDEPEND="selinux? ( sec-policy/selinux-apm )"
DEPEND=">=sys-kernel/linux-headers-3"
pkg_pretend() {
local CONFIG_CHECK="~INPUT_EVDEV"
local WARNING_INPUT_EVDEV="CONFIG_INPUT_EVDEV is required for ACPI button event support."
[[ ${MERGE_TYPE} != buildonly ]] && check_extra_config
}
pkg_setup() { :; }
src_install() {
emake DESTDIR="${D}" install
newdoc kacpimon/README README.kacpimon
dodoc -r samples
rm -f "${D}"/usr/share/doc/${PF}/COPYING || die
exeinto /etc/acpi
newexe "${FILESDIR}"/${PN}-1.0.6-default.sh default.sh
exeinto /etc/acpi/actions
newexe samples/powerbtn/powerbtn.sh powerbtn.sh
insinto /etc/acpi/events
newins "${FILESDIR}"/${PN}-1.0.4-default default
newinitd "${FILESDIR}"/${PN}-2.0.26-init.d ${PN}
newconfd "${FILESDIR}"/${PN}-2.0.16-conf.d ${PN}
systemd_dounit "${FILESDIR}"/${PN}.{service,socket}
}
pkg_postinst() {
if [[ -z ${REPLACING_VERSIONS} ]]; then
elog
elog "You may wish to read the Gentoo Linux Power Management Guide,"
elog "which can be found online at:"
elog "https://wiki.gentoo.org/wiki/Power_management/Guide"
elog
fi
}

View File

@ -0,0 +1,19 @@
# /etc/acpi/events/default
# This is the ACPID default configuration, it takes all
# events and passes them to /etc/acpi/default.sh for further
# processing.
# event keeps a regular expression matching the event. To get
# power events only, just use something like "event=button[ /]power.*"
# to catch it.
# action keeps the command to be executed after an event occurs
# In case of the power event above, your entry may look this way:
#event=button[ /]power.*
#action=/sbin/init 0
# Optionally you can specify the placeholder %e. It will pass
# through the whole kernel event message to the program you've
# specified.
event=.*
action=/etc/acpi/default.sh %e

View File

@ -0,0 +1,59 @@
#!/bin/sh
# /etc/acpi/default.sh
# Default acpi script that takes an entry for all actions
set $*
group=${1%%/*}
action=${1#*/}
device=$2
id=$3
value=$4
log_unhandled() {
logger "ACPI event unhandled: $*"
}
case "$group" in
button)
case "$action" in
power)
/etc/acpi/actions/powerbtn.sh
;;
# if your laptop doesnt turn on/off the display via hardware
# switch and instead just generates an acpi event, you can force
# X to turn off the display via dpms. note you will have to run
# 'xhost +local:0' so root can access the X DISPLAY.
#lid)
# xset dpms force off
# ;;
*) log_unhandled $* ;;
esac
;;
ac_adapter)
case "$value" in
# Add code here to handle when the system is unplugged
# (maybe change cpu scaling to powersave mode). For
# multicore systems, make sure you set powersave mode
# for each core!
#*0)
# cpufreq-set -g powersave
# ;;
# Add code here to handle when the system is plugged in
# (maybe change cpu scaling to performance mode). For
# multicore systems, make sure you set performance mode
# for each core!
#*1)
# cpufreq-set -g performance
# ;;
*) log_unhandled $* ;;
esac
;;
*) log_unhandled $* ;;
esac

View File

@ -0,0 +1,6 @@
# /etc/conf.d/acpid: config file for /etc/init.d/acpid
# Options to pass to the acpid daemon.
# See the acpid(8) man page for more info.
ACPID_ARGS=""

View File

@ -0,0 +1,19 @@
#!/sbin/openrc-run
# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
extra_started_commands="reload"
command="/usr/sbin/acpid"
command_args="${ACPID_ARGS}"
description="Daemon for Advanced Configuration and Power Interface"
depend() {
need localmount
use logger
}
reload() {
ebegin "Reloading acpid configuration"
start-stop-daemon --exec $command --signal HUP
eend $?
}

View File

@ -0,0 +1,10 @@
[Unit]
Description=ACPI event daemon
Requires=acpid.socket
[Service]
ExecStart=/usr/sbin/acpid -f
[Install]
WantedBy=multi-user.target
Also=acpid.socket

View File

@ -0,0 +1,8 @@
[Unit]
Description=ACPID Listen Socket
[Socket]
ListenStream=/run/acpid.socket
[Install]
WantedBy=sockets.target

View File

@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>marecki@gentoo.org</email>
<name>Marek Szuba</name>
</maintainer>
<upstream>
<remote-id type="sourceforge">acpid2</remote-id>
</upstream>
</pkgmetadata>