source3/script: fix installman.sh after the last build-manpages-nogit change
[obnox/samba/samba-obnox.git] / source3 / script / installman.sh
1 #!/bin/sh
2 #5 July 96 Dan.Shearer@unisa.edu.au  removed hardcoded values
3 #
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)
7
8 MANDIR=`echo $1 | sed 's/\/\//\//g'`
9 SRCDIR=$2/
10 langs=$3
11
12 if [ $# -ge 4 ] ; then
13   GROFF=$4                    # sh cmd line, including options 
14 fi
15
16 if test ! -d $SRCDIR../bin/docs/manpages; then
17         echo "No manpages present.  Development version maybe?"
18         exit 0
19 fi
20
21 # Get the configured feature set
22 test -f "${SRCDIR}/config.log" && \
23         eval `grep "^[[:alnum:]]*=.*" "${SRCDIR}/config.log" |
24               grep -v ^MANDIR | grep -v ^SRCDIR`
25
26 for lang in $langs; do
27     if [ "X$lang" = XC ]; then
28         echo Installing default man pages in $MANDIR/
29         lang=.
30     else
31         echo Installing \"$lang\" man pages in $MANDIR/lang/$lang
32     fi
33
34     langdir=$MANDIR/$lang
35     for d in $MANDIR $langdir $langdir/man1 $langdir/man5 $langdir/man7 $langdir/man8; do
36         if [ ! -d $d ]; then
37             mkdir $d
38             if [ ! -d $d ]; then
39                 echo Failed to make directory $d, does $USER have privileges?
40                 exit 1
41             fi
42         fi
43     done
44
45     for sect in 1 5 7 8 ; do
46         for m in $langdir/man$sect ; do
47             for s in $SRCDIR../bin/docs/manpages/$lang/*$sect; do
48             MP_BASENAME=`basename $s`
49
50             # Check if this man page if required by the configured feature set
51             case "${MP_BASENAME}" in
52                 smbsh.1) test -z "${SMBWRAPPER}" && continue ;;
53                 *) ;;
54             esac
55
56             FNAME="$m/${MP_BASENAME}"
57
58             # Test for writability.  Involves 
59             # blowing away existing files.
60  
61             if (rm -f $FNAME && touch $FNAME); then
62                 if [ "x$GROFF" = x ] ; then
63                     cp $s $m            # Copy raw nroff 
64                 else
65                     echo "\t$FNAME"     # groff'ing can be slow, give the user
66                                         #   a warm fuzzy.
67                     $GROFF $s > $FNAME  # Process nroff, because man(1) (on
68                                         #   this system) doesn't .
69                 fi
70                 chmod 0644 $FNAME
71             else
72                 echo Cannot create $FNAME... does $USER have privileges?
73             fi
74             done
75         done
76     done
77 done
78 cat << EOF
79 ======================================================================
80 The man pages have been installed. You may uninstall them using the command
81 the command "make uninstallman" or make "uninstall" to uninstall binaries,
82 man pages and shell scripts.
83 ======================================================================
84 EOF
85
86 exit 0
87