[gentoo-commits] proj/locale-gen:master commit in: /
commit: 90bb71ee8aafe4bd412394045965d5af66a46c66 Author: Andreas K. Hüttel gentoo org> AuthorDate: Thu May 11 22:20:35 2023 + Commit: Andreas K. Hüttel gentoo org> CommitDate: Thu May 11 22:20:35 2023 + URL:https://gitweb.gentoo.org/proj/locale-gen.git/commit/?id=90bb71ee Add COPYING file with the GNU GPL2 The code was originally taken from GNU glibc, and this license is what applies to the tools bundled with it. Signed-off-by: Andreas K. Hüttel gentoo.org> COPYING | 339 1 file changed, 339 insertions(+) diff --git a/COPYING b/COPYING new file mode 100644 index 000..d159169 --- /dev/null +++ b/COPYING @@ -0,0 +1,339 @@ +GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + +Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Lesser General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + +GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately
[gentoo-commits] proj/locale-gen:master commit in: /
commit: 941f508fba6880b5d189c8fc6681bf9800a6e05b Author: Bart Oldeman calculquebec ca> AuthorDate: Fri Mar 17 14:47:51 2023 + Commit: Andreas K. Hüttel gentoo org> CommitDate: Tue Mar 21 17:36:45 2023 + URL:https://gitweb.gentoo.org/proj/locale-gen.git/commit/?id=941f508f Fix use of EROOT to be compatible with EAPI 7+ EROOT no longer has a trailing slash, so replace it with "${EROOT%/}/" to avoid errors such as: /home/oldeman/eessi3/usr/sbin/locale-gen: line 168: /home/oldeman/eessi3usr/bin/localedef: No such file or directory * Unable to parse the output of your localedef utility. * File a bug about this issue and include the output of 'localedef --help'. in stage3.log when bootstrapping Gentoo Prefix. See also: https://mgorny.pl/articles/the-ultimate-guide-to-eapi-7.html#d-ed-root-eroot-no-longer-have-a-trailing-slash Closes: https://bugs.gentoo.org/883457 Signed-off-by: Bart Oldeman calculquebec.ca> Signed-off-by: Andreas K. Hüttel gentoo.org> locale-gen | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/locale-gen b/locale-gen index 8d27202..d0e109e 100755 --- a/locale-gen +++ b/locale-gen @@ -124,17 +124,17 @@ fi : "${EROOT:=${EPREFIX}/}" if [[ ${EROOT} != "/" ]] ; then - einfo "Using locale.gen from ${EROOT}etc/" + einfo "Using locale.gen from ${EROOT%/}/etc/" fi if [[ -n ${DESTDIR} ]] ; then DESTDIR="${DESTDIR%/}/" einfo "Building locales in DESTDIR '${DESTDIR}'" else - DESTDIR=${EROOT} + DESTDIR="${EROOT%/}/" fi -: "${CONFIG:=${EROOT}etc/locale.gen}" +: "${CONFIG:=${EROOT%/}/etc/locale.gen}" LOCALES=${DESTDIR}usr/share/i18n/locales CHARMAPS=${DESTDIR}usr/share/i18n/charmaps SUPPORTED=${DESTDIR}usr/share/i18n/SUPPORTED
[gentoo-commits] proj/locale-gen:master commit in: /
commit: 7e275ec9547798e204126fd7e4ca80a1d086cfec Author: Mike Frysinger gentoo org> AuthorDate: Mon Sep 27 06:46:50 2021 + Commit: Mike Frysinger gentoo org> CommitDate: Mon Sep 27 06:46:50 2021 + URL:https://gitweb.gentoo.org/proj/locale-gen.git/commit/?id=7e275ec9 document bash version requirements With bash-4.0 released in 2009, should be plenty of time to use its features. Especially with Gentoo requiring newer already. Signed-off-by: Mike Frysinger gentoo.org> locale-gen | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/locale-gen b/locale-gen index 9759daa..8d27202 100755 --- a/locale-gen +++ b/locale-gen @@ -1,9 +1,11 @@ #!/bin/bash # -# Based upon Debian's locale-gen, fetched from glibc_2.3.6-7.diff.gz +# Based upon Debian's locale-gen, fetched from glibc_2.3.6-7.diff.gz, but completely rewritten. # +# NB: Bash-4.0+ required. We use += and ${var,,} features. + unset POSIXLY_CORRECT IFS umask 0022
[gentoo-commits] proj/locale-gen:master commit in: /
commit: 088812be4e5e61bb614d90df14dc7a7117b38d51 Author: Mike Frysinger gentoo org> AuthorDate: Mon Sep 27 06:37:39 2021 + Commit: Mike Frysinger gentoo org> CommitDate: Mon Sep 27 06:37:39 2021 + URL:https://gitweb.gentoo.org/proj/locale-gen.git/commit/?id=088812be add quotes around : ${...} defaults In practice this shouldn't matter, but this makes shellcheck a bit happy in case of pathological globs in environment variables. Signed-off-by: Mike Frysinger gentoo.org> locale-gen | 10 +- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/locale-gen b/locale-gen index 4eb75d0..03caff2 100755 --- a/locale-gen +++ b/locale-gen @@ -105,14 +105,14 @@ fi if [[ -z ${JOBS_MAX} ]] ; then JOBS_MAX=$(getconf _NPROCESSORS_ONLN 2>/dev/null) - : ${JOBS_MAX:=1} + : "${JOBS_MAX:=1}" fi [[ ${JOBS_MAX} -lt 1 ]] && JOBS_MAX=1 [[ -n ${SET_X} ]] && set -x -: ${KEEP:=${JUST_LIST}} +: "${KEEP:=${JUST_LIST}}" [[ -n ${GENERATE} ]] && UPDATE="true" && KEEP="true" -: ${ROOT:=/} +: "${ROOT:=/}" ROOT="${ROOT%/}/" if [[ ${ROOT} != "/" ]] ; then @@ -120,7 +120,7 @@ if [[ ${ROOT} != "/" ]] ; then exit 0 fi -: ${EROOT:="${EPREFIX}/"} +: "${EROOT:=${EPREFIX}/}" if [[ ${EROOT} != "/" ]] ; then einfo "Using locale.gen from ${EROOT}etc/" fi @@ -132,7 +132,7 @@ else DESTDIR=${EROOT} fi -: ${CONFIG:=${EROOT}etc/locale.gen} +: "${CONFIG:=${EROOT}etc/locale.gen}" LOCALES=${DESTDIR}usr/share/i18n/locales CHARMAPS=${DESTDIR}usr/share/i18n/charmaps SUPPORTED=${DESTDIR}usr/share/i18n/SUPPORTED
[gentoo-commits] proj/locale-gen:master commit in: /
commit: 78802b1270bf48bea2e39039877096c4867afbb3 Author: Mike Frysinger gentoo org> AuthorDate: Mon Sep 27 06:31:11 2021 + Commit: Mike Frysinger gentoo org> CommitDate: Mon Sep 27 06:31:11 2021 + URL:https://gitweb.gentoo.org/proj/locale-gen.git/commit/?id=78802b12 skip duplicate locales when normalized If you try to generate "en_US.UTF-8 UTF-8" and "en_US.UTF8 UTF-8", we end up generating the locale twice even though it normalizes down to the same value (or, in the case of --update, we skip the 1st and then always generate the 2nd). Keep track of all locales we've processed so we can dedupe as we go. Signed-off-by: Mike Frysinger gentoo.org> locale-gen | 33 + 1 file changed, 21 insertions(+), 12 deletions(-) diff --git a/locale-gen b/locale-gen index d313c23..d4417d8 100755 --- a/locale-gen +++ b/locale-gen @@ -192,9 +192,9 @@ if [[ -z ${locales_to_generate} ]] && [[ -e ${CONFIG} ]] ; then fi fi -# Transform the name in locales.gen to the name used when storing -# the locale data in /usr/lib/locale/ ... this normalize algo is -# taken out of the glibc localedef source code ... +# Transform the name in locales.gen to the name used when storing the locale data in +# /usr/lib/locale/. This normalize algo is taken out of the glibc localedef source: +# https://sourceware.org/git/?p=glibc.git;a=blob;f=locale/programs/localedef.c;hb=glibc-2.34#l562 normalize() { if [[ $1 == *.* ]] ; then local ret=$(echo ${1##*.} | tr '[[:upper:]]' '[[:lower:]]') @@ -316,6 +316,10 @@ JOB_IDX_S=0 JOB_IDX_E=0 cnt=0 lidx=0 +# Keep track of (normalized) locales generated in case the request has different inputs that +# normalize down to the same value. We trim $existing_locales as we go for later use which +# prevents its direct use. +generated_locales=" " while [[ -n ${locales_to_generate[${lidx}]} ]] ; do : $(( ++cnt )) locale=${locales_to_generate[$((lidx++))]} @@ -334,16 +338,21 @@ while [[ -n ${locales_to_generate[${lidx}]} ]] ; do disp=${locales_disp[$(( cnt - 1 ))]} - if [[ -n ${UPDATE} ]] ; then - normalized_locale=$(normalize ${locale}) - if [[ ${existing_locales} == *" ${normalized_locale} "* ]] ; then - existing_locales=${existing_locales/ ${normalized_locale} / } - if [[ ${QUIET} -eq 0 ]] ; then - cnt_fmt=$(printf "%${#total}i" ${cnt}) - einfo " (${cnt_fmt}/${total}) Skipping ${disp}" - fi - continue + normalized_locale=$(normalize ${locale}) + if [[ ${generated_locales} == *" ${normalized_locale} "* ]] ; then + already_generated="true" + else + already_generated="false" + fi + generated_locales+="${normalized_locale} " + if ${already_generated} || \ + [[ -n ${UPDATE} && ${existing_locales} == *" ${normalized_locale} "* ]] ; then + existing_locales=${existing_locales/ ${normalized_locale} / } + if [[ ${QUIET} -eq 0 ]] ; then + cnt_fmt=$(printf "%${#total}i" ${cnt}) + einfo " (${cnt_fmt}/${total}) Skipping ${disp}" fi + continue fi # If the locale is like 'en_US.UTF8', then we really want 'en_US'
[gentoo-commits] proj/locale-gen:master commit in: /
commit: 692486a6d5b757f485e15a7acf269fd1bf28d970 Author: Mike Frysinger gentoo org> AuthorDate: Mon Sep 27 06:46:19 2021 + Commit: Mike Frysinger gentoo org> CommitDate: Mon Sep 27 06:46:19 2021 + URL:https://gitweb.gentoo.org/proj/locale-gen.git/commit/?id=692486a6 switch from tr to bash builtin ${var,,} This seems to speed things up. Or I'm lying to myself. Either way. Signed-off-by: Mike Frysinger gentoo.org> locale-gen | 7 --- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/locale-gen b/locale-gen index c746eef..9759daa 100755 --- a/locale-gen +++ b/locale-gen @@ -196,10 +196,11 @@ fi # https://sourceware.org/git/?p=glibc.git;a=blob;f=locale/programs/localedef.c;hb=glibc-2.34#l562 normalize() { if [[ $1 == *.* ]] ; then - local ret=$(echo ${1##*.} | tr '[[:upper:]]' '[[:lower:]]') - echo ${1%%.*}.${ret//-} + local ret=${1##*.} + ret=${ret,,} + echo "${1%%.*}.${ret//-}" else - echo $1 + echo "$1" fi }
[gentoo-commits] proj/locale-gen:master commit in: /
commit: 953486683088c5aed6af94e97644a64c68e8d1f5 Author: Mike Frysinger gentoo org> AuthorDate: Mon Sep 27 06:38:45 2021 + Commit: Mike Frysinger gentoo org> CommitDate: Mon Sep 27 06:38:45 2021 + URL:https://gitweb.gentoo.org/proj/locale-gen.git/commit/?id=95348668 fix hint about use of / in locale names We checked $ret outside of the subshell where it was set, so this code never actually fired. Move it up to where it should work. Signed-off-by: Mike Frysinger gentoo.org> locale-gen | 8 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/locale-gen b/locale-gen index 03caff2..c746eef 100755 --- a/locale-gen +++ b/locale-gen @@ -299,14 +299,14 @@ generate_locale() { elif [[ ${ret} -ne 0 ]] ; then eerror "${disp}: ${x}" fi + + if [[ ${ret} -ne 0 && ${locale} == */* ]] ; then + ewarn "Perhaps you meant to use a space instead of a / in your config file ?" + fi exit ${ret} ) & JOB_PIDS+=( $! ) : $(( ++JOB_IDX_E )) - - if [[ ${ret} != 0 && ${locale} == */* ]] ; then - ewarn "Perhaps you meant to use a space instead of a / in your config file ?" - fi } JOB_PIDS=()
[gentoo-commits] proj/locale-gen:master commit in: /
commit: 3e7cd37ec35419adf97d603839e69be3c4a1eafc Author: Mike Frysinger gentoo org> AuthorDate: Mon Sep 27 06:35:22 2021 + Commit: Mike Frysinger gentoo org> CommitDate: Mon Sep 27 06:35:22 2021 + URL:https://gitweb.gentoo.org/proj/locale-gen.git/commit/?id=3e7cd37e delete unused CUTF_ADDED variable The code deleting its use forgot to clean up its decl. Signed-off-by: Mike Frysinger gentoo.org> locale-gen | 1 - 1 file changed, 1 deletion(-) diff --git a/locale-gen b/locale-gen index d4417d8..4eb75d0 100755 --- a/locale-gen +++ b/locale-gen @@ -71,7 +71,6 @@ JOBS_MAX="" QUIET=0 SET_X="" LOCALE_ARCHIVE=true -CUTF_ADDED="" INPLACE_GLIBC="" while [[ $# -gt 0 ]] ; do case $1 in
[gentoo-commits] proj/locale-gen:master commit in: /
commit: 7e7ec15d2c96b8b13923b470b4f5f31a993ab756 Author: Mike Frysinger gentoo org> AuthorDate: Mon Sep 27 05:38:10 2021 + Commit: Mike Frysinger gentoo org> CommitDate: Mon Sep 27 05:38:10 2021 + URL:https://gitweb.gentoo.org/proj/locale-gen.git/commit/?id=7e7ec15d omit more spam when in quiet mode Signed-off-by: Mike Frysinger gentoo.org> locale-gen | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/locale-gen b/locale-gen index 264cd23..d313c23 100755 --- a/locale-gen +++ b/locale-gen @@ -379,7 +379,7 @@ einfo "Generation complete" if ${LOCALE_ARCHIVE} && [[ -z ${JUST_LIST} ]] ; then # need to check that at least one locale has to be added if [[ $(echo "${LOCALEDIR}"/*/) != "${LOCALEDIR}"'/*/' ]] ; then - ebegin "Adding locales to archive" + [[ ${QUIET} -eq 0 ]] && 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! @@ -416,7 +416,7 @@ if ${LOCALE_ARCHIVE} && [[ -z ${JUST_LIST} ]] ; then exit ${ret} ) done - eend $ret + [[ ${QUIET} -eq 0 ]] && eend ${ret} elif [[ ${QUIET} -eq 0 ]] ; then einfo "No locales are to be added to the archive." fi
[gentoo-commits] proj/locale-gen:master commit in: /
commit: 799b0ed2ef39e49b56f0204bc8db52d0353b1e63 Author: Andreas K. Hüttel gentoo org> AuthorDate: Fri Aug 6 21:09:03 2021 + Commit: Andreas K. Hüttel gentoo org> CommitDate: Fri Aug 6 21:09:03 2021 + URL:https://gitweb.gentoo.org/proj/locale-gen.git/commit/?id=799b0ed2 Ensure DESTDIR ends with a / Bug: https://bugs.gentoo.org/779790 Signed-off-by: Andreas K. Hüttel gentoo.org> locale-gen | 1 + 1 file changed, 1 insertion(+) diff --git a/locale-gen b/locale-gen index b41258f..264cd23 100755 --- a/locale-gen +++ b/locale-gen @@ -127,6 +127,7 @@ if [[ ${EROOT} != "/" ]] ; then fi if [[ -n ${DESTDIR} ]] ; then + DESTDIR="${DESTDIR%/}/" einfo "Building locales in DESTDIR '${DESTDIR}'" else DESTDIR=${EROOT}
[gentoo-commits] proj/locale-gen:master commit in: /
commit: 92c3c0492056f25062780302317429d0792e5ed8 Author: Mike Frysinger chromium org> AuthorDate: Fri Mar 12 16:28:27 2021 + Commit: Mike Frysinger gentoo org> CommitDate: Fri Mar 12 16:28:27 2021 + URL:https://gitweb.gentoo.org/proj/locale-gen.git/commit/?id=92c3c049 omit spam when in quiet mode Signed-off-by: Mike Frysinger gentoo.org> locale-gen | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/locale-gen b/locale-gen index f0dc40e..b41258f 100755 --- a/locale-gen +++ b/locale-gen @@ -416,7 +416,7 @@ if ${LOCALE_ARCHIVE} && [[ -z ${JUST_LIST} ]] ; then ) done eend $ret - else + elif [[ ${QUIET} -eq 0 ]] ; then einfo "No locales are to be added to the archive." fi fi
[gentoo-commits] proj/locale-gen:master commit in: /
commit: 05bbf16bcf7c9cc690324182f411d98dddbae7c6 Author: Andreas K. Hüttel gentoo org> AuthorDate: Mon Jul 27 15:37:43 2020 + Commit: Andreas K. Hüttel gentoo org> CommitDate: Mon Jul 27 15:37:43 2020 + URL:https://gitweb.gentoo.org/proj/locale-gen.git/commit/?id=05bbf16b Fix error message if no locales are to be added Signed-off-by: Andreas K. Hüttel gentoo.org> locale-gen | 7 +-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/locale-gen b/locale-gen index 93616b3..f0dc40e 100755 --- a/locale-gen +++ b/locale-gen @@ -376,12 +376,13 @@ ret=$(( 0 ${JOB_RETS[@]/#/+} )) einfo "Generation complete" if ${LOCALE_ARCHIVE} && [[ -z ${JUST_LIST} ]] ; then - if true ; then # need to check that at least one locale has to be added + # need to check that at least one locale has to be added + if [[ $(echo "${LOCALEDIR}"/*/) != "${LOCALEDIR}"'/*/' ]] ; 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 + for LOC in "${LOCALEDIR}"/*/; do LOC=${LOC%/} # Strip trailing /, since localedef doesn't like it x=$( # In most cases, localedef can just use the system glibc. @@ -415,6 +416,8 @@ if ${LOCALE_ARCHIVE} && [[ -z ${JUST_LIST} ]] ; then ) done eend $ret + else + einfo "No locales are to be added to the archive." fi fi
[gentoo-commits] proj/locale-gen:master commit in: /
commit: 550b6726e3fed643c3eb3ce19bd56887b5a3a840 Author: Andreas K. Hüttel gentoo org> AuthorDate: Mon Jul 27 10:35:50 2020 + Commit: Andreas K. Hüttel gentoo org> CommitDate: Mon Jul 27 10:35:50 2020 + URL:https://gitweb.gentoo.org/proj/locale-gen.git/commit/?id=550b6726 Further logic improvements Signed-off-by: Andreas K. Hüttel gentoo.org> locale-gen | 114 - 1 file changed, 60 insertions(+), 54 deletions(-) diff --git a/locale-gen b/locale-gen index f740d70..93616b3 100755 --- a/locale-gen +++ b/locale-gen @@ -191,19 +191,6 @@ if [[ -z ${locales_to_generate} ]] && [[ -e ${CONFIG} ]] ; then fi fi -if [[ -z ${locales_to_generate} ]] ; then - [[ ${QUIET} -eq 0 ]] && [[ -z ${JUST_LIST} ]] && \ - ewarn "No locales to generate found, keeping locale archive" - exit 0 -fi - -mkdir -p "${LOCALEDIR}" -if [[ -z ${KEEP} && -z ${UPDATE} ]] ; then - # Remove all old locale dir and locale-archive before generating new - # locale data. Scrubbing via update is done elsewhere. - rm -rf "${LOCALEDIR}"/* &> /dev/null || true -fi - # Transform the name in locales.gen to the name used when storing # the locale data in /usr/lib/locale/ ... this normalize algo is # taken out of the glibc localedef source code ... @@ -227,10 +214,27 @@ locales_disp=$(echo "${locales_to_generate}" | sed \ -e '/^[^@]*$/s:[[:space:]]*\([^.[:space:]]*\)\([^[:space:]]*\)[[:space:]]\+\([^[:space:]]*\):\1.\3:') # Now check the normalized version for C.UTF-8, and add it if not present -if echo ${locales_disp} | grep -vq 'C.UTF-8' ; then - locales_to_generate=$(echo "${locales_to_generate}" ; echo -n 'C.UTF-8 UTF-8') - locales_disp=$(echo "${locales_disp}" ; echo -n 'C.UTF-8') - CUTF_ADDED="true" +if [[ -z ${locales_to_generate} ]] ; then + if [[ -z ${JUST_LIST} ]] ; then + [[ ${QUIET} -eq 0 ]] && \ + ewarn "No locales to generate found, keeping archive but ensuring C.UTF-8 is present" + KEEP=1 + UPDATE=1 + locales_disp='C.UTF-8' + locales_to_generate='C.UTF-8 UTF-8' + fi +else + if echo ${locales_disp} | grep -vqi 'C.UTF-8' ; then + locales_to_generate=$(echo "${locales_to_generate}" ; echo -n 'C.UTF-8 UTF-8') + locales_disp=$(echo "${locales_disp}" ; echo -n 'C.UTF-8') + fi +fi + +mkdir -p "${LOCALEDIR}" +if [[ -z ${KEEP} && -z ${UPDATE} ]] ; then + # Remove all old locale dir and locale-archive before generating new + # locale data. Scrubbing via update is done elsewhere. + rm -rf "${LOCALEDIR}"/* &> /dev/null || true fi eval declare -a locales_disp=(${locales_disp}) @@ -372,44 +376,46 @@ ret=$(( 0 ${JOB_RETS[@]/#/+} )) einfo "Generation complete" if ${LOCALE_ARCHIVE} && [[ -z ${JUST_LIST} ]] ; 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=$( - # In most cases, localedef can just use the system glibc. - # However, if we are within a major glibc upgrade, this may fail - # in src_* phases since the new localedef links against the new - # glibc, but the new glibc is not installed yet... - if [[ -z ${INPLACE_GLIBC} ]] ; then - "${DESTDIR}"usr/bin/localedef \ - --add-to-archive "${LOC}" \ - --replace \ - --prefix "${DESTDIR%${EPREFIX}/}/" - else - # We assume that the current directory is "${ED}"/$(get_libdir), - # see the glibc ebuild, function glibc_sanity_check(), for why. - LC_ALL=C ./ld-*.so --library-path . \ + if true ; then # need to check that at least one locale has to be added + 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=$( + # In most cases, localedef can just use the system glibc. + # However, if we are within a major glibc upgrade, this may fail +
[gentoo-commits] proj/locale-gen:master commit in: /
commit: 8d707a9d314b8843608da773a072d2bcdce3eb35 Author: Andreas K. Hüttel gentoo org> AuthorDate: Sun Jul 26 17:36:37 2020 + Commit: Andreas K. Hüttel gentoo org> CommitDate: Sun Jul 26 17:36:37 2020 + URL:https://gitweb.gentoo.org/proj/locale-gen.git/commit/?id=8d707a9d Rework C.UTF-8 insertion logic Signed-off-by: Andreas K. Hüttel gentoo.org> locale-gen | 24 1 file changed, 8 insertions(+), 16 deletions(-) diff --git a/locale-gen b/locale-gen index 7741aa7..f740d70 100755 --- a/locale-gen +++ b/locale-gen @@ -189,26 +189,11 @@ if [[ -z ${locales_to_generate} ]] && [[ -e ${CONFIG} ]] ; then ewarn "Some might be filtered, but you must fix it." locales_to_generate=$(echo "${locales_to_generate}" | uniq) fi - - if echo ${locales_to_generate} | grep -vq 'C.UTF-8' ; then - if [[ -z ${locales_to_generate} ]] ; then - locales_to_generate='C.UTF-8 UTF-8' - else - locales_to_generate=$(echo "${locales_to_generate}" ; echo -n 'C.UTF-8 UTF-8') - fi - CUTF_ADDED="true" - fi fi if [[ -z ${locales_to_generate} ]] ; then [[ ${QUIET} -eq 0 ]] && [[ -z ${JUST_LIST} ]] && \ - ewarn "No locales found, keeping locale archive" - exit 0 -fi - -if [[ ${locales_to_generate} == "C.UTF-8 UTF-8" ]] && [[ -n ${CUTF_ADDED} ]] ; then - [[ ${QUIET} -eq 0 ]] && [[ -z ${JUST_LIST} ]] && \ - ewarn "No locales found, keeping locale archive" + ewarn "No locales to generate found, keeping locale archive" exit 0 fi @@ -241,6 +226,13 @@ locales_disp=$(echo "${locales_to_generate}" | sed \ -e ' /@/ s:[[:space:]]*\([^@[:space:]]*\)\([^[:space:]]*\)[[:space:]]\+\([^[:space:]]*\):\1.\3\2:' \ -e '/^[^@]*$/s:[[:space:]]*\([^.[:space:]]*\)\([^[:space:]]*\)[[:space:]]\+\([^[:space:]]*\):\1.\3:') +# Now check the normalized version for C.UTF-8, and add it if not present +if echo ${locales_disp} | grep -vq 'C.UTF-8' ; then + locales_to_generate=$(echo "${locales_to_generate}" ; echo -n 'C.UTF-8 UTF-8') + locales_disp=$(echo "${locales_disp}" ; echo -n 'C.UTF-8') + CUTF_ADDED="true" +fi + eval declare -a locales_disp=(${locales_disp}) eval declare -a locales_to_generate=(${locales_to_generate}) total=$(( ${#locales_to_generate[*]} / 2 ))
[gentoo-commits] proj/locale-gen:master commit in: /
commit: d3a30d74e67bb80213857ed4effe86c09d231eb6 Author: Andreas K. Hüttel gentoo org> AuthorDate: Wed Jul 15 01:58:30 2020 + Commit: Andreas K. Hüttel gentoo org> CommitDate: Wed Jul 15 01:58:30 2020 + URL:https://gitweb.gentoo.org/proj/locale-gen.git/commit/?id=d3a30d74 Minor output fix Signed-off-by: Andreas K. Hüttel gentoo.org> locale-gen | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/locale-gen b/locale-gen index 140654a..7741aa7 100755 --- a/locale-gen +++ b/locale-gen @@ -123,7 +123,7 @@ fi : ${EROOT:="${EPREFIX}/"} if [[ ${EROOT} != "/" ]] ; then - einfo "Using locale.gen from ROOT ${EROOT}etc/" + einfo "Using locale.gen from ${EROOT}etc/" fi if [[ -n ${DESTDIR} ]] ; then
[gentoo-commits] proj/locale-gen:master commit in: /
commit: 3018f745b83ee4b6e11b0f6554a9472fe4517091 Author: Andreas K. Hüttel gentoo org> AuthorDate: Wed Jul 15 01:56:02 2020 + Commit: Andreas K. Hüttel gentoo org> CommitDate: Wed Jul 15 01:56:02 2020 + URL:https://gitweb.gentoo.org/proj/locale-gen.git/commit/?id=3018f745 Remove incomplete, nonfunctional ROOT support Signed-off-by: Andreas K. Hüttel gentoo.org> locale-gen | 17 +++-- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git a/locale-gen b/locale-gen index b330851..140654a 100755 --- a/locale-gen +++ b/locale-gen @@ -115,26 +115,23 @@ fi : ${ROOT:=/} ROOT="${ROOT%/}/" -if [[ -n ${DESTDIR} ]] && [[ ${ROOT} != "/" ]] ; then - eerror "DESTDIR and ROOT are mutually exclusive options" - exit 1 + +if [[ ${ROOT} != "/" ]] ; then + eerror "Sorry, but ROOT is not supported." + exit 0 fi -: ${EROOT:="${ROOT%/}${EPREFIX}/"} + +: ${EROOT:="${EPREFIX}/"} if [[ ${EROOT} != "/" ]] ; then einfo "Using locale.gen from ROOT ${EROOT}etc/" fi + if [[ -n ${DESTDIR} ]] ; then einfo "Building locales in DESTDIR '${DESTDIR}'" else DESTDIR=${EROOT} fi -# XXX: should fix this ... -if [[ ${ROOT} != "/" ]] ; then - eerror "Sorry, but ROOT support is incomplete at this time." - exit 0 -fi - : ${CONFIG:=${EROOT}etc/locale.gen} LOCALES=${DESTDIR}usr/share/i18n/locales CHARMAPS=${DESTDIR}usr/share/i18n/charmaps
[gentoo-commits] proj/locale-gen:master commit in: /
commit: b867411c83fa70444e3042f2ddb5430cc98c4ded Author: Andreas K. Hüttel gentoo org> AuthorDate: Wed Jul 15 01:47:06 2020 + Commit: Andreas K. Hüttel gentoo org> CommitDate: Wed Jul 15 01:47:06 2020 + URL:https://gitweb.gentoo.org/proj/locale-gen.git/commit/?id=b867411c Drop useless old cvs version information Signed-off-by: Andreas K. Hüttel gentoo.org> locale-gen | 7 ++- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/locale-gen b/locale-gen index 8afb5d1..b330851 100755 --- a/locale-gen +++ b/locale-gen @@ -52,15 +52,12 @@ show_usage() { eerror "Unknown option '$1'" exit 1 } + show_version() { - local b="(" a=")" - local cvsver="$Revision: 1.42 $b $Date: 2017/08/12 16:30:06 $a" - echo "locale-gen-${cvsver//: }" + echo "locale-gen-2.xxx" exit 0 } - - LOCALEDEF_OPTS="" KEEP="" DESTDIR=""
[gentoo-commits] proj/locale-gen:master commit in: /
commit: e384a5562c53795590cfc9239b422062bf559105 Author: Andreas K. Hüttel gentoo org> AuthorDate: Fri Aug 2 23:45:43 2019 + Commit: Andreas K. Hüttel gentoo org> CommitDate: Tue May 12 04:17:24 2020 + URL:https://gitweb.gentoo.org/proj/locale-gen.git/commit/?id=e384a556 locale-gen: add trigger variable for compiled-locales and warning to locale-gen Originally ab05be2e3957ccbec1279124f7da51c0a602fdea, gentoo/glibc--14 Signed-off-by: Andreas K. Hüttel gentoo.org> locale-gen | 11 +++ 1 file changed, 11 insertions(+) diff --git a/locale-gen b/locale-gen index 794cfeb..bfbd505 100755 --- a/locale-gen +++ b/locale-gen @@ -20,6 +20,8 @@ source "${EPREFIX}"${FUNCTIONS_SH} || { exit 1 } +COMPILED_LOCALES="" + show_usage() { cat <<-EOF Usage: ${HILITE}${argv0}${NORMAL} ${GOOD}[options]${NORMAL} -- ${GOOD}[localedef options]${NORMAL} @@ -96,6 +98,15 @@ while [[ $# -gt 0 ]] ; do esac shift done + +if [[ -n ${COMPILED_LOCALES} ]] ; then + ewarn "All locales have been installed and registered by the package manager. If you" + ewarn "rebuild the locale archive now, file integrity tools may show it as corrupted." + ewarn "This is not really a big problem, but a better solution is to disable" + ewarn "USE=compile-locales and re-install glibc if you dont need all locales." + echo +fi + if [[ -z ${JOBS_MAX} ]] ; then JOBS_MAX=$(getconf _NPROCESSORS_ONLN 2>/dev/null) : ${JOBS_MAX:=1}
[gentoo-commits] proj/locale-gen:master commit in: /
commit: 720917daed356ccda8a39bab4870b6d6db2bfc0e Author: Andreas K. Hüttel gentoo org> AuthorDate: Sat Feb 10 15:27:30 2018 + Commit: Andreas K. Hüttel gentoo org> CommitDate: Tue May 12 04:05:38 2020 + URL:https://gitweb.gentoo.org/proj/locale-gen.git/commit/?id=720917da locale-gen: suppress ignored error when emptying already empty directory Originally aba214da1a265afe4dfa3b52bc356275a275a9aa, gentoo/glibc--6 Closes: https://bugs.gentoo.org/647188 Signed-off-by: Andreas K. Hüttel gentoo.org> locale-gen | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/locale-gen b/locale-gen index 6653cad..fc861f4 100755 --- a/locale-gen +++ b/locale-gen @@ -193,7 +193,7 @@ mkdir -p "${LOCALEDIR}" if [[ -z ${KEEP} && -z ${UPDATE} ]] ; then # Remove all old locale dir and locale-archive before generating new # locale data. Scrubbing via update is done elsewhere. - rm -rf "${LOCALEDIR}"/* || true + rm -rf "${LOCALEDIR}"/* &> /dev/null || true fi # Transform the name in locales.gen to the name used when storing
[gentoo-commits] proj/locale-gen:master commit in: /
commit: e384fae0f4cafe49304afbc872cb7d3422903681 Author: Andreas K. Hüttel gentoo org> AuthorDate: Fri Dec 14 19:43:04 2018 + Commit: Andreas K. Hüttel gentoo org> CommitDate: Tue May 12 04:08:39 2020 + URL:https://gitweb.gentoo.org/proj/locale-gen.git/commit/?id=e384fae0 locale-gen: Always build the C.UTF-8 locale (which we now patch in) Originally f2ed15510fd0f7b9bcc923e24efd2681aacd0d5f, gentoo/glibc--9 Signed-off-by: Andreas K. Hüttel gentoo.org> locale-gen | 8 ++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/locale-gen b/locale-gen index fc861f4..f88c677 100755 --- a/locale-gen +++ b/locale-gen @@ -181,6 +181,10 @@ if [[ -z ${locales_to_generate} ]] && [[ -e ${CONFIG} ]] ; then ewarn "Some might be filtered, but you must fix it." locales_to_generate=$(echo "${locales_to_generate}" | uniq) fi + + if echo ${locales_to_generate} | grep -vq 'C.UTF-8' ; then + locales_to_generate=$(echo "${locales_to_generate}" ; echo "C.UTF-8 UTF-8") + fi fi if [[ -z ${locales_to_generate} ]] ; then @@ -339,7 +343,7 @@ ret=$(( 0 ${JOB_RETS[@]/#/+} )) [[ ${QUIET} -eq 0 ]] && [[ -z ${JUST_LIST} ]] && \ einfo "Generation complete" -if ${LOCALE_ARCHIVE} ; then +if ${LOCALE_ARCHIVE} && [[ -z ${JUST_LIST} ]] ; 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 @@ -367,7 +371,7 @@ if ${LOCALE_ARCHIVE} ; then fi # Remove locales that existed but were not requested -if [[ -n ${UPDATE} ]] ; then +if [[ -n ${UPDATE} ]] && [[ -z ${JUST_LIST} ]] ; then # Ignore these pseudo locales existing_locales=${existing_locales/ C / } existing_locales=${existing_locales/ POSIX / }
[gentoo-commits] proj/locale-gen:master commit in: /
commit: b7315c4a85743a10719bc4a3b1364b5035944eb8 Author: Andreas K. Hüttel gentoo org> AuthorDate: Fri Dec 14 19:43:04 2018 + Commit: Andreas K. Hüttel gentoo org> CommitDate: Tue May 12 04:14:50 2020 + URL:https://gitweb.gentoo.org/proj/locale-gen.git/commit/?id=b7315c4a locale-gen: Add switch to force use of newly built ld.so for glibc updates Originally 6f89339308241bceb5194a200c99002e6c75dbb6, gentoo/glibc--11 Signed-off-by: Andreas K. Hüttel gentoo.org> locale-gen | 55 --- 1 file changed, 44 insertions(+), 11 deletions(-) diff --git a/locale-gen b/locale-gen index 87dd30e..794cfeb 100755 --- a/locale-gen +++ b/locale-gen @@ -73,8 +73,10 @@ QUIET=0 SET_X="" LOCALE_ARCHIVE=true CUTF_ADDED="" +INPLACE_GLIBC="" while [[ $# -gt 0 ]] ; do case $1 in + --inplace-glibc) INPLACE_GLIBC=$1;; -k|--keep|--keep-existing) KEEP=$1;; -d|--destdir) shift; DESTDIR=$1; unset ROOT;; -c|--config) shift; CONFIG=$1;; @@ -262,13 +264,30 @@ generate_locale() { # jobs don't tromp on each other x=$( [[ -n ${output} ]] && ebegin "${output}" - "${DESTDIR}"usr/bin/localedef ${LOCALEDEF_OPTS} \ - --no-archive \ - -i "${input}" \ - -f "${charmap}" \ - -A "${ALIAS}" \ - --prefix "${DESTDIR%${EPREFIX}/}/" \ - "${locale}" 2>&1 + # In most cases, localedef can just use the system glibc. + # However, if we are within a major glibc upgrade, this may fail + # in src_* phases since the new localedef links against the new + # glibc, but the new glibc is not installed yet... + if [[ -z ${INPLACE_GLIBC} ]] ; then + "${DESTDIR}"usr/bin/localedef ${LOCALEDEF_OPTS} \ + --no-archive \ + -i "${input}" \ + -f "${charmap}" \ + -A "${ALIAS}" \ + --prefix "${DESTDIR%${EPREFIX}/}/" \ + "${locale}" 2>&1 + else + # We assume that the current directory is "${ED}"/$(get_libdir), + # see the glibc ebuild, function glibc_sanity_check(), for why. + LC_ALL=C ./ld-*.so --library-path . \ + "${DESTDIR}"usr/bin/localedef ${LOCALEDEF_OPTS} \ + --no-archive \ + -i "${input}" \ + -f "${charmap}" \ + -A "${ALIAS}" \ + --prefix "${DESTDIR%${EPREFIX}/}/" \ + "${locale}" 2>&1 + fi ret=$? [[ -n ${output} ]] && eend ${ret} exit ${ret} @@ -363,10 +382,24 @@ if ${LOCALE_ARCHIVE} && [[ -z ${JUST_LIST} ]] ; then 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}/}/" + # In most cases, localedef can just use the system glibc. + # However, if we are within a major glibc upgrade, this may fail + # in src_* phases since the new localedef links against the new + # glibc, but the new glibc is not installed yet... + if [[ -z ${INPLACE_GLIBC} ]] ; then + "${DESTDIR}"usr/bin/localedef \ + --add-to-archive "${LOC}" \ + --replace \ + --prefix "${DESTDIR%${EPREFIX}/}/" + else + # We assume that the current directory is "${ED}"/$(get_libdir), + # see the glibc ebuild, function glibc_sanity_check(), for why. + LC_ALL=C ./ld-*.so --library-path . \ + "${DESTDIR}"usr/bin/localedef \ + --add-to-archive "${LOC}" \ +
[gentoo-commits] proj/locale-gen:master commit in: /
commit: 3f617b2cc378016b4eaa458151b809487af54c8a Author: Andreas K. Hüttel gentoo org> AuthorDate: Fri Dec 21 15:30:13 2018 + Commit: Andreas K. Hüttel gentoo org> CommitDate: Tue May 12 04:12:04 2020 + URL:https://gitweb.gentoo.org/proj/locale-gen.git/commit/?id=3f617b2c locale-gen: do not touch locale-archive when no locales requested in config Originally 3179a4df4ea81aa9116b70e2a064f55da65d13e8, gentoo/glibc--10 Signed-off-by: Andreas K. Hüttel gentoo.org> locale-gen | 16 ++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/locale-gen b/locale-gen index f88c677..87dd30e 100755 --- a/locale-gen +++ b/locale-gen @@ -72,6 +72,7 @@ JOBS_MAX="" QUIET=0 SET_X="" LOCALE_ARCHIVE=true +CUTF_ADDED="" while [[ $# -gt 0 ]] ; do case $1 in -k|--keep|--keep-existing) KEEP=$1;; @@ -183,13 +184,24 @@ if [[ -z ${locales_to_generate} ]] && [[ -e ${CONFIG} ]] ; then fi if echo ${locales_to_generate} | grep -vq 'C.UTF-8' ; then - locales_to_generate=$(echo "${locales_to_generate}" ; echo "C.UTF-8 UTF-8") + if [[ -z ${locales_to_generate} ]] ; then + locales_to_generate='C.UTF-8 UTF-8' + else + locales_to_generate=$(echo "${locales_to_generate}" ; echo -n 'C.UTF-8 UTF-8') + fi + CUTF_ADDED="true" fi fi if [[ -z ${locales_to_generate} ]] ; then [[ ${QUIET} -eq 0 ]] && [[ -z ${JUST_LIST} ]] && \ - ewarn "No locales found" + ewarn "No locales found, keeping locale archive" + exit 0 +fi + +if [[ ${locales_to_generate} == "C.UTF-8 UTF-8" ]] && [[ -n ${CUTF_ADDED} ]] ; then + [[ ${QUIET} -eq 0 ]] && [[ -z ${JUST_LIST} ]] && \ + ewarn "No locales found, keeping locale archive" exit 0 fi
[gentoo-commits] proj/locale-gen:master commit in: /
commit: faf329009b4df7d2f4c02f9745ea345301e6aeeb Author: Andreas K. Hüttel gentoo org> AuthorDate: Fri Dec 14 19:43:04 2018 + Commit: Andreas K. Hüttel gentoo org> CommitDate: Tue May 12 04:19:26 2020 + URL:https://gitweb.gentoo.org/proj/locale-gen.git/commit/?id=faf32900 locale-gen: remove --force option from localedef call Originally 9231f507d365b6d81ccae618aaeca27076b92164, gentoo/glibc--15 Signed-off-by: Andreas K. Hüttel gentoo.org> locale-gen | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/locale-gen b/locale-gen index bfbd505..8afb5d1 100755 --- a/locale-gen +++ b/locale-gen @@ -61,7 +61,7 @@ show_version() { -LOCALEDEF_OPTS="-c" +LOCALEDEF_OPTS="" KEEP="" DESTDIR="" CONFIG=""