aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorlandley <landley@69ca8d6d-28ef-0310-b511-8ec308f3f277>2005-12-02 18:27:39 +0000
committerlandley <landley@69ca8d6d-28ef-0310-b511-8ec308f3f277>2005-12-02 18:27:39 +0000
commit07ed7a882813ffbab68dbba5fcd62e3507c47274 (patch)
treef1b07074339f7ee43c309df4c95adffc4f4edc47
parent129663b5d85f10575369ddb860bbd1ba7042e721 (diff)
downloadbusybox-w32-07ed7a882813ffbab68dbba5fcd62e3507c47274.tar.gz
busybox-w32-07ed7a882813ffbab68dbba5fcd62e3507c47274.tar.bz2
busybox-w32-07ed7a882813ffbab68dbba5fcd62e3507c47274.zip
Install links patch from Yann E. Morin. (Another thing hanging around in my
tree forever. Tweaked the docs a bit.) git-svn-id: svn://busybox.net/trunk/busybox@12647 69ca8d6d-28ef-0310-b511-8ec308f3f277
-rw-r--r--INSTALL15
-rw-r--r--Makefile12
-rw-r--r--docs/busybox_header.pod15
3 files changed, 21 insertions, 21 deletions
diff --git a/INSTALL b/INSTALL
index 9f09110ce..c7165dec2 100644
--- a/INSTALL
+++ b/INSTALL
@@ -58,14 +58,19 @@ Installing busybox consists of creating symlinks (or hardlinks) to the busybox
58binary for each applet enabled in busybox, and making sure these symlinks are 58binary for each applet enabled in busybox, and making sure these symlinks are
59in the shell's command $PATH. Running "make install" creates these symlinks, 59in the shell's command $PATH. Running "make install" creates these symlinks,
60or "make install-hardlinks" creates hardlinks instead (useful on systems with 60or "make install-hardlinks" creates hardlinks instead (useful on systems with
61a limited number of inodes). This install process ues the file 61a limited number of inodes). This install process uses the file
62"busybox.links" (created by make), which contains the list of enabled applets 62"busybox.links" (created by make), which contains the list of enabled applets
63and the path at which to install them. 63and the path at which to install them.
64 64
65The special applet name "busybox" (or with any optional suffix, such as 65Installing links to busybox is not always necessary. The special applet name
66"busybox-static") uses the first argument to determine which applet to behave 66"busybox" (or with any optional suffix, such as "busybox-static") uses the
67as (for example, "./busybox cat LICENSE"). (Running the busybox applet with 67first argument to determine which applet to behave as, for example
68no arguments gives a list of all enabled applets.) 68"./busybox cat LICENSE". (Running the busybox applet with no arguments gives
69a list of all enabled applets.) The standalone shell can also call busybox
70applets without links to busybox under other names in the filesystem. You can
71also configure a standaone install capability into the busybox base applet,
72and then install such links at runtime with one of "busybox --install" (for
73hardlinks) or "busybox --install -s" (for symlinks).
69 74
70Building out-of-tree: 75Building out-of-tree:
71===================== 76=====================
diff --git a/Makefile b/Makefile
index f603d2d1a..6e0b7a322 100644
--- a/Makefile
+++ b/Makefile
@@ -129,8 +129,7 @@ help:
129 @echo ' oldconfig - resolve any unresolved symbols in .config' 129 @echo ' oldconfig - resolve any unresolved symbols in .config'
130 @echo 130 @echo
131 @echo 'Installation:' 131 @echo 'Installation:'
132 @echo ' install - install busybox and symlinks into $prefix' 132 @echo ' install - install busybox into $prefix'
133 @echo ' install-hardlinks - install busybox and hardlinks into $prefix'
134 @echo ' uninstall' 133 @echo ' uninstall'
135 @echo 134 @echo
136 @echo 'Development:' 135 @echo 'Development:'
@@ -196,8 +195,8 @@ defconfig: scripts/config/conf
196 195
197allbareconfig: scripts/config/conf 196allbareconfig: scripts/config/conf
198 @./scripts/config/conf -y $(CONFIG_CONFIG_IN) 197 @./scripts/config/conf -y $(CONFIG_CONFIG_IN)
199 sed -i -r -e "s/^(CONFIG_DEBUG|USING_CROSS_COMPILER|CONFIG_STATIC|CONFIG_SELINUX).*/# \1 is not set/" .config 198 @sed -i -r -e "s/^(CONFIG_DEBUG|USING_CROSS_COMPILER|CONFIG_STATIC|CONFIG_SELINUX).*/# \1 is not set/" .config
200 sed -i -e "/FEATURE/s/=.*//;/^[^#]/s/.*FEATURE.*/# \0 is not set/;" .config 199 @sed -i -e "/FEATURE/s/=.*//;/^[^#]/s/.*FEATURE.*/# \0 is not set/;" .config
201 @echo "CONFIG_FEATURE_BUFFERS_GO_ON_STACK=y" >> .config 200 @echo "CONFIG_FEATURE_BUFFERS_GO_ON_STACK=y" >> .config
202 @./scripts/config/conf -o $(CONFIG_CONFIG_IN) 201 @./scripts/config/conf -o $(CONFIG_CONFIG_IN)
203 202
@@ -220,7 +219,7 @@ busybox.links: $(top_srcdir)/applets/busybox.mkll include/config.h $(top_srcdir)
220 - $(SHELL) $^ >$@ 219 - $(SHELL) $^ >$@
221 220
222install: $(top_srcdir)/applets/install.sh busybox busybox.links 221install: $(top_srcdir)/applets/install.sh busybox busybox.links
223 $(SHELL) $< $(PREFIX) 222 $(SHELL) $< $(PREFIX) $(INSTALL_OPTS)
224ifeq ($(strip $(CONFIG_FEATURE_SUID)),y) 223ifeq ($(strip $(CONFIG_FEATURE_SUID)),y)
225 @echo 224 @echo
226 @echo 225 @echo
@@ -236,9 +235,6 @@ uninstall: busybox.links
236 rm -f $(PREFIX)/bin/busybox 235 rm -f $(PREFIX)/bin/busybox
237 for i in `cat busybox.links` ; do rm -f $(PREFIX)$$i; done 236 for i in `cat busybox.links` ; do rm -f $(PREFIX)$$i; done
238 237
239install-hardlinks: $(top_srcdir)/applets/install.sh busybox busybox.links
240 $(SHELL) $< $(PREFIX) --hardlinks
241
242# see if we are in verbose mode 238# see if we are in verbose mode
243KBUILD_VERBOSE := 239KBUILD_VERBOSE :=
244ifdef V 240ifdef V
diff --git a/docs/busybox_header.pod b/docs/busybox_header.pod
index 5af92401c..7a5b0f716 100644
--- a/docs/busybox_header.pod
+++ b/docs/busybox_header.pod
@@ -28,17 +28,16 @@ system.
28 28
29BusyBox is extremely configurable. This allows you to include only the 29BusyBox is extremely configurable. This allows you to include only the
30components you need, thereby reducing binary size. Run 'make config' or 'make 30components you need, thereby reducing binary size. Run 'make config' or 'make
31menuconfig' to select the functionality that you wish to enable. The run 31menuconfig' to select the functionality that you wish to enable. Then run
32'make' to compile BusyBox using your configuration. 32'make' to compile BusyBox using your configuration.
33 33
34After the compile has finished, you should use 'make install' to install 34After the compile has finished, you should use 'make install' to install
35BusyBox. This will install the '/bin/busybox' binary, and will also create 35BusyBox. This will install the 'bin/busybox' binary, in the target directory
36symlinks pointing to the '/bin/busybox' binary for each utility that you 36specified by PREFIX. PREFIX can be set when configuring BusyBox, or you can
37compile into BusyBox. By default, 'make install' will place these symlinks 37specify an alternative location at install time (i.e., with a command line
38into the './_install' directory, unless you have defined 'PREFIX', thereby 38like 'make PREFIX=/tmp/foo install'). If you enabled any applet installation
39specifying some alternative location (i.e., 'make PREFIX=/tmp/foo install'). 39scheme (either as symlinks or hardlinks), these will also be installed in
40If you wish to install using hardlinks, rather than the default of using 40the location pointed to by PREFIX.
41symlinks, you can use 'make PREFIX=/tmp/foo install-hardlinks' instead.
42 41
43=head1 USAGE 42=head1 USAGE
44 43