Diff for /elwix/config/rc.subr between versions 1.2 and 1.8

version 1.2, 2011/10/18 09:02:06 version 1.8, 2014/01/05 23:14:23
Line 35  SnitVer() Line 35  SnitVer()
         return 0          return 0
 }  }
   
   Create_etc_motd()
   {
           ELWIX_VER="ELWIX-${VERSION}_$2_${TARGET_ARCH}";
           ELWIX_HDR_MOTD="${ELWIX_VER} :: Build date ${BUILD_DATE}";
   
           awk -v fo="${1:-motd}" 'BEGIN { print "'"${ELWIX_HDR_MOTD}"'" > fo; } { print $0 >> fo; }' \
                      ${CFGDIR}/elwix_signature.txt;
   }
   
   # $1 = fs/elwix
   # $2 = config/etc/default
   MakeFS_var()
   {
           cd $1
   
           install -d altroot;
           install -d altroot/var;
           install -d altroot/var/account;
           install -d altroot/var/at;
           install -d altroot/var/at/jobs;
           install -d altroot/var/at/spool;
           install -d -g 63 -m 0770 altroot/var/authpf;
           install -d -m 0750 altroot/var/cron;
           install -d -m 0700 altroot/var/cron/tabs;
           install -d altroot/var/db;
           install -d -m 0555 altroot/var/empty;
           install -d altroot/var/log;
           install -d -o 80 -g 80 -m 0700 altroot/var/log/lighttpd;
           install -d -o 101 -g 101 altroot/var/log/quagga;
           install -d -o 883 -g 883 altroot/var/mqtt;
           install -d altroot/var/frm;
           install -d altroot/var/run;
           install -d -o 80 -g 80 altroot/var/run/lighttpd;
           install -d -o 101 -g 101 altroot/var/run/quagga;
           install -d altroot/var/spool;
           install -d -o 66 -g 68 -m 0775 altroot/var/spool/lock;
           install -d -o 80 -g 80 -m 0775 altroot/var/spool/lighttpd;
           install -d -o 80 -g 80 altroot/var/spool/lighttpd/sockets;
           install -d -g 1 altroot/var/spool/lpd;
           install -d -g 1 altroot/var/spool/output;
           install -d -g 1 altroot/var/spool/output/lpd;
           install -d -o 59 -g 59 altroot/var/unbound;
   
           ln -fs /tmp altroot/var/tmp;
   
           touch altroot/var/run/utmp
   
           touch altroot/var/account/acct
   
           touch altroot/var/log/elwix
           touch altroot/var/log/lastlog
           touch altroot/var/log/wifi.log
           touch altroot/var/log/utx.log
   
           touch altroot/var/log/auth.log
           touch altroot/var/log/cron
           touch altroot/var/log/console.log
           touch altroot/var/log/debug.log
           touch altroot/var/log/init.log
           touch altroot/var/log/lpd-errs
           touch altroot/var/log/maillog
           touch altroot/var/log/messages
           touch altroot/var/log/security
           touch altroot/var/log/xferlog
           touch altroot/var/log/ppp.log
           chgrp 69 altroot/var/log/ppp.log
   
           install -v $2/resolv.safe altroot/var/run/resolv.conf
   
           cd -
   }
   
   # $1 = fs/elwix
   # $2 = config/etc/default
   # $3 = name
   MakeFS_etc()
   {
           InstallDir $2 $1/etc
   
           chown -R root:wheel $1/etc;
   
           chmod 0600 $1/etc/opieaccess;
           chmod 0600 $1/etc/opiekeys;
   
           chmod 0600 $1/etc/master.passwd;
           chmod 0600 $1/etc/spwd.db;
           chmod 0600 $1/etc/ssh/ssh_host_dsa_key;
           chmod 0600 $1/etc/ssh/ssh_host_key;
           chmod 0600 $1/etc/ssh/ssh_host_rsa_key;
           chmod 0600 $1/etc/ssh/ssh_host_ecdsa_key;
   
           chmod 0440 $1/etc/sudoers;
   
           chgrp 80 $1/etc/config.xml;
           chmod 0660 $1/etc/config.xml;
   
           mkdir -p $1/etc/mqtt;
           chgrp -R 883 $1/etc/mqtt;
           chown -R 883 $1/etc/mqtt;
   
           ln -sf /etc/rc.s $1/etc/rc.S
   
           ln -sf /usr/share/zoneinfo/${TIMEZONE} $1/etc/localtime;
           ln -sf /usr/share/misc/termcap $1/etc/termcap;
   
           ln -sf /var/run/resolv.conf $1/etc/resolv.conf;
   
           ln -sf /elwix/pkg/etc/mk.conf $1/etc/mk.conf;
   
           echo ${TARGET_ARCH} >$1/etc/platform;
   
           Create_etc_motd $1/etc/motd $3;
   
           CleanCVS $1
           CleanCVS $1/etc
   }
   
   # $1 = fs/elwix
   MakeFS_home()
   {
           install -d $1/root/.ssh
           [ -r ${CFGDIR}/root.skel/ssh/authorized_keys2 ] && \
                   install -v ${CFGDIR}/root.skel/ssh/authorized_keys2 $1/root/.ssh;
   
           install -v ${CFGDIR}/root.skel/cshrc $1/root/.cshrc;
           install -v ${CFGDIR}/root.skel/login $1/root/.login;
           install -v ${CFGDIR}/root.skel/logout $1/root/.logout;
           install -v ${CFGDIR}/root.skel/profile $1/root/.profile;
           install -v ${CFGDIR}/root.skel/vimrc $1/root/.vimrc;
   }
   
   # $1 = fs/elwix
   MakeFS_backup()
   {
           mkdir -p $1/altroot/backup
   
           cd $1
           cp -p etc/config.xml altroot/backup
           tar -czf altroot/backup/.etc.tgz etc
   
           cd altroot
           tar -czf backup/.var.tgz var
   }
   
   # $1 = fs
   MakeFS_boot()
   {
           InstallDir ${WORLD}/boot $1/boot
   
           install -m 644 ${CFGDIR}/boot/boot.config $1;
   
           install -m 444 ${CFGDIR}/boot/beastie.4th $1/boot;
           install -m 444 ${CFGDIR}/boot/brand.4th $1/boot;
           install -m 444 ${CFGDIR}/boot/menu.4th $1/boot;
   
           install -m 444 ${KERNDEVHINTS} $1/boot/device.hints;
   
           if [ -r ${CFGDIR}/boot/loader_${TARGET_ARCH}.conf ]; then
                   install -m 644 ${CFGDIR}/boot/loader_${TARGET_ARCH}.conf $1/boot/loader.conf;
           else
                   echo;
                   echo "Can't find right loader.conf for TARGET_ARCH=${TARGET_ARCH} ... loader.conf not installed!";
                   echo;
           fi;
   }
   
 # $1 = ELWIX install list config  # $1 = ELWIX install list config
 # $2 = From World dir  # $2 = From World dir
 # $3 = To Dest dir  # $3 = To Dest dir
 InstallList()  InstallList()
 {  {
        sed -nE -e 's/^ *([^ #]+) */\1/p' < $1 | tr ':' '\n' |         local TMPFILE=$(mktemp -q /tmp/instlist.XXXXXX)
                tar -C $2 -cvf - -T - | tar -C $3 -x -f -        if [ $? -ne 0 ]; then
                 echo "Error:: Can't create temp file, exiting..."
                 exit 1
         fi
 
         sed -nE -e 's/^ *([^ #]+) */\1/p' < $1 | tr ':' '\n' >$TMPFILE
         cd $2
         for i in $(cat $TMPFILE); do
                 if [ -x $i ]; then
                         echo "Strip '$i'"
                         strip -s $i
                 fi
         done
         cd -
         tar -C $2 -cvf - -T $TMPFILE | tar -C $3 -x -f -
         rm -f $TMPFILE
 }  }
   
 # $1 = From dir  # $1 = From dir
