sysklogd/*: convert to new-style "one file" applets

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
diff --git a/sysklogd/Config.src b/sysklogd/Config.src
index fcf9930..684e7d4 100644
--- a/sysklogd/Config.src
+++ b/sysklogd/Config.src
@@ -7,163 +7,4 @@
 
 INSERT
 
-config SYSLOGD
-	bool "syslogd"
-	default y
-	help
-	  The syslogd utility is used to record logs of all the
-	  significant events that occur on a system. Every
-	  message that is logged records the date and time of the
-	  event, and will generally also record the name of the
-	  application that generated the message. When used in
-	  conjunction with klogd, messages from the Linux kernel
-	  can also be recorded. This is terribly useful,
-	  especially for finding what happened when something goes
-	  wrong. And something almost always will go wrong if
-	  you wait long enough....
-
-config FEATURE_ROTATE_LOGFILE
-	bool "Rotate message files"
-	default y
-	depends on SYSLOGD
-	help
-	  This enables syslogd to rotate the message files
-	  on his own. No need to use an external rotatescript.
-
-config FEATURE_REMOTE_LOG
-	bool "Remote Log support"
-	default y
-	depends on SYSLOGD
-	help
-	  When you enable this feature, the syslogd utility can
-	  be used to send system log messages to another system
-	  connected via a network. This allows the remote
-	  machine to log all the system messages, which can be
-	  terribly useful for reducing the number of serial
-	  cables you use. It can also be a very good security
-	  measure to prevent system logs from being tampered with
-	  by an intruder.
-
-config FEATURE_SYSLOGD_DUP
-	bool "Support -D (drop dups) option"
-	default y
-	depends on SYSLOGD
-	help
-	  Option -D instructs syslogd to drop consecutive messages
-	  which are totally the same.
-
-config FEATURE_SYSLOGD_CFG
-	bool "Support syslog.conf"
-	default y
-	depends on SYSLOGD
-	help
-	  Supports restricted syslogd config. See docs/syslog.conf.txt
-
-config FEATURE_SYSLOGD_READ_BUFFER_SIZE
-	int "Read buffer size in bytes"
-	default 256
-	range 256 20000
-	depends on SYSLOGD
-	help
-	  This option sets the size of the syslog read buffer.
-	  Actual memory usage increases around five times the
-	  change done here.
-
-config FEATURE_IPC_SYSLOG
-	bool "Circular Buffer support"
-	default y
-	depends on SYSLOGD
-	help
-	  When you enable this feature, the syslogd utility will
-	  use a circular buffer to record system log messages.
-	  When the buffer is filled it will continue to overwrite
-	  the oldest messages. This can be very useful for
-	  systems with little or no permanent storage, since
-	  otherwise system logs can eventually fill up your
-	  entire filesystem, which may cause your system to
-	  break badly.
-
-config FEATURE_IPC_SYSLOG_BUFFER_SIZE
-	int "Circular buffer size in Kbytes (minimum 4KB)"
-	default 16
-	range 4 2147483647
-	depends on FEATURE_IPC_SYSLOG
-	help
-	  This option sets the size of the circular buffer
-	  used to record system log messages.
-
-config LOGREAD
-	bool "logread"
-	default y
-	depends on FEATURE_IPC_SYSLOG
-	help
-	  If you enabled Circular Buffer support, you almost
-	  certainly want to enable this feature as well. This
-	  utility will allow you to read the messages that are
-	  stored in the syslogd circular buffer.
-
-config FEATURE_LOGREAD_REDUCED_LOCKING
-	bool "Double buffering"
-	default y
-	depends on LOGREAD
-	help
-	  'logread' ouput to slow serial terminals can have
-	  side effects on syslog because of the semaphore.
-	  This option make logread to double buffer copy
-	  from circular buffer, minimizing semaphore
-	  contention at some minor memory expense.
-
-config FEATURE_KMSG_SYSLOG
-	bool "Linux kernel printk buffer support"
-	default y
-	depends on SYSLOGD
-	select PLATFORM_LINUX
-	help
-	  When you enable this feature, the syslogd utility will
-	  write system log message to the Linux kernel's printk buffer.
-	  This can be used as a smaller alternative to the syslogd IPC
-	  support, as klogd and logread aren't needed.
-
-	  NOTICE: Syslog facilities in log entries needs kernel 3.5+.
-
-config KLOGD
-	bool "klogd"
-	default y
-	help
-	  klogd is a utility which intercepts and logs all
-	  messages from the Linux kernel and sends the messages
-	  out to the 'syslogd' utility so they can be logged. If
-	  you wish to record the messages produced by the kernel,
-	  you should enable this option.
-
-comment "klogd should not be used together with syslog to kernel printk buffer"
-	depends on KLOGD && FEATURE_KMSG_SYSLOG
-
-config FEATURE_KLOGD_KLOGCTL
-	bool "Use the klogctl() interface"
-	default y
-	depends on KLOGD
-	select PLATFORM_LINUX
-	help
-	  The klogd applet supports two interfaces for reading
-	  kernel messages. Linux provides the klogctl() interface
-	  which allows reading messages from the kernel ring buffer
-	  independently from the file system.
-
-	  If you answer 'N' here, klogd will use the more portable
-	  approach of reading them from /proc or a device node.
-	  However, this method requires the file to be available.
-
-	  If in doubt, say 'Y'.
-
-config LOGGER
-	bool "logger"
-	default y
-	select FEATURE_SYSLOG
-	help
-	    The logger utility allows you to send arbitrary text
-	    messages to the system log (i.e. the 'syslogd' utility) so
-	    they can be logged. This is generally used to help locate
-	    problems that occur within programs and scripts.
-
 endmenu
diff --git a/sysklogd/Kbuild.src b/sysklogd/Kbuild.src
index d386cc2..6b4fb74 100644
--- a/sysklogd/Kbuild.src
+++ b/sysklogd/Kbuild.src
@@ -7,7 +7,3 @@
 lib-y:=
 
 INSERT
-lib-$(CONFIG_KLOGD)		+= klogd.o
-lib-$(CONFIG_LOGGER)		+= syslogd_and_logger.o
-lib-$(CONFIG_LOGREAD)		+= logread.o
-lib-$(CONFIG_SYSLOGD)		+= syslogd_and_logger.o
diff --git a/sysklogd/klogd.c b/sysklogd/klogd.c
index 432ded1..ca8b848 100644
--- a/sysklogd/klogd.c
+++ b/sysklogd/klogd.c
@@ -16,6 +16,39 @@
  *
  * Licensed under GPLv2 or later, see file LICENSE in this source tree.
  */
