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:
		
							
								
								
									
										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: | ||||||
|  |  | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user