diff --git a/.gitignore b/.gitignore index 5fd812a..c6dfe3b 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ -beep-1.3.tar.gz +/beep-1.*/ +/beep-1.*.tar.gz diff --git a/0001-Fixed-Makefile.patch b/0001-Fixed-Makefile.patch deleted file mode 100644 index 0a8d7c3..0000000 --- a/0001-Fixed-Makefile.patch +++ /dev/null @@ -1,45 +0,0 @@ -From 8b32b8b088be1f29e8bfea57a97b9bfaa76ec8ee Mon Sep 17 00:00:00 2001 -From: Chris Wong -Date: Wed, 23 Nov 2011 10:39:53 +1300 -Subject: [PATCH 1/6] Fixed Makefile - -* Use /usr/share/man (see http://www.pathname.com/fhs/2.2/fhs-4.11.html#4.11.5) - -* Removed trailing spaces - -* Added optimization flag (must beep FAST!!!) ---- - Makefile | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -diff --git a/Makefile b/Makefile -index cc359c4..0f4f810 100644 ---- a/Makefile -+++ b/Makefile -@@ -1,19 +1,19 @@ - CC=gcc --FLAGS=-Wall -+FLAGS=-Wall -O2 - 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 : -+clean : - rm ${EXEC_NAME} - - beep : beep.c - ${CC} ${FLAGS} -o ${EXEC_NAME} beep.c - --install : -+install : - cp ${EXEC_NAME} ${INSTALL_DIR} - # rm -f /usr/man/man1/beep.1.bz2 - cp ${MAN_FILE} ${MAN_DIR} --- -1.8.4.2 - diff --git a/0002-Add-more-error-detection.patch b/0002-Add-more-error-detection.patch deleted file mode 100644 index a4f0ca3..0000000 --- a/0002-Add-more-error-detection.patch +++ /dev/null @@ -1,45 +0,0 @@ -From d3aee6c489852108c91dc22abcacff364e9429f2 Mon Sep 17 00:00:00 2001 -From: Chris Wong -Date: Wed, 23 Nov 2011 11:34:55 +1300 -Subject: [PATCH 2/6] Add more error detection - ---- - beep.c | 15 +++++++++------ - 1 file changed, 9 insertions(+), 6 deletions(-) - -diff --git a/beep.c b/beep.c -index 452fc08..14fac3e 100644 ---- a/beep.c -+++ b/beep.c -@@ -98,11 +98,11 @@ char *console_device = NULL; - - - void do_beep(int freq) { -- if (console_type == BEEP_TYPE_CONSOLE) { -- if(ioctl(console_fd, KIOCSOUND, freq != 0 -- ? (int)(CLOCK_TICK_RATE/freq) -- : freq) < 0) { -- printf("\a"); /* Output the only beep we can, in an effort to fall back on usefulness */ -+ int period = (freq != 0 ? (int)(CLOCK_TICK_RATE/freq) : freq); -+ -+ if(console_type == BEEP_TYPE_CONSOLE) { -+ if(ioctl(console_fd, KIOCSOUND, period) < 0) { -+ putchar('\a'); /* Output the only beep we can, in an effort to fall back on usefulness */ - perror("ioctl"); - } - } else { -@@ -113,7 +113,10 @@ void do_beep(int freq) { - e.code = SND_TONE; - e.value = freq; - -- write(console_fd, &e, sizeof(struct input_event)); -+ if(write(console_fd, &e, sizeof(struct input_event)) < 0) { -+ putchar('\a'); /* See above */ -+ perror("write"); -+ } - } - } - --- -1.8.4.2 - diff --git a/0004-also-catch-SIGTERM-for-stopping-the-beep.patch b/0004-also-catch-SIGTERM-for-stopping-the-beep.patch deleted file mode 100644 index 89187b9..0000000 --- a/0004-also-catch-SIGTERM-for-stopping-the-beep.patch +++ /dev/null @@ -1,33 +0,0 @@ -From e1320c1da52ca92aa68b4224f9532982184fbe00 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?J=C3=A9r=C3=B4me?= -Date: Thu, 7 Feb 2013 12:54:53 +0100 -Subject: [PATCH 4/6] also catch SIGTERM for stopping the beep - -Signed-off-by: Gerfried Fuchs ---- - beep.c | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/beep.c b/beep.c -index 452fc08..9cb63bf 100644 ---- a/beep.c -+++ b/beep.c -@@ -127,6 +127,7 @@ void handle_signal(int signum) { - - switch(signum) { - case SIGINT: -+ case SIGTERM: - if(console_fd >= 0) { - /* Kill the sound, quit gracefully */ - do_beep(0); -@@ -321,6 +322,7 @@ int main(int argc, char **argv) { - parms->next = NULL; - - signal(SIGINT, handle_signal); -+ signal(SIGTERM, handle_signal); - parse_command_line(argc, argv, parms); - - /* this outermost while loop handles the possibility that -n/--new has been --- -1.8.4.2 - diff --git a/0005-Make-build-install-more-user-and-packaging-friendly.patch b/0005-Make-build-install-more-user-and-packaging-friendly.patch deleted file mode 100644 index b6a84e4..0000000 --- a/0005-Make-build-install-more-user-and-packaging-friendly.patch +++ /dev/null @@ -1,85 +0,0 @@ -From 947a7e332908dcba1c7e523fbdc927d39ee6adb1 Mon Sep 17 00:00:00 2001 -From: Hans Ulrich Niedermann -Date: Tue, 19 Nov 2013 23:40:50 +0100 -Subject: [PATCH 5/6] Make build/install more user and packaging friendly - -Make the build and install more user and packaging friendly -by introducing the following features in the Makefile: - - * Honor the $(CFLAGS) set when calling make. - - * Prefix all install locations with $(DESTDIR) for - easy package building. - - * Use GNU Makefile conventions for defining installation - directories. This means $(bindir) and $(man1dir) - instead of the former $(INSTALL_DIR) and $(MAN_DIR). - - * Use install(1) for installing files and directories - so that permissions can be set properly. - - * Stop "make clean" failing when it has nothing to do. - - * Add 'uninstall' make target. - - * Make 'install' target build executable if necessary. ---- - Makefile | 40 +++++++++++++++++++++++++++++----------- - 1 file changed, 29 insertions(+), 11 deletions(-) - -diff --git a/Makefile b/Makefile -index 0f4f810..942a7a5 100644 ---- a/Makefile -+++ b/Makefile -@@ -1,19 +1,37 @@ - CC=gcc - FLAGS=-Wall -O2 -+ -+INSTALL=install -+ - EXEC_NAME=beep --INSTALL_DIR=/usr/bin - MAN_FILE=beep.1.gz --MAN_DIR=/usr/share/man/man1 - --default : beep -+# Use GNU makefile conventions for directory names with one notable -+# exception: prefix is not /usr/local in order to keep the default -+# installation location for beep. -+prefix=/usr -+exec_prefix=$(prefix) -+bindir=$(exec_prefix)/bin -+datarootdir=$(prefix)/share -+mandir=$(datarootdir)/man -+man1dir=$(mandir)/man1 -+ -+.PHONY: all -+all: $(EXEC_NAME) -+ -+.PHONY: clean -+clean: -+ rm -f $(EXEC_NAME) - --clean : -- rm ${EXEC_NAME} -+$(EXEC_NAME): beep.c -+ $(CC) $(FLAGS) $(CFLAGS) -o $(EXEC_NAME) beep.c - --beep : beep.c -- ${CC} ${FLAGS} -o ${EXEC_NAME} beep.c -+install: all -+ $(INSTALL) -m 0755 -d $(DESTDIR)$(bindir) -+ $(INSTALL) -m 0755 $(EXEC_NAME) $(DESTDIR)$(bindir)/ -+ $(INSTALL) -m 0755 -d $(DESTDIR)$(man1dir) -+ $(INSTALL) -m 0644 $(MAN_FILE) $(DESTDIR)$(man1dir)/ - --install : -- cp ${EXEC_NAME} ${INSTALL_DIR} -- # rm -f /usr/man/man1/beep.1.bz2 -- cp ${MAN_FILE} ${MAN_DIR} -+uninstall: -+ rm -f $(DESTDIR)$(bindir)/$(EXEC_NAME) -+ rm -f $(DESTDIR)$(man1dir)/$(MAN_FILE) --- -1.8.4.2 - diff --git a/0006-Preserve-file-modification-time-on-install.patch b/0006-Preserve-file-modification-time-on-install.patch deleted file mode 100644 index 4db0272..0000000 --- a/0006-Preserve-file-modification-time-on-install.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 4622dd15dc12dab47a0381a8a7188f0f0421e01d Mon Sep 17 00:00:00 2001 -From: Hans Ulrich Niedermann -Date: Wed, 20 Nov 2013 00:00:54 +0100 -Subject: [PATCH 6/6] Preserve file modification time on install - -Add -p option to install(1) invocation in order to preserve -the timestamps of the files being installed. ---- - Makefile | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -diff --git a/Makefile b/Makefile -index 942a7a5..290b8a4 100644 ---- a/Makefile -+++ b/Makefile -@@ -27,10 +27,10 @@ $(EXEC_NAME): beep.c - $(CC) $(FLAGS) $(CFLAGS) -o $(EXEC_NAME) beep.c - - install: all -- $(INSTALL) -m 0755 -d $(DESTDIR)$(bindir) -- $(INSTALL) -m 0755 $(EXEC_NAME) $(DESTDIR)$(bindir)/ -- $(INSTALL) -m 0755 -d $(DESTDIR)$(man1dir) -- $(INSTALL) -m 0644 $(MAN_FILE) $(DESTDIR)$(man1dir)/ -+ $(INSTALL) -m 0755 -d $(DESTDIR)$(bindir) -+ $(INSTALL) -m 0755 -p $(EXEC_NAME) $(DESTDIR)$(bindir)/ -+ $(INSTALL) -m 0755 -d $(DESTDIR)$(man1dir) -+ $(INSTALL) -m 0644 -p $(MAN_FILE) $(DESTDIR)$(man1dir)/ - - uninstall: - rm -f $(DESTDIR)$(bindir)/$(EXEC_NAME) --- -1.8.4.2 - diff --git a/70-pcspkr-beep.rules b/70-pcspkr-beep.rules new file mode 100644 index 0000000..ef31672 --- /dev/null +++ b/70-pcspkr-beep.rules @@ -0,0 +1,2 @@ +# Give write access to the PC speaker to the user logged in on the current virtual console +ACTION=="add", SUBSYSTEM=="input", ATTRS{name}=="PC Speaker", ENV{DEVNAME}!="", TAG+="uaccess" diff --git a/90-pcspkr-beep.rules b/90-pcspkr-beep.rules new file mode 100644 index 0000000..7090857 --- /dev/null +++ b/90-pcspkr-beep.rules @@ -0,0 +1,2 @@ +# Give write access to the PC speaker to the "beep" group so group members can run "beep" +ACTION=="add", SUBSYSTEM=="input", ATTRS{name}=="PC Speaker", ENV{DEVNAME}!="", RUN+="/usr/bin/setfacl -m g:beep:w '$env{DEVNAME}'" diff --git a/README.fedora b/README.fedora new file mode 100644 index 0000000..276126a --- /dev/null +++ b/README.fedora @@ -0,0 +1,163 @@ +Content +======= + + 1. Load the `pkspkr.ko` Kernel Driver Module (required) + 2. Permission setup for non-root users (for non-local logins) + 3. When and how to avoid using `beep` + 4. Example usage of `beep` + + +1. Load the `pkspkr.ko` Kernel Driver Module (required) +------------------------------------------------------- + +To have a working PC speaker beep, the kernel driver module +`pcspkr.ko` must be loaded. + +On Fedora >= 32, you need to install the `kernel-modules-extra` +package first which contains the `pcspkr.ko` kernel driver module. + +On Fedora >= 12, you need to explicitly make the kernel load the +driver module `pcspkr.ko`. You can do this manually as root as +follows: + + [root@host ~]# modprobe pcspkr + +If you want the system to automatically load the pcspkr driver the +next time it boots (very much recommended), uncomment the line + + alias platform:pcspkr pcspkr + +in the `/etc/modprobe.d/beep.conf` config file. + +You can check whether pcspkr.ko is loaded by running + + [user@host ~]$ lsmod | grep pcspkr + +When pcspkr is loaded, you can run + + [root@host ~]# beep + +as root and as a non-root user + + [user@host ~]$ beep + +and verify that you hear the beep coming from the PC speaker. + + +2. Permission setup for non-root users (for non-local logins) +------------------------------------------------------------- + +For more information on permission setup, please consult +/usr/share/doc/beep/PERMISSIONS.md file. + +On Fedora, if a user is currently logged in locally via either a +graphical session or a getty@ttyN.service text session on the virtual +console, that user will automatically be able to access the device +special file `/dev/input/by-path/platform-pcspkr-event-spkr` which +`beep` uses to access the PC speaker. + +This means that for many cases, no special permission setup is +required for a user to run beep. + +For other cases (such as e.g. users only logged in via ssh sessions), +you can add the respective user to the `beep` group. + +To add user `jane` to the `beep` group, have root run + + [root@host ~]# usermod jane -a -G beep + +You can check which users are members of the `beep` group by running + + [user@host ~]$ getent group beep + beep:x:951:jane,bill + [user@host ~]$ _ + +However, any user newly added to the `beep` group must re-login so +their processes can pick up the group membership. A user can check +their group membership as follows: + + [jane@host ~]$ id + uid=1000(jane) gid=1000(jane) groups=1000(jane),10(wheel),951(beep) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 + [jane@host ~]$ _ + +To check the permission of the PC speaker device file, run + + [user@host ~]$ ls -lH /dev/input/by-path/platform-pcspkr-event-spkr + crw-rw----+ 1 root input 13, 85 Dec 29 13:52 /dev/input/by-path/platform-pcspkr-event-spkr + [user@host ~]$ getfacl /dev/input/by-path/platform-pcspkr-event-spkr + getfacl: Removing leading '/' from absolute path names + # file: dev/input/by-path/platform-pcspkr-event-spkr + # owner: root + # group: input + user::rw- + user:user:rw- + group::rw- + group:beep:-w- + mask::rw- + other::--- + + [user@host ~]$ _ + + +3. Set up the audio mixer (required on some hardware) +----------------------------------------------------- + +On some systems with integrated speakers like e.g. laptops from the +IBM/Lenovo Thinkpad series, there is no separate physical speaker for +the PC speaker. + +Instead, the square wave sound generated by the PC speaker goes to the +integrated speakers through a mixer chip, where it is mixed with PCM +sound, CD drive audio, line in, microphone in, and other sources. + +On these systems, you might need to configure the mixer to make the PC +speaker audible through the laptop speakers, e.g. + + * Start alsamixer. + * Find the correct card (switch with the `F6` key). + * Maybe enable loopback. + * Unmute the appropriate PC speaker source (`m` key) and turn up + its volume. + * Weirdly, a microphone volume below 0% apparently can also + silence the PC speaker beeps. + +Some experimentation might be required. + +Of course, these mixer settings must be saved before the next system +reboot so that the reboot can restore the mixer settings. Some systems +save the mixer settings as part of their shutdown procedure, others +may need you to save them explicitly. + +TBD: How does Fedora handle saving alsamixer state across reboots? + + +4. When and how to avoid using `beep` +------------------------------------- + +An alternative way to get sound output for non-root users works if the +system has a sound card set up with a speaker connected to it. + +E.g. the standard 440Hz square wave which `beep` emits can be played +through the standard sound infrastructure with the command `play` from +the `sox` package (more pleasant examples are shown in the `sox(1)` +man page): + + [jane@host ~]$ play -q -n synth 0.3 square 440 + +However, modern desktop systems with the freedesktop.org suite of +middleware (systemd user sessions, pulseaudio audio routing, etc.) +may not be set up to allow use of the sound infrastructure for users +other than the user currently logged into the current virtual console. + + +5. Example Usage of `beep` +-------------------------- + +An acoustic notification when a long running compile job finishes +(whether the build was successful or not) could be done with + + [jane@host ~/src/foobar]$ ./configure --prefix=$HOME/.local && make && make check && make install; beep + +or + + [bill@host ~/rpms/foobar]$ if fedpkg mockbuild; then /usr/share/doc/beep/contrib/success-beeps; else /usr/share/doc/beep/contrib/failure-beeps; fi diff --git a/beep-README.fedora b/beep-README.fedora deleted file mode 100644 index 9572598..0000000 --- a/beep-README.fedora +++ /dev/null @@ -1,22 +0,0 @@ -On systems with Fedora 12 or later, the kernel does not by default -alias the system device to the pcspkr.ko kernel driver any more. This -means that the pcspkr.ko driver is not loaded by default any more on -system startup. - -You can check whether pcspkr.ko is loaded by running "lsmod | grep -pcspkr". - -On these systems, the beep package ships a config file -/etc/modprobe.d/beep.conf with a configuration line that reintroduces -the default loading of pcspkr.ko. Due to possible side effects, you -will need to manually uncomment that line in the beep.conf file, though. - -You do not need to reboot your system in order to get pcspkr.ko -loaded, though. Running "modprobe pcspkr" should do the job without a -reboot. - -Caution: There appear to be some issues with access to the -/dev/console device which beep uses, possibly related to -ConsoleKit. This means that sometimes, just having pcspkr.ko loaded is -not enough for beep to actually beep. This issue is being -investigated. diff --git a/beep-modprobe.conf b/beep-modprobe.conf deleted file mode 100644 index c1ddb22..0000000 --- a/beep-modprobe.conf +++ /dev/null @@ -1,3 +0,0 @@ -# Uncomment the following line to have the pcspkr driver loaded -# automatically on boot -# alias platform:pcspkr pcspkr diff --git a/beep.rpmlintrc b/beep.rpmlintrc new file mode 100644 index 0000000..7985f91 --- /dev/null +++ b/beep.rpmlintrc @@ -0,0 +1,3 @@ +# -*- python -*- + +addFilter(r'name-repeated-in-summary C Beep') diff --git a/beep.spec b/beep.spec index 46e9fbb..84ce491 100644 --- a/beep.spec +++ b/beep.spec @@ -1,143 +1,156 @@ -%if 0%{?fedora} >= 12 -%global ship_modprobe_config 1 -%else -%global ship_modprobe_config 0 -%endif - - Summary: Beep the PC speaker any number of ways Name: beep -Version: 1.3 -Release: 9%{?dist} +Version: 1.4.12 +Release: %autorelease -Group: Applications/System -License: GPLv2+ -URL: http://www.johnath.com/beep/ +# Automatically converted from old format: GPLv2+ - review is highly recommended. +License: GPL-2.0-or-later +URL: https://github.com/spkr-beep/beep/ -# Upstream github repo: https://github.com/johnath/beep +# Upstream github repo: https://github.com/spkr-beep/beep # hun github repo: https://github.com/ndim/beep -# Alternative source URLs to download: -# curl -L -o beep-github.tar.gz https://api.github.com/repos/johnath/beep/tarball -# curl -L -o beep-g0d790fa.tar.gz https://api.github.com/repos/johnath/beep/tarball/0d790fa -# curl -L -o beep-1.3-gdb6f31a.tar.gz https://api.github.com/repos/johnath/beep/tarball/db6f31a60303e41def1a1d0705164cd5b6d75492 -Source0: http://www.johnath.com/beep/%{name}-%{version}.tar.gz +# Alternative source URL to download: +# curl -L -o spkr-beep-beep-1.4.0-db395a5.tar.gz https://api.github.com/repos/spkr-beep/beep/tarball/db395a53dc862eda80b3c1abf0d9136be97ad15a +# curl -L -o spkr-beep-beep-1.4.1-9ffa7a1.tar.gz https://api.github.com/repos/spkr-beep/beep/tarball/9ffa7a1feb195a60db20792890225b69720984d3 +Source0: https://github.com/spkr-beep/%{name}/archive/v%{version}/%{name}-%{version}.tar.gz # Fedora specific files -Source1: %{name}-README.fedora -Source2: %{name}-modprobe.conf +Source1: README.fedora +Source2: 70-pcspkr-beep.rules +Source3: 90-pcspkr-beep.rules +Source4: pcspkr-beep.conf -# Fix from upstream github repo -Patch1: 0001-Fixed-Makefile.patch - -# Fix from upstream github repo -Patch2: 0002-Add-more-error-detection.patch - -# No sense to add stuff to .gitignore in our source dir -# Patch3: 0003-Gitignorance.patch - -# Fix from upstream github repo -Patch4: 0004-also-catch-SIGTERM-for-stopping-the-beep.patch - -# Make build/install more user and packaging friendly -# https://github.com/johnath/beep/pull/6 -Patch5: 0005-Make-build-install-more-user-and-packaging-friendly.patch - -# Preserve file modification time on install -# https://github.com/johnath/beep/pull/6 -Patch6: 0006-Preserve-file-modification-time-on-install.patch - +BuildRequires: gcc BuildRequires: glibc-kernheaders +%{!?el7:BuildRequires: libubsan} + +# for the udev macros +BuildRequires: systemd +BuildRequires: make + +# Until https://bugzilla.redhat.com/show_bug.cgi?id=1652823 has been +# fixed (which makes dnf pull in a completely new debug kernel, while +# absolutely not installing the kernel module for the non-debug kernel +# actually in use), we cannot use the kmod(pcspkr.ko) recommends +# below. The boolean recommends also do not work (they do not pull in +# any package on "dnf install"), so we can only keep those here to +# document that they do not work. +# +# So people need to install the required package by hand. +# +# We would "recommend" the kernel driver and not "require" it in +# order to not break cases where beep is installed on systems other +# than bare-metal PC hardware such as containers. +# +# This assumes the people using the "beep" package can deal with a +# "beep" invocation not producing a beep on those other systems. +# +# The alternative would be to "require" the kernel driver which would +# mean that you could not install beep inside a container, even if +# that container is run in a priviledged way with access to the host's +# pcspkr.ko. +# +# While the kernel supports more speaker drivers, the only hardware +# platforms with a speaker driver supported by Fedora use pcspkr.ko +# (PCSPKR_PLATFORM in the kernel config). +# +# Recommends: kmod(pcspkr.ko) +# Recommends: (kernel-modules-extras if kernel-modules) +# Recommends: (kernel-debug-modules-extras if kernel-debug-modules) + + +# /etc/modprobe.d/ +Requires: kmod + +# /etc/udev/rules.d/ and /usr/lib/udev/rules.d/ +%{?el7:Requires: systemd} +%{!?el7:Requires: systemd-udev} %description Beep allows the user to control the PC speaker with precision, allowing different sounds to indicate different events. While it -can be run quite happily on the commandline, its intended place -of residence is within shell/perl scripts, notifying the user when -something interesting occurs. Of course, it has no notion of -what's interesting, but it's real good at that notifying part. +can be run quite happily from the command line, its intended place +of use is within scripts, notifying the user when something +interesting occurs. Of course, it has no notion of what is +interesting, but it is really good at the notifying part. %prep %setup -q -%patch1 -p1 -b 0001 -%patch2 -p1 -b 0002 -%patch4 -p1 -b 0004 -%patch5 -p1 -b 0005 -%patch6 -p1 -b 0006 -cp -p %{SOURCE1} README.fedora +sed -i 's|^\.\\" \(\.BR .*\)README.Distro\(.*\)|\1README.fedora\2|' beep.1.in && : #" + +# Create a sysusers.d config file +cat >beep.sysusers.conf <local.mk< - 1.3-9 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild - -* Sat Jun 07 2014 Fedora Release Engineering - 1.3-8 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild - -* Tue Nov 19 2013 Hans Ulrich Niedermann - 1.3-7 -- Use new upstream tarball beep-1.3.tar.gz (yes, it has changed!) -- Add a few fixes from upstream git repo -- Move our Makefile cleanup to upstream pull request - -* Sat Aug 03 2013 Fedora Release Engineering - 1.3-6 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild - -* Wed Feb 13 2013 Fedora Release Engineering - 1.3-5 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild - -* Wed Jul 18 2012 Fedora Release Engineering - 1.3-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild - -* Thu Jan 12 2012 Fedora Release Engineering - 1.3-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild - -* Mon Feb 07 2011 Fedora Release Engineering - 1.3-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild - -* Fri Jul 16 2010 Hans Ulrich Niedermann - 1.3-1 -- Update to upstream release beep-1.3 - -* Fri Jan 22 2010 Hans Ulrich Niedermann - 1.2.2-6 -- Ship modprobe config file with alias for pcspkr on F12 and later - -* Fri Jul 24 2009 Fedora Release Engineering - 1.2.2-5 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild - -* Mon Feb 23 2009 Fedora Release Engineering - 1.2.2-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild - -* Sun Sep 7 2008 Hans Ulrich Niedermann - 1.2.2-3 -- Initial package for submission to Fedora +%autochangelog diff --git a/changelog b/changelog new file mode 100644 index 0000000..e448e07 --- /dev/null +++ b/changelog @@ -0,0 +1,176 @@ +* Wed Jul 20 2022 Fedora Release Engineering - 1.4.12-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Fri Jan 28 2022 Hans Ulrich Niedermann - 1.4.12-1 +- Update to beep-1.4.12 with simplified makefile + +* Thu Jan 27 2022 Hans Ulrich Niedermann - 1.4.11-4 +- fix broken rpm build from 1.4.11-3 (missing COMPILERS= in %%install) + +* Thu Jan 27 2022 Hans Ulrich Niedermann - 1.4.11-3 +- only use %%doc with absolute paths (removes duplicate listings) +- stop using env vars in favour of rpm macros +- remove non-functional explicit %%attr + +* Wed Jan 19 2022 Hans Ulrich Niedermann - 1.4.11-2 +- rebuild to have common sources for all branches + +* Sat Jan 15 2022 Hans Ulrich Niedermann - 1.4.11-1 +- Update to beep-1.4.11 + +* Sat Jan 15 2022 Hans Ulrich Niedermann - 1.4.10-1 +- Update to beep-1.4.10 + +* Wed Jul 21 2021 Fedora Release Engineering - 1.4.7-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Thu Mar 25 2021 Hans Ulrich Niedermann - 1.4.7-6 +- Remove any kmod(pcspkr.ko) dependencies as they install the wrong package + +* Wed Mar 24 2021 Hans Ulrich Niedermann - 1.4.7-5 +- Add "Recommends: kmod(pcspkr.ko)" to install the driver if available (#1942670) + +* Tue Jan 26 2021 Fedora Release Engineering - 1.4.7-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Mon Jul 27 2020 Fedora Release Engineering - 1.4.7-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Tue Jan 28 2020 Fedora Release Engineering - 1.4.7-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Wed Jan 1 2020 Hans Ulrich Niedermann - 1.4.7-1 +- Update to beep-1.4.7 +- Install contrib scripts for both successfully and failing sounding beeps. + +* Fri Dec 20 2019 Hans Ulrich Niedermann - 1.4.6-1 +- Update to beep-1.4.6 +- Use BEEP_LOG_LEVEL environment variable for default log level +- Avoid possible bug related to not using va_copy() with a va_list parameter + +* Wed Jul 24 2019 Fedora Release Engineering - 1.4.4-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Tue Apr 2 2019 Hans Ulrich Niedermann - 1.4.4-1 +- Update to beep-1.4.4 +- Install default udev rules to /usr/lib/udev/rules.d/ (not /etc/udev/) +- Give the currently locally logged in user PC speaker access out of the box +- Have beep(1) man page mention README.fedora + +* Thu Jan 31 2019 Fedora Release Engineering - 1.4.3-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Fri Jan 18 2019 Hans Ulrich Niedermann - 1.4.3-1 +- Update to beep-1.4.3 + +* Tue Jan 8 2019 Hans Ulrich Niedermann - 1.4.1-1 +- Update to beep-1.4.1 + +* Fri Jan 4 2019 Hans Ulrich Niedermann - 1.4.0-1 +- Update to beep-1.4.0 + +* Sat Dec 29 2018 Hans Ulrich Niedermann - 1.3-26 +- Stop shipping old sudo related config files +- Refuse to run when run via sudo +- Set up group 'beep' for write access to evdev device with new udev rule +- Update README.fedora to reflect new group permission setup on evdev device + +* Fri Dec 28 2018 Hans Ulrich Niedermann - 1.3-25 +- guard against directory traversal in /dev/input/ check +- refuse to run if setuid or setgid root +- make the evdev device the first device to look for (does not require root) + +* Fri Dec 28 2018 Hans Ulrich Niedermann - 1.3-24 +- Actually apply the patches +- Update COPYING with new FSF address +- Fix Patch9 to work as non-git patch (do the rest with shell) +- Proper naming of Patch14 +- Exit beep when error accessing API + +* Fri Dec 28 2018 Hans Ulrich Niedermann - 1.3-23 +- Fix CVE-2018-1000532 and mitigate against related issues (#1595592) +- Fix a number of potential integer overflows + +* Thu Jul 12 2018 Fedora Release Engineering - 1.3-22 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Tue Apr 3 2018 Hans Ulrich Niedermann - 1.3-21 +- Add CVE-2018-0492 fix. +- Behaviour of multiple -f parameters matches documentation now. + +* Wed Feb 07 2018 Fedora Release Engineering - 1.3-20 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Wed Aug 02 2017 Fedora Release Engineering - 1.3-19 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild + +* Wed Jul 26 2017 Fedora Release Engineering - 1.3-18 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Fri Feb 10 2017 Fedora Release Engineering - 1.3-17 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Tue May 31 2016 Hans Ulrich Niedermann - 1.3-16 +- Use more appropriate sox play example in README.fedora +- Make command line examples more readable in README.fedora + +* Tue May 31 2016 Hans Ulrich Niedermann - 1.3-15 +- Add shell aliases to allow non-root users to run beep from the shell +- Fix mail address in %%changelog + +* Tue May 31 2016 Hans Ulrich Niedermann - 1.3-14 +- Document how non-root users can run beep via sudo (#1133231) +- Remove spec file conditional required in Fedora 12 times + +* Mon May 16 2016 Hans Ulrich Niedermann - 1.3-13 +- Remove useless %%defattr for clarity + +* Wed Feb 03 2016 Fedora Release Engineering - 1.3-12 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Sun Jan 17 2016 Hans Ulrich Niedermann - 1.3-11 +- Do not replace config file modprobe.d/beep.conf (#1087616) + +* Wed Jun 17 2015 Fedora Release Engineering - 1.3-10 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Fri Aug 15 2014 Fedora Release Engineering - 1.3-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild + +* Sat Jun 07 2014 Fedora Release Engineering - 1.3-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Tue Nov 19 2013 Hans Ulrich Niedermann - 1.3-7 +- Use new upstream tarball beep-1.3.tar.gz (yes, it has changed!) +- Add a few fixes from upstream git repo +- Move our Makefile cleanup to upstream pull request + +* Sat Aug 03 2013 Fedora Release Engineering - 1.3-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild + +* Wed Feb 13 2013 Fedora Release Engineering - 1.3-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild + +* Wed Jul 18 2012 Fedora Release Engineering - 1.3-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Thu Jan 12 2012 Fedora Release Engineering - 1.3-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild + +* Mon Feb 07 2011 Fedora Release Engineering - 1.3-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild + +* Fri Jul 16 2010 Hans Ulrich Niedermann - 1.3-1 +- Update to upstream release beep-1.3 + +* Fri Jan 22 2010 Hans Ulrich Niedermann - 1.2.2-6 +- Ship modprobe config file with alias for pcspkr on F12 and later + +* Fri Jul 24 2009 Fedora Release Engineering - 1.2.2-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild + +* Mon Feb 23 2009 Fedora Release Engineering - 1.2.2-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild + +* Sun Sep 7 2008 Hans Ulrich Niedermann - 1.2.2-3 +- Initial package for submission to Fedora diff --git a/pcspkr-beep.conf b/pcspkr-beep.conf new file mode 100644 index 0000000..cfe1e8f --- /dev/null +++ b/pcspkr-beep.conf @@ -0,0 +1,21 @@ +# Uncomment the alias line to have the pcspkr.ko driver load +# automatically on boot. +# +# The pcspkr.ko driver module is shipped in the kernel-modules-extra +# which you need to install manually at this time. +# +# An automatic installation via "requires" or "recommends" is not +# possible due to "dnf install 'kmod(pcspkr.ko)'" likely installing an +# unrelated (-debug) kernel (see +# https://bugzilla.redhat.com/show_bug.cgi?id=1652823). +# +# Note that the kernel-modules-extra package and the pcspkr.ko module +# might also not be available inside a container, while the hosts's +# actual pcspkr.ko API might or might not be available inside the +# container depending on how the container is launched. +# +# So inside a container, the "beep" command might or might not produce +# sound depending on things entirely outside of the control of "beep" +# or even the container. +# +# alias platform:pcspkr pcspkr diff --git a/sources b/sources index 0ac109c..7052993 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -49c340ceb95dbda3f97b2daafac7892a beep-1.3.tar.gz +SHA512 (beep-1.4.12.tar.gz) = 18fed77bc4820ecc84ac12e903d516d5228fa2038df1788cc68db76e40b3c47a271911cc45bc48ce94e3f215803c5c05cb6c08ebb47ae6d7fcf1e0bc1ac169cd