[gentoo-commits] gentoo commit in src/patchsets/glibc/extra/locale: locale-gen
slyfox 17/08/12 16:30:06 Modified: locale-gen Log: glibc: make locale-gen parallel, bug #592300 Speed up locale generation on multicore machines. Patch is written by Tobias Klausmann. Bug: https://bugs.gentoo.org/592300 Revision ChangesPath 1.42 src/patchsets/glibc/extra/locale/locale-gen file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/glibc/extra/locale/locale-gen?rev=1.42=markup plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/glibc/extra/locale/locale-gen?rev=1.42=text/plain diff : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/glibc/extra/locale/locale-gen?r1=1.41=1.42 Index: locale-gen === RCS file: /var/cvsroot/gentoo/src/patchsets/glibc/extra/locale/locale-gen,v retrieving revision 1.41 retrieving revision 1.42 diff -u -r1.41 -r1.42 --- locale-gen 14 Oct 2015 13:55:56 - 1.41 +++ locale-gen 12 Aug 2017 16:30:06 - 1.42 @@ -52,7 +52,7 @@ } show_version() { local b="(" a=")" - local cvsver="$Revision: 1.41 $b $Date: 2015/10/14 13:55:56 $a" + local cvsver="$Revision: 1.42 $b $Date: 2017/08/12 16:30:06 $a" echo "locale-gen-${cvsver//: }" exit 0 } @@ -149,15 +149,6 @@ done unset IFS -if ${LOCALE_ARCHIVE} ; then - if [[ ${JOBS_MAX} != 1 ]] ; then - ewarn "Generating locale-archive: forcing # of jobs to 1" - JOBS_MAX=1 - fi -else - LOCALEDEF_OPTS="--no-archive ${LOCALEDEF_OPTS}" -fi - [[ -n ${ALL} ]] && CONFIG=${SUPPORTED} # Extract the location of the locale dir on the fly as `localedef --help` has: @@ -256,6 +247,7 @@ x=$( [[ -n ${output} ]] && ebegin "${output}" "${DESTDIR}"usr/bin/localedef ${LOCALEDEF_OPTS} \ + --no-archive \ -i "${input}" \ -f "${charmap}" \ -A "${ALIAS}" \ @@ -347,6 +339,33 @@ [[ ${QUIET} -eq 0 ]] && [[ -z ${JUST_LIST} ]] && \ einfo "Generation complete" +if ${LOCALE_ARCHIVE} ; then + ebegin "Adding locales to archive" + # The pattern ends with / on purpose: we don't care about files (like + # locale-archive) in the locale subdir, and we definitely don't want to + # delete them! + for LOC in "${LOCALEDIR}"/*/; do + LOC=${LOC%/} # Strip trailing /, since localedef doesn't like it + x=$( + "${DESTDIR}"usr/bin/localedef \ + --add-to-archive "${LOC}" \ + --replace \ + --prefix "${DESTDIR%${EPREFIX}/}/" + ret=$? + if [[ -n ${output} ]] ; then + echo "${x}" + elif [[ ${ret} -ne 0 ]] ; then + eerror "${disp}: ${x}" + fi + if [[ $ret -eq 0 ]]; then + rm -r "${LOC}" + fi + exit ${ret} + ) + done + eend $ret +fi + # Remove locales that existed but were not requested if [[ -n ${UPDATE} ]] ; then # Ignore these pseudo locales
[gentoo-commits] gentoo commit in src/patchsets/glibc/extra/locale: locale-gen
vapier 15/10/14 13:48:21 Modified: locale-gen Log: locale-gen: default --jobs to ncpus online Revision ChangesPath 1.40 src/patchsets/glibc/extra/locale/locale-gen file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/glibc/extra/locale/locale-gen?rev=1.40=markup plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/glibc/extra/locale/locale-gen?rev=1.40=text/plain diff : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/glibc/extra/locale/locale-gen?r1=1.39=1.40 Index: locale-gen === RCS file: /var/cvsroot/gentoo/src/patchsets/glibc/extra/locale/locale-gen,v retrieving revision 1.39 retrieving revision 1.40 diff -u -r1.39 -r1.40 --- locale-gen 29 Aug 2015 23:05:43 - 1.39 +++ locale-gen 14 Oct 2015 13:48:21 - 1.40 @@ -52,7 +52,7 @@ } show_version() { local b="(" a=")" - local cvsver="$Revision: 1.39 $b $Date: 2015/08/29 23:05:43 $a" + local cvsver="$Revision: 1.40 $b $Date: 2015/10/14 13:48:21 $a" echo "locale-gen-${cvsver//: }" exit 0 } @@ -68,7 +68,7 @@ ALL="" UPDATE="" GENERATE="" -JOBS_MAX=1 +JOBS_MAX="" QUIET=0 SET_X="" LOCALE_ARCHIVE=true @@ -93,6 +93,10 @@ esac shift done +if [[ -z ${JOBS_MAX} ]] ; then + JOBS_MAX=$(getconf _NPROCESSORS_ONLN 2>/dev/null) + : ${JOBS_MAX:=1} +fi [[ ${JOBS_MAX} -lt 1 ]] && JOBS_MAX=1 [[ -n ${SET_X} ]] && set -x : ${KEEP:=${JUST_LIST}}
[gentoo-commits] gentoo commit in src/patchsets/glibc/extra/locale: locale-gen
vapier 15/10/14 13:55:56 Modified: locale-gen Log: locale-gen: fix wait logic to not double increment job counter Revision ChangesPath 1.41 src/patchsets/glibc/extra/locale/locale-gen file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/glibc/extra/locale/locale-gen?rev=1.41=markup plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/glibc/extra/locale/locale-gen?rev=1.41=text/plain diff : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/glibc/extra/locale/locale-gen?r1=1.40=1.41 Index: locale-gen === RCS file: /var/cvsroot/gentoo/src/patchsets/glibc/extra/locale/locale-gen,v retrieving revision 1.40 retrieving revision 1.41 diff -u -r1.40 -r1.41 --- locale-gen 14 Oct 2015 13:48:21 - 1.40 +++ locale-gen 14 Oct 2015 13:55:56 - 1.41 @@ -52,7 +52,7 @@ } show_version() { local b="(" a=")" - local cvsver="$Revision: 1.40 $b $Date: 2015/10/14 13:48:21 $a" + local cvsver="$Revision: 1.41 $b $Date: 2015/10/14 13:55:56 $a" echo "locale-gen-${cvsver//: }" exit 0 } @@ -339,7 +339,7 @@ done for (( i = JOB_IDX_S; i < JOB_IDX_E; ++i )) ; do - wait ${JOB_PIDS[$(( i++ ))]} + wait ${JOB_PIDS[i]} JOB_RETS+=( $? ) done ret=$(( 0 ${JOB_RETS[@]/#/+} ))
[gentoo-commits] gentoo commit in src/patchsets/glibc/extra/locale: locale-gen
vapier 15/08/29 23:05:43 Modified: locale-gen Log: drop support for /etc/locales.build Revision ChangesPath 1.39 src/patchsets/glibc/extra/locale/locale-gen file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/glibc/extra/locale/locale-gen?rev=1.39view=markup plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/glibc/extra/locale/locale-gen?rev=1.39content-type=text/plain diff : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/glibc/extra/locale/locale-gen?r1=1.38r2=1.39 Index: locale-gen === RCS file: /var/cvsroot/gentoo/src/patchsets/glibc/extra/locale/locale-gen,v retrieving revision 1.38 retrieving revision 1.39 diff -u -r1.38 -r1.39 --- locale-gen 29 Aug 2015 04:44:58 - 1.38 +++ locale-gen 29 Aug 2015 23:05:43 - 1.39 @@ -52,7 +52,7 @@ } show_version() { local b=( a=) - local cvsver=$Revision: 1.38 $b $Date: 2015/08/29 04:44:58 $a + local cvsver=$Revision: 1.39 $b $Date: 2015/08/29 23:05:43 $a echo locale-gen-${cvsver//: } exit 0 } @@ -168,15 +168,7 @@ exit 1 fi - - -if [[ ${QUIET} -eq 0 ]] [[ -z ${JUST_LIST} ]] \ - [[ -e ${EROOT}etc/locales.build ]] -then - ewarn You should upgrade your /etc/locales.build to /etc/locale.gen - ewarn and then remove /etc/locales.build when you're done.\n -fi - +# Only generate locales the user specified before falling back to the config. locales_to_generate=${GENERATE} if [[ -z ${locales_to_generate} ]] [[ -e ${CONFIG} ]] ; then @@ -197,47 +189,9 @@ fi if [[ -z ${locales_to_generate} ]] ; then - # - # NOTE: begin retarded situation - # if user does not have locale.gen setup, but they have a - # locales.build, and they have USE=-userlocales, then they - # probably have the default locales.build file. the problem - # with this is the default locales.build had a bunch of - # uncommented locales, so the resulting system will end up - # with only a few locales and the user will be left wondering - # wtf just happened. so our hack logic here is: - # - if we are outside of ebuild (i.e. user ran us) then go for it - # - if we are inside of ebuild and USE=-userlocales, then just bail - # - - # if these vars are set we just assume in ebuild - if [[ ${PN} == glibc -n ${FILESDIR} -n ${D} ]] ; then - has() { [[ ${*:2} == * $1 * ]] ; } - ! has userlocales ${USE} CONFIG= - fi - - if [[ ${CONFIG} == */etc/locale.gen ]] ; then - CONFIG=${CONFIG/%locale.gen/locales.build} - if [[ -e ${CONFIG} ]] ; then - locales_to_generate=$(sed \ - -e 's:#.*::' \ - -e '/^[[:space:]]*$/d' \ - -e 's:/: :g' \ - ${CONFIG}) - fi - if [[ -n ${locales_to_generate} ]] \ - [[ ${QUIET} -eq 0 ]] [[ -z ${JUST_LIST} ]] - then - ewarn Automatically importing locales from /etc/locales.build ... - ewarn You really should do this yourself ...\n - fi - fi - - if [[ -z ${locales_to_generate} ]] ; then - [[ ${QUIET} -eq 0 ]] [[ -z ${JUST_LIST} ]] \ - ewarn No locales found - exit 0 - fi + [[ ${QUIET} -eq 0 ]] [[ -z ${JUST_LIST} ]] \ + ewarn No locales found + exit 0 fi mkdir -p ${LOCALEDIR}
[gentoo-commits] gentoo commit in src/patchsets/glibc/extra/locale: locale-gen.8
vapier 15/08/29 04:14:48 Modified: locale-gen.8 Log: document the format of the -G option Revision ChangesPath 1.6 src/patchsets/glibc/extra/locale/locale-gen.8 file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/glibc/extra/locale/locale-gen.8?rev=1.6view=markup plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/glibc/extra/locale/locale-gen.8?rev=1.6content-type=text/plain diff : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/glibc/extra/locale/locale-gen.8?r1=1.5r2=1.6 Index: locale-gen.8 === RCS file: /var/cvsroot/gentoo/src/patchsets/glibc/extra/locale/locale-gen.8,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- locale-gen.817 Aug 2011 21:41:09 - 1.5 +++ locale-gen.829 Aug 2015 04:14:48 - 1.6 @@ -24,7 +24,9 @@ \fIdirectory\fR .TP \fB\-G\fR, \fB\-\-generate\fR \fIlocale\fR -Only generate the specified \fIlocale\fR (implies \-\-keep \-\-update) +Only generate the specified \fIlocale\fR (implies \-\-keep \-\-update); +format of \fIlocale\fR matches a single line in the \fBlocale.gen\fR(5) +config file .TP \fB\-h\fR, \fB\-\-help\fR Show the help output (imagine that)
[gentoo-commits] gentoo commit in src/patchsets/glibc/extra/locale: locale-gen
vapier 15/08/29 04:44:58 Modified: locale-gen Log: locale-gen: detect non-unique locale names #23 Revision ChangesPath 1.38 src/patchsets/glibc/extra/locale/locale-gen file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/glibc/extra/locale/locale-gen?rev=1.38view=markup plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/glibc/extra/locale/locale-gen?rev=1.38content-type=text/plain diff : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/glibc/extra/locale/locale-gen?r1=1.37r2=1.38 Index: locale-gen === RCS file: /var/cvsroot/gentoo/src/patchsets/glibc/extra/locale/locale-gen,v retrieving revision 1.37 retrieving revision 1.38 diff -u -r1.37 -r1.38 --- locale-gen 21 Jul 2015 02:28:16 - 1.37 +++ locale-gen 29 Aug 2015 04:44:58 - 1.38 @@ -52,7 +52,7 @@ } show_version() { local b=( a=) - local cvsver=$Revision: 1.37 $b $Date: 2015/07/21 02:28:16 $a + local cvsver=$Revision: 1.38 $b $Date: 2015/08/29 04:44:58 $a echo locale-gen-${cvsver//: } exit 0 } @@ -185,13 +185,13 @@ -e '/^[[:space:]]*$/d' \ ${CONFIG} | sort) # Sanity check to make sure people did not duplicate entries. #550884 + # The first column must be unique specifically. #23 dup_locales_to_generate=$( echo ${locales_to_generate} | \ - uniq -c | \ - awk '$1 != 1 {$1 = ; print}') + awk '{ if ($1 == last) { print lastline; print; } else { lastline = $0; last = $1; } }') if [[ -n ${dup_locales_to_generate} ]] ; then ewarn These locales have been duplicated in your config:\n${dup_locales_to_generate} - ewarn They will be filtered, but you should still fix. + ewarn Some might be filtered, but you must fix it. locales_to_generate=$(echo ${locales_to_generate} | uniq) fi fi
[gentoo-commits] gentoo commit in src/patchsets/glibc/extra/locale: locale-gen
vapier 15/07/21 02:28:16 Modified: locale-gen Log: detect warn filter out duplicate locale generation entries #550884 by Toralf Förster Revision ChangesPath 1.37 src/patchsets/glibc/extra/locale/locale-gen file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/glibc/extra/locale/locale-gen?rev=1.37view=markup plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/glibc/extra/locale/locale-gen?rev=1.37content-type=text/plain diff : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/glibc/extra/locale/locale-gen?r1=1.36r2=1.37 Index: locale-gen === RCS file: /var/cvsroot/gentoo/src/patchsets/glibc/extra/locale/locale-gen,v retrieving revision 1.36 retrieving revision 1.37 diff -u -r1.36 -r1.37 --- locale-gen 28 Dec 2014 18:45:18 - 1.36 +++ locale-gen 21 Jul 2015 02:28:16 - 1.37 @@ -52,7 +52,7 @@ } show_version() { local b=( a=) - local cvsver=$Revision: 1.36 $b $Date: 2014/12/28 18:45:18 $a + local cvsver=$Revision: 1.37 $b $Date: 2015/07/21 02:28:16 $a echo locale-gen-${cvsver//: } exit 0 } @@ -183,7 +183,17 @@ locales_to_generate=$(sed \ -e 's:#.*::' \ -e '/^[[:space:]]*$/d' \ - ${CONFIG}) + ${CONFIG} | sort) + # Sanity check to make sure people did not duplicate entries. #550884 + dup_locales_to_generate=$( + echo ${locales_to_generate} | \ + uniq -c | \ + awk '$1 != 1 {$1 = ; print}') + if [[ -n ${dup_locales_to_generate} ]] ; then + ewarn These locales have been duplicated in your config:\n${dup_locales_to_generate} + ewarn They will be filtered, but you should still fix. + locales_to_generate=$(echo ${locales_to_generate} | uniq) + fi fi if [[ -z ${locales_to_generate} ]] ; then
[gentoo-commits] gentoo commit in src/patchsets/glibc/extra/locale: locale-gen
blueness14/12/28 18:45:18 Modified: locale-gen Log: extra/locale/locale-gen: source /lib/gentoo/functions.sh, bug #478764 Revision ChangesPath 1.36 src/patchsets/glibc/extra/locale/locale-gen file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/glibc/extra/locale/locale-gen?rev=1.36view=markup plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/glibc/extra/locale/locale-gen?rev=1.36content-type=text/plain diff : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/glibc/extra/locale/locale-gen?r1=1.35r2=1.36 Index: locale-gen === RCS file: /var/cvsroot/gentoo/src/patchsets/glibc/extra/locale/locale-gen,v retrieving revision 1.35 retrieving revision 1.36 diff -u -r1.35 -r1.36 --- locale-gen 13 Jun 2014 22:07:18 - 1.35 +++ locale-gen 28 Dec 2014 18:45:18 - 1.36 @@ -14,8 +14,9 @@ EPREFIX= fi -source ${EPREFIX}/etc/init.d/functions.sh || { - echo ${argv0}: Could not source /etc/init.d/functions.sh! 12 +FUNCTIONS_SH=/lib/gentoo/functions.sh +source ${EPREFIX}${FUNCTIONS_SH} || { + echo ${argv0}: Could not source ${FUNCTIONS_SH}! 12 exit 1 } @@ -51,7 +52,7 @@ } show_version() { local b=( a=) - local cvsver=$Revision: 1.35 $b $Date: 2014/06/13 22:07:18 $a + local cvsver=$Revision: 1.36 $b $Date: 2014/12/28 18:45:18 $a echo locale-gen-${cvsver//: } exit 0 }
[gentoo-commits] gentoo commit in src/patchsets/glibc/extra/locale: locale-gen
vapier 14/06/13 22:03:23 Modified: locale-gen Log: locale-gen: use $# when processing positional args Revision ChangesPath 1.34 src/patchsets/glibc/extra/locale/locale-gen file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/glibc/extra/locale/locale-gen?rev=1.34view=markup plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/glibc/extra/locale/locale-gen?rev=1.34content-type=text/plain diff : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/glibc/extra/locale/locale-gen?r1=1.33r2=1.34 Index: locale-gen === RCS file: /var/cvsroot/gentoo/src/patchsets/glibc/extra/locale/locale-gen,v retrieving revision 1.33 retrieving revision 1.34 diff -u -r1.33 -r1.34 --- locale-gen 1 Jul 2013 00:32:15 - 1.33 +++ locale-gen 13 Jun 2014 22:03:23 - 1.34 @@ -44,14 +44,14 @@ For more info, see the ${HILITE}locale-gen${NORMAL}(1) and ${HILITE}locale.gen${NORMAL}(8) manpages. EOF - [[ -z $@ ]] exit 0 + [[ $# -eq 0 ]] exit 0 echo eerror Unknown option '$1' exit 1 } show_version() { local b=( a=) - local cvsver=$Revision: 1.33 $b $Date: 2013/07/01 00:32:15 $a + local cvsver=$Revision: 1.34 $b $Date: 2014/06/13 22:03:23 $a echo locale-gen-${cvsver//: } exit 0 } @@ -71,7 +71,7 @@ QUIET=0 SET_X= LOCALE_ARCHIVE=true -while [[ -n $1 ]] ; do +while [[ $# -gt 0 ]] ; do case $1 in -k|--keep|--keep-existing) KEEP=$1;; -d|--destdir) shift; DESTDIR=$1; unset ROOT;;
[gentoo-commits] gentoo commit in src/patchsets/glibc/extra/locale: locale-gen
vapier 14/06/13 22:07:18 Modified: locale-gen Log: locale-gen: write out localedef error messages when in quiet mode Revision ChangesPath 1.35 src/patchsets/glibc/extra/locale/locale-gen file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/glibc/extra/locale/locale-gen?rev=1.35view=markup plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/glibc/extra/locale/locale-gen?rev=1.35content-type=text/plain diff : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/glibc/extra/locale/locale-gen?r1=1.34r2=1.35 Index: locale-gen === RCS file: /var/cvsroot/gentoo/src/patchsets/glibc/extra/locale/locale-gen,v retrieving revision 1.34 retrieving revision 1.35 diff -u -r1.34 -r1.35 --- locale-gen 13 Jun 2014 22:03:23 - 1.34 +++ locale-gen 13 Jun 2014 22:07:18 - 1.35 @@ -51,7 +51,7 @@ } show_version() { local b=( a=) - local cvsver=$Revision: 1.34 $b $Date: 2014/06/13 22:03:23 $a + local cvsver=$Revision: 1.35 $b $Date: 2014/06/13 22:07:18 $a echo locale-gen-${cvsver//: } exit 0 } @@ -297,7 +297,11 @@ exit ${ret} ) ret=$? - [[ -n ${output} ]] echo ${x} + if [[ -n ${output} ]] ; then + echo ${x} + elif [[ ${ret} -ne 0 ]] ; then + eerror ${disp}: ${x} + fi exit ${ret} ) JOB_PIDS+=( $! )