--- admin/PlamoBuild.template.common.without_comment 2016-06-15 20:51:13.000000000 +0900 +++ plamo/00_base/old/sudo-20160116/PlamoBuild.sudo-1.8.15 2016-01-16 11:11:57.000000000 +0900 @@ -1,15 +1,16 @@ #!/bin/sh ###################################################################### -url="" -pkgbase= -vers= +url="http://www.sudo.ws/sudo/dist/sudo-1.8.15.tar.gz" +pkgbase=sudo +vers=1.8.15 arch=`uname -m` -build=P1 +build=P2 src=$pkgbase-$vers -patchfiles="" -OPT_CONFIG="" -DOCS="README" +OPT_CONFIG="--with-pam --without-sendmail --with-env-editor + --with-all-insults --with-hal-insults --with-secure-path" +DOCS="ABOUT-NLS ChangeLog INSTALL* MANIFEST NEWS README* + `echo doc/{CONTRIBUTORS,HISTORY,LICENSE,TROUBLESHOOTING,UPGRADE}`" ###################################################################### fscheck() { @@ -155,6 +156,7 @@ convert() { for i in {$P,$P/usr}/{sbin,bin} ; do prune_symlink $i ; done for i in {$P,$P/usr}/$libdir ; do prune_symlink $i ; done + prune_symlink $P/usr/libexec/sudo prune_symlink $infodir for i in `seq 9` n ; do prune_symlink $mandir/man$i ; done } @@ -186,35 +188,13 @@ fi if [ $opt_download -eq 1 ] ; then for i in $url ; do - if [ ! -f ${i##*/} ] ; then - wget $i ; j=${i%.*} - for sig in asc sig{,n} {sha{256,1},md5}{,sum} ; do - if wget --spider $i.$sig ; then wget $i.$sig ; break ; fi - if wget --spider $j.$sig ; then - case ${i##*.} in - gz) gunzip -c ${i##*/} > ${j##*/} ;; - bz2) bunzip2 -c ${i##*/} > ${j##*/} ;; - xz) unxz -c ${i##*/} > ${j##*/} ;; - esac - touch -r ${i##*/} ${j##*/} ; i=$j ; wget $i.$sig ; break - fi - done - if [ -f ${i##*/}.$sig ] ; then - case $sig in - asc|sig|sign) gpg2 --verify ${i##*/}.$sig ;; - sha256|sha1|md5) ${sig}sum -c ${i##*/}.$sig ;; - *) $sig -c ${i##*/}.$sig ;; - esac - if [ $? -ne 0 ] ; then echo "archive verify failed" ; exit ; fi - fi - fi + if [ ! -f ${i##*/} ] ; then wget $i ; fi done for i in $url ; do case ${i##*.} in tar) tar xvpf ${i##*/} ;; - gz|tgz) tar xvpzf ${i##*/} ;; - bz2|tbz) tar xvpjf ${i##*/} ;; - xz|txz) tar xvpJf ${i##*/} ;; + gz) tar xvpzf ${i##*/} ;; + bz2) tar xvpjf ${i##*/} ;; esac done fi @@ -224,17 +204,6 @@ done for i in `seq 0 $((${#B[@]} - 1))` ; do cd ${B[$i]} - for j in ${patchfiles[$i]} ; do - case ${j##*.} in - gz) gunzip -c $W/$j | patch -Np1 -i - ;; - bz2) bunzip2 -c $W/j | patch -Np1 -i - ;; - xz) unxz -c $W/$j | patch -Np1 -i - ;; - *) patch -Np1 -i $W/$j ;; - esac - done - done - for i in `seq 0 $((${#B[@]} - 1))` ; do - cd ${B[$i]} if [ -f Makefile ] ; then make clean fi @@ -242,8 +211,8 @@ rm -rf config.cache config.log fi if [ -x configure ] ; then - ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var \ - --libdir='${exec_prefix}'/$libdir --infodir='${prefix}'/share/info \ + ./configure --prefix=/usr --libdir='${exec_prefix}'/$libdir \ + --infodir='${prefix}'/share/info \ --mandir='${prefix}'/share/man ${OPT_CONFIG[$i]} fi done @@ -269,14 +238,25 @@ for i in `seq 0 $((${#B[@]} - 1))` ; do cd ${B[$i]} if [ -f Makefile ] ; then - make install DESTDIR=$P + make -i install DESTDIR=$P fi done + mv $P/etc/sudoers $C + mv $C/sudoers $P/etc/sudoers.new + install -d $P/etc/pam.d + cat <<- "EOF" > $P/etc/pam.d/sudo + #%PAM-1.0 + auth include plamo-default + account include plamo-default + password include plamo-default + session include plamo-default + EOF touch $W/i.et cd $W find $P ! -type l -newer i.st ! -newer i.et \ -exec touch -t `date '+%m%d0900'` {} \; compress + strip_libdir $P/usr/libexec/sudo for i in `seq 0 $((${#DOCS[@]} - 1))` ; do for j in ${DOCS[$i]} ; do for k in ${S[$i]}/$j ; do @@ -294,10 +274,32 @@ fi ( cd $docdir ; find ${src[$i]} -type d -exec touch -r $W/{} {} \; ) done + mv $docdir/sudo/examples $docdir/$src + mv $docdir/$src/{examples,$myname.gz} $C + mv $C/{examples,$myname.gz} $docdir/$src + touch -t `date '+%m%d0900'` $docdir/$src{,/doc} convert - tar cvpf $pkg.tar -C $P `cd $P ; find usr/bin | tail -n+2` - tar rvpf $pkg.tar -C $P `cd $P ; find usr/share/man/man1 | tail -n+2` + touch -t `date '+%m%d0900'` $P/usr/libexec/sudo + cat <<- "EOF" >> $P/install/doinst.sh + if [ -f etc/sudoers ] ; then + rm etc/sudoers.new + else + mv etc/sudoers.new /tmp + mv /tmp/sudoers.new etc/sudoers + fi + EOF + touch -t `date '+%m%d0900'` $P/install/doinst.sh + tar cvpf $pkg.tar -C $P `cd $P ; find usr/sbin | tail -n+2` + tar rvpf $pkg.tar -C $P `cd $P ; find usr/bin | tail -n+2` + tar rvpf $pkg.tar -C $P usr/libexec/sudo + tar rvpf $pkg.tar -C $P `cd $P ; find usr/include | tail -n+2` + tar rvpf $pkg.tar -C $P `cd $P ; find usr/share/locale -name "*.mo"` + tar rvpf $pkg.tar -C $P `cd $P ; find etc -maxdepth 1 | tail -n+2` + tar rvpf $pkg.tar -C $P var/{run,db}/sudo + tar rvpf $pkg.tar -C $P `cd $P ; find usr/share/man/man5 | tail -n+2` + tar rvpf $pkg.tar -C $P `cd $P ; find usr/share/man/man8 | tail -n+2` tar rvpf $pkg.tar -C $P usr/share/doc/$src + tar rvpf $pkg.tar -C $P install/doinst.sh touch -t `date '+%m%d0900'` $pkg.tar ; xz $pkg.tar ; touch $pkg.tar.xz mv $pkg.tar.xz $pkg.txz read -p "Do you want to keep work files? [y/N] " ans