2013-09-26 17:14:40 +02:00

355 lines
11 KiB
Plaintext

$NetBSD: patch-ac,v 1.6 2011/06/01 11:21:01 is Exp $
--- develop/install.orig 2005-06-06 20:39:29.000000000 +0000
+++ develop/install
@@ -59,12 +59,12 @@ mkdir_recursive() {
}
make_dirs() {
- mkdir_recursive $BINDIR
- mkdir_recursive $MANDIR/man1
- mkdir_recursive $SERVERDIR
- mkdir_recursive `dirname $DENY`
- mkdir_recursive `dirname $CONFIG`
- mkdir $MANDIR/man$manmisc $MANDIR/man$manadmin 2>/dev/null
+ mkdir_recursive $D$BINDIR
+ mkdir_recursive $D$MANDIR/man1
+ mkdir_recursive $D$SERVERDIR
+ mkdir_recursive $D$EGDIR
+ mkdir_recursive $D$EGDIR
+ mkdir $D/$MANDIR/man$manmisc $D/$MANDIR/man$manadmin 2>/dev/null
}
make_man() {
@@ -72,7 +72,7 @@ make_man() {
s:/usr/local/etc/sendfile.deny:$DENY:
s:/usr/local/etc/sendfile.cf:$CONFIG:
s:/var/spool/sendfile:$SPOOL:
- " doc/$1.$2 >$MANDIR/man$3/$1.$3
+ " doc/$1.$2 >$D$MANDIR/man$3/$1.$3
}
install_man() {
@@ -82,8 +82,8 @@ install_man() {
make_man fetchfile 1 1
make_man fetchfile 7 $manmisc
make_man sendfiled 8 $manadmin
- cp doc/wlock.1 doc/utf7encode.1 $MANDIR/man1
- (cd $MANDIR/man1; ln -s utf7encode.1 utf7decode.1 2>/dev/null)
+ cp doc/wlock.1 doc/utf7encode.1 $D$MANDIR/man1
+ (cd $D$MANDIR/man1; ln -s utf7encode.1 utf7decode.1 2>/dev/null)
}
SYSTEM=$1
@@ -94,18 +94,11 @@ if [ "$SYSTEM" = "" ]; then
exit
fi
-if [ "$LOGNAME" != root ]; then
- if [ "`whoami`" != root ]; then
- echo
- echo "You are not root! You probably run into problems now..."
- echo
- fi
-fi
-
eval `awk -F\" '/define BINDIR/ {print "BINDIR="$2}
/define MANDIR/ {print "MANDIR="$2}
/define SERVERDIR/ {print "SERVERDIR="$2}
/define SPOOL/ {print "SPOOL="$2}
+ /define EGDIR/ {print "EGDIR="$2}
/define CONFIG/ {print "CONFIG="$2}
/define DENY/ {print "DENY="$2}
/define ALLOW/ {print "ALLOW="$2}
@@ -114,6 +107,8 @@ eval `awk -F\" '/define BINDIR/ {prin
/define OUTLOG/ {print "OUTLOG="$2}
' src/globals.h`
+D=$DESTDIR
+
if [ "$BINDIR" = "" ]; then BINDIR=/usr/local/bin; fi
if [ "$MANDIR" = "" ]; then MANDIR=/usr/local/man; fi
if [ "$SERVERDIR" = "" ]; then SERVERDIR=/usr/local/sbin; fi
@@ -131,54 +126,28 @@ if [ -f /etc/xinetd.conf -a -d /etc/xine
INETDCONF=/etc/xinetd.d/sendfile
fi
+CONFIG=$PKG_SYSCONFDIR/sendfile.cf
+DENY=$PKG_SYSCONFDIR/sendfile.deny
+
case "$SYSTEM" in
- *BSD*) manmisc=7; manadmin=8;;
- *) manmisc=5; manadmin=1m;;
+ *) manmisc=7; manadmin=8;;
esac
-# purge old logfiles (bug from sendfile revision < 19980310)
-rm -f $SPOOL*/.sendfile*.log
-
if [ "$2" = "reinstall" ] ; then
umask 022
cd src || exit 1
make_dirs
- cp sendfile sendmsg receive utf7encode fetchfile wlock $BINDIR/
- [ -x $SERVERDIR/sendfiled ] && mv $SERVERDIR/sendfiled $SERVERDIR/sendfiled.old && rm -f $SERVERDIR/sendfiled.old
- cp sendfiled $SERVERDIR
+ cp sendfile sendmsg receive utf7encode fetchfile wlock $D$BINDIR/
+ [ -x $D$SERVERDIR/sendfiled ] && mv $D$SERVERDIR/sendfiled $D$SERVERDIR/sendfiled.old && rm -f $D$SERVERDIR/sendfiled.old
+ cp sendfiled $D$SERVERDIR
cd ../etc
- cp sfconf sfdconf $BINDIR/
+ cp sfconf sfdconf $D$BINDIR/
cd ..
install_man
echo Done.
exit 0
fi
-cat <<EOD
-WARNING: this sendfile install script will create or write to:
-
- spool directory = $SPOOL
- binary directory = $BINDIR
- manual directory = $MANDIR
- sendfiled directory = $SERVERDIR
- configuration files = $CONFIG
- $DENY
-
-In /etc/services and /etc/inetd.conf apropriate ads will be inserted.
-In /etc/profile and /etc/csh.login a call to sendfile_check will be added.
-
-To deinstall the sendfile-daemon, simply type: rm -f $SERVERDIR/sendfiled
-
-EOD
-echo 'If you are satisfied with these defaults, then type "ok" now:'
-read answer
-if [ "$answer" != ok ]; then
- echo
- echo "You can install sendfile manually, too. Please type: more doc/README"
- echo
- exit
-fi
-
umask 022
echo "checking for directories"
@@ -188,7 +157,7 @@ echo "installing the clients in $BINDIR"
cd etc || exit 1
sed "s:/usr/local/etc/sendfile.cf:$CONFIG:
s:/var/spool/sendfile:$SPOOL:" sf_cleanup \
- > $BINDIR/sf_cleanup
+ > $D$BINDIR/sf_cleanup
sed "s:SPOOL=/var/spool/sendfile:SPOOL=$SPOOL:
s:INLOG=/var/spool/sendfile/LOG/in:INLOG=$INLOG:
s:OUTLOG=/var/spool/sendfile/LOG/in:OUTLOG=$OUTLOG:
@@ -198,13 +167,13 @@ sed "s:SPOOL=/var/spool/sendfile:SPOOL=$
s:ALLOW=/usr/local/etc/sendfile.allow:ALLOW=$ALLOW:
" sfdconf \
| awk '{if ($0 != "CONFIG") print $0; else system("cat sendfile.cf")}' \
- > $BINDIR/sfdconf
-sed "s:/var/spool/sendfile:$SPOOL:" sfconf >$BINDIR/sfconf
-sed "s:receive :$BINDIR/receive :" check_sendfile >$BINDIR/check_sendfile
+ > $D$BINDIR/sfdconf
+sed "s:/var/spool/sendfile:$SPOOL:" sfconf >$D$BINDIR/sfconf
+sed "s:receive :$BINDIR/receive :" check_sendfile >$D$BINDIR/check_sendfile
cd ../src || exit 1
-cp sendfile sendmsg receive utf7encode fetchfile wlock $BINDIR/
+cp sendfile sendmsg receive utf7encode fetchfile wlock $D$BINDIR/
cd ..
-(cd $BINDIR
+(cd $D$BINDIR
ln -s utf7encode utf7decode 2>/dev/null
ln -s sendfile sf 2>/dev/null
ln -s sendmsg sm 2>/dev/null
@@ -216,153 +185,37 @@ echo "installing the man-pages in $MANDI
install_man
echo "installing the sendfile-daemon in $SERVERDIR"
-[ -x $SERVERDIR/sendfiled ] && mv $SERVERDIR/sendfiled $SERVERDIR/sendfiled.old && rm -f $SERVERDIR/sendfiled.old
-cp src/sendfiled $SERVERDIR || exit 1
+[ -x $D$SERVERDIR/sendfiled ] && mv $D$SERVERDIR/sendfiled $D$SERVERDIR/sendfiled.old && rm -f $D$SERVERDIR/sendfiled.old
+cp src/sendfiled $D$SERVERDIR || exit 1
-NOSENDFILE=`dirname $DENY 2>/dev/null`/nosendfile
+NOSENDFILE=$D`dirname $DENY 2>/dev/null`/nosendfile
if [ -f $NOSENDFILE ]; then
- if grep ^allow-only $NOSENDFILE >/dev/null; then
- echo "Information: $NOSENDFILE is now $ALLOW (autoconverted)"
- grep -v ^allow-only $NOSENDFILE > $ALLOW
+ if grep ^allow-only $D$NOSENDFILE >/dev/null; then
+ echo "Information: $D$NOSENDFILE is now $ALLOW (autoconverted)"
+ grep -v ^allow-only $D$NOSENDFILE > $D$ALLOW
else
echo "Information: $NOSENDFILE is now $DENY (autoconverted)"
- mv $NOSENDFILE $DENY
+ mv $NOSENDFILE $D$DENY
fi
fi
-if [ ! -f $DENY -a ! -f $ALLOW ]; then
- echo "installing the sendfile deny file as $DENY"
- cp etc/sendfile.deny $DENY
- chmod 644 $DENY
+if [ ! -f $D$EGDIR/sendfile.allow -a ! -f $D$EGDIR/sendfile.deny ]; then
+ echo "installing the sendfile deny file into $D/$EGDIR"
+ cp etc/sendfile.deny $D$EGDIR
+ chmod 644 $D$EGDIR/sendfile.deny
fi
-if [ ! -f $CONFIG ]; then
- echo "installing the global sendfile config file as $CONFIG"
- cp etc/sendfile.cf $CONFIG
- chmod 644 $CONFIG
+if [ ! -f $D$EGDIR ]; then
+ echo "installing the global sendfile config file as $D$EGDIR/sendfile.cf"
+ cp etc/sendfile.cf $D$EGDIR
+ chmod 644 $D$EGDIR/sendfile.cf
else
- if [ "`diff etc/sendfile.cf $CONFIG`" ]; then
- echo "Warning: `pwd`/etc/sendfile.cf differs from $CONFIG !"
+ if [ "`diff etc/sendfile.cf $D$EGDIR`" ]; then
+ echo "Warning: `pwd`/etc/sendfile.cf differs from $D$EGDIR !"
echo "Please take a look what has been changed!"
fi
fi
-if [ "$SYSTEM" = NEXT ]; then
- SERVICE="`nidump services . | awk '/[ \t]487\/tcp/'`"
-else
- SERVICE="`awk '/[ \t]487\/tcp/' /etc/services`"
-fi
-if [ "$SERVICE" != "" ]; then
- case "$SERVICE" in
- saft*) ;;
- *) echo "ERROR: tcp-port 487 is already in use!"; exit 1;;
- esac
-else
- if [ "$SYSTEM" = NEXT ]; then
- echo "configuring services"
- echo "saft 487/tcp # simple asynchronous file transfer" | niload services .
- else
- echo "configuring $SERVICES"
- echo "#" >>$SERVICES
- echo "saft 487/tcp # simple asynchronous file transfer" >>$SERVICES
- fi
-fi
-
-case "$INETDCONF" in
- *xinetd*)
- if [ -f $INETDCONF ]; then
- echo $INETDCONF does already exist -skipping
- else
- echo installing $INETDCONF
- sed "s:/usr/local/sbin/sendfiled:$SERVERDIR/sendfiled:" etc/xinetd >$INETDCONF
- RESTART=true
- fi
- SENDFILED=`awk '/[ \t]*server[ \t]*=/ { print $3 }' $INETDCONF`
- ;;
- *)
- SENDFILED=`awk '/^saft/ { sfd=$6;
- if (index($7,"/sendfiled")>0) sfd=$7;
- if (substr(sfd,1,1)=="?") sfd=substr(sfd,2);
- print sfd; }' $INETDCONF`
- if [ "$SENDFILED" = "" ]; then
- if [ -f /usr/sbin/tcpd ]; then
- SFD="/usr/sbin/tcpd $SERVERDIR/sendfiled"
- else
- SFD="$SERVERDIR/sendfiled sendfiled"
- fi
- RESTART=true
- echo "configuring $INETDCONF"
- echo "#" >>$INETDCONF
- echo "# simple asynchronous file transfer" >>$INETDCONF
- echo "saft stream tcp nowait root $SFD" >>$INETDCONF
- fi
- ;;
-esac
-
-if [ "$SENDFILED" != "$SERVERDIR/sendfiled" -a "$SENDFILED" != "" ]; then
- echo "WARNING: you have specified $SENDFILED in $INETDCONF, but"
- echo " there is $SERVERDIR/sendfiled in makeconfig! Check it!"
-fi
-
-if [ -f /etc/inetd.sec ]; then
- if [ "`grep '^saft' /etc/inetd.sec`" = "" ]; then
- echo >> /etc/inetd.sec
- echo "saft allow" >> /etc/inetd.sec
- fi
-fi
-
-if [ -f /etc/profile ]; then
- if [ "`grep check_sendfile /etc/profile`" = "" ]; then
- echo "adding check_sendfile to /etc/profile"
- echo >>/etc/profile
- echo "test -x $BINDIR/check_sendfile && $BINDIR/check_sendfile"\
- >>/etc/profile
- fi
-fi
-if [ -f /etc/csh.login ]; then
- if [ "`grep check_sendfile /etc/csh.login`" = "" ]; then
- echo "adding check_sendfile to /etc/csh.login"
- echo >>/etc/csh.login
- echo "test -x $BINDIR/check_sendfile && $BINDIR/check_sendfile" \
- >>/etc/csh.login
- fi
-fi
-
-if [ ! -d "$SPOOL/OUTGOING" ]; then
- echo "creating $SPOOL"
- mkdir_recursive $SPOOL/OUTGOING
- chmod 755 $SPOOL || exit 1
- chmod 1777 $SPOOL/OUTGOING
-fi
-if [ ! -d `dirname "$INLOG"` ]; then
- mkdir_recursive `dirname $INLOG`
- chmod 700 `dirname $INLOG`
-fi
-if [ ! -d `dirname "$OUTLOG"` ]; then
- mkdir_recursive `dirname $OUTLOG`
- chmod 700 `dirname $OUTLOG`
-fi
-if [ ! -f "$INLOG" ]; then
- echo "# use \"utf7decode $INLOG\" to view this file" > $INLOG
- echo >> $INLOG
- chmod 600 $INLOG
-fi
-if [ ! -f "$OUTLOG" ]; then
- echo "# use \"utf7decode $OUTLOG\" to view this file" > $OUTLOG
- echo >> $OUTLOG
- chmod 600 $OUTLOG
-fi
-
-free=`$SERVERDIR/sendfiled -f`
-minfree=`awk '/minfree =/{print $3}' $CONFIG`
-if [ "$free" -le "$minfree" ]; then
- cat <<EOD
- ! WARNING !
-You have not enough free disk space in $SPOOL !
-Either give the spool directory more space or lower the value for the
-minfree option in $CONFIG
-EOD
-fi
-
+
echo
echo "You may want to add the following line to your system bootup script:"
echo " $SERVERDIR/sendfiled -Q"
@@ -370,18 +223,3 @@ echo "This will start an outgoing spooli
echo "which processes any old files in the outgoing spool."
echo
-if [ "$RESTART" = true ]; then
- if [ -f /etc/init.d/xinetd ]; then
- echo reloading xinetd:
- if fgrep reload\) /etc/init.d/xinetd >/dev/null; then
- /etc/init.d/xinetd reload
- else
- /etc/init.d/xinetd stop
- /etc/init.d/xinetd start
- fi
- else
- echo
- echo "please restart now your inetd ( or simply reboot :-) )"
- echo
- fi
-fi