--- plamo/01_minimum/devel.txz/old/libc-20160607/PlamoBuild.libc-2.20 2016-06-07 07:55:19.000000000 +0900 +++ plamo/01_minimum/devel.txz/libc/PlamoBuild.libc-2.20 2016-12-09 19:36:44.000000000 +0900 @@ -7,18 +7,24 @@ http://ftp.su.se/pub/mirrors/lunar-linux.org/lunar/patches/glibc-2.20-getifaddrs_internal-segfault.patch http://ftp.su.se/pub/mirrors/lunar-linux.org/lunar/patches/glibc-2.20-linux-3.16-additions.patch http://slackware.cs.utah.edu/pub/slackware/slackware-current/source/l/glibc/glibc-c-utf8-locale.patch.gz - ftp://plamo.linet.gr.jp/pub/Plamo-src.new/plamo/00_base/glibc/CVE-2015-7547.patch - ftp://plamo.linet.gr.jp/pub/Plamo-src.new/plamo/00_base/glibc/CVE-2015-8776.patch - ftp://plamo.linet.gr.jp/pub/Plamo-src.new/plamo/00_base/glibc/CVE-2015-8778.patch - ftp://plamo.linet.gr.jp/pub/Plamo-src.new/plamo/00_base/glibc/CVE-2015-8779.patch" + ftp://plamo.linet.gr.jp/pub/Plamo-src/plamo/00_base/glibc/CVE-2015-7547.patch + ftp://plamo.linet.gr.jp/pub/Plamo-src/plamo/00_base/glibc/CVE-2015-8776.patch + ftp://plamo.linet.gr.jp/pub/Plamo-src/plamo/00_base/glibc/CVE-2015-8778.patch + ftp://plamo.linet.gr.jp/pub/Plamo-src/plamo/00_base/glibc/CVE-2015-8779.patch" pkgbase=libc vers=2.20 arch=`uname -m` -build=P4 +build=P5 src=glibc-$vers +patchfiles="glibc-2.19-fhs-1.patch glibc-2.20-do_ftell_wide-memleak.patch + glibc-2.20-getifaddrs_internal-segfault.patch + glibc-2.20-linux-3.16-additions.patch glibc-c-utf8-locale.patch.gz + `echo CVE-2015-{7547,877{6,8,9}}.patch`" OPT_CONFIG="--enable-kernel=2.6.32 --enable-obsolete-rpc" DOCS="BUGS CONFORMANCE COPYING* ChangeLog* INSTALL LICENSES NEWS PROJECTS README" +template=20161020 +tmplurl=ftp://plamo.linet.gr.jp/pub/Plamo-src/admin ###################################################################### fscheck() { @@ -233,16 +239,17 @@ if [ -d ${S2[$i]} ] ; then rm -rf ${S2[$i]} ; fi ; cp -a ${S[$i]} ${S2[$i]} if [ -d ${B[$i]} ] ; then rm -rf ${B[$i]} ; fi ; mkdir ${B[$i]} done - cd $S2 - patch -Np1 -i $W/glibc-2.19-fhs-1.patch - patch -Np1 -i $W/glibc-2.20-do_ftell_wide-memleak.patch - patch -Np1 -i $W/glibc-2.20-getifaddrs_internal-segfault.patch - patch -Np1 -i $W/glibc-2.20-linux-3.16-additions.patch - gunzip -c $W/glibc-c-utf8-locale.patch.gz | patch -Np1 -i - - patch -Np1 -i $W/CVE-2015-7547.patch - patch -Np1 -i $W/CVE-2015-8776.patch - patch -Np1 -i $W/CVE-2015-8778.patch - patch -Np1 -i $W/CVE-2015-8779.patch + for i in `seq 0 $((${#B[@]} - 1))` ; do + cd ${S2[$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 cp -p localedata/Makefile{,.orig} cat <<- "EOF" | patch localedata/Makefile 235a236 @@ -321,9 +328,23 @@ 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