+//config:config KLOGD
+//config:	bool "klogd"
+//config:	default y
+//config:	help
+//config:	  klogd is a utility which intercepts and logs all
+//config:	  messages from the Linux kernel and sends the messages
+//config:	  out to the 'syslogd' utility so they can be logged. If
+//config:	  you wish to record the messages produced by the kernel,
+//config:	  you should enable this option.
+//config:
+//config:comment "klogd should not be used together with syslog to kernel printk buffer"
+//config:	depends on KLOGD && FEATURE_KMSG_SYSLOG
+//config:
+//config:config FEATURE_KLOGD_KLOGCTL
+//config:	bool "Use the klogctl() interface"
+//config:	default y
+//config:	depends on KLOGD
+//config:	select PLATFORM_LINUX
+//config:	help
+//config:	  The klogd applet supports two interfaces for reading
+//config:	  kernel messages. Linux provides the klogctl() interface
+//config:	  which allows reading messages from the kernel ring buffer
+//config:	  independently from the file system.
+//config:
+//config:	  If you answer 'N' here, klogd will use the more portable
+//config:	  approach of reading them from /proc or a device node.
+//config:	  However, this method requires the file to be available.
+//config:
+//config:	  If in doubt, say 'Y'.
+
+//applet:IF_KLOGD(APPLET(klogd, BB_DIR_SBIN, BB_SUID_DROP))
+
+//kbuild:lib-$(CONFIG_KLOGD) += klogd.o
 
 //usage:#define klogd_trivial_usage
 //usage:       "[-c N] [-n]"
diff --git a/sysklogd/logger.c b/sysklogd/logger.c
index 5a70277..b3ca857 100644
--- a/sysklogd/logger.c
+++ b/sysklogd/logger.c
@@ -6,6 +6,19 @@
  *
  * Licensed under GPLv2 or later, see file LICENSE in this source tree.
  */
+//config:config LOGGER
+//config:	bool "logger"
+//config:	default y
+//config:	select FEATURE_SYSLOG
+//config:	help
+//config:	    The logger utility allows you to send arbitrary text
+//config:	    messages to the system log (i.e. the 'syslogd' utility) so
+//config:	    they can be logged. This is generally used to help locate
+//config:	    problems that occur within programs and scripts.
+
+//applet:IF_LOGGER(APPLET(logger, BB_DIR_USR_BIN, BB_SUID_DROP))
+
+//kbuild:lib-$(CONFIG_LOGGER) += syslogd_and_logger.o
 
 //usage:#define logger_trivial_usage
 //usage:       "[OPTIONS] [MESSAGE]"
diff --git a/sysklogd/logread.c b/sysklogd/logread.c
index da4a4d4..781a603 100644
--- a/sysklogd/logread.c
+++ b/sysklogd/logread.c
@@ -8,6 +8,31 @@
  *
  * Licensed under GPLv2 or later, see file LICENSE in this source tree.
  */
+//config:config LOGREAD
+//config:	bool "logread"
+//config:	default y
+//config:	depends on FEATURE_IPC_SYSLOG
+//config:	help
+//config:	  If you enabled Circular Buffer support, you almost
+//config:	  certainly want to enable this feature as well. This
+//config:	  utility will allow you to read the messages that are
+//config:	  stored in the syslogd circular buffer.
+//config:
+//config:config FEATURE_LOGREAD_REDUCED_LOCKING
+//config:	bool "Double buffering"
+//config:	default y
+//config:	depends on LOGREAD
+//config:	help
+//config:	  'logread' ouput to slow serial terminals can have
+//config:	  side effects on syslog because of the semaphore.
+//config:	  This option make logread to double buffer copy
+//config:	  from circular buffer, minimizing semaphore
+//config:	  contention at some minor memory expense.
+//config:
+
+//applet:IF_LOGREAD(APPLET(logread, BB_DIR_SBIN, BB_SUID_DROP))
+
+//kbuild:lib-$(CONFIG_LOGREAD) += logread.o
 
 //usage:#define logread_trivial_usage
 //usage:       "[-fF]"
