[arch-commits] Commit in glibc/trunk (PKGBUILD glibc.install locale-gen)
Allan McRae
allan at nymeria.archlinux.org
Fri Feb 14 02:41:59 UTC 2014
Date: Friday, February 14, 2014 @ 03:41:59
Author: allan
Revision: 205914
upgpkg: glibc 2.19-2
revert parallel locale generation - this can create corrupt locale-archive files
Modified:
glibc/trunk/PKGBUILD
glibc/trunk/glibc.install
glibc/trunk/locale-gen
---------------+
PKGBUILD | 4 +--
glibc.install | 2 -
locale-gen | 60 +++++++++++++++++++++-----------------------------------
3 files changed, 26 insertions(+), 40 deletions(-)
Modified: PKGBUILD
===================================================================
--- PKGBUILD 2014-02-14 00:28:13 UTC (rev 205913)
+++ PKGBUILD 2014-02-14 02:41:59 UTC (rev 205914)
@@ -8,7 +8,7 @@
pkgname=glibc
pkgver=2.19
-pkgrel=1
+pkgrel=2
pkgdesc="GNU C Library"
arch=('i686' 'x86_64')
url="http://www.gnu.org/software/libc"
@@ -29,7 +29,7 @@
'SKIP'
'7ca96c68a37f2a4ab91792bfa0160a24'
'07ac979b6ab5eeb778d55f041529d623'
- 'b5fd017036fb91199ee76f670da8c15b')
+ '476e9113489f93b348b21e144b6a8fcf')
prepare() {
cd ${srcdir}/${pkgname}-${pkgver}
Modified: glibc.install
===================================================================
--- glibc.install 2014-02-14 00:28:13 UTC (rev 205913)
+++ glibc.install 2014-02-14 02:41:59 UTC (rev 205914)
@@ -4,7 +4,7 @@
post_upgrade() {
ldconfig -r .
- if [[ $(vercmp 2.19 $2) = 1 ]]; then
+ if [[ $(vercmp 2.19-2 $2) = 1 ]]; then
locale-gen
fi
Modified: locale-gen
===================================================================
--- locale-gen 2014-02-14 00:28:13 UTC (rev 205913)
+++ locale-gen 2014-02-14 02:41:59 UTC (rev 205914)
@@ -4,53 +4,39 @@
LOCALEGEN=/etc/locale.gen
LOCALES=/usr/share/i18n/locales
-unset POSIXLY_CORRECT
+if [ -n "$POSIXLY_CORRECT" ]; then
+ unset POSIXLY_CORRECT
+fi
-[ -s "$LOCALEGEN" ] || exit 0
+[ -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/*
+rm -rf /usr/lib/locale/* || true
umask 022
-gen() {
- local locale=$1
- local charset=$2
- local input=
-
- if [ -z "$locale" ] || [ -z "$charset" ]; then
- echo "error: Bad entry '$locale $charset'"
- return
- fi
-
- printf ' %s.%s\n' "$(echo "$locale" | sed 's/\([^.\@]*\).*/\1/')" "$charset"
-
- 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"
+is_entry_ok() {
+ if [ -n "$locale" -a -n "$charset" ] ; then
+ true
+ else
+ echo "error: Bad entry '$locale $charset'"
+ false
+ fi
}
-maxjobs=$(grep -c processor /proc/cpuinfo 2>/dev/null || echo 1)
echo "Generating locales..."
while read locale charset; do \
- case $locale in
- \#*|'')
- continue
- ;;
- esac
- gen "$locale" "$charset" &
-
- # keep no more than $maxjobs jobs in flight
- while [ $(jobs | wc -l) -ge $maxjobs ]; do
- sleep 0.25
- jobs >/dev/null
- done
+ 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
-wait
-
echo "Generation complete."
More information about the arch-commits
mailing list