1
0
mirror of https://github.com/samba-team/samba.git synced 2024-12-25 23:21:54 +03:00
samba-mirror/source3/script/installswat.sh
Jeremy Allison b1fed47440 r20535: Fix make install to work when root doesn't have
write access into the source tree (like when your
directory is nfs mounted for example....).
Jeremy.
(This used to be commit 7dcb61d1b2)
2007-10-10 12:16:55 -05:00

297 lines
8.3 KiB
Bash
Executable File

#!/bin/sh
#first version March 1998, Andrew Tridgell
DESTDIR=$1
SWATDIR=`echo $2 | sed 's/\/\//\//g'`
SRCDIR=$3/
BOOKDIR="$DESTDIR/$SWATDIR/using_samba"
case $0 in
*uninstall*)
echo "Removing SWAT from $DESTDIR/$SWATDIR "
echo "Removing the Samba Web Administration Tool "
echo -n "Removed "
mode='uninstall'
;;
*)
echo "Installing SWAT in $DESTDIR/$SWATDIR "
echo "Installing the Samba Web Administration Tool "
echo -n "Installing "
mode='install'
;;
esac
LANGS=". `cd $SRCDIR../swat/; /bin/echo lang/??`"
echo "langs are `cd $SRCDIR../swat/lang/; /bin/echo ??` "
if test "$mode" = 'install'; then
for ln in $LANGS; do
SWATLANGDIR="$DESTDIR/$SWATDIR/$ln"
for d in $SWATLANGDIR $SWATLANGDIR/help $SWATLANGDIR/images \
$SWATLANGDIR/include $SWATLANGDIR/js; do
if [ ! -d $d ]; then
mkdir -p $d
if [ ! -d $d ]; then
echo "Failed to make directory $d, does $USER have privileges? "
exit 1
fi
fi
done
done
fi
for ln in $LANGS; do
# images
for f in $SRCDIR../swat/$ln/images/*.gif; do
if [ ! -f $f ] ; then
continue
fi
FNAME="$DESTDIR/$SWATDIR/$ln/images/`basename $f`"
echo $FNAME
if test "$mode" = 'install'; then
cp "$f" "$FNAME"
if test ! -f "$FNAME"; then
echo "Cannot install $FNAME. Does $USER have privileges? "
exit 1
fi
chmod 0644 "$FNAME"
elif test "$mode" = 'uninstall'; then
rm -f "$FNAME"
if test -f "$FNAME"; then
echo "Cannot remove $FNAME. Does $USER have privileges? "
exit 1
fi
else
echo "Unknown mode, $mode. Script called as $0 "
exit 1
fi
done
# html help
for f in $SRCDIR../swat/$ln/help/*.html; do
if [ ! -f $f ] ; then
continue
fi
FNAME="$DESTDIR/$SWATDIR/$ln/help/`basename $f`"
echo $FNAME
if test "$mode" = 'install'; then
if [ "x$BOOKDIR" = "x" ]; then
cat $f | sed 's/@BOOKDIR@.*$//' > $FNAME.tmp
else
cat $f | sed 's/@BOOKDIR@//' > $FNAME.tmp
fi
if test ! -f "$FNAME.tmp"; then
echo "Cannot install $FNAME. Does $USER have privileges? "
exit 1
fi
f=$FNAME.tmp
cp "$f" "$FNAME"
rm -f "$f"
if test ! -f "$FNAME"; then
echo "Cannot install $FNAME. Does $USER have privileges? "
exit 1
fi
chmod 0644 "$FNAME"
elif test "$mode" = 'uninstall'; then
rm -f "$FNAME"
if test -f "$FNAME"; then
echo "Cannot remove $FNAME. Does $USER have privileges? "
exit 1
fi
fi
done
# "server-side" includes
for f in $SRCDIR../swat/$ln/include/*; do
if [ ! -f $f ] ; then
continue
fi
FNAME="$DESTDIR/$SWATDIR/$ln/include/`basename $f`"
echo $FNAME
if test "$mode" = 'install'; then
cp "$f" "$FNAME"
if test ! -f "$FNAME"; then
echo "Cannot install $FNAME. Does $USER have privileges? "
exit 1
fi
chmod 0644 $FNAME
elif test "$mode" = 'uninstall'; then
rm -f "$FNAME"
if test -f "$FNAME"; then
echo "Cannot remove $FNAME. Does $USER have privileges? "
exit 1
fi
fi
done
done
# Install/ remove html documentation (if html documentation tree is here)
if [ -d $SRCDIR../docs/htmldocs/ ]; then
for dir in htmldocs/manpages htmldocs/Samba3-ByExample htmldocs/Samba3-Developers-Guide htmldocs/Samba3-HOWTO
do
if [ ! -d $SRCDIR../docs/$dir ]; then
continue
fi
INSTALLDIR="$DESTDIR/$SWATDIR/help/`echo $dir | sed 's/htmldocs\///g'`"
if test ! -d "$INSTALLDIR" -a "$mode" = 'install'; then
mkdir "$INSTALLDIR"
if test ! -d "$INSTALLDIR"; then
echo "Failed to make directory $INSTALLDIR, does $USER have privileges? "
exit 1
fi
fi
for f in $SRCDIR../docs/$dir/*.html; do
FNAME=$INSTALLDIR/`basename $f`
echo $FNAME
if test "$mode" = 'install'; then
cp "$f" "$FNAME"
if test ! -f "$FNAME"; then
echo "Cannot install $FNAME. Does $USER have privileges? "
exit 1
fi
chmod 0644 $FNAME
elif test "$mode" = 'uninstall'; then
rm -f "$FNAME"
if test -f "$FNAME"; then
echo "Cannot remove $FNAME. Does $USER have privileges? "
exit 1
fi
fi
done
if test -d "$SRCDIR../docs/$dir/images/"; then
if test ! -d "$INSTALLDIR/images/" -a "$mode" = 'install'; then
mkdir "$INSTALLDIR/images"
if test ! -d "$INSTALLDIR/images/"; then
echo "Failed to make directory $INSTALLDIR/images, does $USER have privileges? "
exit 1
fi
fi
for f in $SRCDIR../docs/$dir/images/*.png; do
FNAME=$INSTALLDIR/images/`basename $f`
echo $FNAME
if test "$mode" = 'install'; then
cp "$f" "$FNAME"
if test ! -f "$FNAME"; then
echo "Cannot install $FNAME. Does $USER have privileges? "
exit 1
fi
chmod 0644 $FNAME
elif test "$mode" = 'uninstall'; then
rm -f "$FNAME"
if test -f "$FNAME"; then
echo "Cannot remove $FNAME. Does $USER have privileges? "
exit 1
fi
fi
done
fi
done
fi
# Install/ remove Using Samba book (but only if it is there)
if [ "x$BOOKDIR" != "x" -a -f $SRCDIR../docs/htmldocs/using_samba/toc.html ]; then
# Create directories
for d in $BOOKDIR $BOOKDIR/figs ; do
if test ! -d "$d" -a "$mode" = 'install'; then
mkdir $d
if test ! -d "$d"; then
echo "Failed to make directory $d, does $USER have privileges? "
exit 1
fi
fi
done
# HTML files
for f in $SRCDIR../docs/htmldocs/using_samba/*.html; do
FNAME=$BOOKDIR/`basename $f`
echo $FNAME
if test "$mode" = 'install'; then
cp "$f" "$FNAME"
if test ! -f "$FNAME"; then
echo "Cannot install $FNAME. Does $USER have privileges? "
exit 1
fi
chmod 0644 $FNAME
elif test "$mode" = 'uninstall'; then
rm -f "$FNAME"
if test -f "$FNAME"; then
echo "Cannot remove $FNAME. Does $USER have privileges? "
exit 1
fi
fi
done
for f in $SRCDIR../docs/htmldocs/using_samba/*.gif; do
FNAME=$BOOKDIR/`basename $f`
echo $FNAME
if test "$mode" = 'install'; then
cp "$f" "$FNAME"
if test ! -f "$FNAME"; then
echo "Cannot install $FNAME. Does $USER have privileges? "
exit 1
fi
chmod 0644 $FNAME
elif test "$mode" = 'uninstall'; then
rm -f "$FNAME"
if test -f "$FNAME"; then
echo "Cannot remove $FNAME. Does $USER have privileges? "
exit 1
fi
fi
done
# Figures
for f in $SRCDIR../docs/htmldocs/using_samba/figs/*.gif; do
FNAME=$BOOKDIR/figs/`basename $f`
echo $FNAME
if test "$mode" = 'install'; then
cp "$f" "$FNAME"
if test ! -f "$FNAME"; then
echo "Cannot install $FNAME. Does $USER have privileges? "
exit 1
fi
chmod 0644 $FNAME
elif test "$mode" = 'uninstall'; then
rm -f "$FNAME"
if test -f "$FNAME"; then
echo "Cannot remove $FNAME. Does $USER have privileges? "
exit 1
fi
fi
done
fi
if test "$mode" = 'install'; then
cat << EOF
======================================================================
The SWAT files have been installed. Remember to read the documentation
for information on enabling and using SWAT
======================================================================
EOF
else
cat << EOF
======================================================================
The SWAT files have been removed. You may restore these files using
the command "make installswat" or "make install" to install binaries,
man pages, modules, SWAT, and shell scripts.
======================================================================
EOF
fi
exit 0