Install links patch from Yann E. Morin. (Another thing hanging around in my
authorRob Landley <rob@landley.net>
Fri, 2 Dec 2005 18:27:39 +0000 (18:27 -0000)
committerRob Landley <rob@landley.net>
Fri, 2 Dec 2005 18:27:39 +0000 (18:27 -0000)
tree forever.  Tweaked the docs a bit.)

INSTALL
Makefile
docs/busybox_header.pod

diff --git a/INSTALL b/INSTALL
index 9f09110..c7165de 100644 (file)
--- a/INSTALL
+++ b/INSTALL
@@ -58,14 +58,19 @@ Installing busybox consists of creating symlinks (or hardlinks) to the busybox
 binary for each applet enabled in busybox, and making sure these symlinks are
 in the shell's command $PATH.  Running "make install" creates these symlinks,
 or "make install-hardlinks" creates hardlinks instead (useful on systems with
-a limited number of inodes).  This install process ues the file
+a limited number of inodes).  This install process uses the file
 "busybox.links" (created by make), which contains the list of enabled applets
 and the path at which to install them.
 
-The special applet name "busybox" (or with any optional suffix, such as
-"busybox-static") uses the first argument to determine which applet to behave
-as (for example, "./busybox cat LICENSE").  (Running the busybox applet with
-no arguments gives a list of all enabled applets.)
+Installing links to busybox is not always necessary.  The special applet name
+"busybox" (or with any optional suffix, such as "busybox-static") uses the
+first argument to determine which applet to behave as, for example
+"./busybox cat LICENSE".  (Running the busybox applet with no arguments gives
+a list of all enabled applets.) The standalone shell can also call busybox
+applets without links to busybox under other names in the filesystem.  You can
+also configure a standaone install capability into the busybox base applet,
+and then install such links at runtime with one of "busybox --install" (for
+hardlinks) or "busybox --install -s" (for symlinks).
 
 Building out-of-tree:
 =====================
index f603d2d..6e0b7a3 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -129,8 +129,7 @@ help:
        @echo '  oldconfig              - resolve any unresolved symbols in .config'
        @echo
        @echo 'Installation:'
-       @echo '  install                - install busybox and symlinks into $prefix'
-       @echo '  install-hardlinks      - install busybox and hardlinks into $prefix'
+       @echo '  install                - install busybox into $prefix'
        @echo '  uninstall'
        @echo
        @echo 'Development:'
@@ -196,8 +195,8 @@ defconfig: scripts/config/conf
 
 allbareconfig: scripts/config/conf
        @./scripts/config/conf -y $(CONFIG_CONFIG_IN)
-       sed -i -r -e "s/^(CONFIG_DEBUG|USING_CROSS_COMPILER|CONFIG_STATIC|CONFIG_SELINUX).*/# \1 is not set/" .config
-       sed -i -e "/FEATURE/s/=.*//;/^[^#]/s/.*FEATURE.*/# \0 is not set/;" .config
+       @sed -i -r -e "s/^(CONFIG_DEBUG|USING_CROSS_COMPILER|CONFIG_STATIC|CONFIG_SELINUX).*/# \1 is not set/" .config
+       @sed -i -e "/FEATURE/s/=.*//;/^[^#]/s/.*FEATURE.*/# \0 is not set/;" .config
        @echo "CONFIG_FEATURE_BUFFERS_GO_ON_STACK=y" >> .config
        @./scripts/config/conf -o $(CONFIG_CONFIG_IN)
 
@@ -220,7 +219,7 @@ busybox.links: $(top_srcdir)/applets/busybox.mkll include/config.h $(top_srcdir)
        - $(SHELL) $^ >$@
 
 install: $(top_srcdir)/applets/install.sh busybox busybox.links
-       $(SHELL) $< $(PREFIX)
+       $(SHELL) $< $(PREFIX) $(INSTALL_OPTS)
 ifeq ($(strip $(CONFIG_FEATURE_SUID)),y)
        @echo
        @echo
@@ -236,9 +235,6 @@ uninstall: busybox.links
        rm -f $(PREFIX)/bin/busybox
        for i in `cat busybox.links` ; do rm -f $(PREFIX)$$i; done
 
-install-hardlinks: $(top_srcdir)/applets/install.sh busybox busybox.links
-       $(SHELL) $< $(PREFIX) --hardlinks
-
 # see if we are in verbose mode
 KBUILD_VERBOSE :=
 ifdef V
index 5af9240..7a5b0f7 100644 (file)
@@ -28,17 +28,16 @@ system.
 
 BusyBox is extremely configurable.  This allows you to include only the
 components you need, thereby reducing binary size. Run 'make config' or 'make
-menuconfig' to select the functionality that you wish to enable.  The run
+menuconfig' to select the functionality that you wish to enable.  Then run
 'make' to compile BusyBox using your configuration.
 
 After the compile has finished, you should use 'make install' to install
-BusyBox.  This will install the '/bin/busybox' binary, and will also create
-symlinks pointing to the '/bin/busybox' binary for each utility that you
-compile into BusyBox.  By default, 'make install' will place these symlinks
-into the './_install' directory, unless you have defined 'PREFIX', thereby
-specifying some alternative location (i.e., 'make PREFIX=/tmp/foo install').
-If you wish to install using hardlinks, rather than the default of using
-symlinks, you can use 'make PREFIX=/tmp/foo install-hardlinks' instead.
+BusyBox. This will install the 'bin/busybox' binary, in the target directory
+specified by PREFIX. PREFIX can be set when configuring BusyBox, or you can
+specify an alternative location at install time (i.e., with a command line
+like 'make PREFIX=/tmp/foo install'). If you enabled any applet installation
+scheme (either as symlinks or hardlinks), these will also be installed in
+the location pointed to by PREFIX.
 
 =head1 USAGE