summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to '9999/0003-no-patch-Gentoo-Add-support-files.patch')
-rw-r--r--9999/0003-no-patch-Gentoo-Add-support-files.patch962
1 files changed, 0 insertions, 962 deletions
diff --git a/9999/0003-no-patch-Gentoo-Add-support-files.patch b/9999/0003-no-patch-Gentoo-Add-support-files.patch
deleted file mode 100644
index da110ea..0000000
--- a/9999/0003-no-patch-Gentoo-Add-support-files.patch
+++ /dev/null
@@ -1,962 +0,0 @@
-From 4b65799eb71b3715f2b283d49eb253d756a326f4 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Andreas=20K=2E=20H=C3=BCttel?= <dilfridge@gentoo.org>
-Date: Wed, 23 Aug 2017 13:26:49 +0200
-Subject: [PATCH 03/12] [no-patch] Gentoo: Add support files
-
-* Source: https://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo/src/patchsets/glibc/extra/
-* The make-tarball script has been completely rewritten to work with git.
-* The c-stubs addon has been dropped since the addon mechanism is gone.
-* Updates to the nscd init script, see Gentoo bug 492814
-* Make patchset generation script also work with master
-* locale-gen: suppress ignored error when emptying already empty directory, bug 647188
----
- scripts/gentoo/README.Gentoo.patches | 26 ++
- scripts/gentoo/extra/README | 5 +
- scripts/gentoo/extra/etc/host.conf | 24 ++
- scripts/gentoo/extra/etc/nscd | 85 +++++
- scripts/gentoo/extra/locale/locale-gen | 444 +++++++++++++++++++++++
- scripts/gentoo/extra/locale/locale-gen.8 | 69 ++++
- scripts/gentoo/extra/locale/locale.gen | 36 ++
- scripts/gentoo/extra/locale/locale.gen.5 | 77 ++++
- scripts/gentoo/make-tarball.sh | 107 ++++++
- 9 files changed, 873 insertions(+)
- create mode 100644 scripts/gentoo/README.Gentoo.patches
- create mode 100644 scripts/gentoo/extra/README
- create mode 100644 scripts/gentoo/extra/etc/host.conf
- create mode 100644 scripts/gentoo/extra/etc/nscd
- create mode 100755 scripts/gentoo/extra/locale/locale-gen
- create mode 100644 scripts/gentoo/extra/locale/locale-gen.8
- create mode 100644 scripts/gentoo/extra/locale/locale.gen
- create mode 100644 scripts/gentoo/extra/locale/locale.gen.5
- create mode 100755 scripts/gentoo/make-tarball.sh
-
-diff --git a/scripts/gentoo/README.Gentoo.patches b/scripts/gentoo/README.Gentoo.patches
-new file mode 100644
-index 0000000000..c6f94dc863
---- /dev/null
-+++ b/scripts/gentoo/README.Gentoo.patches
-@@ -0,0 +1,26 @@
-+ ============
-+ === What ===
-+ ============
-+
-+Gentoo patchsets for glibc are maintained as vendor branches of the upstream
-+glibc git repository. From there, we bundle all the commits into a tarball
-+and distribute it via our public mirroring system.
-+
-+If you want specific info about a patch (like what it does or whose great idea
-+it was to change the code), read the patch! We try to fill out the commit
-+messages with useful info such as what it does, why it's needed, bug reports,
-+original creators, etc...
-+
-+ =============
-+ === Where ===
-+ =============
-+
-+Currently, https://github.com/gentoo/glibc
-+
-+ ===========
-+ === How ===
-+ ===========
-+
-+Patches are named exactly as generated by "git format-patch".
-+All patches thus apply with -p1 (so they can be used both with the legacy
-+epatch function and the new, more strict eapply function).
-diff --git a/scripts/gentoo/extra/README b/scripts/gentoo/extra/README
-new file mode 100644
-index 0000000000..1942999684
---- /dev/null
-+++ b/scripts/gentoo/extra/README
-@@ -0,0 +1,5 @@
-+What is all this you may wonder.
-+
-+locale/
-+ a port/rewrite of Debian's locale-gen. see the man pages in the
-+ subdir for more information.
-diff --git a/scripts/gentoo/extra/etc/host.conf b/scripts/gentoo/extra/etc/host.conf
-new file mode 100644
-index 0000000000..4c58e52d6b
---- /dev/null
-+++ b/scripts/gentoo/extra/etc/host.conf
-@@ -0,0 +1,24 @@
-+# /etc/host.conf:
-+# $Header: /var/cvsroot/gentoo/src/patchsets/glibc/extra/etc/host.conf,v 1.1 2006/09/29 23:52:23 vapier Exp $
-+
-+# The file /etc/host.conf contains configuration information specific to
-+# the resolver library. It should contain one configuration keyword per
-+# line, followed by appropriate configuration information. The keywords
-+# recognized are order, trim, mdns, multi, nospoof, spoof, and reorder.
-+
-+
-+
-+# This keyword specifies how host lookups are to be performed. It
-+# should be followed by one or more lookup methods, separated by
-+# commas. Valid methods are bind, hosts, and nis.
-+#
-+order hosts, bind
-+
-+
-+# Valid values are on and off. If set to on, the resolv+ library
-+# will return all valid addresses for a host that appears in the
-+# /etc/hosts file, instead of only the first. This is off by
-+# default, as it may cause a substantial performance loss at sites
-+# with large hosts files.
-+#
-+multi off
-diff --git a/scripts/gentoo/extra/etc/nscd b/scripts/gentoo/extra/etc/nscd
-new file mode 100644
-index 0000000000..abe31f892d
---- /dev/null
-+++ b/scripts/gentoo/extra/etc/nscd
-@@ -0,0 +1,85 @@
-+#!/sbin/openrc-run
-+# Copyright 1999-2017 Gentoo Foundation
-+# Distributed under the terms of the GNU General Public License v2
-+
-+description="The 'Name Service Cache Daemon' is a daemon that provides a cache"
-+description="${description} for the most common name service requests"
-+
-+extra_started_commands="flush_all flush_hosts flush_group flush_passwd flush_netgroup flush_services"
-+
-+description_flush_all="Will invalidate hosts, group, passwd, netgroup and services cache"
-+description_flush_hosts="Will invalidate hosts cache"
-+description_flush_group="Will invalidate group cache"
-+description_flush_passwd="Will invalidate passwd cache"
-+description_flush_netgroup="Will invalidate netgroup cache"
-+description_flush_services="Will invalidate services cache"
-+
-+pidfile="/run/nscd/nscd.pid"
-+command="/usr/sbin/nscd"
-+
-+depend() {
-+ use dns ldap net slapd logger
-+}
-+
-+checkconfig() {
-+ if [ ! -d /run/nscd ] ; then
-+ checkpath -d -m 755 /run/nscd
-+ fi
-+
-+ if [ -z "${NSCD_PERMS_OK}" ] && [ "$(stat -c %a /run/nscd)" != "755" ] ; then
-+ ewarn "nscd run dir is not world readable, you should reset the perms:"
-+ ewarn "chmod 755 /run/nscd"
-+ ewarn "chmod a+rw /run/nscd/socket"
-+ ewarn "To disable this warning, set 'NSCD_PERMS_OK' in /etc/conf.d/nscd"
-+ fi
-+
-+ if grep -qs '^[[:space:]]*persistent\>' /etc/nscd.conf ; then
-+ checkpath -d -m 700 /var/db/nscd
-+ fi
-+}
-+
-+_flush() {
-+ local table=$1
-+
-+ ebegin "Flushing ${table} table"
-+ ${command} --invalidate ${table}
-+ eend $?
-+}
-+
-+flush_all() {
-+ local has_errors=0
-+
-+ ebegin "Flushing all caches"
-+
-+ local table=
-+ for table in passwd group hosts netgroup services; do
-+ ${command} --invalidate ${table}
-+ [ $? -ne 0 ] && has_errors=1
-+ done
-+
-+ eend ${has_errors}
-+}
-+
-+flush_hosts() {
-+ _flush hosts
-+}
-+
-+flush_group() {
-+ _flush group
-+}
-+
-+flush_passwd() {
-+ _flush passwd
-+}
-+
-+flush_netgroup() {
-+ _flush netgroup
-+}
-+
-+flush_services() {
-+ _flush services
-+}
-+
-+start_pre() {
-+ checkconfig
-+}
-diff --git a/scripts/gentoo/extra/locale/locale-gen b/scripts/gentoo/extra/locale/locale-gen
-new file mode 100755
-index 0000000000..8afb5d1a68
---- /dev/null
-+++ b/scripts/gentoo/extra/locale/locale-gen
-@@ -0,0 +1,444 @@
-+#!/bin/bash
-+
-+#
-+# Based upon Debian's locale-gen, fetched from glibc_2.3.6-7.diff.gz
-+#
-+
-+unset POSIXLY_CORRECT IFS
-+umask 0022
-+
-+argv0=${0##*/}
-+
-+EPREFIX="@GENTOO_PORTAGE_EPREFIX@"
-+if [[ ${EPREFIX} == "@"GENTOO_PORTAGE_EPREFIX"@" ]] ; then
-+ EPREFIX=""
-+fi
-+
-+FUNCTIONS_SH="/lib/gentoo/functions.sh"
-+source "${EPREFIX}"${FUNCTIONS_SH} || {
-+ echo "${argv0}: Could not source ${FUNCTIONS_SH}!" 1>&2
-+ exit 1
-+}
-+
-+COMPILED_LOCALES=""
-+
-+show_usage() {
-+ cat <<-EOF
-+ Usage: ${HILITE}${argv0}${NORMAL} ${GOOD}[options]${NORMAL} -- ${GOOD}[localedef options]${NORMAL}
-+
-+ Generate locales based upon the config file /etc/locale.gen.
-+
-+ ${HILITE}Options:${NORMAL}
-+ ${GOOD}-k, --keep${NORMAL} Don't nuke existing locales
-+ ${GOOD}-d, --destdir <dir>${NORMAL} Use locale data in specified DESTDIR tree
-+ ${GOOD}-c, --config <config>${NORMAL} Use specified config instead of default locale.gen
-+ ${GOOD}-l, --list${NORMAL} List all the locales to be generated
-+ ${GOOD}-a, --ask${NORMAL} Ask before generating each locale
-+ ${GOOD}-A, --all${NORMAL} Pretend the locale list contains all locales
-+ ${GOOD}-u, --update${NORMAL} Only generate locales that are missing
-+ ${GOOD}-G, --generate <locale>${NORMAL} Generate specified locale (one shot; implies -k -u)
-+ ${GOOD}-j, --jobs <num>${NORMAL} Number of locales to generate at a time (parallel)
-+ ${GOOD}-q, --quiet${NORMAL} Only show errors
-+ ${GOOD}-V, --version${NORMAL} Meaningless version information
-+ ${GOOD}-h, --help${NORMAL} Show this help cruft
-+
-+ ${HILITE}Localedef Options:${NORMAL}
-+ By default, ${GOOD}${LOCALEDEF_OPTS}${NORMAL} is passed to localedef.
-+
-+ For more info, see the ${HILITE}locale-gen${NORMAL}(1) and ${HILITE}locale.gen${NORMAL}(8) manpages.
-+ EOF
-+ [[ $# -eq 0 ]] && exit 0
-+ echo ""
-+ 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//: }"
-+ exit 0
-+}
-+
-+
-+
-+LOCALEDEF_OPTS=""
-+KEEP=""
-+DESTDIR=""
-+CONFIG=""
-+JUST_LIST=""
-+ASK=""
-+ALL=""
-+UPDATE=""
-+GENERATE=""
-+JOBS_MAX=""
-+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;;
-+ -l|--list) JUST_LIST=$1;;
-+ -a|--ask) ASK=$1;;
-+ -A|--all) ALL=$1;;
-+ -u|--update) UPDATE=$1;;
-+ -G|--generate) shift; GENERATE=$1;;
-+ -j|--jobs) shift; JOBS_MAX=$(( $1 ));;
-+ -j*) : $(( JOBS_MAX = ${1#-j} ));;
-+ -q|--quiet) : $(( ++QUIET ));;
-+ -x|--debug) SET_X="true";;
-+ -V|--version) show_version;;
-+ -h|--help) show_usage;;
-+ --) shift; LOCALEDEF_OPTS=$*; break;;
-+ *) show_usage $1;;
-+ 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}
-+fi
-+[[ ${JOBS_MAX} -lt 1 ]] && JOBS_MAX=1
-+[[ -n ${SET_X} ]] && set -x
-+: ${KEEP:=${JUST_LIST}}
-+[[ -n ${GENERATE} ]] && UPDATE="true" && KEEP="true"
-+
-+: ${ROOT:=/}
-+ROOT="${ROOT%/}/"
-+if [[ -n ${DESTDIR} ]] && [[ ${ROOT} != "/" ]] ; then
-+ eerror "DESTDIR and ROOT are mutually exclusive options"
-+ exit 1
-+fi
-+: ${EROOT:="${ROOT%/}${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
-+SUPPORTED=${DESTDIR}usr/share/i18n/SUPPORTED
-+ALIAS=${DESTDIR}usr/share/locale/locale.alias
-+
-+#
-+# Grab any user options in their config file
-+options=$(sed -n \
-+ -e '/^[[:space:]]*#%/s:^[[:space:]]*#%[[:space:]]*::p'\
-+ "${CONFIG}" 2>/dev/null
-+)
-+IFS=$'\n'
-+for option in ${options} ; do
-+ case ${option} in
-+ no-locale-archive)
-+ LOCALE_ARCHIVE=false
-+ ;;
-+ *)
-+ ewarn "Unrecognized option '${option}'"
-+ ;;
-+ esac
-+done
-+unset IFS
-+
-+[[ -n ${ALL} ]] && CONFIG=${SUPPORTED}
-+
-+# Extract the location of the locale dir on the fly as `localedef --help` has:
-+# locale path : /usr/lib64/locale:/usr/share/i18n
-+# For long paths, the line may get wrapped into two, in which case space (' ') is replaced
-+# by newline (\n).
-+LOCALEDIR=$(LC_ALL="C" "${DESTDIR}"usr/bin/localedef --help | sed -n -r '/locale path/{N;s|.*:[ \n](.*):/.*|\1|;p}')
-+LOCALEDIR="${DESTDIR}${LOCALEDIR#${EPREFIX}}"
-+if [[ $? -ne 0 ]] || [[ -z ${LOCALEDIR} ]] || [[ ${LOCALEDIR} != ${DESTDIR}/usr/lib*/locale ]] ; then
-+ eerror "Unable to parse the output of your localedef utility." 1>&2
-+ eerror "File a bug about this issue and include the output of 'localedef --help'." 1>&2
-+ exit 1
-+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
-+ locales_to_generate=$(sed \
-+ -e 's:#.*::' \
-+ -e '/^[[:space:]]*$/d' \
-+ "${CONFIG}" | sort)
-+ # Sanity check to make sure people did not duplicate entries. #550884
-+ # The first column must be unique specifically. #235555
-+ dup_locales_to_generate=$(
-+ echo "${locales_to_generate}" | \
-+ 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 "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"
-+ 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 ...
-+normalize() {
-+ if [[ $1 == *.* ]] ; then
-+ local ret=$(echo ${1##*.} | tr '[[:upper:]]' '[[:lower:]]')
-+ echo ${1%%.*}.${ret//-}
-+ else
-+ echo $1
-+ fi
-+}
-+
-+# These funky sed's are based on the stuff in glibc's localedata/Makefile
-+# Basically we want to rewrite the display like so:
-+# <locale without a . or @>.<charmap>[@extra stuff after the @ in the locale]
-+# en_US ISO-8859-1 -> en_US.ISO-8859-1
-+# en_US.UTF-8 UTF-8 -> en_US.UTF-8
-+# de_DE@euro ISO-8859-15 -> de_DE.ISO-8859-15@euro
-+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:')
-+
-+eval declare -a locales_disp=(${locales_disp})
-+eval declare -a locales_to_generate=(${locales_to_generate})
-+total=$(( ${#locales_to_generate[*]} / 2 ))
-+
-+[[ ${QUIET} -eq 0 ]] && [[ -z ${JUST_LIST} ]] && \
-+einfo "Generating ${total} locales (this might take a while) with ${JOBS_MAX} jobs"
-+
-+if [[ -n ${UPDATE} ]] ; then
-+ # normalize newlines into spaces
-+ existing_locales=" $(echo $(locale -a 2>/dev/null)) "
-+fi
-+
-+generate_locale() {
-+ local output=""
-+
-+ if [[ -z ${ASK} ]] && [[ ${QUIET} -eq 0 ]] ; then
-+ output=" (${cnt_fmt}/${total}) Generating ${disp}"
-+ fi
-+
-+ if [[ $(( JOB_IDX_E - JOB_IDX_S )) == ${JOBS_MAX} ]] ; then
-+ wait ${JOB_PIDS[$(( JOB_IDX_S++ ))]}
-+ JOB_RETS+=( $? )
-+ fi
-+ (
-+ # Accumulate all the output in one go so the parallel
-+ # jobs don't tromp on each other
-+ x=$(
-+ [[ -n ${output} ]] && ebegin "${output}"
-+ # 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}
-+ )
-+ ret=$?
-+ if [[ -n ${output} ]] ; then
-+ echo "${x}"
-+ elif [[ ${ret} -ne 0 ]] ; then
-+ eerror "${disp}: ${x}"
-+ 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=()
-+JOB_RETS=()
-+JOB_IDX_S=0
-+JOB_IDX_E=0
-+cnt=0
-+lidx=0
-+while [[ -n ${locales_to_generate[${lidx}]} ]] ; do
-+ : $(( ++cnt ))
-+ locale=${locales_to_generate[$((lidx++))]}
-+ charmap=${locales_to_generate[$((lidx++))]}
-+
-+ # XXX: if we wanted to, we could check existence of
-+ # ${LOCALES}/${locale} and ${CHARMAPS}/${charmap}
-+ # this would fail for things like "en_US.UTF8", but
-+ # in that case we could fall back to checking the
-+ # SUPPORTED file ... then again, the localedef
-+ # below will abort nicely for us ...
-+ if [[ -z ${locale} || -z ${charmap} ]] ; then
-+ eerror "Bad entry in locale.gen: '${locale} ${charmap}'; skipping"
-+ continue
-+ fi
-+
-+ 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
-+ fi
-+ fi
-+
-+ # If the locale is like 'en_US.UTF8', then we really want 'en_US'
-+ if [[ -f ${LOCALES}/${locale} ]] ; then
-+ input=${locale}
-+ else
-+ input=${locale%%.*}
-+ fi
-+
-+ if [[ -z ${JUST_LIST} ]] ; then
-+ # Format the output for the question/status
-+ cnt_fmt=$(printf "%${#total}i" ${cnt})
-+ if [[ -n ${ASK} ]] ; then
-+ einfon " (${cnt_fmt}/${total}) Generate ${disp} ? (Y/n) "
-+ read user_answer
-+ [[ ${user_answer} == [nN]* ]] && continue
-+ fi
-+ generate_locale
-+ else
-+ echo "${disp}"
-+ fi
-+done
-+
-+for (( i = JOB_IDX_S; i < JOB_IDX_E; ++i )) ; do
-+ wait ${JOB_PIDS[i]}
-+ JOB_RETS+=( $? )
-+done
-+ret=$(( 0 ${JOB_RETS[@]/#/+} ))
-+
-+[[ ${QUIET} -eq 0 ]] && [[ -z ${JUST_LIST} ]] && \
-+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 . \
-+ "${DESTDIR}"usr/bin/localedef \
-+ --add-to-archive "${LOC}" \
-+ --replace \
-+ --prefix "${DESTDIR%${EPREFIX}/}/"
-+ fi
-+ 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} ]] && [[ -z ${JUST_LIST} ]] ; then
-+ # Ignore these pseudo locales
-+ existing_locales=${existing_locales/ C / }
-+ existing_locales=${existing_locales/ POSIX / }
-+ if [[ -n ${existing_locales// } ]] ; then
-+ if [[ -z ${KEEP} ]] ; then
-+ [[ ${QUIET} -eq 0 ]] && einfo "Scrubbing old locales:"${existing_locales}
-+ cd "${LOCALEDIR}" && rm -rf ${existing_locales}
-+ else
-+ [[ ${QUIET} -eq 0 ]] && einfo "Keeping old locales:"${existing_locales}
-+ fi
-+ fi
-+fi
-+
-+exit ${ret}
-diff --git a/scripts/gentoo/extra/locale/locale-gen.8 b/scripts/gentoo/extra/locale/locale-gen.8
-new file mode 100644
-index 0000000000..a194be742c
---- /dev/null
-+++ b/scripts/gentoo/extra/locale/locale-gen.8
-@@ -0,0 +1,69 @@
-+.TH "locale-gen" "8" "Aug 2007" "Gentoo"
-+.SH "NAME"
-+locale\-gen \- generate locales on the fly
-+.SH "DESCRIPTION"
-+The locale\-gen utility is used to manage locales on your system. Often times
-+it merely generates a user configurable list of locales, but it can be used to
-+generate a few locales on the fly as needed.
-+
-+Normally all locales would be generated at build time, but this leads to waste
-+of disk and time as many users really just want a handful on their system.
-+.SH "OPTIONS"
-+.TP
-+\fB\-a\fR, \fB\-\-ask\fR
-+Ask before generating each locale
-+.TP
-+\fB\-A\fR, \fB\-\-all\fR
-+Generate all possible locales
-+.TP
-+\fB\-c\fR, \fB\-\-config\fR \fI<config>\fR
-+Use specified \fIconfig\fR file rather than default /etc/locale.gen
-+.TP
-+\fB\-d\fR, \fB\-\-destdir\fR \fI<dir>\fR
-+Look for locale definitions and store generated locale data in the specified
-+\fIdirectory\fR
-+.TP
-+\fB\-G\fR, \fB\-\-generate\fR \fI<locale>\fR
-+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)
-+.TP
-+\fB\-j\fR, \fB\-\-jobs\fR \fI<num>\fR
-+Generate the specified \fInumber\fR of locales in parallel
-+.TP
-+\fB\-k\fR, \fB\-\-keep\fR
-+Keep all existing locales even if they are not in the config file
-+.TP
-+\fB\-l\fR, \fB\-\-list\fR
-+List all the locales that we think should exist according to the config
-+.TP
-+\fB\-q\fR, \fB\-\-quiet\fR
-+Only spit out errors
-+.TP
-+\fB\-u\fR, \fB\-\-update\fR
-+Only generate locales that do not already exist (normally existing locales are regenerated)
-+.TP
-+\fB\-V\fR, \fB\-\-version\fR
-+Report the program version
-+.TP
-+\fB\-\-\fR
-+To pass custom options directly to the \fBlocaledef\fR utility, end the
-+\fBlocale\-gen\fR option list with \-\- and then everything after that will be
-+passed on through unmolested (the options \-c are passed by default)
-+.SH "AUTHORS"
-+.fi
-+Mike Frysinger <vapier@gentoo.org>
-+.nf
-+.SH "REPORTING BUGS"
-+Please report bugs via http://bugs.gentoo.org/
-+.SH "FILES"
-+\fB/etc/locale.gen\fR \- locale list
-+.SH "SEE ALSO"
-+.BR locale (1),
-+.BR localedef (1),
-+.BR locale (5),
-+.BR locale.gen (5),
-+.BR locale (7)
-diff --git a/scripts/gentoo/extra/locale/locale.gen b/scripts/gentoo/extra/locale/locale.gen
-new file mode 100644
-index 0000000000..0786f1725f
---- /dev/null
-+++ b/scripts/gentoo/extra/locale/locale.gen
-@@ -0,0 +1,36 @@
-+# /etc/locale.gen: list all of the locales you want to have on your system.
-+# See the locale.gen(5) man page for more details.
-+#
-+# The format of each line:
-+# <locale name> <charset>
-+#
-+# Where <locale name> starts with a name as found in /usr/share/i18n/locales/.
-+# It must be unique in the file as it is used as the key to locale variables.
-+# For non-default encodings, the <charset> is typically appended.
-+#
-+# Where <charset> is a charset located in /usr/share/i18n/charmaps/ (sans any
-+# suffix like ".gz").
-+#
-+# All blank lines and lines starting with # are ignored.
-+#
-+# For the default list of supported combinations, see the file:
-+# /usr/share/i18n/SUPPORTED
-+#
-+# Whenever glibc is emerged, the locales listed here will be automatically
-+# rebuilt for you. After updating this file, you can simply run `locale-gen`
-+# yourself instead of re-emerging glibc.
-+
-+#en_US ISO-8859-1
-+#en_US.UTF-8 UTF-8
-+#ja_JP.EUC-JP EUC-JP
-+#ja_JP.UTF-8 UTF-8
-+#ja_JP EUC-JP
-+#en_HK ISO-8859-1
-+#en_PH ISO-8859-1
-+#de_DE ISO-8859-1
-+#de_DE@euro ISO-8859-15
-+#es_MX ISO-8859-1
-+#fa_IR UTF-8
-+#fr_FR ISO-8859-1
-+#fr_FR@euro ISO-8859-15
-+#it_IT ISO-8859-1
-diff --git a/scripts/gentoo/extra/locale/locale.gen.5 b/scripts/gentoo/extra/locale/locale.gen.5
-new file mode 100644
-index 0000000000..dbcc8c6347
---- /dev/null
-+++ b/scripts/gentoo/extra/locale/locale.gen.5
-@@ -0,0 +1,77 @@
-+.\" -*- nroff -*-
-+.\" Copyright (C) 2002, 2005 Free Software Foundation, Inc.
-+.\"
-+.\" This program is free software; you can redistribute it and/or modify
-+.\" it under the terms of the GNU General Public License as published by
-+.\" the Free Software Foundation; either version 2, or (at your option)
-+.\" any later version.
-+.\"
-+.\" This program is distributed in the hope that it will be useful,
-+.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
-+.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+.\" GNU General Public License for more details.
-+.\"
-+.\" You should have received a copy of the GNU General Public License
-+.\" along with this program; if not, write to the Free Software Foundation,
-+.\" Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-+.TH locale.gen 5 "July 2005" "Debian GNU/Linux"
-+.SH "NAME"
-+locale.gen \- Configuration file for locale-gen
-+.SH "DESCRIPTION"
-+The file \fB/etc/locale.gen\fP lists the locales that are to be generated
-+by the \fBlocale-gen\fP command.
-+
-+Each line is of the form:
-+
-+<locale name> <charset>
-+
-+Where <locale name> starts with a name as found in
-+.BR /usr/share/i18n/locales/ .
-+It must be unique in the file as it is used as the key to locale variables
-+(e.g. when you do `export LANG="<locale name>"`). For default encodings,
-+the <charset> is typically omitted, else it is appended with a "." separator.
-+
-+Where <charset> is one of the character sets listed in
-+.B /usr/share/i18n/charmaps
-+(sans any suffix like ".gz"). It should use the same naming conventions too --
-+all caps, and dashes/underscores included. e.g. Use "UTF-8", not "utf8".
-+
-+The
-+.B locale-gen
-+command will generate all the locales, placing them in
-+\fB/usr/lib/locale\fP.
-+
-+Comments start with the hash mark # and may only be on new lines.
-+.SH "OPTIONS"
-+Options start with #% (to preserve backwards compatibility).
-+
-+# This enables the "foo" option.
-+.br
-+#%foo
-+.TP
-+.B no-locale-archive
-+Disable generation of the locale archive file and instead generate multiple
-+files/directories for each locale. This slows down runtime greatly (by having
-+multiple files spread out in the filesystem instead of a single binary file),
-+but it does mean build time is much faster (as you can generate in parallel).
-+
-+You should not use this option.
-+.SH "EXAMPLES"
-+.nf
-+# Create a "en_US" locale using ISO-8859-1 encoding.
-+# When you set LANG=en_US or LANG=en_US.ISO-8859-1, this is used.
-+.B en_US ISO-8859-1
-+
-+# Create a "en_US" locale using UTF-8 encoding.
-+# When you set LANG=en_US.UTF-8, this is used.
-+.B en_US.UTF-8 UTF-8
-+.fi
-+.SH "SEE ALSO"
-+.BR locale (1),
-+.BR localedef (1),
-+.BR locale-gen (8)
-+.SH "AUTHORS"
-+.nf
-+Alastair McKinstry <mckinstry@computer.org>
-+Mike Frysinger <vapier@gentoo.org>
-+.fi
-diff --git a/scripts/gentoo/make-tarball.sh b/scripts/gentoo/make-tarball.sh
-new file mode 100755
-index 0000000000..a4f380d632
---- /dev/null
-+++ b/scripts/gentoo/make-tarball.sh
-@@ -0,0 +1,107 @@
-+#!/bin/bash
-+
-+PN="glibc"
-+PV=${1%/}
-+pver=$2
-+
-+if [[ -z ${PV} ]] ; then
-+ echo "Usage: $0 glibc-version patchset-version-to-be-created"
-+ echo "Please read the script before trying to use it :)"
-+ exit 1
-+fi
-+
-+# check that we're in the root of a glibc git repo
-+
-+if [[ ! -f libc-abis ]] || [[ ! -d .git ]] ; then
-+ echo "Error: You need to call this script in the main directory of a Gentoo glibc git clone"
-+ exit 1
-+fi
-+
-+# check that we're on a branch gentoo/${PV}
-+
-+mybranchinfo=$(git status --porcelain -b|grep '^##')
-+mybranch=$(echo ${mybranchinfo}|sed -e 's:^## ::' -e 's:\.\.\..*$::')
-+if [[ ! "gentoo/${PV}" == "${mybranch}" ]] ; then
-+ echo "Error: Your git repository is on the incorrect branch ${mybranch}; should be gentoo/${PV}"
-+ exit 1
-+fi
-+
-+# check that the working directory is clean
-+
-+mystatusinfo=$(git status --porcelain)
-+if [[ ! -z "${mystatusinfo}" ]] ; then
-+ echo "Error: Your working directory is not clean"
-+ exit 1
-+fi
-+
-+# check if the tag already exists
-+
-+mytaginfo=$(git tag -l|grep "gentoo/glibc-${PV}-${pver}")
-+if [[ ! -z "${mytaginfo}" ]] ; then
-+ echo "Error: A tag corresponding to this patch level already exists (gentoo/glibc-${PV}-${pver})"
-+ exit 1
-+fi
-+
-+# luckily glibc git has no /tmp dir and no tar.xz files, but let's better check and be pathologically careful
-+
-+if [[ -e tmp ]] || [[ -e ${PN}-${PV}-patches-${pver}.tar.xz ]] ; then
-+ echo "Error: tmp or ${PN}-${PV}-patches-${pver}.tar.xz exists in git"
-+ exit 1
-+fi
-+rm -rf tmp
-+rm -f ${PN}-${PV}-*.tar.xz
-+
-+for myname in 0*.patch ; do
-+ if [[ -e ${myname} ]]; then
-+ echo "Error: ${myname} exists in git"
-+ exit 1
-+ fi
-+done
-+rm -f 0*.patch
-+
-+mkdir -p tmp/patches
-+
-+# copy README.Gentoo.patches
-+
-+cp scripts/gentoo/README.Gentoo.patches tmp/ || exit 1
-+
-+# create and rename patches
-+
-+if [[ "${PV}" == "9999" ]]; then
-+ # we're working with master, start from upstream master
-+ startpoint="master"
-+else
-+ # release branch, start from upstream release tag
-+ startpoint="glibc-${PV}"
-+fi
-+
-+git format-patch ${startpoint}..HEAD > /dev/null
-+
-+# remove all patches where the summary line starts with [no-tarball] or [no-patch]
-+
-+rm -f 0???-no-tarball-*.patch
-+rm -f 0???-no-patch-*.patch
-+
-+# move patches into temporary directory
-+
-+mv 0*.patch tmp/patches/ || exit 1
-+
-+# copy support files
-+
-+cp -r scripts/gentoo/extra tmp/ || exit 1
-+
-+# add a history file
-+
-+git log --stat --decorate ${startpoint}..HEAD > tmp/patches/README.history || exit 1
-+
-+# package everything up
-+
-+tar -Jcf ${PN}-${PV}-patches-${pver}.tar.xz \
-+ -C tmp patches extra README.Gentoo.patches || exit 1
-+rm -r tmp
-+
-+du -b *.tar.xz
-+
-+# tag the commit
-+
-+git tag -s -m "Gentoo patchset ${PV}-${pver}" "gentoo/glibc-${PV}-${pver}"
---
-2.26.2
-