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."
+}

Reply via email to