Add CONFIG_FEATURE_SYSLOG which controls whether bb_xx_msg will ever try to send output to syslog. Add "select CONFIG_FEATURE_SYSLOG" to relevant applets. This allows to omit syslog code if we do not have any syslog-capable applets in the build.
This commit was genuinely broken at the time (not related to our build system): scripts/config/mkconfigs.c (2005-08-01 - 2006-10-05 arasi) uretilen bbconfigopts.h icine .config satirlarini kacissiz, ham newline'larla gömüyordu - gecerli C degildi, busybox'un kendi bb_mkdep araci bile parse edemiyordu (7d219aab7 ile duzeltildi, mkconfigs shell scripte cevrildi)
No binary (build failed)
—
(log yok)
| @@ -150,6 +150,13 @@ config CONFIG_FEATURE_SUID | |
| are login, passwd, su, ping, traceroute, crontab, dnsd, ipcrm, ipcs, | |
| and vlock. | |
| + | config CONFIG_FEATURE_SYSLOG |
| + | bool "Support for syslog" |
| + | default n |
| + | help |
| + | This option is auto-selected when you select any applet which may |
| + | send its output to syslog. You do not need to select it manually. |
| + | |
| config CONFIG_FEATURE_SUID_CONFIG | |
| bool "Runtime SUID/SGID configuration via /etc/busybox.conf" | |
| default n if CONFIG_FEATURE_SUID | |
| @@ -8,6 +8,7 @@ menu "Init Utilities" | |
| config CONFIG_INIT | |
| bool "init" | |
| default n | |
| + | select CONFIG_FEATURE_SYSLOG |
| help | |
| init is the first program run when the system boots. | |
| @@ -32,7 +32,7 @@ void bb_verror_msg(const char *s, va_list p, const char* strerr) | |
| else | |
| fprintf(stderr, ": %s\n", strerr); | |
| } | |
| - | if (logmode & LOGMODE_SYSLOG) { |
| + | if (ENABLE_FEATURE_SYSLOG & (logmode & LOGMODE_SYSLOG)) { |
| if (!strerr) | |
| vsyslog(LOG_ERR, s, p2); | |
| else { | |
| @@ -24,7 +24,7 @@ void bb_vinfo_msg(const char *s, va_list p) | |
| vprintf(s, p); | |
| putchar('\n'); | |
| } | |
| - | if (logmode & LOGMODE_SYSLOG) |
| + | if (ENABLE_FEATURE_SYSLOG & (logmode & LOGMODE_SYSLOG)) |
| vsyslog(LOG_INFO, s, p2); | |
| va_end(p2); | |
| } | |
| @@ -80,6 +80,7 @@ config CONFIG_DELUSER | |
| config CONFIG_GETTY | |
| bool "getty" | |
| default n | |
| + | select CONFIG_FEATURE_SYSLOG |
| help | |
| getty lets you log in on a tty, it is normally invoked by init. | |
| @@ -103,6 +104,7 @@ config CONFIG_LOGIN | |
| bool "login" | |
| default n | |
| select CONFIG_FEATURE_SUID | |
| + | select CONFIG_FEATURE_SYSLOG |
| help | |
| login is used when signing onto a system. | |
| @@ -122,6 +124,7 @@ config CONFIG_PASSWD | |
| bool "passwd" | |
| default n | |
| select CONFIG_FEATURE_SUID | |
| + | select CONFIG_FEATURE_SYSLOG |
| help | |
| passwd changes passwords for user and group accounts. A normal user | |
| may only change the password for his/her own account, the super user | |
| @@ -135,6 +138,7 @@ config CONFIG_SU | |
| bool "su" | |
| default n | |
| select CONFIG_FEATURE_SUID | |
| + | select CONFIG_FEATURE_SYSLOG |
| help | |
| su is used to become another user during a login session. | |
| Invoked without a username, su defaults to becoming the super user. | |
| @@ -152,6 +156,7 @@ config CONFIG_SU_SYSLOG | |
| config CONFIG_SULOGIN | |
| bool "sulogin" | |
| default n | |
| + | select CONFIG_FEATURE_SYSLOG |
| help | |
| sulogin is invoked when the system goes into single user | |
| mode (this is done through an entry in inittab). | |
| @@ -23,6 +23,7 @@ config CONFIG_CROND | |
| bool "crond" | |
| default n | |
| select CONFIG_FEATURE_SUID | |
| + | select CONFIG_FEATURE_SYSLOG |
| help | |
| Crond is a background daemon that parses individual crontab | |
| files and executes commands on behalf of the users in question. | |
| @@ -66,6 +67,7 @@ config CONFIG_DC | |
| config CONFIG_DEVFSD | |
| bool "devfsd (obsolete)" | |
| default n | |
| + | select CONFIG_FEATURE_SYSLOG |
| help | |
| This is deprecated, and will be removed at the end of 2008. | |
| @@ -33,6 +33,7 @@ config CONFIG_ETHER_WAKE | |
| config CONFIG_FAKEIDENTD | |
| bool "fakeidentd" | |
| default n | |
| + | select CONFIG_FEATURE_SYSLOG |
| help | |
| fakeidentd listens on the ident port and returns a predefined | |
| fake value on any query. | |
| @@ -288,6 +289,7 @@ config CONFIG_FEATURE_IFUPDOWN_MAPPING | |
| config CONFIG_INETD | |
| bool "inetd" | |
| default n | |
| + | select CONFIG_FEATURE_SYSLOG |
| help | |
| Internet superserver daemon | |
| @@ -428,6 +430,7 @@ config CONFIG_FEATURE_IPCALC_LONG_OPTIONS | |
| config CONFIG_NAMEIF | |
| bool "nameif" | |
| default n | |
| + | select CONFIG_FEATURE_SYSLOG |
| help | |
| nameif is used to rename network interface by its MAC address. | |
| Renamed interfaces MUST be in the down state. | |
| @@ -539,6 +542,7 @@ config CONFIG_FEATURE_TELNET_AUTOLOGIN | |
| config CONFIG_TELNETD | |
| bool "telnetd" | |
| default n | |
| + | select CONFIG_FEATURE_SYSLOG |
| help | |
| A daemon for the TELNET protocol, allowing you to log onto the host | |
| running the daemon. Please keep in mind that the TELNET protocol | |
| @@ -701,6 +705,7 @@ config CONFIG_FEATURE_WGET_LONG_OPTIONS | |
| config CONFIG_ZCIP | |
| bool "zcip" | |
| default n | |
| + | select CONFIG_FEATURE_SYSLOG |
| help | |
| ZCIP provides ZeroConf IPv4 address selection, according to RFC 3927. | |
| It's a daemon that allocates and defends a dynamically assigned | |
| @@ -6,6 +6,7 @@ | |
| config CONFIG_APP_UDHCPD | |
| bool "udhcp Server (udhcpd)" | |
| default n | |
| + | select CONFIG_FEATURE_SYSLOG |
| help | |
| uDHCPd is a DHCP server geared primarily toward embedded systems, | |
| while striving to be fully functional and RFC compliant. | |
| @@ -26,6 +27,7 @@ config CONFIG_APP_DUMPLEASES | |
| config CONFIG_APP_UDHCPC | |
| bool "udhcp Client (udhcpc)" | |
| default n | |
| + | select CONFIG_FEATURE_SYSLOG |
| help | |
| uDHCPc is a DHCP client geared primarily toward embedded systems, | |
| while striving to be fully functional and RFC compliant. | |
| @@ -35,16 +37,6 @@ config CONFIG_APP_UDHCPC | |
| See http://udhcp.busybox.net for further details. | |
| - | config CONFIG_FEATURE_UDHCP_SYSLOG |
| - | bool "Log udhcp messages to syslog (instead of stdout)" |
| - | default n |
| - | depends on CONFIG_APP_UDHCPD || CONFIG_APP_UDHCPC |
| - | help |
| - | If selected, udhcpd will log all its messages to syslog, otherwise, |
| - | it will attempt to log them to stdout. |
| - | |
| - | See http://udhcp.busybox.net for further details. |
| - | |
| config CONFIG_FEATURE_UDHCP_DEBUG | |
| bool "Compile udhcp with noisy debugging messages" | |
| default n | |
| @@ -89,6 +89,7 @@ config CONFIG_KLOGD | |
| bool "klogd" | |
| default n | |
| depends on CONFIG_SYSLOGD | |
| + | select CONFIG_FEATURE_SYSLOG |
| help | |
| klogd is a utility which intercepts and logs all | |
| messages from the Linux kernel and sends the messages | |
| @@ -99,6 +100,7 @@ config CONFIG_KLOGD | |
| config CONFIG_LOGGER | |
| bool "logger" | |
| default n | |
| + | select CONFIG_FEATURE_SYSLOG |
| help | |
| The logger utility allows you to send arbitrary text | |
| messages to the system log (i.e. the 'syslogd' utility) so | |