--- admin/PlamoBuild-template-20170323 2017-03-23 06:38:12.000000000 +0900 +++ plamo/01_minimum/devel.txz/old/libc-20170405/PlamoBuild.libc-2.20 2017-04-05 20:54:55.000000000 +0900 @@ -1,17 +1,30 @@ #!/bin/sh ###################################################################### -url="" +url="http://ftp.gnu.org/gnu/glibc/glibc-2.20.tar.xz + http://www.linuxfromscratch.org/patches/downloads/glibc/glibc-2.19-fhs-1.patch + http://ftp.su.se/pub/mirrors/lunar-linux.org/lunar/patches/glibc-2.20-do_ftell_wide-memleak.patch + 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/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" verify= commitid= -pkgbase= -vers= +pkgbase=libc +vers=2.20 arch=`uname -m` -build=P1 -src=$pkgbase-$vers -patchfiles="" -OPT_CONFIG="" -DOCS="README" +build=P6 +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=20170323 tmplurl=ftp://plamo.linet.gr.jp/pub/Plamo-src/admin ###################################################################### @@ -27,20 +40,46 @@ fscheck prepare "$@" +S2=$W/source if [ $opt_download -eq 1 ] ; then download_sources fi if [ $opt_config -eq 1 ] ; then for i in `seq 0 $((${#B[@]} - 1))` ; do - if [ -d ${B[$i]} ] ; then rm -rf ${B[$i]} ; fi ; cp -a ${S[$i]} ${B[$i]} + 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 + false && apply_patches + cd $S2 + for j in $patchfiles ; do + case ${j##*.} in + gz) gunzip -c $W/$j | patch -Np1 -i - ;; + *) patch -Np1 -i $W/$j ;; + esac done - apply_patches for i in `seq 0 $((${#B[@]} - 1))` ; do cd ${B[$i]} - if [ -x configure ] ; then - ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var \ + case $arch in + i686) + cat <<- "EOF" > configparms ;; + CFLAGS += -march=i486 -mtune=native -O3 -pipe + EOF + x86_64) + cat <<- "EOF" > configparms ;; + slibdir=/lib64 + CFLAGS += -march=x86-64 -mtune=generic -O3 -pipe + EOF + armv7l) + cat <<- "EOF" > configparms ;; + CFLAGS += -march=armv7-a -mtune=native -O3 -pipe + EOF + esac + if [ -x ${S2[$i]}/configure ] ; then + ${S2[$i]}/configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var \ --libdir='${exec_prefix}'/$libdir --infodir='${prefix}'/share/info \ - --mandir='${prefix}'/share/man ${OPT_CONFIG[$i]} + --mandir='${prefix}'/share/man ${OPT_CONFIG[$i]} \ + --libexecdir=/usr/$libdir/glibc \ + --build=$arch-pc-linux --target=$arch-pc-linux fi done fi @@ -70,9 +109,11 @@ compress setup_docdir convert_links - 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` + tar cvpf $pkg.tar -C $P `cd $P ; find usr/$libdir -maxdepth 1 ! -type d` + tar rvpf $pkg.tar -C $P `cd $P ; find usr/include -maxdepth 1 | tail -n+2` + tar rvpf $pkg.tar -C $P `cd $P ; find usr/share/info | 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 cleanup