--- sh.install 2004/01/01 16:54:20 1.30
+++ sh.install 2004/02/12 16:06:26 1.31
@@ -1,7 +1,6 @@
##
## install -- Install a program, script or datafile
## Copyright (c) 1997-2004 Ralf S. Engelschall <rse@engelschall.com>
-## Originally written for shtool
##
## This file is part of shtool and free software; you can redistribute
## it and/or modify it under the terms of the GNU General Public
@@ -191,3 +190,123 @@
fi
done
+shtool_exit 0
+
+##
+## manual page
+##
+
+=pod
+
+=head1 NAME
+
+B<shtool install> - B<GNU shtool> install(1) command
+
+=head1 SYNOPSIS
+
+B<shtool install>
+[B<-v>|B<--verbose>]
+[B<-t>|B<--trace>]
+[B<-d>|B<--mkdir>]
+[B<-c>|B<--copy>]
+[B<-C>|B<--compare-copy>]
+[B<-s>|B<--strip>]
+[B<-m>|B<--mode> I<mode>]
+[B<-o>|B<--owner> I<owner>]
+[B<-g>|B<--group> I<group>]
+[B<-e>|B<--exec> I<sed-cmd>]
+I<file> [I<file> ...]
+I<path>
+
+=head1 DESCRIPTION
+
+This command installs a one or more I<file>s to a given target I<path>
+providing all important options of the BSD install(1) command.
+The trick is that the functionality is provided in a portable way.
+
+=head1 OPTIONS
+
+The following command line options are available.
+
+=over 4
+
+=item B<-v>, B<--verbose>
+
+Display some processing information.
+
+=item B<-t>, B<--trace>
+
+Enable the output of the essential shell commands which are executed.
+
+=item B<-d>, B<--mkdir>
+
+To maximize BSD compatiblity, the BSD "B<shtool> C<install -d>" usage is
+internally mapped to the "B<shtool> C<mkdir -f -p -m 755>" command.
+
+=item B<-c>, B<--copy>
+
+Copy the I<file> to the target I<path>. Default is to move.
+
+=item B<-C>, B<--compare-copy>
+
+Same as B<-c> except if the destination file already exists and is
+identical to the source file, no installation is done and the target
+remains untouched.
+
+=item B<-s>, B<--strip>
+
+This option strips program executables during the installation, see
+strip(1). Default is to install verbatim.
+
+=item B<-m>, B<--mode> I<mode>
+
+The file mode applied to the target, see chmod(1). Setting mode to
+"C<->" skips this step and leaves the operating system default which is
+usually based on umask(1). Some file modes require superuser privileges
+to be set. Default is 0755.
+
+=item B<-o>, B<--owner> I<owner>
+
+The file owner name or id applied to the target, see chown(1). This
+option requires superuser privileges to execute. Default is to skip this
+step and leave the operating system default which is usually based on
+the executing uid or the parent setuid directory.
+
+=item B<-g>, B<--group> I<group>
+
+The file group name or id applied to the target, see chgrp(1). This
+option requires superuser privileges to execute to the fullest extend,
+otherwise the choice of I<group> is limited on most operating systems.
+Default is to skip this step and leave the operating system default
+which is usually based on the executing gid or the parent setgid
+directory.
+
+=item B<-e>, B<--exec> I<sed-cmd>
+
+This option can be used one or multiple times to apply one or more
+sed(1) commands to the file contents during installation.
+
+=back
+
+=head1 EXAMPLE
+
+ # Makefile
+ install:
+ :
+ shtool install -c -s -m 4755 foo $(bindir)/
+ shtool install -c -m 644 foo.man $(mandir)/man1/foo.1
+ shtool install -c -m 644 -e "s/@p@/$prefix/g" foo.conf $(etcdir)/
+
+=head1 HISTORY
+
+The B<GNU shtool> B<install> command was originally written by Ralf S.
+Engelschall E<lt>rse@engelschall.comE<gt> in 1997 for B<GNU shtool>. It
+was prompted by portability issues in the installation procedures of
+B<OSSP> libraries.
+
+=head1 SEE ALSO
+
+shtool(1), umask(1), chmod(1), chown(1), chgrp(1), strip(1), sed(1).
+
+=cut
+
|