diff options
Diffstat (limited to 'app-misc/beep')
-rw-r--r-- | app-misc/beep/Manifest | 3 | ||||
-rw-r--r-- | app-misc/beep/beep-1.3-r3.ebuild | 37 | ||||
-rw-r--r-- | app-misc/beep/beep-1.4.12.ebuild | 46 | ||||
-rw-r--r-- | app-misc/beep/beep-1.4.9-r1.ebuild | 57 | ||||
-rw-r--r-- | app-misc/beep/files/beep-1.3-CVE-2018-0492.patch | 106 | ||||
-rw-r--r-- | app-misc/beep/files/beep-1.3-Makefile.patch | 26 | ||||
-rw-r--r-- | app-misc/beep/metadata.xml | 13 |
7 files changed, 113 insertions, 175 deletions
diff --git a/app-misc/beep/Manifest b/app-misc/beep/Manifest index 39eda21e98a6..a8a624692527 100644 --- a/app-misc/beep/Manifest +++ b/app-misc/beep/Manifest @@ -1 +1,2 @@ -DIST beep-1.3.tar.gz 19344 BLAKE2B 4f9cf12f6983eeb53502fd85e5e1d428e1c1af481f8f424f6ae18cbe104462e8fdcc96670a72daa8a8a0d1430d00824d8795b4db53437e7bb7320cddfd84cfd3 SHA512 3f71146202208fa0c0cda360d125dd972ea003cf8cd62da21d67eb544c92f7b82640e7ce7c3835cbc65c75909a882edfa54dbd8d8b748d6f243711ea331477fd +DIST beep-1.4.12.tar.gz 89172 BLAKE2B 06f21cf3c40389acca50e6e420af4e738b7484e096bb689345fedb37684b15733dbb38e8a5d0d360f23e020cebe9ba321984ee43f41b0ad980648414ddbb9375 SHA512 18fed77bc4820ecc84ac12e903d516d5228fa2038df1788cc68db76e40b3c47a271911cc45bc48ce94e3f215803c5c05cb6c08ebb47ae6d7fcf1e0bc1ac169cd +DIST beep-1.4.9.tar.gz 83154 BLAKE2B 073169ccb4919c17c0291951834fea682c87021f18562629013293432292750f6d6b3235e8882fa9cf26c9e055e1283cfa629c2e88e0f87a301b238c38380498 SHA512 46e6066cb4d9ad4a0c55a03bf5a2163426648ce3831fe1f7bafa2f02d0e407b50c52e58cc2b123c346df96e92b73d2458b473c3fb001d9a0d1470b7cf38cc35b diff --git a/app-misc/beep/beep-1.3-r3.ebuild b/app-misc/beep/beep-1.3-r3.ebuild deleted file mode 100644 index a6c0024d4f55..000000000000 --- a/app-misc/beep/beep-1.3-r3.ebuild +++ /dev/null @@ -1,37 +0,0 @@ -# Copyright 1999-2018 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -inherit toolchain-funcs - -DESCRIPTION="The advanced PC speaker beeper" -HOMEPAGE="http://www.johnath.com/beep" -SRC_URI="http://www.johnath.com/beep/${P}.tar.gz" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="alpha amd64 arm ppc ppc64 sparc x86" -IUSE="suid" - -PATCHES=( - "${FILESDIR}/${P}-Makefile.patch" - "${FILESDIR}/${P}-CVE-2018-0492.patch" -) - -pkg_setup() { - tc-export CC -} - -src_install() { - dobin beep - if use suid; then - fowners :audio /usr/bin/beep - fperms 4710 /usr/bin/beep - else - fperms 0711 /usr/bin/beep - fi - unpack "./${PN}.1.gz" - doman "${PN}.1" - einstalldocs -} diff --git a/app-misc/beep/beep-1.4.12.ebuild b/app-misc/beep/beep-1.4.12.ebuild new file mode 100644 index 000000000000..433fcc5ff5b7 --- /dev/null +++ b/app-misc/beep/beep-1.4.12.ebuild @@ -0,0 +1,46 @@ +# Copyright 1999-2023 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 + + einstalldocs +} + +pkg_postinst() { + fcaps cap_dac_override,cap_sys_tty_config "${EROOT}/usr/bin/beep" +} diff --git a/app-misc/beep/beep-1.4.9-r1.ebuild b/app-misc/beep/beep-1.4.9-r1.ebuild new file mode 100644 index 000000000000..e566132534ce --- /dev/null +++ b/app-misc/beep/beep-1.4.9-r1.ebuild @@ -0,0 +1,57 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit fcaps toolchain-funcs + +DESCRIPTION="Advanced PC speaker beeper" +HOMEPAGE="https://github.com/spkr-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 + + sed -i -e "s#-D_FORTIFY_SOURCE=2##g;" GNUmakefile || die +} + +src_compile() { + emake \ + COMPILERS=gcc \ + COMPILER_gcc="$(tc-getCC)" \ + LINKER_gcc="$(tc-getCC)" \ + CFLAGS_gcc="${CFLAGS}" \ + LDFLAGS="${LDFLAGS}" \ + CPPFLAGS_gcc="" \ + all +} + +src_test() { + emake \ + COMPILERS=gcc \ + COMPILER_gcc="$(tc-getCC)" \ + LINKER_gcc="$(tc-getCC)" \ + CFLAGS_gcc="${CFLAGS}" \ + LDFLAGS="${LDFLAGS}" \ + check +} + +src_install() { + dobin beep + doman "${PN}.1" + + fperms 0711 /usr/bin/beep + + einstalldocs +} + +pkg_postinst() { + fcaps cap_dac_override,cap_sys_tty_config "${EROOT}/usr/bin/beep" +} diff --git a/app-misc/beep/files/beep-1.3-CVE-2018-0492.patch b/app-misc/beep/files/beep-1.3-CVE-2018-0492.patch deleted file mode 100644 index f4894b51fc81..000000000000 --- a/app-misc/beep/files/beep-1.3-CVE-2018-0492.patch +++ /dev/null @@ -1,106 +0,0 @@ -diff --git a/beep.c b/beep.c -index 7da2e70..4323d31 100644 ---- beep.c -+++ beep.c -@@ -109,6 +109,7 @@ void do_beep(int freq) { - /* BEEP_TYPE_EVDEV */ - struct input_event e; - -+ memset(&e, 0, sizeof(e)); - e.type = EV_SND; - e.code = SND_TONE; - e.value = freq; -@@ -124,10 +125,6 @@ void do_beep(int freq) { - /* If we get interrupted, it would be nice to not leave the speaker beeping in - perpetuity. */ - void handle_signal(int signum) { -- -- if(console_device) -- free(console_device); -- - switch(signum) { - case SIGINT: - case SIGTERM: -@@ -257,7 +254,7 @@ void parse_command_line(int argc, char **argv, beep_parms_t *result) { - result->verbose = 1; - break; - case 'e' : /* also --device */ -- console_device = strdup(optarg); -+ console_device = optarg; - break; - case 'h' : /* notice that this is also --help */ - default : -@@ -276,26 +273,6 @@ void play_beep(beep_parms_t parms) { - "%d delay after) @ %.2f Hz\n", - parms.reps, parms.length, parms.delay, parms.end_delay, parms.freq); - -- /* try to snag the console */ -- if(console_device) -- console_fd = open(console_device, O_WRONLY); -- else -- if((console_fd = open("/dev/tty0", O_WRONLY)) == -1) -- console_fd = open("/dev/vc/0", O_WRONLY); -- -- if(console_fd == -1) { -- fprintf(stderr, "Could not open %s for writing\n", -- console_device != NULL ? console_device : "/dev/tty0 or /dev/vc/0"); -- printf("\a"); /* Output the only beep we can, in an effort to fall back on usefulness */ -- perror("open"); -- exit(1); -- } -- -- if (ioctl(console_fd, EVIOCGSND(0)) != -1) -- console_type = BEEP_TYPE_EVDEV; -- else -- console_type = BEEP_TYPE_CONSOLE; -- - /* Beep */ - for (i = 0; i < parms.reps; i++) { /* start beep */ - do_beep(parms.freq); -@@ -305,8 +282,6 @@ void play_beep(beep_parms_t parms) { - if(parms.end_delay || (i+1 < parms.reps)) - usleep(1000*parms.delay); /* wait... */ - } /* repeat. */ -- -- close(console_fd); - } - - -@@ -328,6 +303,26 @@ int main(int argc, char **argv) { - signal(SIGTERM, handle_signal); - parse_command_line(argc, argv, parms); - -+ /* try to snag the console */ -+ if(console_device) -+ console_fd = open(console_device, O_WRONLY); -+ else -+ if((console_fd = open("/dev/tty0", O_WRONLY)) == -1) -+ console_fd = open("/dev/vc/0", O_WRONLY); -+ -+ if(console_fd == -1) { -+ fprintf(stderr, "Could not open %s for writing\n", -+ console_device != NULL ? console_device : "/dev/tty0 or /dev/vc/0"); -+ printf("\a"); /* Output the only beep we can, in an effort to fall back on usefulness */ -+ perror("open"); -+ exit(1); -+ } -+ -+ if (ioctl(console_fd, EVIOCGSND(0)) != -1) -+ console_type = BEEP_TYPE_EVDEV; -+ else -+ console_type = BEEP_TYPE_CONSOLE; -+ - /* this outermost while loop handles the possibility that -n/--new has been - used, i.e. that we have multiple beeps specified. Each iteration will - play, then free() one parms instance. */ -@@ -365,8 +360,8 @@ int main(int argc, char **argv) { - parms = next; - } - -- if(console_device) -- free(console_device); -+ close(console_fd); -+ console_fd = -1; - - return EXIT_SUCCESS; - } diff --git a/app-misc/beep/files/beep-1.3-Makefile.patch b/app-misc/beep/files/beep-1.3-Makefile.patch deleted file mode 100644 index f4b891e8b824..000000000000 --- a/app-misc/beep/files/beep-1.3-Makefile.patch +++ /dev/null @@ -1,26 +0,0 @@ ---- a/Makefile 2002-03-29 09:37:22.000000000 -0800 -+++ b/Makefile 2009-03-27 22:19:18.000000000 -0700 -@@ -1,17 +1,18 @@ --CC=gcc --FLAGS=-Wall -+CC ?= gcc -+LDFLAGS ?= -+CFLAGS ?= -Wall - EXEC_NAME=beep - INSTALL_DIR=/usr/bin - MAN_FILE=beep.1.gz --MAN_DIR=/usr/man/man1 -+MAN_DIR=/usr/share/man/man1 - - default : beep - - clean : -- rm ${EXEC_NAME} -+ rm -f ${EXEC_NAME} - - beep : beep.c -- ${CC} ${FLAGS} -o ${EXEC_NAME} beep.c -+ ${CC} ${CFLAGS} ${LDFLAGS} -o ${EXEC_NAME} beep.c - - install : - cp ${EXEC_NAME} ${INSTALL_DIR} diff --git a/app-misc/beep/metadata.xml b/app-misc/beep/metadata.xml index 3e927f8d7480..59fb8cd72e42 100644 --- a/app-misc/beep/metadata.xml +++ b/app-misc/beep/metadata.xml @@ -1,8 +1,11 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> - <maintainer type="project"> - <email>shell-tools@gentoo.org</email> - <name>Gentoo Shell Tools Project</name> - </maintainer> + <maintainer type="project"> + <email>shell-tools@gentoo.org</email> + <name>Gentoo Shell Tools Project</name> + </maintainer> + <upstream> + <remote-id type="github">spkr-beep/beep</remote-id> + </upstream> </pkgmetadata> |