From 49215dddb6eb715823be0e4b21bba37a8fd55ad3 Mon Sep 17 00:00:00 2001 From: Natanael Copa Date: Fri, 21 Aug 2009 14:10:17 +0000 Subject: busybox: backport the beep applet from git --- ...001-add-simple-beep-applet-second-version.patch | 186 ------------------- main/busybox/0001-add-simple-beep-applet.patch | 205 +++++++++++++++++++++ ...d-config-knob-for-default-freq-and-length.patch | 79 ++++++++ main/busybox/APKBUILD | 10 +- main/busybox/busyboxconfig | 4 +- 5 files changed, 293 insertions(+), 191 deletions(-) delete mode 100644 main/busybox/0001-add-simple-beep-applet-second-version.patch create mode 100644 main/busybox/0001-add-simple-beep-applet.patch create mode 100644 main/busybox/0002-add-config-knob-for-default-freq-and-length.patch (limited to 'main/busybox') diff --git a/main/busybox/0001-add-simple-beep-applet-second-version.patch b/main/busybox/0001-add-simple-beep-applet-second-version.patch deleted file mode 100644 index 834026fa35..0000000000 --- a/main/busybox/0001-add-simple-beep-applet-second-version.patch +++ /dev/null @@ -1,186 +0,0 @@ -From b36908b21def4916b10c62ae3e28cacb9073556e Mon Sep 17 00:00:00 2001 -From: Bernhard Reutner-Fischer -Date: Tue, 18 Aug 2009 22:28:09 +0200 -Subject: [PATCH] add simple beep applet, second version - -Signed-off-by: Bernhard Reutner-Fischer ---- - include/applets.h | 1 + - include/usage.h | 9 +++++ - miscutils/Config.in | 6 +++ - miscutils/Kbuild | 1 + - miscutils/beep.c | 101 +++++++++++++++++++++++++++++++++++++++++++++++++++ - 5 files changed, 118 insertions(+), 0 deletions(-) - create mode 100644 miscutils/beep.c - -diff --git a/include/applets.h b/include/applets.h -index 32c596d..5ddbfe4 100644 ---- a/include/applets.h -+++ b/include/applets.h -@@ -80,6 +80,7 @@ USE_ASH(APPLET(ash, _BB_DIR_BIN, _BB_SUID_NEVER)) - USE_AWK(APPLET_NOEXEC(awk, awk, _BB_DIR_USR_BIN, _BB_SUID_NEVER, awk)) - USE_BASENAME(APPLET_NOFORK(basename, basename, _BB_DIR_USR_BIN, _BB_SUID_NEVER, basename)) - USE_BBCONFIG(APPLET(bbconfig, _BB_DIR_BIN, _BB_SUID_NEVER)) -+USE_BEEP(APPLET(beep, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) - //USE_BBSH(APPLET(bbsh, _BB_DIR_BIN, _BB_SUID_NEVER)) - USE_BLKID(APPLET(blkid, _BB_DIR_SBIN, _BB_SUID_NEVER)) - USE_BRCTL(APPLET(brctl, _BB_DIR_USR_SBIN, _BB_SUID_NEVER)) -diff --git a/include/usage.h b/include/usage.h -index bfacc56..ac8669c 100644 ---- a/include/usage.h -+++ b/include/usage.h -@@ -142,6 +142,15 @@ - "$ basename /foo/bar.txt .txt\n" \ - "bar" - -+#define beep_trivial_usage \ -+ "-f freq -l length -d delay -r repetitions" -+#define beep_full_usage "\n\n" \ -+ "Options:\n" \ -+ "\n -f Frequency in Hz" \ -+ "\n -l Length in ms" \ -+ "\n -d Delay in ms" \ -+ "\n -r Repetitions" \ -+ - #define fbsplash_trivial_usage \ - "-s IMGFILE [-c] [-d DEV] [-i INIFILE] [-f CMD]" - #define fbsplash_full_usage "\n\n" \ -diff --git a/miscutils/Config.in b/miscutils/Config.in -index 7feaf4a..e56a3fc 100644 ---- a/miscutils/Config.in -+++ b/miscutils/Config.in -@@ -19,6 +19,12 @@ config BBCONFIG - The bbconfig applet will print the config file with which - busybox was built. - -+config BEEP -+ bool "beep" -+ default n -+ help -+ The beep applets beeps in a given freq/Hz. -+ - config CHAT - bool "chat" - default n -diff --git a/miscutils/Kbuild b/miscutils/Kbuild -index 23d7d8d..8cf3406 100644 ---- a/miscutils/Kbuild -+++ b/miscutils/Kbuild -@@ -7,6 +7,7 @@ - lib-y:= - lib-$(CONFIG_ADJTIMEX) += adjtimex.o - lib-$(CONFIG_BBCONFIG) += bbconfig.o -+lib-$(CONFIG_BEEP) += beep.o - lib-$(CONFIG_CHAT) += chat.o - lib-$(CONFIG_CHRT) += chrt.o - lib-$(CONFIG_CROND) += crond.o -diff --git a/miscutils/beep.c b/miscutils/beep.c -new file mode 100644 -index 0000000..81755d8 ---- /dev/null -+++ b/miscutils/beep.c -@@ -0,0 +1,101 @@ -+/* vi: set sw=4 ts=4: */ -+/* -+ * beep implementation for busybox -+ * -+ * Copyright (C) 2009 Bernhard Reutner-Fischer -+ * -+ * Licensed under the GPL v2 or later, see the file LICENSE in this tarball. -+ * -+ */ -+ -+#include "libbb.h" -+ -+#include -+#ifndef CLOCK_TICK_RATE -+#define CLOCK_TICK_RATE 1193180 -+#endif -+ -+#define OPT_f (1<<0) -+#define OPT_l (1<<1) -+#define OPT_d (1<<2) -+#define OPT_r (1<<3) -+/* defaults */ -+#define FREQ (4440) -+#define LENGTH (50) -+#define DELAY (0) -+#define REPETITIONS (1) -+#if 0 -+typedef struct beep { -+ struct beep *next; -+ unsigned freq, length, delay, rep; -+} beep_t; -+static beep_t* new_beep(void) { -+ beep_t *beep = (beep_t*)xzalloc(sizeof(beep_t)); -+ beep->freq = FREQ; -+ beep->length = LENGTH; -+ beep->delay = DELAY; -+ beep->rep = REPETITIONS; -+ return beep; -+} -+#endif -+#define GET_ARG do { if (!*++opt) opt = *++argv; } while (0) -+#define NEW_BEEP() { \ -+ freq = FREQ; \ -+ length = LENGTH; \ -+ delay = DELAY; \ -+ rep = REPETITIONS; \ -+ } -+ -+int beep_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE; -+int beep_main(int argc UNUSED_PARAM, char **argv) -+{ -+ int speaker = get_console_fd_or_die(); -+ unsigned freq, length, delay, rep; -+ unsigned long ioctl_arg; -+ -+ NEW_BEEP() -+ while (*++argv) { -+ char *opt = *argv; -+ -+ while (*opt == '-') -+ ++opt; -+ -+ switch (*opt) { -+ case 'f': -+ GET_ARG; -+ freq = xatoul(opt); -+ continue; -+ case 'l': -+ GET_ARG; -+ length = xatoul(opt); -+ continue; -+ case 'd': -+ GET_ARG; -+ delay = xatoul(opt); -+ continue; -+ case 'r': -+ GET_ARG; -+ freq = xatoul(opt); -+ continue; -+ case 'n': -+ break; -+ default: -+ bb_show_usage(); -+ break; -+ } -+ while (rep) { -+//bb_info_msg("rep[%d] freq=%d, length=%d, delay=%d", rep, freq, length, delay); -+ ioctl_arg = (int)(CLOCK_TICK_RATE/freq); -+ xioctl(speaker, KIOCSOUND, (void*)ioctl_arg); -+ usleep(1000 * length); -+ ioctl(speaker, KIOCSOUND, 0); -+ if (rep--) -+ usleep(delay); -+ } -+ if (opt && *opt == 'n') -+ NEW_BEEP() -+ } -+ if (ENABLE_FEATURE_CLEAN_UP) -+ close(speaker); -+ return EXIT_SUCCESS; -+} --- -1.6.4 - diff --git a/main/busybox/0001-add-simple-beep-applet.patch b/main/busybox/0001-add-simple-beep-applet.patch new file mode 100644 index 0000000000..050f229bbd --- /dev/null +++ b/main/busybox/0001-add-simple-beep-applet.patch @@ -0,0 +1,205 @@ +From f1ca52c6dacbec39246fca696a597f5dbeca321f Mon Sep 17 00:00:00 2001 +From: Bernhard Reutner-Fischer +Date: Fri, 21 Aug 2009 13:18:31 +0200 +Subject: [PATCH 1/2] add simple beep applet + +Signed-off-by: Bernhard Reutner-Fischer +--- + include/applets.h | 1 + + include/usage.h | 10 ++++ + miscutils/Config.in | 6 +++ + miscutils/Kbuild | 1 + + miscutils/beep.c | 119 +++++++++++++++++++++++++++++++++++++++++++++++++++ + 5 files changed, 137 insertions(+), 0 deletions(-) + create mode 100644 miscutils/beep.c + +diff --git a/include/applets.h b/include/applets.h +index 32c596d..5ddbfe4 100644 +--- a/include/applets.h ++++ b/include/applets.h +@@ -80,6 +80,7 @@ USE_ASH(APPLET(ash, _BB_DIR_BIN, _BB_SUID_NEVER)) + USE_AWK(APPLET_NOEXEC(awk, awk, _BB_DIR_USR_BIN, _BB_SUID_NEVER, awk)) + USE_BASENAME(APPLET_NOFORK(basename, basename, _BB_DIR_USR_BIN, _BB_SUID_NEVER, basename)) + USE_BBCONFIG(APPLET(bbconfig, _BB_DIR_BIN, _BB_SUID_NEVER)) ++USE_BEEP(APPLET(beep, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) + //USE_BBSH(APPLET(bbsh, _BB_DIR_BIN, _BB_SUID_NEVER)) + USE_BLKID(APPLET(blkid, _BB_DIR_SBIN, _BB_SUID_NEVER)) + USE_BRCTL(APPLET(brctl, _BB_DIR_USR_SBIN, _BB_SUID_NEVER)) +diff --git a/include/usage.h b/include/usage.h +index bfacc56..f51b848 100644 +--- a/include/usage.h ++++ b/include/usage.h +@@ -142,6 +142,16 @@ + "$ basename /foo/bar.txt .txt\n" \ + "bar" + ++#define beep_trivial_usage \ ++ "-f freq -l length -d delay -r repetitions -n" ++#define beep_full_usage "\n\n" \ ++ "Options:\n" \ ++ "\n -f Frequency in Hz" \ ++ "\n -l Length in ms" \ ++ "\n -d Delay in ms" \ ++ "\n -r Repetitions" \ ++ "\n -n Start new tone" \ ++ + #define fbsplash_trivial_usage \ + "-s IMGFILE [-c] [-d DEV] [-i INIFILE] [-f CMD]" + #define fbsplash_full_usage "\n\n" \ +diff --git a/miscutils/Config.in b/miscutils/Config.in +index 7feaf4a..e56a3fc 100644 +--- a/miscutils/Config.in ++++ b/miscutils/Config.in +@@ -19,6 +19,12 @@ config BBCONFIG + The bbconfig applet will print the config file with which + busybox was built. + ++config BEEP ++ bool "beep" ++ default n ++ help ++ The beep applets beeps in a given freq/Hz. ++ + config CHAT + bool "chat" + default n +diff --git a/miscutils/Kbuild b/miscutils/Kbuild +index 23d7d8d..8cf3406 100644 +--- a/miscutils/Kbuild ++++ b/miscutils/Kbuild +@@ -7,6 +7,7 @@ + lib-y:= + lib-$(CONFIG_ADJTIMEX) += adjtimex.o + lib-$(CONFIG_BBCONFIG) += bbconfig.o ++lib-$(CONFIG_BEEP) += beep.o + lib-$(CONFIG_CHAT) += chat.o + lib-$(CONFIG_CHRT) += chrt.o + lib-$(CONFIG_CROND) += crond.o +diff --git a/miscutils/beep.c b/miscutils/beep.c +new file mode 100644 +index 0000000..d5c3531 +--- /dev/null ++++ b/miscutils/beep.c +@@ -0,0 +1,119 @@ ++/* vi: set sw=4 ts=4: */ ++/* ++ * beep implementation for busybox ++ * ++ * Copyright (C) 2009 Bernhard Reutner-Fischer ++ * ++ * Licensed under the GPL v2 or later, see the file LICENSE in this tarball. ++ * ++ */ ++#include "libbb.h" ++ ++#include ++#ifndef CLOCK_TICK_RATE ++#define CLOCK_TICK_RATE 1193180 ++#endif ++ ++#define OPT_f (1<<0) ++#define OPT_l (1<<1) ++#define OPT_d (1<<2) ++#define OPT_r (1<<3) ++/* defaults */ ++#define FREQ (4440) ++#define LENGTH (50) ++#define DELAY (0) ++#define REPETITIONS (1) ++ ++#define GET_ARG do { if (!*++opt) opt = *++argv; if (opt == NULL) bb_show_usage();} while (0) ++#define NEW_BEEP() { \ ++ freq = FREQ; \ ++ length = LENGTH; \ ++ delay = DELAY; \ ++ rep = REPETITIONS; \ ++ } ++ ++int beep_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE; ++int beep_main(int argc UNUSED_PARAM, char **argv) ++{ ++ int speaker = get_console_fd_or_die(); ++ unsigned freq, length, delay, rep; ++ unsigned long ioctl_arg; ++ char *opt = NULL; ++ bool do_parse = true; ++ ++ NEW_BEEP() ++ while (*argv && *++argv) { ++ opt = *argv; ++ ++ while (*opt == '-') ++ ++opt; ++ if (do_parse) ++ switch (*opt) { ++ case 'f': ++ GET_ARG; ++ freq = xatoul(opt); ++ continue; ++ case 'l': ++ GET_ARG; ++ length = xatoul(opt); ++ continue; ++ case 'd': ++ GET_ARG; ++ delay = xatoul(opt); ++ continue; ++ case 'r': ++ GET_ARG; ++ rep = xatoul(opt); ++ continue; ++ case 'n': ++ break; ++ default: ++ bb_show_usage(); ++ break; ++ } ++ again: ++ while (rep) { ++//bb_info_msg("rep[%d] freq=%d, length=%d, delay=%d", rep, freq, length, delay); ++ ioctl_arg = (int)(CLOCK_TICK_RATE/freq); ++ xioctl(speaker, KIOCSOUND, (void*)ioctl_arg); ++ usleep(1000 * length); ++ ioctl(speaker, KIOCSOUND, 0); ++ if (rep--) ++ usleep(delay); ++ } ++ if (opt && *opt == 'n') ++ NEW_BEEP() ++ if (!do_parse && *argv == NULL) ++ goto out; ++ } ++ do_parse = false; ++ goto again; ++ out: ++ if (ENABLE_FEATURE_CLEAN_UP) ++ close(speaker); ++ return EXIT_SUCCESS; ++} ++/* ++ * so, e.g. Beethoven's 9th symphony "Ode an die Freude" would be ++ * something like: ++a=$((220*3)) ++b=$((247*3)) ++c=$((262*3)) ++d=$((294*3)) ++e=$((329*3)) ++f=$((349*3)) ++g=$((392*3)) ++#./beep -f$d -l200 -r2 -n -f$e -l100 -d 10 -n -f$c -l400 -f$g -l200 ++./beep -f$e -l200 -r2 \ ++ -n -d 100 -f$f -l200 \ ++ -n -f$g -l200 -r2 \ ++ -n -f$f -l200 \ ++ -n -f$e -l200 \ ++ -n -f$d -l200 \ ++ -n -f$c -l200 -r2 \ ++ -n -f$d -l200 \ ++ -n -f$e -l200 \ ++ -n -f$e -l400 \ ++ -n -f$d -l100 \ ++ -n -f$d -l200 \ ++*/ +-- +1.6.4 + diff --git a/main/busybox/0002-add-config-knob-for-default-freq-and-length.patch b/main/busybox/0002-add-config-knob-for-default-freq-and-length.patch new file mode 100644 index 0000000000..5055ae874a --- /dev/null +++ b/main/busybox/0002-add-config-knob-for-default-freq-and-length.patch @@ -0,0 +1,79 @@ +From b2e8817293648eac825ef64be4604af505b65d65 Mon Sep 17 00:00:00 2001 +From: Bernhard Reutner-Fischer +Date: Fri, 21 Aug 2009 14:40:29 +0200 +Subject: [PATCH 2/2] add config knob for default freq and length + +Signed-off-by: Bernhard Reutner-Fischer +--- + miscutils/Config.in | 16 ++++++++++++++++ + miscutils/beep.c | 12 ++++++++++-- + scripts/defconfig | 3 +++ + 3 files changed, 29 insertions(+), 2 deletions(-) + +diff --git a/miscutils/Config.in b/miscutils/Config.in +index e56a3fc..f2104bb 100644 +--- a/miscutils/Config.in ++++ b/miscutils/Config.in +@@ -25,6 +25,22 @@ config BEEP + help + The beep applets beeps in a given freq/Hz. + ++config FEATURE_BEEP_FREQ ++ int "default frequency" ++ range 0 2147483647 ++ default 4000 ++ depends on BEEP ++ help ++ Frequency for default beep. ++ ++config FEATURE_BEEP_LENGTH ++ int "default length" ++ range 0 2147483647 ++ default 30 ++ depends on BEEP ++ help ++ Length in ms for default beep. ++ + config CHAT + bool "chat" + default n +diff --git a/miscutils/beep.c b/miscutils/beep.c +index d5c3531..79e7547 100644 +--- a/miscutils/beep.c ++++ b/miscutils/beep.c +@@ -19,8 +19,16 @@ + #define OPT_d (1<<2) + #define OPT_r (1<<3) + /* defaults */ +-#define FREQ (4440) +-#define LENGTH (50) ++#ifndef CONFIG_FEATURE_BEEP_FREQ ++# define FREQ (4000) ++#else ++# define FREQ (CONFIG_FEATURE_BEEP_FREQ) ++#endif ++#ifndef CONFIG_FEATURE_BEEP_LENGTH ++# define LENGTH (30) ++#else ++# define LENGTH (CONFIG_FEATURE_BEEP_LENGTH) ++#endif + #define DELAY (0) + #define REPETITIONS (1) + +diff --git a/scripts/defconfig b/scripts/defconfig +index f991363..d7cef7c 100644 +--- a/scripts/defconfig ++++ b/scripts/defconfig +@@ -554,6 +554,9 @@ CONFIG_FEATURE_MOUNT_LOOP=y + # + CONFIG_ADJTIMEX=y + # CONFIG_BBCONFIG is not set ++CONFIG_BEEP=y ++CONFIG_FEATURE_BEEP_FREQ=4000 ++CONFIG_FEATURE_BEEP_LENGTH=30 + CONFIG_CHAT=y + CONFIG_FEATURE_CHAT_NOFAIL=y + # CONFIG_FEATURE_CHAT_TTY_HIFI is not set +-- +1.6.4 + diff --git a/main/busybox/APKBUILD b/main/busybox/APKBUILD index 0bf896cc13..9d89ef43d9 100644 --- a/main/busybox/APKBUILD +++ b/main/busybox/APKBUILD @@ -1,7 +1,7 @@ # Maintainer: Natanael Copa pkgname=busybox pkgver=1.14.3 -pkgrel=6 +pkgrel=7 pkgdesc="Size optimized toolbox of many common UNIX utilities" url=http://busybox.net license="GPL-2" @@ -11,7 +11,8 @@ triggers="busybox.trigger:/bin /usr/bin /sbin /usr/sbin /lib/modules/*" source="http://busybox.net/downloads/$pkgname-$pkgver.tar.bz2 $pkgname-1.11.1-bb.patch 0001-install-compat-fix-for-mode-of-created-files.patch - 0001-add-simple-beep-applet-second-version.patch + 0001-add-simple-beep-applet.patch + 0002-add-config-knob-for-default-freq-and-length.patch bb-tar-numeric-owner.patch busybox-sed-3.patch busyboxconfig" @@ -49,7 +50,8 @@ build() { md5sums="d170bf5f97a41aec3a505eab690d5699 busybox-1.14.3.tar.bz2 4c0f3b486eaa0674961b7ddcd0c60a9b busybox-1.11.1-bb.patch 73d39c57483084298c7e46bdbbbea8d1 0001-install-compat-fix-for-mode-of-created-files.patch -3ba0529f64aadae6ce95c683e6182988 0001-add-simple-beep-applet-second-version.patch +aa6869db437e11af86b5bf6c7d44b0a5 0001-add-simple-beep-applet.patch +e55b64d4510aebb83661dac3271e12d3 0002-add-config-knob-for-default-freq-and-length.patch 0b5b2d7db201f90cd08f4a3164ee29a1 bb-tar-numeric-owner.patch b75c3f419f8392dfdadd92aa24fdba8c busybox-sed-3.patch -3ece68eb92d97f3362dab7d838074d10 busyboxconfig" +59d9b2e920505abce869de7a3abac050 busyboxconfig" diff --git a/main/busybox/busyboxconfig b/main/busybox/busyboxconfig index fd46cfe779..4c250ac7d4 100644 --- a/main/busybox/busyboxconfig +++ b/main/busybox/busyboxconfig @@ -1,7 +1,7 @@ # # Automatically generated make config: don't edit # Busybox version: 1.14.3 -# Wed Aug 19 08:31:14 2009 +# Fri Aug 21 13:55:23 2009 # CONFIG_HAVE_DOT_CONFIG=y @@ -551,6 +551,8 @@ CONFIG_FEATURE_MOUNT_LOOP=y CONFIG_ADJTIMEX=y CONFIG_BBCONFIG=y CONFIG_BEEP=y +CONFIG_FEATURE_BEEP_FREQ=440 +CONFIG_FEATURE_BEEP_LENGTH=200 # CONFIG_CHAT is not set # CONFIG_FEATURE_CHAT_NOFAIL is not set # CONFIG_FEATURE_CHAT_TTY_HIFI is not set -- cgit v1.2.3