summaryrefslogtreecommitdiffstats
path: root/abs/core/glibc
diff options
context:
space:
mode:
Diffstat (limited to 'abs/core/glibc')
-rw-r--r--abs/core/glibc/ChangeLog28
-rw-r--r--abs/core/glibc/PKGBUILD100
-rw-r--r--abs/core/glibc/fix-makecontext.patch33
-rw-r--r--abs/core/glibc/glibc.install122
-rwxr-xr-xabs/core/glibc/locale-gen42
-rw-r--r--abs/core/glibc/locale.gen438
-rw-r--r--abs/core/glibc/locale.gen.txt23
-rwxr-xr-xabs/core/glibc/nscd40
8 files changed, 826 insertions, 0 deletions
diff --git a/abs/core/glibc/ChangeLog b/abs/core/glibc/ChangeLog
new file mode 100644
index 0000000..79a44e7
--- /dev/null
+++ b/abs/core/glibc/ChangeLog
@@ -0,0 +1,28 @@
+glibc 2.8-2
+- fix an old memory issue again
+
+glibc 2.8-1
+- no more tarballs
+- we checkout the current release branch incl. libidn
+- cleanup the patches
+
+glibc 2.7-6
+- fix broken locales with upstream changes
+- disable the whole weekday patch, fixes #8530
+
+glibc 2.7-5
+- fix a regression: http://sourceware.org/bugzilla/show_bug.cgi?id=4781
+ mainly for x86_64 where using gcc-gcj eats all memory
+
+glibc 2.7-4
+- extract /etc/locale.gen from sources to have all new locales supported
+- mask other broken locales / added a comment to post.install message
+- apply changes from Debian 2.7-exp7 pkg
+ to fix some broken locales
+
+glibc 2.7-3
+- removed locale/check-unknown-symbols.diff
+ localedata/tailor-iso14651_t1.diff partly
+ to fix broken et_EE locale
+- switch to compressed patches
+- added ChangeLog \ No newline at end of file
diff --git a/abs/core/glibc/PKGBUILD b/abs/core/glibc/PKGBUILD
new file mode 100644
index 0000000..68df516
--- /dev/null
+++ b/abs/core/glibc/PKGBUILD
@@ -0,0 +1,100 @@
+# $Id: PKGBUILD 2685 2008-06-11 13:30:43Z andyrtr $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+pkgname=glibc
+pkgver=2.8
+pkgrel=11
+_glibcdate=20080610
+install=glibc.install
+backup=(etc/locale.gen)
+pkgdesc="GNU C Library"
+arch=(i686 x86_64)
+license=('GPL' 'LGPL')
+url="http://www.gnu.org/software/libc"
+groups=('base')
+depends=('sh' 'kernel-headers>=2.6.25.6' 'tzdata')
+makedepends=('gcc>=4.3.1-1')
+replaces=('glibc-xen')
+source=(ftp://ftp.archlinux.org/other/glibc/${pkgname}-2.8_${_glibcdate}.tar.bz2
+ ftp://ftp.archlinux.org/other/glibc/glibc-patches-${pkgver}-2.tar.bz2
+ nscd
+ locale.gen.txt
+ locale-gen)
+md5sums=('63def58972f0e8429247916154c21323'
+ '3ec00d9aa3f2fec046bc3e615dfb723a'
+ 'b587ee3a70c9b3713099295609afde49'
+ '07ac979b6ab5eeb778d55f041529d623'
+ '476e9113489f93b348b21e144b6a8fcf')
+
+build() {
+
+ # for cvs checkout
+# mkdir ${startdir}/src/glibc-${_glibcdate}
+# cd ${startdir}/src/glibc-${_glibcdate}
+# export _TAG=glibc-2_8-branch
+# export 'CVSROOT=:pserver:anoncvs@sources.redhat.com:/cvs/glibc'
+# cvs -z9 co -r $_TAG libc || return 1
+# tar -cvjf glibc-2.8_${_glibcdate}.tar.bz2 libc
+# return 1
+
+ cd ${startdir}/src/libc
+
+ # patch from Debian
+ patch -Np1 -i ${startdir}/src/glibc-patches/glibc-2.5-localedef_segfault-1.patch || return 1 # still needed?
+
+ # Upstream fixes. See sources.redhat.com bugzilla
+ patch -Np1 -i ${startdir}/src/glibc-patches/glibc-2.7-bz4781.patch || return 1
+
+ # Gentoo fixes
+ patch -Np1 -i ${startdir}/src/glibc-patches/glibc-dont-build-timezone.patch || return 1
+
+ install -m755 -d ${startdir}/pkg/etc
+ touch ${startdir}/pkg/etc/ld.so.conf
+
+ mkdir glibc-build
+ cd glibc-build
+
+ if [ "${CARCH}" = "i686" ]; then
+ # Hack to fix NPTL issues with Xen, only required on 32bit platforms
+ export CFLAGS="${CFLAGS} -mno-tls-direct-seg-refs"
+ fi
+
+ echo "slibdir=/lib" >> configparms
+
+ ../configure --prefix=/usr \
+ --enable-add-ons=nptl,libidn --without-cvs \
+ --enable-kernel=2.6.16 --disable-profile \
+ --with-headers=/usr/include --libexecdir=/usr/lib \
+ --enable-bind-now --with-tls --with-__thread \
+ --libdir=/usr/lib --without-gd
+
+ make || return 1
+ make install_root=${startdir}/pkg install || return 1
+
+ rm -f ${startdir}/pkg/etc/ld.so.cache ${startdir}/pkg/etc/ld.so.conf ${startdir}/pkg/etc/localtime
+
+ install -m755 -d ${startdir}/pkg/etc/rc.d
+ install -m755 -d ${startdir}/pkg/usr/sbin
+ install -m755 -d ${startdir}/pkg/usr/lib/locale
+ install -m644 ${startdir}/src/libc/nscd/nscd.conf ${startdir}/pkg/etc/nscd.conf
+ install -m755 ${startdir}/src/nscd ${startdir}/pkg/etc/rc.d/nscd
+ install -m755 ${startdir}/src/locale-gen ${startdir}/pkg/usr/sbin
+
+ sed -i -e 's/^\tserver-user/#\tserver-user/' ${startdir}/pkg/etc/nscd.conf || return 1
+
+ # create /etc/locale.gen
+ install -m644 ${startdir}/src/locale.gen.txt ${startdir}/pkg/etc/locale.gen
+ sed -i "s|/| |g" ${startdir}/src/libc/localedata/SUPPORTED
+ sed -i 's|\\| |g' ${startdir}/src/libc/localedata/SUPPORTED
+ sed -i "s|SUPPORTED-LOCALES=||" ${startdir}/src/libc/localedata/SUPPORTED
+ cat ${startdir}/src/libc/localedata/SUPPORTED >> ${startdir}/pkg/etc/locale.gen
+ sed -i "s|^|#|g" ${startdir}/pkg/etc/locale.gen
+
+ if [ "${CARCH}" = "x86_64" ]; then
+ # fix for the linker
+ sed -i '/RTLDLIST/s%/ld-linux.so.2 /lib64%%' ${startdir}/pkg/usr/bin/ldd
+ #Comply with multilib binaries, they look for the linker in /lib64
+ mkdir ${startdir}/pkg/lib64
+ cd ${startdir}/pkg/lib64
+ ln -v -s ../lib/ld* .
+ fi
+}
diff --git a/abs/core/glibc/fix-makecontext.patch b/abs/core/glibc/fix-makecontext.patch
new file mode 100644
index 0000000..f507b7a
--- /dev/null
+++ b/abs/core/glibc/fix-makecontext.patch
@@ -0,0 +1,33 @@
+===================================================================
+RCS file: /cvs/glibc/libc/sysdeps/unix/sysv/linux/i386/makecontext.S,v
+retrieving revision 1.8
+retrieving revision 1.9
+diff -u -r1.8 -r1.9
+--- libc/sysdeps/unix/sysv/linux/i386/makecontext.S 2007/12/03 04:56:56 1.8
++++ libc/sysdeps/unix/sysv/linux/i386/makecontext.S 2008/01/09 19:35:15 1.9
+@@ -1,5 +1,5 @@
+ /* Create new context.
+- Copyright (C) 2001, 2002, 2005 Free Software Foundation, Inc.
++ Copyright (C) 2001, 2002, 2005, 2007, 2008 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+ Contributed by Ulrich Drepper <drepper@redhat.com>, 2001.
+
+@@ -41,13 +41,15 @@
+ movl 12(%esp), %ecx
+ movl %ecx, oEBX(%eax)
+
+- /* Make room on the new stack for the parameters. */
++ /* Make room on the new stack for the parameters.
++ Room for the arguments, return address (== L(exitcode)) and
++ oLINK pointer is needed. One of the pointer sizes is subtracted
++ after aligning the stack. */
+ negl %ecx
+- leal -8(%edx,%ecx,4), %edx
++ leal -4(%edx,%ecx,4), %edx
+ negl %ecx
+
+ /* Align the stack. */
+- addl $16, %edx
+ andl $0xfffffff0, %edx
+ subl $4, %edx
+
diff --git a/abs/core/glibc/glibc.install b/abs/core/glibc/glibc.install
new file mode 100644
index 0000000..2a35040
--- /dev/null
+++ b/abs/core/glibc/glibc.install
@@ -0,0 +1,122 @@
+pre_upgrade() {
+if [ "`uname -m`" = "x86_64" ]; then
+ if [ "`vercmp $2 2.4`" -lt 0 ]; then
+ cat << _EOF
+ ==> glibc oldpkgver < 2.4 detected!
+ ==>
+ ==> ATTENTION x86_64 USERS:
+ ==>
+ ==> We now switch from the former lib-linking to pure /lib support. To get rid
+ ==> of all lib64 directories we have removed the link /lib -> /lib64 and
+ ==> /usr/lib -> /usr/lib64.
+ ==>
+ ==> We have also rebuilt all packages we know that still used lib64 directories.
+ ==> Now all should go to /lib directories.
+ ==>
+ ==> Internally we have removed the link and then mv /lib64 /lib. Same to /usr/lib64.
+ ==> /lib64 and /usr/lib64 shouldn't exist anymore. If any package still installs to
+ ==> /lib64 or /usr/lib64 let us know.
+ ==>
+_EOF
+
+# now the moving
+rm -rf /lib/tls && echo "/lib/tls removed"
+ldconfig -r .
+rm -f /usr/lib
+mv /usr/lib64 /usr/lib && echo "/usr/lib64 moved"
+rm -f /lib
+mv /lib64 /lib && echo "/lib64 moved"
+
+ fi
+fi
+}
+
+
+post_upgrade() {
+ echo -n "reloading init: "
+ ldconfig -r .
+ init u
+ echo "done."
+ cat << _EOF
+ ==> ATTENTION INTERNATIONAL USERS:
+ ==>
+ ==> Locales are no longer included in the glibc package.
+ ==> They are generated by /usr/sbin/locale-gen depending on the contents
+ ==> of /etc/locale.gen.
+ ==> glibc will try to autodetect the required locales now, if you need
+ ==> additional locales, please enable them in /etc/locale.gen and run
+ ==> /usr/sbin/locale-gen
+ ==>
+ ==> Check /etc/locale.gen.pacnew for new supported locales
+ ==>
+_EOF
+ # Check active locales, enable the ones that are in use
+ loc=("$LANG"
+ "`grep '^LOCALE=' etc/rc.conf | awk -F '=' '{ print $2 }'`")
+ for l in "${loc[@]}"; do
+ if [ ! -z "${l}" ]; then
+ line="`grep -i "^#${l}[[:space:]]" etc/locale.gen`"
+ if [ ! -z "${line}" ]; then
+ sed -i -e "s|${line}|${line/\#/}|" etc/locale.gen
+ fi
+ fi
+ done
+
+ usr/sbin/locale-gen
+
+# fix CHOST for arch64
+if [ "`uname -m`" = "x86_64" ]; then
+ if [ "`vercmp $2 2.4`" -lt 0 ]; then
+ sed -i s/'x86_64-pc-linux-gnu'/'x86_64-unknown-linux-gnu'/ /etc/makepkg.conf && \
+ echo "in /etc/makepkg.conf CHOST has been changed to \"x86_64-unknown-linux-gnu\""
+
+ # we remove files from glibc 2.3.6 that are not removed automatically
+ rm -f /lib/ld-2.3.* && echo "removing unneeded old files"
+ rm -f /lib/libBrokenLocale-2.3.*
+ rm -f /lib/libNoVersion*
+ rm -f /lib/libanl-2.3.*
+ rm -f /lib/libc-2.3.*
+ rm -f /lib/libcidn-2.3.*
+ rm -f /lib/libcrypt-2.3.*
+ rm -f /lib/libdl-2.3.*
+ rm -f /lib/libm-2.3.*
+ rm -f /lib/libnsl-2.3.*
+ rm -f /lib/libnss1*
+ rm -f /lib/libnss_compat-2.3.*
+ rm -f /lib/libnss_dns-2.3.*
+ rm -f /lib/libnss_dns.so.1
+ rm -f /lib/libnss_files-2.3.*
+ rm -f /lib/libnss_files.so.1
+ rm -f /lib/libnss_hesiod-2.3.*
+ rm -f /lib/libnss_nis-2.3.*
+ rm -f /lib/libnss_nis.so.1
+ rm -f /lib/libnss_nisplus-2.3.*
+ rm -f /lib/libpthread-0.10.so
+ rm -f /lib/libresolv-2.3.*
+ rm -f /lib/librt-2.3.*
+ rm -f /lib/libutil-2.3.*
+ rm -fR /lib/nosegneg
+ #rm -fR /usr/include/asm
+ #rm -fR /usr/include/linux
+ rm -fR /usr/include/ntpl
+ rm -f /usr/lib/libNoVersion*
+ rm -f /usr/lib/libc_stubs.a
+ rm -f /usr/lib/libnss1*
+ rm -f /usr/lib/libnss_compat.so.1
+ rm -f /usr/lib/libnss_dns.so.1
+ rm -f /usr/lib/libnss_files.so.1
+ rm -f /usr/lib/libnss_nis.so.1
+ rm -fR /usr/lib/nptl
+ rm -f /usr/sbin/nscd_nischeck
+ rm -fR /usr/share/zoneinfo/SystemV
+ rm -fR /usr/share/zoneinfo/posix/SystemV
+ rm -fR /usr/share/zoneinfo/right/SystemV
+ ldconfig -r .
+ fi
+fi
+
+}
+
+op=$1
+shift
+$op $*
diff --git a/abs/core/glibc/locale-gen b/abs/core/glibc/locale-gen
new file mode 100755
index 0000000..5aff344
--- /dev/null
+++ b/abs/core/glibc/locale-gen
@@ -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."
diff --git a/abs/core/glibc/locale.gen b/abs/core/glibc/locale.gen
new file mode 100644
index 0000000..c739380
--- /dev/null
+++ b/abs/core/glibc/locale.gen
@@ -0,0 +1,438 @@
+# 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.
+#
+#aa_DJ.UTF-8 UTF-8
+#aa_DJ ISO-8859-1
+#aa_ER UTF-8
+#aa_ER@saaho UTF-8
+#aa_ET UTF-8
+#af_ZA.UTF-8 UTF-8
+#af_ZA ISO-8859-1
+#am_ET UTF-8
+#an_ES.UTF-8 UTF-8
+#an_ES ISO-8859-15
+#ar_AE.UTF-8 UTF-8
+#ar_AE ISO-8859-6
+#ar_BH.UTF-8 UTF-8
+#ar_BH ISO-8859-6
+#ar_DZ.UTF-8 UTF-8
+#ar_DZ ISO-8859-6
+#ar_EG.UTF-8 UTF-8
+#ar_EG ISO-8859-6
+#ar_IN UTF-8
+#ar_IQ.UTF-8 UTF-8
+#ar_IQ ISO-8859-6
+#ar_JO.UTF-8 UTF-8
+#ar_JO ISO-8859-6
+#ar_KW.UTF-8 UTF-8
+#ar_KW ISO-8859-6
+#ar_LB.UTF-8 UTF-8
+#ar_LB ISO-8859-6
+#ar_LY.UTF-8 UTF-8
+#ar_LY ISO-8859-6
+#ar_MA.UTF-8 UTF-8
+#ar_MA ISO-8859-6
+#ar_OM.UTF-8 UTF-8
+#ar_OM ISO-8859-6
+#ar_QA.UTF-8 UTF-8
+#ar_QA ISO-8859-6
+#ar_SA.UTF-8 UTF-8
+#ar_SA ISO-8859-6
+#ar_SD.UTF-8 UTF-8
+#ar_SD ISO-8859-6
+#ar_SY.UTF-8 UTF-8
+#ar_SY ISO-8859-6
+#ar_TN.UTF-8 UTF-8
+#ar_TN ISO-8859-6
+#ar_YE.UTF-8 UTF-8
+#ar_YE ISO-8859-6
+#az_AZ.UTF-8 UTF-8
+#as_IN.UTF-8 UTF-8
+#ast_ES.UTF-8 UTF-8
+#ast_ES ISO-8859-15
+#be_BY.UTF-8 UTF-8
+#be_BY CP1251
+#be_BY@latin UTF-8
+#ber_DZ UTF-8
+#ber_MA UTF-8
+#bg_BG.UTF-8 UTF-8
+#bg_BG CP1251
+#bn_BD UTF-8
+#bn_IN UTF-8
+#br_FR.UTF-8 UTF-8
+#br_FR ISO-8859-1
+#br_FR@euro ISO-8859-15
+#bs_BA.UTF-8 UTF-8
+#bs_BA ISO-8859-2
+#byn_ER UTF-8
+#ca_AD.UTF-8 UTF-8
+#ca_AD ISO-8859-15
+#ca_ES.UTF-8 UTF-8
+#ca_ES ISO-8859-1
+#ca_ES@euro ISO-8859-15
+#ca_ES.UTF-8@valencia UTF-8
+#ca_ES@valencia ISO-8859-15
+#ca_FR.UTF-8 UTF-8
+#ca_FR ISO-8859-15
+#ca_IT.UTF-8 UTF-8
+#ca_IT ISO-8859-15
+#crh_UA UTF-8
+#cs_CZ.UTF-8 UTF-8
+#cs_CZ ISO-8859-2
+#csb_PL UTF-8
+#cy_GB.UTF-8 UTF-8
+#cy_GB ISO-8859-14
+#da_DK.UTF-8 UTF-8
+#da_DK ISO-8859-1
+#da_DK.ISO-8859-15 ISO-8859-15
+#de_AT.UTF-8 UTF-8
+#de_AT ISO-8859-1
+#de_AT@euro ISO-8859-15
+#de_BE.UTF-8 UTF-8
+#de_BE ISO-8859-1
+#de_BE@euro ISO-8859-15
+#de_CH.UTF-8 UTF-8
+#de_CH ISO-8859-1
+#de_DE.UTF-8 UTF-8
+#de_DE ISO-8859-1
+#de_DE@euro ISO-8859-15
+#de_LU.UTF-8 UTF-8
+#de_LU ISO-8859-1
+#de_LU@euro ISO-8859-15
+#dz_BT UTF-8
+#el_GR.UTF-8 UTF-8
+#el_GR ISO-8859-7
+#el_CY.UTF-8 UTF-8
+#el_CY ISO-8859-7
+#en_AU.UTF-8 UTF-8
+#en_AU ISO-8859-1
+#en_BW.UTF-8 UTF-8
+#en_BW ISO-8859-1
+#en_CA.UTF-8 UTF-8
+#en_CA ISO-8859-1
+#en_DK.UTF-8 UTF-8
+#en_DK.ISO-8859-15 ISO-8859-15
+#en_DK ISO-8859-1
+#en_GB.UTF-8 UTF-8
+#en_GB ISO-8859-1
+#en_GB.ISO-8859-15 ISO-8859-15
+#en_HK.UTF-8 UTF-8
+#en_HK ISO-8859-1
+#en_IE.UTF-8 UTF-8
+#en_IE ISO-8859-1
+#en_IE@euro ISO-8859-15
+#en_IN UTF-8
+#en_NG UTF-8
+#en_NZ.UTF-8 UTF-8
+#en_NZ ISO-8859-1
+#en_PH.UTF-8 UTF-8
+#en_PH ISO-8859-1
+#en_SG.UTF-8 UTF-8
+#en_SG ISO-8859-1
+#en_US.UTF-8 UTF-8
+#en_US ISO-8859-1
+#en_US.ISO-8859-15 ISO-8859-15
+#en_ZA.UTF-8 UTF-8
+#en_ZA ISO-8859-1
+#en_ZW.UTF-8 UTF-8
+#en_ZW ISO-8859-1
+#eo.UTF-8 UTF-8
+#eo ISO-8859-3
+#es_AR.UTF-8 UTF-8
+#es_AR ISO-8859-1
+#es_BO.UTF-8 UTF-8
+#es_BO ISO-8859-1
+#es_CL.UTF-8 UTF-8
+#es_CL ISO-8859-1
+#es_CO.UTF-8 UTF-8
+#es_CO ISO-8859-1
+#es_CR.UTF-8 UTF-8
+#es_CR ISO-8859-1
+#es_DO.UTF-8 UTF-8
+#es_DO ISO-8859-1
+#es_EC.UTF-8 UTF-8
+#es_EC ISO-8859-1
+#es_ES.UTF-8 UTF-8
+#es_ES ISO-8859-1
+#es_ES@euro ISO-8859-15
+#es_GT.UTF-8 UTF-8
+#es_GT ISO-8859-1
+#es_HN.UTF-8 UTF-8
+#es_HN ISO-8859-1
+#es_MX.UTF-8 UTF-8
+#es_MX ISO-8859-1
+#es_NI.UTF-8 UTF-8
+#es_NI ISO-8859-1
+#es_PA.UTF-8 UTF-8
+#es_PA ISO-8859-1
+#es_PE.UTF-8 UTF-8
+#es_PE ISO-8859-1
+#es_PR.UTF-8 UTF-8
+#es_PR ISO-8859-1
+#es_PY.UTF-8 UTF-8
+#es_PY ISO-8859-1
+#es_SV.UTF-8 UTF-8
+#es_SV ISO-8859-1
+#es_US.UTF-8 UTF-8
+#es_US ISO-8859-1
+#es_UY.UTF-8 UTF-8
+#es_UY ISO-8859-1
+#es_VE.UTF-8 UTF-8
+#es_VE ISO-8859-1
+#et_EE.UTF-8 UTF-8
+#et_EE ISO-8859-1
+#et_EE.ISO-8859-15 ISO-8859-15
+#eu_ES.UTF-8 UTF-8
+#eu_ES ISO-8859-1
+#eu_ES@euro ISO-8859-15
+#eu_FR.UTF-8 UTF-8
+#eu_FR ISO-8859-1
+#eu_FR@euro ISO-8859-15
+#fa_IR UTF-8
+#fi_FI.UTF-8 UTF-8
+#fi_FI ISO-8859-1
+#fi_FI@euro ISO-8859-15
+#fil_PH UTF-8
+#fo_FO.UTF-8 UTF-8
+#fo_FO ISO-8859-1
+#fr_BE.UTF-8 UTF-8
+#fr_BE ISO-8859-1
+#fr_BE@euro ISO-8859-15
+#fr_CA.UTF-8 UTF-8
+#fr_CA ISO-8859-1
+#fr_CH.UTF-8 UTF-8
+#fr_CH ISO-8859-1
+#fr_FR.UTF-8 UTF-8
+#fr_FR ISO-8859-1
+#fr_FR@euro ISO-8859-15
+#fr_LU.UTF-8 UTF-8
+#fr_LU ISO-8859-1
+#fr_LU@euro ISO-8859-15
+#fur_IT UTF-8
+#fy_NL UTF-8
+#fy_DE UTF-8
+#ga_IE.UTF-8 UTF-8
+#ga_IE ISO-8859-1
+#ga_IE@euro ISO-8859-15
+#gd_GB.UTF-8 UTF-8
+#gd_GB ISO-8859-15
+#gez_ER UTF-8
+#gez_ER@abegede UTF-8
+#gez_ET UTF-8
+#gez_ET@abegede UTF-8
+#gl_ES.UTF-8 UTF-8
+#gl_ES ISO-8859-1
+#gl_ES@euro ISO-8859-15
+#gu_IN UTF-8
+#gv_GB.UTF-8 UTF-8
+#gv_GB ISO-8859-1
+#ha_NG UTF-8
+#he_IL.UTF-8 UTF-8
+#he_IL ISO-8859-8
+#hi_IN UTF-8
+#hr_HR.UTF-8 UTF-8
+#hr_HR ISO-8859-2
+#hsb_DE.UTF-8 UTF-8
+#hsb_DE ISO-8859-2
+#hu_HU.UTF-8 UTF-8
+#hu_HU ISO-8859-2
+#hy_AM UTF-8
+#hy_AM.ARMSCII-8 ARMSCII-8
+#ia UTF-8
+#id_ID.UTF-8 UTF-8
+#id_ID ISO-8859-1
+#ig_NG UTF-8
+#ik_CA UTF-8
+#is_IS.UTF-8 UTF-8
+#is_IS ISO-8859-1
+#it_CH.UTF-8 UTF-8
+#it_CH ISO-8859-1
+#it_IT.UTF-8 UTF-8
+#it_IT ISO-8859-1
+#it_IT@euro ISO-8859-15
+#iu_CA UTF-8
+#iw_IL.UTF-8 UTF-8
+#iw_IL ISO-8859-8
+#ja_JP.UTF-8 UTF-8
+#ja_JP.EUC-JP EUC-JP
+#ka_GE.UTF-8 UTF-8
+#ka_GE GEORGIAN-PS
+#kk_KZ.UTF-8 UTF-8
+#kk_KZ PT154
+#kl_GL.UTF-8 UTF-8
+#kl_GL ISO-8859-1
+#km_KH UTF-8
+#kn_IN UTF-8
+#ko_KR.UTF-8 UTF-8
+#ko_KR.EUC-KR EUC-KR
+#ku_TR.UTF-8 UTF-8
+#ku_TR ISO-8859-9
+#kw_GB.UTF-8 UTF-8
+#kw_GB ISO-8859-1
+#ky_KG UTF-8
+#lg_UG.UTF-8 UTF-8
+#lg_UG ISO-8859-10
+#li_BE UTF-8
+#li_NL UTF-8
+#lo_LA UTF-8
+#lt_LT.UTF-8 UTF-8
+#lt_LT ISO-8859-13
+#lv_LV.UTF-8 UTF-8
+#lv_LV ISO-8859-13
+#mai_IN UTF-8
+#mg_MG.UTF-8 UTF-8
+#mg_MG ISO-8859-15
+#mi_NZ.UTF-8 UTF-8
+#mi_NZ ISO-8859-13
+#mk_MK.UTF-8 UTF-8
+#mk_MK ISO-8859-5
+#ml_IN UTF-8
+#mn_MN UTF-8
+#mr_IN UTF-8
+#ms_MY.UTF-8 UTF-8
+#ms_MY ISO-8859-1
+#mt_MT.UTF-8 UTF-8
+#mt_MT ISO-8859-3
+#nb_NO.UTF-8 UTF-8
+#nb_NO ISO-8859-1
+#nds_DE UTF-8
+#nds_NL UTF-8
+#ne_NP UTF-8
+#nl_BE.UTF-8 UTF-8
+#nl_BE ISO-8859-1
+#nl_BE@euro ISO-8859-15
+#nl_NL.UTF-8 UTF-8
+#nl_NL ISO-8859-1
+#nl_NL@euro ISO-8859-15
+#nn_NO.UTF-8 UTF-8
+#nn_NO ISO-8859-1
+#nr_ZA UTF-8
+#nso_ZA UTF-8
+#oc_FR.UTF-8 UTF-8
+#oc_FR ISO-8859-1
+#om_ET UTF-8
+#om_KE.UTF-8 UTF-8
+#om_KE ISO-8859-1
+#or_IN UTF-8
+#pa_IN UTF-8
+#pa_PK UTF-8
+#pap_AN UTF-8
+#pl_PL.UTF-8 UTF-8
+#pl_PL ISO-8859-2
+#pt_BR.UTF-8 UTF-8
+#pt_BR ISO-8859-1
+#pt_PT.UTF-8 UTF-8
+#pt_PT ISO-8859-1
+#pt_PT@euro ISO-8859-15
+#ro_RO.UTF-8 UTF-8
+#ro_RO ISO-8859-2
+#ru_RU.UTF-8 UTF-8
+#ru_RU.KOI8-R KOI8-R
+#ru_RU ISO-8859-5
+#ru_RU.CP1251 CP1251
+#ru_UA.UTF-8 UTF-8
+#ru_UA KOI8-U
+#rw_RW UTF-8
+#sa_IN UTF-8
+#sc_IT UTF-8
+#se_NO UTF-8
+#si_LK UTF-8
+#sid_ET UTF-8
+#sk_SK.UTF-8 UTF-8
+#sk_SK ISO-8859-2
+#sl_SI.UTF-8 UTF-8
+#sl_SI ISO-8859-2
+#so_DJ.UTF-8 UTF-8
+#so_DJ ISO-8859-1
+#so_ET UTF-8
+#so_KE.UTF-8 UTF-8
+#so_KE ISO-8859-1
+#so_SO.UTF-8 UTF-8
+#so_SO ISO-8859-1
+#sq_AL.UTF-8 UTF-8
+#sq_AL ISO-8859-1
+#sr_ME UTF-8
+#sr_RS UTF-8
+#sr_RS@latin UTF-8
+#ss_ZA UTF-8
+#st_ZA.UTF-8 UTF-8
+#st_ZA ISO-8859-1
+#sv_FI.UTF-8 UTF-8
+#sv_FI ISO-8859-1
+#sv_FI@euro ISO-8859-15
+#sv_SE.UTF-8 UTF-8
+#sv_SE ISO-8859-1
+#sv_SE.ISO-8859-15 ISO-8859-15
+#ta_IN UTF-8
+#te_IN UTF-8
+#tg_TJ.UTF-8 UTF-8
+#tg_TJ KOI8-T
+#th_TH.UTF-8 UTF-8
+#th_TH TIS-620
+#ti_ER UTF-8
+#ti_ET UTF-8
+#tig_ER UTF-8
+#tk_TM UTF-8
+#tl_PH.UTF-8 UTF-8
+#tl_PH ISO-8859-1
+#tn_ZA UTF-8
+#tr_CY.UTF-8 UTF-8
+#tr_CY ISO-8859-9
+#tr_TR.UTF-8 UTF-8
+#tr_TR ISO-8859-9
+#ts_ZA UTF-8
+#tt_RU.UTF-8 UTF-8
+#tt_RU@iqtelif.UTF-8 UTF-8
+#ug_CN UTF-8
+#uk_UA.UTF-8 UTF-8
+#uk_UA KOI8-U
+#ur_PK UTF-8
+#uz_UZ.UTF-8 UTF-8
+#uz_UZ ISO-8859-1
+#uz_UZ@cyrillic UTF-8
+#ve_ZA UTF-8
+#vi_VN UTF-8
+#vi_VN.TCVN TCVN5712-1
+#wa_BE.UTF-8 UTF-8
+#wa_BE ISO-8859-1
+#wa_BE@euro ISO-8859-15
+#wo_SN UTF-8
+#xh_ZA.UTF-8 UTF-8
+#xh_ZA ISO-8859-1
+#yi_US.UTF-8 UTF-8
+#yi_US CP1255
+#yo_NG UTF-8
+#zh_CN.UTF-8 UTF-8
+#zh_CN.GB18030 GB18030
+#zh_CN.GBK GBK
+#zh_CN GB2312
+#zh_HK.UTF-8 UTF-8
+#zh_HK BIG5-HKSCS
+#zh_SG.UTF-8 UTF-8
+#zh_SG.GBK GBK
+#zh_SG GB2312
+#zh_TW.UTF-8 UTF-8
+#zh_TW BIG5
+#zh_TW.EUC-TW EUC-TW
+#zu_ZA.UTF-8 UTF-8
+#zu_ZA ISO-8859-1
diff --git a/abs/core/glibc/locale.gen.txt b/abs/core/glibc/locale.gen.txt
new file mode 100644
index 0000000..ccdd817
--- /dev/null
+++ b/abs/core/glibc/locale.gen.txt
@@ -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.
+#
diff --git a/abs/core/glibc/nscd b/abs/core/glibc/nscd
new file mode 100755
index 0000000..8b14f2a
--- /dev/null
+++ b/abs/core/glibc/nscd
@@ -0,0 +1,40 @@
+#!/bin/bash
+
+. /etc/rc.conf
+. /etc/rc.d/functions
+
+PID=`pidof -o %PPID /usr/sbin/nscd`
+case "$1" in
+ start)
+ stat_busy "Starting nscd"
+ # create necessary directories if they don't already exist
+ mkdir -p /var/run/nscd /var/db/nscd 2>/dev/null
+ # remove stale files
+ rm -f /var/db/nscd/* /var/run/nscd/* 2>/dev/null
+ [ -z "$PID" ] && /usr/sbin/nscd
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ add_daemon nscd
+ stat_done
+ fi
+ ;;
+ stop)
+ stat_busy "Stopping nscd"
+ [ ! -z "$PID" ] && kill $PID &> /dev/null
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ rm_daemon nscd
+ stat_done
+ fi
+ ;;
+ restart)
+ $0 stop
+ sleep 1
+ $0 start
+ ;;
+ *)
+ echo "usage: $0 {start|stop|restart}"
+esac
+exit 0