mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-09-24 04:59:14 -07:00
sys-power/acpid: phase out legacy LFS interfaces
acpid comes with its own implementation of isfdtype() for standard libraries which do not define it, like musl. This implementation used LFS interfaces, which are now deprecated and which since musl-1.2.4 no longer are a part of the _GNU_SOURCE feature set. musl documentation says "just switch to standard interfaces" so let's do just that. Closes: https://bugs.gentoo.org/906189 Signed-off-by: Marek Szuba <marecki@gentoo.org>
This commit is contained in:
60
sys-power/acpid/acpid-2.0.34-r1.ebuild
Normal file
60
sys-power/acpid/acpid-2.0.34-r1.ebuild
Normal file
@@ -0,0 +1,60 @@
|
||||
# Copyright 1999-2023 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"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${PN}-2.0.34-lfs.patch
|
||||
)
|
||||
|
||||
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
|
||||
}
|
||||
19
sys-power/acpid/files/acpid-2.0.34-lfs.patch
Normal file
19
sys-power/acpid/files/acpid-2.0.34-lfs.patch
Normal file
@@ -0,0 +1,19 @@
|
||||
Since version 1.2.4 musl no longer enables legacy LFS interfaces as part
|
||||
of _GNU_SOURCE, and will remove them altogether in a future release [1].
|
||||
Just switch to the standard interfaces.
|
||||
|
||||
[1] https://musl.libc.org/releases.html
|
||||
|
||||
--- a/sock.c
|
||||
+++ b/sock.c
|
||||
@@ -54,8 +54,8 @@
|
||||
static int
|
||||
isfdtype(int fd, int fdtype)
|
||||
{
|
||||
- struct stat64 st;
|
||||
- if (fstat64(fd, &st) != 0)
|
||||
+ struct stat st;
|
||||
+ if (fstat(fd, &st) != 0)
|
||||
return -1;
|
||||
return ((st.st_mode & S_IFMT) == (mode_t)fdtype);
|
||||
}
|
||||
Reference in New Issue
Block a user