--- plamo/00_base/old/linux_pam-20151225/PlamoBuild.linux_pam-1.1.8 2015-12-25 10:59:46.000000000 +0900 +++ plamo/00_base/linux_pam/PlamoBuild.linux_pam-1.1.8 2016-11-21 18:30:32.000000000 +0900 @@ -2,16 +2,19 @@ ###################################################################### url="https://fedorahosted.org/releases/l/i/linux-pam/Linux-PAM-1.1.8.tar.bz2 - https://raw.githubusercontent.com/willysr/csb/master/pam/pam-1.1.8-cve-2013-7041.patch - https://raw.githubusercontent.com/willysr/csb/master/pam/pam-1.1.8-cve-2014-2583.patch" + ftp://plamo.linet.gr.jp/pub/Plamo-src/plamo/00_base/linux_pam/pam-1.1.8-cve-2013-7041.patch + ftp://plamo.linet.gr.jp/pub/Plamo-src/plamo/00_base/linux_pam/pam-1.1.8-cve-2014-2583.patch" pkgbase=linux_pam vers=1.1.8 arch=`uname -m` -build=P2 +build=P3 src=Linux-PAM-$vers -OPT_CONFIG="--enable-shared --enable-read-both-confs --disable-nis" +patchfiles="`echo pam-1.1.8-cve-{2013-7041,2014-2583}.patch`" +OPT_CONFIG="--enable-static --enable-read-both-confs --disable-nis" DOCS="NEWS ABOUT-NLS Copyright README COPYING AUTHORS CHANGELOG ChangeLog INSTALL ChangeLog-CVS" +template=20161020 +tmplurl=ftp://plamo.linet.gr.jp/pub/Plamo-src/admin ###################################################################### fscheck() { @@ -188,13 +191,35 @@ fi if [ $opt_download -eq 1 ] ; then for i in $url ; do - if [ ! -f ${i##*/} ] ; then wget $i ; fi + 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 done for i in $url ; do case ${i##*.} in tar) tar xvpf ${i##*/} ;; - gz) tar xvpzf ${i##*/} ;; - bz2) tar xvpjf ${i##*/} ;; + gz|tgz) tar xvpzf ${i##*/} ;; + bz2|tbz) tar xvpjf ${i##*/} ;; + xz|txz) tar xvpJf ${i##*/} ;; esac done fi @@ -202,9 +227,17 @@ for i in `seq 0 $((${#B[@]} - 1))` ; do if [ -d ${B[$i]} ] ; then rm -rf ${B[$i]} ; fi ; cp -a ${S[$i]} ${B[$i]} done - cd $B - patch -Np1 -i $W/pam-1.1.8-cve-2013-7041.patch - patch -Np1 -i $W/pam-1.1.8-cve-2014-2583.patch + 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 @@ -214,8 +247,8 @@ rm -rf config.cache config.log fi if [ -x configure ] ; then - ./configure --prefix=/usr --libdir=/usr/$libdir \ - --infodir='${prefix}'/share/info \ + ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var \ + --libdir=/usr/$libdir --infodir='${prefix}'/share/info \ --mandir='${prefix}'/share/man ${OPT_CONFIG[$i]} \ --sbindir=/$libdir/security --enable-securedir=/$libdir/security fi @@ -332,17 +365,33 @@ if [ $i -eq 0 ] ; then install $myname $docdir/$src touch -t `date '+%m%d0900'` $docdir/$src/$myname - gzip_one $docdir/$src/$myname + tmpl=${myname%%.*}-template-$template + if [ -f ../admin/$tmpl ] ; then + cp -p ../admin/$tmpl $docdir/$src + else + ( cd $docdir/$src + curl -Rs -o $tmpl $tmplurl/${tmpl/${myname%%.*}/PlamoBuild} ) + fi + spec=${myname%%.*}-spec + ( cd $docdir/$src ; diff -u $tmpl $myname > $spec ) + touch -t `date '+%m%d0900'` $docdir/$src/$spec + gzip $docdir/$src/{$myname,$spec} + rm $docdir/$src/$tmpl + mv $docdir/$src/{$myname,$spec}.gz $C + mv $C/{$myname,$spec}.gz $docdir/$src else ln $docdir/$src/$myname.gz $docdir/${src[$i]} + ln $docdir/$src/$spec.gz $docdir/${src[$i]} fi ( cd $docdir ; find ${src[$i]} -type d -exec touch -r $W/{} {} \; ) done mv $docdir/Linux-PAM $docdir/$src/doc mv $docdir/$src/{doc,{ABOUT-NLS,Copyright,README,COPYING,AUTHORS}.gz} $C - mv $docdir/$src/{CHANGELOG,ChangeLog,INSTALL,ChangeLog-CVS,$myname}.gz $C + mv $docdir/$src/{CHANGELOG,ChangeLog,INSTALL,ChangeLog-CVS}.gz $C + mv $docdir/$src/{$myname,$spec}.gz $C mv $C/{doc,{ABOUT-NLS,Copyright,README,COPYING,AUTHORS}.gz} $docdir/$src - mv $C/{CHANGELOG,ChangeLog,INSTALL,ChangeLog-CVS,$myname}.gz $docdir/$src + mv $C/{CHANGELOG,ChangeLog,INSTALL,ChangeLog-CVS}.gz $docdir/$src + mv $C/{$myname,$spec}.gz $docdir/$src touch -r $S $docdir/$src convert prune_symlink $P/etc/pam.d