diff --git a/sysklogd/syslogd.c b/sysklogd/syslogd.c
index 156f487..288b29c 100644
--- a/sysklogd/syslogd.c
+++ b/sysklogd/syslogd.c
@@ -12,6 +12,107 @@
  *
  * Licensed under GPLv2 or later, see file LICENSE in this source tree.
  */
+//config:config SYSLOGD
+//config:	bool "syslogd"
+//config:	default y
+//config:	help
+//config:	  The syslogd utility is used to record logs of all the
+//config:	  significant events that occur on a system. Every
+//config:	  message that is logged records the date and time of the
+//config:	  event, and will generally also record the name of the
+//config:	  application that generated the message. When used in
+//config:	  conjunction with klogd, messages from the Linux kernel
+//config:	  can also be recorded. This is terribly useful,
+//config:	  especially for finding what happened when something goes
+//config:	  wrong. And something almost always will go wrong if
+//config:	  you wait long enough....
+//config:
+//config:config FEATURE_ROTATE_LOGFILE
+//config:	bool "Rotate message files"
+//config:	default y
+//config:	depends on SYSLOGD
+//config:	help
+//config:	  This enables syslogd to rotate the message files
+//config:	  on his own. No need to use an external rotatescript.
+//config:
+//config:config FEATURE_REMOTE_LOG
+//config:	bool "Remote Log support"
+//config:	default y
+//config:	depends on SYSLOGD
+//config:	help
+//config:	  When you enable this feature, the syslogd utility can
+//config:	  be used to send system log messages to another system
+//config:	  connected via a network. This allows the remote
+//config:	  machine to log all the system messages, which can be
+//config:	  terribly useful for reducing the number of serial
+//config:	  cables you use. It can also be a very good security
+//config:	  measure to prevent system logs from being tampered with
+//config:	  by an intruder.
+//config:
+//config:config FEATURE_SYSLOGD_DUP
+//config:	bool "Support -D (drop dups) option"
+//config:	default y
+//config:	depends on SYSLOGD
+//config:	help
+//config:	  Option -D instructs syslogd to drop consecutive messages
+//config:	  which are totally the same.
+//config:
+//config:config FEATURE_SYSLOGD_CFG
+//config:	bool "Support syslog.conf"
+//config:	default y
+//config:	depends on SYSLOGD
+//config:	help
+//config:	  Supports restricted syslogd config. See docs/syslog.conf.txt
+//config:
+//config:config FEATURE_SYSLOGD_READ_BUFFER_SIZE
+//config:	int "Read buffer size in bytes"
+//config:	default 256
+//config:	range 256 20000
+//config:	depends on SYSLOGD
+//config:	help
+//config:	  This option sets the size of the syslog read buffer.
+//config:	  Actual memory usage increases around five times the
+//config:	  change done here.
+//config:
+//config:config FEATURE_IPC_SYSLOG
+//config:	bool "Circular Buffer support"
+//config:	default y
+//config:	depends on SYSLOGD
+//config:	help
+//config:	  When you enable this feature, the syslogd utility will
+//config:	  use a circular buffer to record system log messages.
+//config:	  When the buffer is filled it will continue to overwrite
+//config:	  the oldest messages. This can be very useful for
+//config:	  systems with little or no permanent storage, since
+//config:	  otherwise system logs can eventually fill up your
+//config:	  entire filesystem, which may cause your system to
+//config:	  break badly.
+//config:
+//config:config FEATURE_IPC_SYSLOG_BUFFER_SIZE
+//config:	int "Circular buffer size in Kbytes (minimum 4KB)"
+//config:	default 16
+//config:	range 4 2147483647
+//config:	depends on FEATURE_IPC_SYSLOG
+//config:	help
+//config:	  This option sets the size of the circular buffer
+//config:	  used to record system log messages.
+//config:
+//config:config FEATURE_KMSG_SYSLOG
+//config:	bool "Linux kernel printk buffer support"
+//config:	default y
+//config:	depends on SYSLOGD
+//config:	select PLATFORM_LINUX
+//config:	help
+//config:	  When you enable this feature, the syslogd utility will
+//config:	  write system log message to the Linux kernel's printk buffer.
+//config:	  This can be used as a smaller alternative to the syslogd IPC
+//config:	  support, as klogd and logread aren't needed.
+//config:
+//config:	  NOTICE: Syslog facilities in log entries needs kernel 3.5+.
+
+//applet:IF_SYSLOGD(APPLET(syslogd, BB_DIR_SBIN, BB_SUID_DROP))
+
+//kbuild:lib-$(CONFIG_SYSLOGD) += syslogd_and_logger.o
 
 //usage:#define syslogd_trivial_usage
 //usage:       "[OPTIONS]"