commit: 01e878219667bf8ce1781f7b74758ecf40ecb80b Author: Z. Liu <zhixu.liu <AT> gmail <DOT> com> AuthorDate: Fri Dec 13 09:39:03 2024 +0000 Commit: Sam James <sam <AT> gentoo <DOT> org> CommitDate: Tue Dec 24 09:20:47 2024 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=01e87821
app-misc/beep: fix issue when no caps on fs w/o xattr support 1. set mode so fcaps won't set SUID if fs w/o xattr support 2. show message tell user howto run as non-root user 3. add more doc files Closes: https://bugs.gentoo.org/877095 Signed-off-by: Z. Liu <zhixu.liu <AT> gmail.com> Closes: https://github.com/gentoo/gentoo/pull/39706 Signed-off-by: Sam James <sam <AT> gentoo.org> app-misc/beep/beep-1.4.12-r1.ebuild | 60 +++++++++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) diff --git a/app-misc/beep/beep-1.4.12-r1.ebuild b/app-misc/beep/beep-1.4.12-r1.ebuild new file mode 100644 index 000000000000..6615cc9f090a --- /dev/null +++ b/app-misc/beep/beep-1.4.12-r1.ebuild @@ -0,0 +1,60 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit fcaps toolchain-funcs + +DESCRIPTION="Advanced PC speaker beeper" +HOMEPAGE="https://github.com/spkr-beep/beep" +SRC_URI="https://github.com/spkr-beep/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~ppc ~ppc64 ~sparc ~x86" + +# Tests require a speaker +RESTRICT="test" + +src_prepare() { + default + + cat <<-EOF > local.mk || die + CC=$(tc-getCC) + CFLAGS=${CFLAGS} + CPPFLAGS=${CPPFLAGS} + LDFLAGS=${LDFLAGS} + EOF + + sed -i \ + -e "s#-D_FORTIFY_SOURCE=2##g;" \ + -e '/\-Werror)/d' \ + GNUmakefile || die +} + +src_install() { + dobin beep + doman "${PN}.1" + + fperms 0711 /usr/bin/beep + + local DOCS=( + CREDITS.md DEVELOPMENT.md INSTALL.md NEWS.md PACKAGING.md PERMISSIONS.md README.md + ) + einstalldocs +} + +pkg_postinst() { + FILECAPS=( + -m0711 cap_dac_override,cap_sys_tty_config "${EROOT}/usr/bin/beep" + ) + + elog "Please note that for security reasons, beep will no longer allow" + elog "to running w/ SUID or as root under sudo. You will need to give" + elog "permissions for the PC speaker device to allow non-root users to" + elog "use 'beep' by either:" + elog " setfacl -m u:<youruser>:rw /dev/input/by-path/platform-pcspkr-event-spkr" + elog "or add yourself to the 'input' group:" + elog " usermod -aG input <youruser>" + elog "It's preferred to use setfacl with least privilege." +}