Date: Wednesday, December 26, 2012 @ 05:59:25 Author: allan Revision: 173864
archrelease: copy trunk to staging-i686, staging-x86_64 Added: glibc/repos/staging-i686/ glibc/repos/staging-i686/PKGBUILD (from rev 173863, glibc/trunk/PKGBUILD) glibc/repos/staging-i686/glibc.install (from rev 173863, glibc/trunk/glibc.install) glibc/repos/staging-i686/locale-gen (from rev 173863, glibc/trunk/locale-gen) glibc/repos/staging-i686/locale.gen.txt (from rev 173863, glibc/trunk/locale.gen.txt) glibc/repos/staging-i686/nscd.service (from rev 173863, glibc/trunk/nscd.service) glibc/repos/staging-i686/nscd.tmpfiles (from rev 173863, glibc/trunk/nscd.tmpfiles) glibc/repos/staging-x86_64/ glibc/repos/staging-x86_64/PKGBUILD (from rev 173863, glibc/trunk/PKGBUILD) glibc/repos/staging-x86_64/glibc.install (from rev 173863, glibc/trunk/glibc.install) glibc/repos/staging-x86_64/locale-gen (from rev 173863, glibc/trunk/locale-gen) glibc/repos/staging-x86_64/locale.gen.txt (from rev 173863, glibc/trunk/locale.gen.txt) glibc/repos/staging-x86_64/nscd.service (from rev 173863, glibc/trunk/nscd.service) glibc/repos/staging-x86_64/nscd.tmpfiles (from rev 173863, glibc/trunk/nscd.tmpfiles) -------------------------------+ staging-i686/PKGBUILD | 145 ++++++++++++++++++++++++++++++++++++++++ staging-i686/glibc.install | 20 +++++ staging-i686/locale-gen | 42 +++++++++++ staging-i686/locale.gen.txt | 23 ++++++ staging-i686/nscd.service | 17 ++++ staging-i686/nscd.tmpfiles | 1 staging-x86_64/PKGBUILD | 145 ++++++++++++++++++++++++++++++++++++++++ staging-x86_64/glibc.install | 20 +++++ staging-x86_64/locale-gen | 42 +++++++++++ staging-x86_64/locale.gen.txt | 23 ++++++ staging-x86_64/nscd.service | 17 ++++ staging-x86_64/nscd.tmpfiles | 1 12 files changed, 496 insertions(+) Copied: glibc/repos/staging-i686/PKGBUILD (from rev 173863, glibc/trunk/PKGBUILD) =================================================================== --- staging-i686/PKGBUILD (rev 0) +++ staging-i686/PKGBUILD 2012-12-26 10:59:25 UTC (rev 173864) @@ -0,0 +1,145 @@ +# $Id$ +# Maintainer: Allan McRae <al...@archlinux.org> + +# toolchain build order: linux-api-headers->glibc->binutils->gcc->binutils->glibc +# NOTE: valgrind requires rebuilt with each major glibc version + +pkgname=glibc +pkgver=2.17 +pkgrel=1 +pkgdesc="GNU C Library" +arch=('i686' 'x86_64') +url="http://www.gnu.org/software/libc" +license=('GPL' 'LGPL') +groups=('base') +depends=('linux-api-headers>=3.7' 'tzdata') +makedepends=('gcc>=4.7') +backup=(etc/gai.conf + etc/locale.gen + etc/nscd.conf) +options=('!strip') +install=glibc.install +source=(http://ftp.gnu.org/gnu/libc/${pkgname}-${pkgver}.tar.xz{,.sig} + nscd.service + nscd.tmpfiles + locale.gen.txt + locale-gen) +md5sums=('87bf675c8ee523ebda4803e8e1cec638' + '6db4d1661cf34282755dc90330465f6d' + 'c1e07c0bec0fe89791bfd9d13fc85edf' + 'bccbe5619e75cf1d97312ec3681c605c' + '07ac979b6ab5eeb778d55f041529d623' + '476e9113489f93b348b21e144b6a8fcf') + + +build() { + cd ${srcdir}/${pkgname}-${pkgver} + + # ldconfig does not need to look in /usr/lib64 or /usr/libx32 on Arch Linux + sed -i "s#add_system_dir#do_not_add_system_dir#" sysdeps/unix/sysv/linux/x86_64/dl-cache.h + + cd ${srcdir} + mkdir glibc-build + cd glibc-build + + if [[ ${CARCH} = "i686" ]]; then + # Hack to fix NPTL issues with Xen, only required on 32bit platforms + # TODO: make separate glibc-xen package for i686 + export CFLAGS="${CFLAGS} -mno-tls-direct-seg-refs" + fi + + echo "slibdir=/usr/lib" >> configparms + + # remove hardening options from CFLAGS for building libraries + CFLAGS=${CFLAGS/-fstack-protector/} + CFLAGS=${CFLAGS/-D_FORTIFY_SOURCE=2/} + + ${srcdir}/${pkgname}-${pkgver}/configure --prefix=/usr \ + --libdir=/usr/lib --libexecdir=/usr/lib \ + --with-headers=/usr/include \ + --enable-add-ons=nptl,libidn \ + --enable-obsolete-rpc \ + --enable-kernel=2.6.32 \ + --enable-bind-now --disable-profile \ + --enable-stackguard-randomization \ + --enable-multi-arch + + # build libraries with hardening disabled + echo "build-programs=no" >> configparms + make + + # re-enable hardening for programs + sed -i "/build-programs=/s#no#yes#" configparms + echo "CC += -fstack-protector -D_FORTIFY_SOURCE=2" >> configparms + echo "CXX += -fstack-protector -D_FORTIFY_SOURCE=2" >> configparms + make + + # remove harding in preparation to run test-suite + sed -i '2,4d' configparms +} + +check() { + # bug to file - the linker commands need to be reordered + LDFLAGS=${LDFLAGS/--as-needed,/} + + cd ${srcdir}/glibc-build + make check +} + +package() { + cd ${srcdir}/glibc-build + + install -dm755 ${pkgdir}/etc + touch ${pkgdir}/etc/ld.so.conf + + make install_root=${pkgdir} install + + rm -f ${pkgdir}/etc/ld.so.{cache,conf} + + # eventually this will move to the filesystem package + ln -s usr/lib ${pkgdir}/lib + + install -dm755 ${pkgdir}/{etc/rc.d,usr/{sbin,lib/{,locale,systemd/system,tmpfiles.d}}} + + install -m644 ${srcdir}/${pkgname}-${pkgver}/nscd/nscd.conf ${pkgdir}/etc/nscd.conf + install -m644 ${srcdir}/nscd.service ${pkgdir}/usr/lib/systemd/system + install -m644 ${srcdir}/nscd.tmpfiles ${pkgdir}/usr/lib/tmpfiles.d/nscd.conf + + install -m644 ${srcdir}/${pkgname}-${pkgver}/posix/gai.conf ${pkgdir}/etc/gai.conf + + install -m755 ${srcdir}/locale-gen ${pkgdir}/usr/sbin + + # create /etc/locale.gen + install -m644 ${srcdir}/locale.gen.txt ${pkgdir}/etc/locale.gen + sed -e '1,3d' -e 's|/| |g' -e 's|\\| |g' -e 's|^|#|g' \ + ${srcdir}/glibc-${pkgver}/localedata/SUPPORTED >> ${pkgdir}/etc/locale.gen + + if [[ ${CARCH} = "x86_64" ]]; then + # fix paths and compliance with binary blobs... + sed -i '/RTLDLIST/s%lib64%lib%' ${pkgdir}/usr/bin/ldd + ln -s usr/lib ${pkgdir}/lib64 + fi + + # Do not strip the following files for improved debugging support + # ("improved" as in not breaking gdb and valgrind...): + # ld-${pkgver}.so + # libc-${pkgver}.so + # libpthread-${pkgver}.so + # libthread_db-1.0.so + + cd $pkgdir + strip $STRIP_BINARIES sbin/{ldconfig,sln} \ + usr/bin/{gencat,getconf,getent,iconv,locale,localedef} \ + usr/bin/{makedb,pcprofiledump,pldd,rpcgen,sprof} \ + usr/lib/getconf/* \ + usr/sbin/{iconvconfig,nscd} + [[ $CARCH = "i686" ]] && strip $STRIP_BINARIES usr/bin/lddlibc4 + + strip $STRIP_STATIC usr/lib/*.a + + strip $STRIP_SHARED usr/lib/{libanl,libBrokenLocale,libcidn,libcrypt}-*.so \ + usr/lib/libnss_{compat,db,dns,files,hesiod,nis,nisplus}-*.so \ + usr/lib/{libdl,libm,libnsl,libresolv,librt,libutil}-*.so \ + usr/lib/{libmemusage,libpcprofile,libSegFault}.so \ + usr/lib/{pt_chown,{audit,gconv}/*.so} +} Copied: glibc/repos/staging-i686/glibc.install (from rev 173863, glibc/trunk/glibc.install) =================================================================== --- staging-i686/glibc.install (rev 0) +++ staging-i686/glibc.install 2012-12-26 10:59:25 UTC (rev 173864) @@ -0,0 +1,20 @@ +infodir=usr/share/info +filelist=(libc.info{,-1,-2,-3,-4,-5,-6,-7,-8,-9,-10,-11}) + +post_upgrade() { + ldconfig -r . + [[ ! -e sys/fs/cgroup/systemd && -x sbin/init ]] && init u + locale-gen + + [[ -x usr/bin/install-info ]] || return 0 + for file in ${filelist[@]}; do + install-info $infodir/$file.gz $infodir/dir 2> /dev/null + done +} + +pre_remove() { + [[ -x usr/bin/install-info ]] || return 0 + for file in ${filelist[@]}; do + install-info --delete $infodir/$file.gz $infodir/dir 2> /dev/null + done +} Copied: glibc/repos/staging-i686/locale-gen (from rev 173863, glibc/trunk/locale-gen) =================================================================== --- staging-i686/locale-gen (rev 0) +++ staging-i686/locale-gen 2012-12-26 10:59:25 UTC (rev 173864) @@ -0,0 +1,42 @@ +#!/bin/sh + +set -e + +LOCALEGEN=/etc/locale.gen +LOCALES=/usr/share/i18n/locales +if [ -n "$POSIXLY_CORRECT" ]; then + unset POSIXLY_CORRECT +fi + + +[ -f $LOCALEGEN -a -s $LOCALEGEN ] || exit 0; + +# Remove all old locale dir and locale-archive before generating new +# locale data. +rm -rf /usr/lib/locale/* || true + +umask 022 + +is_entry_ok() { + if [ -n "$locale" -a -n "$charset" ] ; then + true + else + echo "error: Bad entry '$locale $charset'" + false + fi +} + +echo "Generating locales..." +while read locale charset; do \ + case $locale in \#*) continue;; "") continue;; esac; \ + is_entry_ok || continue + echo -n " `echo $locale | sed 's/\([^.\@]*\).*/\1/'`"; \ + echo -n ".$charset"; \ + echo -n `echo $locale | sed 's/\([^\@]*\)\(\@.*\)*/\2/'`; \ + echo -n '...'; \ + if [ -f $LOCALES/$locale ]; then input=$locale; else \ + input=`echo $locale | sed 's/\([^.]*\)[^@]*\(.*\)/\1\2/'`; fi; \ + localedef -i $input -c -f $charset -A /usr/share/locale/locale.alias $locale; \ + echo ' done'; \ +done < $LOCALEGEN +echo "Generation complete." Copied: glibc/repos/staging-i686/locale.gen.txt (from rev 173863, glibc/trunk/locale.gen.txt) =================================================================== --- staging-i686/locale.gen.txt (rev 0) +++ staging-i686/locale.gen.txt 2012-12-26 10:59:25 UTC (rev 173864) @@ -0,0 +1,23 @@ +# Configuration file for locale-gen +# +# lists of locales that are to be generated by the locale-gen command. +# +# Each line is of the form: +# +# <locale> <charset> +# +# where <locale> is one of the locales given in /usr/share/i18n/locales +# and <charset> is one of the character sets listed in /usr/share/i18n/charmaps +# +# Examples: +# en_US ISO-8859-1 +# en_US.UTF-8 UTF-8 +# de_DE ISO-8859-1 +# de_DE@euro ISO-8859-15 +# +# The locale-gen command will generate all the locales, +# placing them in /usr/lib/locale. +# +# A list of supported locales is included in this file. +# Uncomment the ones you need. +# Copied: glibc/repos/staging-i686/nscd.service (from rev 173863, glibc/trunk/nscd.service) =================================================================== --- staging-i686/nscd.service (rev 0) +++ staging-i686/nscd.service 2012-12-26 10:59:25 UTC (rev 173864) @@ -0,0 +1,17 @@ +[Unit] +Description=Name Service Cache Daemon +After=syslog.target + +[Service] +Type=forking +ExecStart=/usr/sbin/nscd +ExecStop=/usr/sbin/nscd --shutdown +ExecReload=/usr/sbin/nscd -i passwd +ExecReload=/usr/sbin/nscd -i group +ExecReload=/usr/sbin/nscd -i hosts +ExecReload=/usr/sbin/nscd -i services +Restart=always +PIDFile=/run/nscd/nscd.pid + +[Install] +WantedBy=multi-user.target Copied: glibc/repos/staging-i686/nscd.tmpfiles (from rev 173863, glibc/trunk/nscd.tmpfiles) =================================================================== --- staging-i686/nscd.tmpfiles (rev 0) +++ staging-i686/nscd.tmpfiles 2012-12-26 10:59:25 UTC (rev 173864) @@ -0,0 +1 @@ +d /run/nscd 0755 root root Copied: glibc/repos/staging-x86_64/PKGBUILD (from rev 173863, glibc/trunk/PKGBUILD) =================================================================== --- staging-x86_64/PKGBUILD (rev 0) +++ staging-x86_64/PKGBUILD 2012-12-26 10:59:25 UTC (rev 173864) @@ -0,0 +1,145 @@ +# $Id$ +# Maintainer: Allan McRae <al...@archlinux.org> + +# toolchain build order: linux-api-headers->glibc->binutils->gcc->binutils->glibc +# NOTE: valgrind requires rebuilt with each major glibc version + +pkgname=glibc +pkgver=2.17 +pkgrel=1 +pkgdesc="GNU C Library" +arch=('i686' 'x86_64') +url="http://www.gnu.org/software/libc" +license=('GPL' 'LGPL') +groups=('base') +depends=('linux-api-headers>=3.7' 'tzdata') +makedepends=('gcc>=4.7') +backup=(etc/gai.conf + etc/locale.gen + etc/nscd.conf) +options=('!strip') +install=glibc.install +source=(http://ftp.gnu.org/gnu/libc/${pkgname}-${pkgver}.tar.xz{,.sig} + nscd.service + nscd.tmpfiles + locale.gen.txt + locale-gen) +md5sums=('87bf675c8ee523ebda4803e8e1cec638' + '6db4d1661cf34282755dc90330465f6d' + 'c1e07c0bec0fe89791bfd9d13fc85edf' + 'bccbe5619e75cf1d97312ec3681c605c' + '07ac979b6ab5eeb778d55f041529d623' + '476e9113489f93b348b21e144b6a8fcf') + + +build() { + cd ${srcdir}/${pkgname}-${pkgver} + + # ldconfig does not need to look in /usr/lib64 or /usr/libx32 on Arch Linux + sed -i "s#add_system_dir#do_not_add_system_dir#" sysdeps/unix/sysv/linux/x86_64/dl-cache.h + + cd ${srcdir} + mkdir glibc-build + cd glibc-build + + if [[ ${CARCH} = "i686" ]]; then + # Hack to fix NPTL issues with Xen, only required on 32bit platforms + # TODO: make separate glibc-xen package for i686 + export CFLAGS="${CFLAGS} -mno-tls-direct-seg-refs" + fi + + echo "slibdir=/usr/lib" >> configparms + + # remove hardening options from CFLAGS for building libraries + CFLAGS=${CFLAGS/-fstack-protector/} + CFLAGS=${CFLAGS/-D_FORTIFY_SOURCE=2/} + + ${srcdir}/${pkgname}-${pkgver}/configure --prefix=/usr \ + --libdir=/usr/lib --libexecdir=/usr/lib \ + --with-headers=/usr/include \ + --enable-add-ons=nptl,libidn \ + --enable-obsolete-rpc \ + --enable-kernel=2.6.32 \ + --enable-bind-now --disable-profile \ + --enable-stackguard-randomization \ + --enable-multi-arch + + # build libraries with hardening disabled + echo "build-programs=no" >> configparms + make + + # re-enable hardening for programs + sed -i "/build-programs=/s#no#yes#" configparms + echo "CC += -fstack-protector -D_FORTIFY_SOURCE=2" >> configparms + echo "CXX += -fstack-protector -D_FORTIFY_SOURCE=2" >> configparms + make + + # remove harding in preparation to run test-suite + sed -i '2,4d' configparms +} + +check() { + # bug to file - the linker commands need to be reordered + LDFLAGS=${LDFLAGS/--as-needed,/} + + cd ${srcdir}/glibc-build + make check +} + +package() { + cd ${srcdir}/glibc-build + + install -dm755 ${pkgdir}/etc + touch ${pkgdir}/etc/ld.so.conf + + make install_root=${pkgdir} install + + rm -f ${pkgdir}/etc/ld.so.{cache,conf} + + # eventually this will move to the filesystem package + ln -s usr/lib ${pkgdir}/lib + + install -dm755 ${pkgdir}/{etc/rc.d,usr/{sbin,lib/{,locale,systemd/system,tmpfiles.d}}} + + install -m644 ${srcdir}/${pkgname}-${pkgver}/nscd/nscd.conf ${pkgdir}/etc/nscd.conf + install -m644 ${srcdir}/nscd.service ${pkgdir}/usr/lib/systemd/system + install -m644 ${srcdir}/nscd.tmpfiles ${pkgdir}/usr/lib/tmpfiles.d/nscd.conf + + install -m644 ${srcdir}/${pkgname}-${pkgver}/posix/gai.conf ${pkgdir}/etc/gai.conf + + install -m755 ${srcdir}/locale-gen ${pkgdir}/usr/sbin + + # create /etc/locale.gen + install -m644 ${srcdir}/locale.gen.txt ${pkgdir}/etc/locale.gen + sed -e '1,3d' -e 's|/| |g' -e 's|\\| |g' -e 's|^|#|g' \ + ${srcdir}/glibc-${pkgver}/localedata/SUPPORTED >> ${pkgdir}/etc/locale.gen + + if [[ ${CARCH} = "x86_64" ]]; then + # fix paths and compliance with binary blobs... + sed -i '/RTLDLIST/s%lib64%lib%' ${pkgdir}/usr/bin/ldd + ln -s usr/lib ${pkgdir}/lib64 + fi + + # Do not strip the following files for improved debugging support + # ("improved" as in not breaking gdb and valgrind...): + # ld-${pkgver}.so + # libc-${pkgver}.so + # libpthread-${pkgver}.so + # libthread_db-1.0.so + + cd $pkgdir + strip $STRIP_BINARIES sbin/{ldconfig,sln} \ + usr/bin/{gencat,getconf,getent,iconv,locale,localedef} \ + usr/bin/{makedb,pcprofiledump,pldd,rpcgen,sprof} \ + usr/lib/getconf/* \ + usr/sbin/{iconvconfig,nscd} + [[ $CARCH = "i686" ]] && strip $STRIP_BINARIES usr/bin/lddlibc4 + + strip $STRIP_STATIC usr/lib/*.a + + strip $STRIP_SHARED usr/lib/{libanl,libBrokenLocale,libcidn,libcrypt}-*.so \ + usr/lib/libnss_{compat,db,dns,files,hesiod,nis,nisplus}-*.so \ + usr/lib/{libdl,libm,libnsl,libresolv,librt,libutil}-*.so \ + usr/lib/{libmemusage,libpcprofile,libSegFault}.so \ + usr/lib/{pt_chown,{audit,gconv}/*.so} +} Copied: glibc/repos/staging-x86_64/glibc.install (from rev 173863, glibc/trunk/glibc.install) =================================================================== --- staging-x86_64/glibc.install (rev 0) +++ staging-x86_64/glibc.install 2012-12-26 10:59:25 UTC (rev 173864) @@ -0,0 +1,20 @@ +infodir=usr/share/info +filelist=(libc.info{,-1,-2,-3,-4,-5,-6,-7,-8,-9,-10,-11}) + +post_upgrade() { + ldconfig -r . + [[ ! -e sys/fs/cgroup/systemd && -x sbin/init ]] && init u + locale-gen + + [[ -x usr/bin/install-info ]] || return 0 + for file in ${filelist[@]}; do + install-info $infodir/$file.gz $infodir/dir 2> /dev/null + done +} + +pre_remove() { + [[ -x usr/bin/install-info ]] || return 0 + for file in ${filelist[@]}; do + install-info --delete $infodir/$file.gz $infodir/dir 2> /dev/null + done +} Copied: glibc/repos/staging-x86_64/locale-gen (from rev 173863, glibc/trunk/locale-gen) =================================================================== --- staging-x86_64/locale-gen (rev 0) +++ staging-x86_64/locale-gen 2012-12-26 10:59:25 UTC (rev 173864) @@ -0,0 +1,42 @@ +#!/bin/sh + +set -e + +LOCALEGEN=/etc/locale.gen +LOCALES=/usr/share/i18n/locales +if [ -n "$POSIXLY_CORRECT" ]; then + unset POSIXLY_CORRECT +fi + + +[ -f $LOCALEGEN -a -s $LOCALEGEN ] || exit 0; + +# Remove all old locale dir and locale-archive before generating new +# locale data. +rm -rf /usr/lib/locale/* || true + +umask 022 + +is_entry_ok() { + if [ -n "$locale" -a -n "$charset" ] ; then + true + else + echo "error: Bad entry '$locale $charset'" + false + fi +} + +echo "Generating locales..." +while read locale charset; do \ + case $locale in \#*) continue;; "") continue;; esac; \ + is_entry_ok || continue + echo -n " `echo $locale | sed 's/\([^.\@]*\).*/\1/'`"; \ + echo -n ".$charset"; \ + echo -n `echo $locale | sed 's/\([^\@]*\)\(\@.*\)*/\2/'`; \ + echo -n '...'; \ + if [ -f $LOCALES/$locale ]; then input=$locale; else \ + input=`echo $locale | sed 's/\([^.]*\)[^@]*\(.*\)/\1\2/'`; fi; \ + localedef -i $input -c -f $charset -A /usr/share/locale/locale.alias $locale; \ + echo ' done'; \ +done < $LOCALEGEN +echo "Generation complete." Copied: glibc/repos/staging-x86_64/locale.gen.txt (from rev 173863, glibc/trunk/locale.gen.txt) =================================================================== --- staging-x86_64/locale.gen.txt (rev 0) +++ staging-x86_64/locale.gen.txt 2012-12-26 10:59:25 UTC (rev 173864) @@ -0,0 +1,23 @@ +# Configuration file for locale-gen +# +# lists of locales that are to be generated by the locale-gen command. +# +# Each line is of the form: +# +# <locale> <charset> +# +# where <locale> is one of the locales given in /usr/share/i18n/locales +# and <charset> is one of the character sets listed in /usr/share/i18n/charmaps +# +# Examples: +# en_US ISO-8859-1 +# en_US.UTF-8 UTF-8 +# de_DE ISO-8859-1 +# de_DE@euro ISO-8859-15 +# +# The locale-gen command will generate all the locales, +# placing them in /usr/lib/locale. +# +# A list of supported locales is included in this file. +# Uncomment the ones you need. +# Copied: glibc/repos/staging-x86_64/nscd.service (from rev 173863, glibc/trunk/nscd.service) =================================================================== --- staging-x86_64/nscd.service (rev 0) +++ staging-x86_64/nscd.service 2012-12-26 10:59:25 UTC (rev 173864) @@ -0,0 +1,17 @@ +[Unit] +Description=Name Service Cache Daemon +After=syslog.target + +[Service] +Type=forking +ExecStart=/usr/sbin/nscd +ExecStop=/usr/sbin/nscd --shutdown +ExecReload=/usr/sbin/nscd -i passwd +ExecReload=/usr/sbin/nscd -i group +ExecReload=/usr/sbin/nscd -i hosts +ExecReload=/usr/sbin/nscd -i services +Restart=always +PIDFile=/run/nscd/nscd.pid + +[Install] +WantedBy=multi-user.target Copied: glibc/repos/staging-x86_64/nscd.tmpfiles (from rev 173863, glibc/trunk/nscd.tmpfiles) =================================================================== --- staging-x86_64/nscd.tmpfiles (rev 0) +++ staging-x86_64/nscd.tmpfiles 2012-12-26 10:59:25 UTC (rev 173864) @@ -0,0 +1 @@ +d /run/nscd 0755 root root