$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 < $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 </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