beep: Update to version 1.4.12
- Update from version 1.3 (2010) to version 1.4.12
- The originator of beep released version 1.3 in 2010 but the last commit after that was
in 2013. Since then nothing has happened.
- Most of the patches used in IPFire with beep-1.3 were created by Hans Ulrich Niedermann
and in 2019 he forked the original beep repository and has been doing updates since
then. The last release was in 2022 and the last commit in April 2024.
- This patch removes all the previous patches as they are built in to the current
tarball.
- Changelog
1.4.12
Document how to override and disable packaged udev rules.
Changed the build system to be closer to the GNU makefile conventions, i.e.
only one compiler/toolchain per build
default installation is to prefix=/usr/local instead of prefix=/usr
use GNU style docdir= instead of RPM spec file style pkgdocdir=
etc.
Still not using a configure script, though, as that is complex. The
user writing a local.mk with some definitions covers everyone wanting
to use the same settings across make invocations, though.
1.4.11
Install the contrib/morse/* scripts just like the failure-beeps.
missed to be done in release 1.4.10
1.4.10
Rename CREDITS to CREDITS.md and CHANGELOG to NEWS.md and
reformatted them to markdown.
Fix some __VA_ARGS__ problems with some C language compiler
options.
contrib/morse/: Add both perl and tr+sed script options to
have beep produce morse code by converting the output of the
morse utility from the BSD Games package to a beep command
line.
If built without any drivers, running beep will now complain and
abort instead of silently (pun intended) just not beeping.
Stop using Travis CI. Use GitHub Actions workflows for CI instead.
Skip test cases using PC speaker hardware if absent (e.g. on a VM)
Improved documentation (e.g. alsamixer requirement, loading pcspkr)
1.4.9
Mention default values in the beep(1) man page and the beep --help output.
1.4.8
At build time, avoid error messages related to maybe building without git
installed, or from a tarball instead of a git source tree.
Improve issue-6-benchmark report to help people with solving issue #6.
1.4.7
Install contrib scripts for both successfully and failing sounding beeps
as package documentation.
Install man page uncompressed, so packagers can use their favoured
compression format.
1.4.6
Use va_copy() macro in function with va_list parameter to avoid possible bug
Use BEEP_LOG_LEVEL environment variable for default log level
1.4.4
Remove udev/rules.d/ and modprobe.d/ example files to force packagers to
re-read PACKAGING.md and PERMISSIONS.md
Rewritten PERMISSIONS.md and INSTALL.md, adapting README.md and PACKAGING.md
and beep(1) (i.e. beep.1.in) for consistency
Allow beep to run as non-root, even if SUDO_* env variables are present
Fix newline escaping when generating beep-usage.c
By default, use plain -g instead of -gstabs
Ensure the gcc used actually supports the default flags in CFLAGS_gcc
1.4.3
Stop compiling with -fcf-protection in CFLAGS_gcc if the platform does not
support it (such as the Raspberry Pi ARMs).
1.4.2
Improved beep(1) man page and --help output
Cleaned signal handlers of all function calls
Use beep driver infrastructure (console and evdev drivers)
Abort on unhandled command line parameters
Use nanosleep(2) instead of usleep(3)
1.4.1
Safer signal handlers (safe_error_exit() without global variables).
Reduce accepted range of input numbers. 5 minute beeps should still be
enough.
1.4.0
The beep-1.4.0 release tries to revive the beep software. There have been
no commits to the former upstream since 2013, and with the two CVEs in
2018 that needed to change.
Packagers beware: Please read PACKAGING.md for the very different (and
much better) new way of device access.
First and foremost, beep-1.4.0 fixes CVE-2018-0492 and CVE-2018-
1000532.
The beep command now by default tries
/dev/input/by-path/platform-pcspkr-event-spkr which allows arbitrary
users beep access by allowing those arbitrary users file write access.
The procedures to do that are now well documented in INSTALL.md and
PERMISSIONS.md. There is no need for setuid-root or sudo any more, and
due to the experiences with the two 2018 CVEs, beep will even refuse to
run when it detects being run setuid or via sudo.
A few smaller things have also been changed. Quoting the CHANGELOG:
Fix CVE-2018-
1000532 External Control of File Name or Path
vulnerability in --device option
Fix CVE-2018-0492 race condition that allows local privilege escalation
Make /dev/input/by-path/platform-pcspkr-event-spkr the default device
to use as the system administrator can allow access to that without
needing any priviledge escalation risks via setuid or sudo.
Adapt --help output, beep.1 man page, README.md, INSTALL.md to reflect
the new device use.
Add basic suite of tests.
Constrained a few integers to avoid integer overflows.
Only issue fallback '\a' type beeps if that '\a' actually goes to a
tty device which can actually beep
Stop promoting floating point frequencies which no Kernel API can even
use
Signed-off-by: Adolf Belka <adolf.belka@ipfire.org>
Tested-by: Adolf Belka <adolf.belka@ipfire.org>
Reviewed-by: Michael Tremer <michael.tremer@ipfire.org>
Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>