cttyhack: move build system bits into cttyhack.c, no code changes
authorDenys Vlasenko <vda.linux@googlemail.com>
Fri, 16 Jul 2010 15:16:40 +0000 (17:16 +0200)
committerDenys Vlasenko <vda.linux@googlemail.com>
Fri, 16 Jul 2010 15:16:40 +0000 (17:16 +0200)
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
include/applets.src.h
include/usage.src.h
shell/Config.src
shell/Kbuild.src
shell/ash.c
shell/cttyhack.c

index 6ca0c323042e3a7040b8922d05329596d2b21efa..195598fee344e5e59523c82d065b975fe95944eb 100644 (file)
@@ -104,7 +104,6 @@ IF_CPIO(APPLET(cpio, _BB_DIR_BIN, _BB_SUID_DROP))
 IF_CROND(APPLET(crond, _BB_DIR_USR_SBIN, _BB_SUID_DROP))
 IF_CRONTAB(APPLET(crontab, _BB_DIR_USR_BIN, _BB_SUID_REQUIRE))
 IF_CRYPTPW(APPLET(cryptpw, _BB_DIR_USR_BIN, _BB_SUID_DROP))
-IF_CTTYHACK(APPLET(cttyhack, _BB_DIR_BIN, _BB_SUID_DROP))
 IF_CUT(APPLET_NOEXEC(cut, cut, _BB_DIR_USR_BIN, _BB_SUID_DROP, cut))
 IF_DATE(APPLET(date, _BB_DIR_BIN, _BB_SUID_DROP))
 IF_DC(APPLET(dc, _BB_DIR_USR_BIN, _BB_SUID_DROP))
index 46d64c13516af0d251bb0d47c23e74e9fb502c98..9b326eebbda58ec55506f2b27e4e6aef808884e1 100644 (file)
@@ -678,17 +678,6 @@ INSERT
      "\n       -S SALT" \
        ) \
 
-#define cttyhack_trivial_usage \
-       "PROG ARGS"
-#define cttyhack_full_usage "\n\n" \
-       "Give PROG a controlling tty if possible." \
-     "\nExample for /etc/inittab (for busybox init):" \
-     "\n       ::respawn:/bin/cttyhack /bin/sh" \
-     "\nGiving controlling tty to shell running with PID 1:" \
-     "\n       $ exec cttyhack sh" \
-     "\nStarting interactive shell from boot shell script:" \
-     "\n       setsid cttyhack sh" \
-
 #define cut_trivial_usage \
        "[OPTIONS] [FILE]..."
 #define cut_full_usage "\n\n" \
index 6389d943ae71ee87159298637dedaeebeea0d31c..f6f0b6c94d5c3cae9acebfcb2082246b0f5ddd0f 100644 (file)
@@ -158,40 +158,4 @@ config FEATURE_SH_NOFORK
 
          This feature is relatively new. Use with care.
 
-config CTTYHACK
-       bool "cttyhack"
-       default y
-       help
-         One common problem reported on the mailing list is "can't access tty;
-         job control turned off" error message which typically appears when
-         one tries to use shell with stdin/stdout opened to /dev/console.
-         This device is special - it cannot be a controlling tty.
-
-         Proper solution is to use correct device instead of /dev/console.
-
-         cttyhack provides "quick and dirty" solution to this problem.
-         It analyzes stdin with various ioctls, trying to determine whether
-         it is a /dev/ttyN or /dev/ttySN (virtual terminal or serial line).
-         If it detects one, it closes stdin/out/err and reopens that device.
-         Then it executes given program. Opening the device will make
-         that device a controlling tty. This may require cttyhack
-         to be a session leader.
-
-         Example for /etc/inittab (for busybox init):
-
-         ::respawn:/bin/cttyhack /bin/sh
-
-         Starting an interactive shell from boot shell script:
-
-         setsid cttyhack sh
-
-         Giving controlling tty to shell running with PID 1:
-
-         # exec cttyhack sh
-
-         Without cttyhack, you need to know exact tty name,
-         and do something like this:
-
-         # exec setsid sh -c 'exec sh </dev/tty1 >/dev/tty1 2>&1'
-
 endmenu