Line 60  InstallProg() Line 241  InstallProg()
 }  }
   
 # $1 = file_pattern  # $1 = file_pattern
# $2 = To dir# $2 = From dir
# $3 = From dir# $3 = To dir
 InstallFiles()  InstallFiles()
 {  {
        cd $2        if [ -d "$2" ]; then
        find . -type f -name "$1" |                 cd $2
                tar -cvf - -T - | tar -C $3 -xf -                find . -type f -name "$1" | 
        cd -                        tar -cvf - -T - | tar -C $3 -xf -
                 cd -
         fi
 }
 
 # $1 = Directory for clean
 CleanCVS()
 {
         find $1 -type d -name CVS -exec rm -rf {} \; >/dev/null 2>&1
         find $1 -type f -name .#\* -exec rm -f {} \; >/dev/null 2>&1
 }
 
 # $1 = file_pattern
 # $2 = From dir
 StripFiles()
 {
         if [ -d "$2" ]; then
                 local TMPFILE=$(mktemp -q /tmp/instlist.XXXXXX)
                 if [ $? -ne 0 ]; then
                         echo "Error:: Can't create temp file, exiting..."
                         exit 1
                 fi
 
                 cd $2
                 find . -type f -name "$1" >$TMPFILE
                 for i in $(cat $TMPFILE); do
                         if [ -x $i ]; then
                                 echo "Strip '$i'"
                                 strip -s $i
                         fi
                 done
                 cd -
                 rm -f $TMPFILE
         fi
 }  }

Removed from v.1.2  
changed lines
  Added in v.1.8


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>