diff options
| author | Denys Vlasenko <vda.linux@googlemail.com> | 2010-10-12 04:18:05 +0200 |
|---|---|---|
| committer | Denys Vlasenko <vda.linux@googlemail.com> | 2010-10-12 04:18:05 +0200 |
| commit | d4d289acf5eb59ebae414f9aae8a74de30dce36a (patch) | |
| tree | 7a7c261ce263eeb15d152a904936d55c41858b5e | |
| parent | b1993380ba4a89062a08b2b6c579158aa667759e (diff) | |
| download | busybox-w32-d4d289acf5eb59ebae414f9aae8a74de30dce36a.tar.gz busybox-w32-d4d289acf5eb59ebae414f9aae8a74de30dce36a.tar.bz2 busybox-w32-d4d289acf5eb59ebae414f9aae8a74de30dce36a.zip | |
tweaks to build system, mainly making menuconfig text and order clearer
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| -rw-r--r-- | Config.in | 61 | ||||
| -rw-r--r-- | include/applets.src.h | 5 | ||||
| -rw-r--r-- | include/busybox.h | 7 | ||||
| -rw-r--r-- | libbb/appletlib.c | 8 | ||||
| -rw-r--r-- | miscutils/Config.src | 1 | ||||
| -rw-r--r-- | networking/Config.src | 2 |
6 files changed, 46 insertions, 38 deletions
| @@ -123,6 +123,14 @@ config FEATURE_INSTALLER | |||
| 123 | busybox at runtime to create hard links or symlinks for all the | 123 | busybox at runtime to create hard links or symlinks for all the |
| 124 | applets that are compiled into busybox. | 124 | applets that are compiled into busybox. |
| 125 | 125 | ||
| 126 | config INSTALL_NO_USR | ||
| 127 | bool "Don't use /usr" | ||
| 128 | default n | ||
| 129 | depends on FEATURE_INSTALLER | ||
| 130 | help | ||
| 131 | Disable use of /usr. busybox --install will install applets | ||
| 132 | only to /bin and /sbin, never to /usr/bin or /usr/sbin. | ||
| 133 | |||
| 126 | config LOCALE_SUPPORT | 134 | config LOCALE_SUPPORT |
| 127 | bool "Enable locale support (system needs locale for this to work)" | 135 | bool "Enable locale support (system needs locale for this to work)" |
| 128 | default n | 136 | default n |
| @@ -275,15 +283,6 @@ config FEATURE_CLEAN_UP | |||
| 275 | Don't enable this unless you have a really good reason to clean | 283 | Don't enable this unless you have a really good reason to clean |
| 276 | things up manually. | 284 | things up manually. |
| 277 | 285 | ||
| 278 | config FEATURE_UTMP | ||
| 279 | bool "Support utmp file" | ||
| 280 | default y | ||
| 281 | help | ||
| 282 | The file /var/run/utmp is used to track who is currently logged in. | ||
| 283 | With this option on, certain applets (getty, login, telnetd etc) | ||
| 284 | will create and delete entries there. | ||
| 285 | "who" applet requires this option. | ||
| 286 | |||
| 287 | config FEATURE_WTMP | 286 | config FEATURE_WTMP |
| 288 | bool "Support wtmp file" | 287 | bool "Support wtmp file" |
| 289 | default y | 288 | default y |
| @@ -295,6 +294,15 @@ config FEATURE_WTMP | |||
| 295 | will append new entries there. | 294 | will append new entries there. |
| 296 | "last" applet requires this option. | 295 | "last" applet requires this option. |
| 297 | 296 | ||
| 297 | config FEATURE_UTMP | ||
| 298 | bool "Support utmp file" | ||
| 299 | default y | ||
| 300 | help | ||
| 301 | The file /var/run/utmp is used to track who is currently logged in. | ||
| 302 | With this option on, certain applets (getty, login, telnetd etc) | ||
| 303 | will create and delete entries there. | ||
| 304 | "who" applet requires this option. | ||
| 305 | |||
| 298 | config FEATURE_PIDFILE | 306 | config FEATURE_PIDFILE |
| 299 | bool "Support writing pidfiles" | 307 | bool "Support writing pidfiles" |
| 300 | default y | 308 | default y |
| @@ -307,14 +315,19 @@ config FEATURE_SUID | |||
| 307 | default y | 315 | default y |
| 308 | help | 316 | help |
| 309 | With this option you can install the busybox binary belonging | 317 | With this option you can install the busybox binary belonging |
| 310 | to root with the suid bit set, and it will automatically drop | 318 | to root with the suid bit set, enabling some applets to perform |
| 311 | priviledges for applets that don't need root access. | 319 | root-level operations even when run by ordinary users |
| 320 | (for example, mounting of user mounts in fstab needs this). | ||
| 321 | |||
| 322 | Busybox will automatically drop priviledges for applets | ||
| 323 | that don't need root access. | ||
| 312 | 324 | ||
| 313 | If you are really paranoid and don't want to do this, build two | 325 | If you are really paranoid and don't want to do this, build two |
| 314 | busybox binaries with different applets in them (and the appropriate | 326 | busybox binaries with different applets in them (and the appropriate |
| 315 | symlinks pointing to each binary), and only set the suid bit on the | 327 | symlinks pointing to each binary), and only set the suid bit on the |
| 316 | one that needs it. The applets currently marked to need the suid bit | 328 | one that needs it. |
| 317 | are: | 329 | |
| 330 | The applets currently marked to need the suid bit are: | ||
| 318 | 331 | ||
| 319 | crontab, dnsd, findfs, ipcrm, ipcs, login, passwd, ping, su, | 332 | crontab, dnsd, findfs, ipcrm, ipcs, login, passwd, ping, su, |
| 320 | traceroute, vlock. | 333 | traceroute, vlock. |
| @@ -651,20 +664,13 @@ endchoice | |||
| 651 | 664 | ||
| 652 | endmenu | 665 | endmenu |
| 653 | 666 | ||
| 654 | menu 'Installation Options' | 667 | menu 'Installation Options ("make install" behavior)' |
| 655 | |||
| 656 | config INSTALL_NO_USR | ||
| 657 | bool "Don't use /usr" | ||
| 658 | default n | ||
| 659 | help | ||
| 660 | Disable use of /usr. Don't activate this option if you don't know | ||
| 661 | that you really want this behaviour. | ||
| 662 | 668 | ||
| 663 | choice | 669 | choice |
| 664 | prompt "Applets links" | 670 | prompt "What kind of applet links to install" |
| 665 | default INSTALL_APPLET_SYMLINKS | 671 | default INSTALL_APPLET_SYMLINKS |
| 666 | help | 672 | help |
| 667 | Choose how you install applets links. | 673 | Choose what kind of links to applets are created by "make install". |
| 668 | 674 | ||
| 669 | config INSTALL_APPLET_SYMLINKS | 675 | config INSTALL_APPLET_SYMLINKS |
| 670 | bool "as soft-links" | 676 | bool "as soft-links" |
| @@ -688,8 +694,9 @@ config INSTALL_APPLET_DONT | |||
| 688 | bool "not installed" | 694 | bool "not installed" |
| 689 | depends on FEATURE_INSTALLER || FEATURE_SH_STANDALONE || FEATURE_PREFER_APPLETS | 695 | depends on FEATURE_INSTALLER || FEATURE_SH_STANDALONE || FEATURE_PREFER_APPLETS |
| 690 | help | 696 | help |
| 691 | Do not install applet links. Useful when using the -install feature | 697 | Do not install applet links. Useful when you plan to use |
| 692 | or a standalone shell for rescue purposes. | 698 | busybox --install for installing links, or plan to use |
| 699 | a standalone shell and thus don't need applet links. | ||
| 693 | 700 | ||
| 694 | endchoice | 701 | endchoice |
| 695 | 702 | ||
| @@ -713,8 +720,8 @@ config INSTALL_SH_APPLET_HARDLINK | |||
| 713 | config INSTALL_SH_APPLET_SCRIPT_WRAPPER | 720 | config INSTALL_SH_APPLET_SCRIPT_WRAPPER |
| 714 | bool "as script wrapper" | 721 | bool "as script wrapper" |
| 715 | help | 722 | help |
| 716 | Install /bin/sh applet as script wrapper that call the busybox | 723 | Install /bin/sh applet as script wrapper that calls |
| 717 | binary. | 724 | the busybox binary. |
| 718 | 725 | ||
| 719 | endchoice | 726 | endchoice |
| 720 | 727 | ||
diff --git a/include/applets.src.h b/include/applets.src.h index d2b1d198f..6a14a6588 100644 --- a/include/applets.src.h +++ b/include/applets.src.h | |||
| @@ -56,11 +56,6 @@ s - suid type: | |||
| 56 | # define APPLET_NOFORK(name,main,l,s,name2) { #name, #main, l, s, 1, 1 }, | 56 | # define APPLET_NOFORK(name,main,l,s,name2) { #name, #main, l, s, 1, 1 }, |
| 57 | #endif | 57 | #endif |
| 58 | 58 | ||
| 59 | #if ENABLE_INSTALL_NO_USR | ||
| 60 | # define _BB_DIR_USR_BIN _BB_DIR_BIN | ||
| 61 | # define _BB_DIR_USR_SBIN _BB_DIR_SBIN | ||
| 62 | #endif | ||
| 63 | |||
| 64 | 59 | ||
| 65 | INSERT | 60 | INSERT |
| 66 | IF_TEST(APPLET_NOFORK([, test, _BB_DIR_USR_BIN, _BB_SUID_DROP, test)) | 61 | IF_TEST(APPLET_NOFORK([, test, _BB_DIR_USR_BIN, _BB_SUID_DROP, test)) |
diff --git a/include/busybox.h b/include/busybox.h index 76415dd72..757317fc7 100644 --- a/include/busybox.h +++ b/include/busybox.h | |||
| @@ -16,8 +16,13 @@ typedef enum bb_install_loc_t { | |||
| 16 | _BB_DIR_ROOT = 0, | 16 | _BB_DIR_ROOT = 0, |
| 17 | _BB_DIR_BIN, | 17 | _BB_DIR_BIN, |
| 18 | _BB_DIR_SBIN, | 18 | _BB_DIR_SBIN, |
| 19 | #if ENABLE_INSTALL_NO_USR | ||
| 20 | _BB_DIR_USR_BIN = _BB_DIR_BIN, | ||
| 21 | _BB_DIR_USR_SBIN = _BB_DIR_SBIN, | ||
| 22 | #else | ||
| 19 | _BB_DIR_USR_BIN, | 23 | _BB_DIR_USR_BIN, |
| 20 | _BB_DIR_USR_SBIN | 24 | _BB_DIR_USR_SBIN, |
| 25 | #endif | ||
| 21 | } bb_install_loc_t; | 26 | } bb_install_loc_t; |
| 22 | 27 | ||
| 23 | typedef enum bb_suid_t { | 28 | typedef enum bb_suid_t { |
diff --git a/libbb/appletlib.c b/libbb/appletlib.c index 7326f4fa5..b32ff8808 100644 --- a/libbb/appletlib.c +++ b/libbb/appletlib.c | |||
| @@ -592,9 +592,11 @@ static const char usr_sbin[] ALIGN1 = "/usr/sbin/"; | |||
| 592 | static const char *const install_dir[] = { | 592 | static const char *const install_dir[] = { |
| 593 | &usr_bin [8], /* "/" */ | 593 | &usr_bin [8], /* "/" */ |
| 594 | &usr_bin [4], /* "/bin/" */ | 594 | &usr_bin [4], /* "/bin/" */ |
| 595 | &usr_sbin[4], /* "/sbin/" */ | 595 | &usr_sbin[4] /* "/sbin/" */ |
| 596 | usr_bin, | 596 | # if !ENABLE_INSTALL_NO_USR |
| 597 | usr_sbin | 597 | ,usr_bin |
| 598 | ,usr_sbin | ||
| 599 | # endif | ||
| 598 | }; | 600 | }; |
| 599 | 601 | ||
| 600 | 602 | ||
diff --git a/miscutils/Config.src b/miscutils/Config.src index 151f61bcc..4912daf88 100644 --- a/miscutils/Config.src +++ b/miscutils/Config.src | |||
| @@ -136,7 +136,6 @@ config CHRT | |||
| 136 | config CROND | 136 | config CROND |
| 137 | bool "crond" | 137 | bool "crond" |
| 138 | default y | 138 | default y |
| 139 | select FEATURE_SUID | ||
| 140 | select FEATURE_SYSLOG | 139 | select FEATURE_SYSLOG |
| 141 | help | 140 | help |
| 142 | Crond is a background daemon that parses individual crontab | 141 | Crond is a background daemon that parses individual crontab |
diff --git a/networking/Config.src b/networking/Config.src index 9fc122bf3..6dd7df754 100644 --- a/networking/Config.src +++ b/networking/Config.src | |||
| @@ -804,7 +804,7 @@ config TELNETD | |||
| 804 | 804 | ||
| 805 | mount -t devpts devpts /dev/pts | 805 | mount -t devpts devpts /dev/pts |
| 806 | 806 | ||
| 807 | You need to be sure that Busybox has LOGIN and | 807 | You need to be sure that busybox has LOGIN and |
| 808 | FEATURE_SUID enabled. And finally, you should make | 808 | FEATURE_SUID enabled. And finally, you should make |
| 809 | certain that Busybox has been installed setuid root: | 809 | certain that Busybox has been installed setuid root: |
| 810 | 810 | ||