index bce99240fbe93d7bd8d24defa17905291dde65de..a669bdfb017598ba515ddc2d5bb6edba649608ec 100644 (file)
@@ -8,5 +8,4 @@ lib-y:=
 
 INSERT
 
-lib-$(CONFIG_CTTYHACK) += cttyhack.o
 lib-$(CONFIG_SH_MATH_SUPPORT) += math.o
index 9b33e78eccca643fbe99a2a8de2499789ee7bd86..fd119fa5155d2f25a98dd751fbbd7c20fd0f4fc3 100644 (file)
 //config:        "PS#" may contain volatile content, such as backquote commands.
 //config:        This option recreates the prompt string from the environment
 //config:        variable each time it is displayed.
+//config:
 
 //usage:#define ash_trivial_usage NOUSAGE_STR
 //usage:#define ash_full_usage ""
index 67736ad620cd51ee2bbeeb61a895353f87664fc5..7af13fdfd88bae9e9f9d09d87cf7ab9219891669 100644 (file)
@@ -6,6 +6,58 @@
  */
 #include "libbb.h"
 
+//applet:IF_CTTYHACK(APPLET(cttyhack, _BB_DIR_BIN, _BB_SUID_DROP))
+
+//kbuild:lib-$(CONFIG_CTTYHACK) += cttyhack.o
+
+//config:config CTTYHACK
+//config:      bool "cttyhack"
+//config:      default y
+//config:      help
+//config:        One common problem reported on the mailing list is "can't access tty;
+//config:        job control turned off" error message which typically appears when
+//config:        one tries to use shell with stdin/stdout opened to /dev/console.
+//config:        This device is special - it cannot be a controlling tty.
+//config:
+//config:        Proper solution is to use correct device instead of /dev/console.
+//config:
+//config:        cttyhack provides "quick and dirty" solution to this problem.
+//config:        It analyzes stdin with various ioctls, trying to determine whether
+//config:        it is a /dev/ttyN or /dev/ttySN (virtual terminal or serial line).
+//config:        If it detects one, it closes stdin/out/err and reopens that device.
+//config:        Then it executes given program. Opening the device will make
+//config:        that device a controlling tty. This may require cttyhack
+//config:        to be a session leader.
+//config:
+//config:        Example for /etc/inittab (for busybox init):
+//config:
+//config:        ::respawn:/bin/cttyhack /bin/sh
+//config:
+//config:        Starting an interactive shell from boot shell script:
+//config:
+//config:        setsid cttyhack sh
+//config:
+//config:        Giving controlling tty to shell running with PID 1:
+//config:
+//config:        # exec cttyhack sh
+//config:
+//config:        Without cttyhack, you need to know exact tty name,
+//config:        and do something like this:
+//config:
+//config:        # exec setsid sh -c 'exec sh </dev/tty1 >/dev/tty1 2>&1'
+//config:
+
+//usage:#define cttyhack_trivial_usage
+//usage:       "PROG ARGS"
+//usage:#define cttyhack_full_usage "\n\n"
+//usage:       "Give PROG a controlling tty if possible."
+//usage:     "\nExample for /etc/inittab (for busybox init):"
+//usage:     "\n       ::respawn:/bin/cttyhack /bin/sh"
+//usage:     "\nGiving controlling tty to shell running with PID 1:"
+//usage:     "\n       $ exec cttyhack sh"
+//usage:     "\nStarting interactive shell from boot shell script:"
+//usage:     "\n       setsid cttyhack sh"
+
 /* From <linux/vt.h> */
 struct vt_stat {
        unsigned short v_active;        /* active vt */