tweaks to build system, mainly making menuconfig text and order clearer
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
parent
b1993380ba
commit
d4d289acf5
61
Config.in
61
Config.in
@ -123,6 +123,14 @@ config FEATURE_INSTALLER
|
|||||||
busybox at runtime to create hard links or symlinks for all the
|
busybox at runtime to create hard links or symlinks for all the
|
||||||
applets that are compiled into busybox.
|
applets that are compiled into busybox.
|
||||||
|
|
||||||
|
config INSTALL_NO_USR
|
||||||
|
bool "Don't use /usr"
|
||||||
|
default n
|
||||||
|
depends on FEATURE_INSTALLER
|
||||||
|
help
|
||||||
|
Disable use of /usr. busybox --install will install applets
|
||||||
|
only to /bin and /sbin, never to /usr/bin or /usr/sbin.
|
||||||
|
|
||||||
config LOCALE_SUPPORT
|
config LOCALE_SUPPORT
|
||||||
bool "Enable locale support (system needs locale for this to work)"
|
bool "Enable locale support (system needs locale for this to work)"
|
||||||
default n
|
default n
|
||||||
@ -275,15 +283,6 @@ config FEATURE_CLEAN_UP
|
|||||||
Don't enable this unless you have a really good reason to clean
|
Don't enable this unless you have a really good reason to clean
|
||||||
things up manually.
|
things up manually.
|
||||||
|
|
||||||
config FEATURE_UTMP
|
|
||||||
bool "Support utmp file"
|
|
||||||
default y
|
|
||||||
help
|
|
||||||
The file /var/run/utmp is used to track who is currently logged in.
|
|
||||||
With this option on, certain applets (getty, login, telnetd etc)
|
|
||||||
will create and delete entries there.
|
|
||||||
"who" applet requires this option.
|
|
||||||
|
|
||||||
config FEATURE_WTMP
|
config FEATURE_WTMP
|
||||||
bool "Support wtmp file"
|
bool "Support wtmp file"
|
||||||
default y
|
default y
|
||||||
@ -295,6 +294,15 @@ config FEATURE_WTMP
|
|||||||
will append new entries there.
|
will append new entries there.
|
||||||
"last" applet requires this option.
|
"last" applet requires this option.
|
||||||
|
|
||||||
|
config FEATURE_UTMP
|
||||||
|
bool "Support utmp file"
|
||||||
|
default y
|
||||||
|
help
|
||||||
|
The file /var/run/utmp is used to track who is currently logged in.
|
||||||
|
With this option on, certain applets (getty, login, telnetd etc)
|
||||||
|
will create and delete entries there.
|
||||||
|
"who" applet requires this option.
|
||||||
|
|
||||||
config FEATURE_PIDFILE
|
config FEATURE_PIDFILE
|
||||||
bool "Support writing pidfiles"
|
bool "Support writing pidfiles"
|
||||||
default y
|
default y
|
||||||
@ -307,14 +315,19 @@ config FEATURE_SUID
|
|||||||
default y
|
default y
|
||||||
help
|
help
|
||||||
With this option you can install the busybox binary belonging
|
With this option you can install the busybox binary belonging
|
||||||
to root with the suid bit set, and it will automatically drop
|
to root with the suid bit set, enabling some applets to perform
|
||||||
priviledges for applets that don't need root access.
|
root-level operations even when run by ordinary users
|
||||||
|
(for example, mounting of user mounts in fstab needs this).
|
||||||
|
|
||||||
|
Busybox will automatically drop priviledges for applets
|
||||||
|
that don't need root access.
|
||||||
|
|
||||||
If you are really paranoid and don't want to do this, build two
|
If you are really paranoid and don't want to do this, build two
|
||||||
busybox binaries with different applets in them (and the appropriate
|
busybox binaries with different applets in them (and the appropriate
|
||||||
symlinks pointing to each binary), and only set the suid bit on the
|
symlinks pointing to each binary), and only set the suid bit on the
|
||||||
one that needs it. The applets currently marked to need the suid bit
|
one that needs it.
|
||||||
are:
|
|
||||||
|
The applets currently marked to need the suid bit are:
|
||||||
|
|
||||||
crontab, dnsd, findfs, ipcrm, ipcs, login, passwd, ping, su,
|
crontab, dnsd, findfs, ipcrm, ipcs, login, passwd, ping, su,
|
||||||
traceroute, vlock.
|
traceroute, vlock.
|
||||||
@ -651,20 +664,13 @@ endchoice
|
|||||||
|
|
||||||
endmenu
|
endmenu
|
||||||
|
|
||||||
menu 'Installation Options'
|
menu 'Installation Options ("make install" behavior)'
|
||||||
|
|
||||||
config INSTALL_NO_USR
|
|
||||||
bool "Don't use /usr"
|
|
||||||
default n
|
|
||||||
help
|
|
||||||
Disable use of /usr. Don't activate this option if you don't know
|
|
||||||
that you really want this behaviour.
|
|
||||||
|
|
||||||
choice
|
choice
|
||||||
prompt "Applets links"
|
prompt "What kind of applet links to install"
|
||||||
default INSTALL_APPLET_SYMLINKS
|
default INSTALL_APPLET_SYMLINKS
|
||||||
help
|
help
|
||||||
Choose how you install applets links.
|
Choose what kind of links to applets are created by "make install".
|
||||||
|
|
||||||
config INSTALL_APPLET_SYMLINKS
|
config INSTALL_APPLET_SYMLINKS
|
||||||
bool "as soft-links"
|
bool "as soft-links"
|
||||||
@ -688,8 +694,9 @@ config INSTALL_APPLET_DONT
|
|||||||
bool "not installed"
|
bool "not installed"
|
||||||
depends on FEATURE_INSTALLER || FEATURE_SH_STANDALONE || FEATURE_PREFER_APPLETS
|
depends on FEATURE_INSTALLER || FEATURE_SH_STANDALONE || FEATURE_PREFER_APPLETS
|
||||||
help
|
help
|
||||||
Do not install applet links. Useful when using the -install feature
|
Do not install applet links. Useful when you plan to use
|
||||||
or a standalone shell for rescue purposes.
|
busybox --install for installing links, or plan to use
|
||||||
|
a standalone shell and thus don't need applet links.
|
||||||
|
|
||||||
endchoice
|
endchoice
|
||||||
|
|
||||||
@ -713,8 +720,8 @@ config INSTALL_SH_APPLET_HARDLINK
|
|||||||
config INSTALL_SH_APPLET_SCRIPT_WRAPPER
|
config INSTALL_SH_APPLET_SCRIPT_WRAPPER
|
||||||
bool "as script wrapper"
|
bool "as script wrapper"
|
||||||
help
|
help
|
||||||
Install /bin/sh applet as script wrapper that call the busybox
|
Install /bin/sh applet as script wrapper that calls
|
||||||
binary.
|
the busybox binary.
|
||||||
|
|
||||||
endchoice
|
endchoice
|
||||||
|
|
||||||
|
@ -56,11 +56,6 @@ s - suid type:
|
|||||||
# define APPLET_NOFORK(name,main,l,s,name2) { #name, #main, l, s, 1, 1 },
|
# define APPLET_NOFORK(name,main,l,s,name2) { #name, #main, l, s, 1, 1 },
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if ENABLE_INSTALL_NO_USR
|
|
||||||
# define _BB_DIR_USR_BIN _BB_DIR_BIN
|
|
||||||
# define _BB_DIR_USR_SBIN _BB_DIR_SBIN
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
INSERT
|
INSERT
|
||||||
IF_TEST(APPLET_NOFORK([, test, _BB_DIR_USR_BIN, _BB_SUID_DROP, test))
|
IF_TEST(APPLET_NOFORK([, test, _BB_DIR_USR_BIN, _BB_SUID_DROP, test))
|
||||||
|
@ -16,8 +16,13 @@ typedef enum bb_install_loc_t {
|
|||||||
_BB_DIR_ROOT = 0,
|
_BB_DIR_ROOT = 0,
|
||||||
_BB_DIR_BIN,
|
_BB_DIR_BIN,
|
||||||
_BB_DIR_SBIN,
|
_BB_DIR_SBIN,
|
||||||
|
#if ENABLE_INSTALL_NO_USR
|
||||||
|
_BB_DIR_USR_BIN = _BB_DIR_BIN,
|
||||||
|
_BB_DIR_USR_SBIN = _BB_DIR_SBIN,
|
||||||
|
#else
|
||||||
_BB_DIR_USR_BIN,
|
_BB_DIR_USR_BIN,
|
||||||
_BB_DIR_USR_SBIN
|
_BB_DIR_USR_SBIN,
|
||||||
|
#endif
|
||||||
} bb_install_loc_t;
|
} bb_install_loc_t;
|
||||||
|
|
||||||
typedef enum bb_suid_t {
|
typedef enum bb_suid_t {
|
||||||
|
@ -592,9 +592,11 @@ static const char usr_sbin[] ALIGN1 = "/usr/sbin/";
|
|||||||
static const char *const install_dir[] = {
|
static const char *const install_dir[] = {
|
||||||
&usr_bin [8], /* "/" */
|
&usr_bin [8], /* "/" */
|
||||||
&usr_bin [4], /* "/bin/" */
|
&usr_bin [4], /* "/bin/" */
|
||||||
&usr_sbin[4], /* "/sbin/" */
|
&usr_sbin[4] /* "/sbin/" */
|
||||||
usr_bin,
|
# if !ENABLE_INSTALL_NO_USR
|
||||||
usr_sbin
|
,usr_bin
|
||||||
|
,usr_sbin
|
||||||
|
# endif
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
@ -136,7 +136,6 @@ config CHRT
|
|||||||
config CROND
|
config CROND
|
||||||
bool "crond"
|
bool "crond"
|
||||||
default y
|
default y
|
||||||
select FEATURE_SUID
|
|
||||||
select FEATURE_SYSLOG
|
select FEATURE_SYSLOG
|
||||||
help
|
help
|
||||||
Crond is a background daemon that parses individual crontab
|
Crond is a background daemon that parses individual crontab
|
||||||
|
@ -804,7 +804,7 @@ config TELNETD
|
|||||||
|
|
||||||
mount -t devpts devpts /dev/pts
|
mount -t devpts devpts /dev/pts
|
||||||
|
|
||||||
You need to be sure that Busybox has LOGIN and
|
You need to be sure that busybox has LOGIN and
|
||||||
FEATURE_SUID enabled. And finally, you should make
|
FEATURE_SUID enabled. And finally, you should make
|
||||||
certain that Busybox has been installed setuid root:
|
certain that Busybox has been installed setuid root:
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user