r16254: pulling klocwork fixes for 3.0.23rc3 (current up to r16251)
[Samba.git] / source / script / installman.sh
blob869ce6ee38edb293d55b862ad0cfae2208f9f8fc
1 #!/bin/sh
2 #5 July 96 Dan.Shearer@unisa.edu.au removed hardcoded values
4 # 13 Aug 2001 Rafal Szczesniak <mimir@spin.ict.pwr.wroc.pl>
5 # modified to accomodate international man pages (inspired
6 # by Japanese edition's approach)
8 MANDIR=`echo $1 | sed 's/\/\//\//g'`
9 SRCDIR=$2/
10 langs=$3
12 if [ $# -ge 4 ] ; then
13 GROFF=$4 # sh cmd line, including options
16 if test ! -d $SRCDIR../docs/manpages; then
17 echo "No manpages present. SVN development version maybe?"
18 exit 0
21 # Get the configured feature set
22 test -f "${SRCDIR}/config.log" && \
23 eval `grep "^[[:alnum:]]*=.*" "${SRCDIR}/config.log"`
25 for lang in $langs; do
26 if [ "X$lang" = XC ]; then
27 echo Installing default man pages in $MANDIR/
28 lang=.
29 else
30 echo Installing \"$lang\" man pages in $MANDIR/lang/$lang
33 langdir=$MANDIR/$lang
34 for d in $MANDIR $langdir $langdir/man1 $langdir/man5 $langdir/man7 $langdir/man8; do
35 if [ ! -d $d ]; then
36 mkdir $d
37 if [ ! -d $d ]; then
38 echo Failed to make directory $d, does $USER have privileges?
39 exit 1
42 done
44 for sect in 1 5 7 8 ; do
45 for m in $langdir/man$sect ; do
46 for s in $SRCDIR../docs/manpages/$lang/*$sect; do
47 MP_BASENAME=`basename $s`
49 # Check if this man page if required by the configured feature set
50 case "${MP_BASENAME}" in
51 smbsh.1) test -z "${SMBWRAPPER}" && continue ;;
52 *) ;;
53 esac
55 FNAME="$m/${MP_BASENAME}"
57 # Test for writability. Involves
58 # blowing away existing files.
60 if (rm -f $FNAME && touch $FNAME); then
61 if [ "x$GROFF" = x ] ; then
62 cp $s $m # Copy raw nroff
63 else
64 echo "\t$FNAME" # groff'ing can be slow, give the user
65 # a warm fuzzy.
66 $GROFF $s > $FNAME # Process nroff, because man(1) (on
67 # this system) doesn't .
69 chmod 0644 $FNAME
70 else
71 echo Cannot create $FNAME... does $USER have privileges?
73 done
74 done
75 done
76 done
77 cat << EOF
78 ======================================================================
79 The man pages have been installed. You may uninstall them using the command
80 the command "make uninstallman" or make "uninstall" to uninstall binaries,
81 man pages and shell scripts.
82 ======================================================================
83 EOF
85 exit 0