diff options
| author | Ross Burton <ross.burton@intel.com> | 2018-03-01 18:26:28 +0000 |
|---|---|---|
| committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2018-04-05 15:13:48 +0100 |
| commit | 5f6fc4ba8fe52f6a8c0aa77892177bf03427835b (patch) | |
| tree | e86bf67681e69dcbaef108c5917670d2fb8f8ff8 /meta | |
| parent | 1eebf6ed45e289d93e8025710e4f7f501bf88f4c (diff) | |
| download | poky-5f6fc4ba8fe52f6a8c0aa77892177bf03427835b.tar.gz | |
cross-localedef-native: add way to specify which locale archive to write
localedef has no way to specify which locale archive to use, and the
compile-time default isn't useful as it points to the work directory.
Add support to read an environmental variable for the path, and don't fail to
write a new locale archive.
(From OE-Core rev: bf0f205a3c3714926649bd69db29e4df1c0ea112)
(From OE-Core rev: 38b0e8d9b1944a955e4ed682184dafdce20db4b9)
(From OE-Core rev: 3c67ea2f357b6f97cce2fcbaef4dfd79b435ad6e)
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta')
| -rw-r--r-- | meta/recipes-core/glibc/cross-localedef-native_2.24.bb | 1 | ||||
| -rw-r--r-- | meta/recipes-core/glibc/glibc/archive-path.patch | 39 |
2 files changed, 40 insertions, 0 deletions
diff --git a/meta/recipes-core/glibc/cross-localedef-native_2.24.bb b/meta/recipes-core/glibc/cross-localedef-native_2.24.bb index 4a77eee2c9..ceaaf97308 100644 --- a/meta/recipes-core/glibc/cross-localedef-native_2.24.bb +++ b/meta/recipes-core/glibc/cross-localedef-native_2.24.bb | |||
| @@ -37,6 +37,7 @@ SRC_URI = "${GLIBC_GIT_URI};branch=${SRCBRANCH};name=glibc \ | |||
| 37 | file://0024-eglibc-Forward-port-cross-locale-generation-support.patch \ | 37 | file://0024-eglibc-Forward-port-cross-locale-generation-support.patch \ |
| 38 | file://0025-Define-DUMMY_LOCALE_T-if-not-defined.patch \ | 38 | file://0025-Define-DUMMY_LOCALE_T-if-not-defined.patch \ |
| 39 | file://0001-Include-locale_t.h-compatibility-header.patch \ | 39 | file://0001-Include-locale_t.h-compatibility-header.patch \ |
| 40 | file://archive-path.patch \ | ||
| 40 | " | 41 | " |
| 41 | # Makes for a rather long rev (22 characters), but... | 42 | # Makes for a rather long rev (22 characters), but... |
| 42 | # | 43 | # |
diff --git a/meta/recipes-core/glibc/glibc/archive-path.patch b/meta/recipes-core/glibc/glibc/archive-path.patch new file mode 100644 index 0000000000..b0d3158cfe --- /dev/null +++ b/meta/recipes-core/glibc/glibc/archive-path.patch | |||
| @@ -0,0 +1,39 @@ | |||
| 1 | localedef --add-to-archive uses a hard-coded locale path which doesn't exist in | ||
| 2 | normal use, and there's no way to pass an alternative filename. | ||
| 3 | |||
| 4 | Add a fallback of $LOCALEARCHIVE from the environment, and allow creation of new locale archives that are not the system archive. | ||
| 5 | |||
| 6 | Upstream-Status: Inappropriate (OE-specific) | ||
| 7 | Signed-off-by: Ross Burton <ross.burton@intel.com> | ||
| 8 | |||
| 9 | diff --git a/locale/programs/locarchive.c b/locale/programs/locarchive.c | ||
| 10 | index ca332a34..6b7ba9b2 100644 | ||
| 11 | --- a/locale/programs/locarchive.c | ||
| 12 | +++ b/locale/programs/locarchive.c | ||
| 13 | @@ -569,10 +569,13 @@ open_archive (struct locarhandle *ah, bool readonly) | ||
| 14 | /* If ah has a non-NULL fname open that otherwise open the default. */ | ||
| 15 | if (archivefname == NULL) | ||
| 16 | { | ||
| 17 | - archivefname = default_fname; | ||
| 18 | - if (output_prefix) | ||
| 19 | - memcpy (default_fname, output_prefix, prefix_len); | ||
| 20 | - strcpy (default_fname + prefix_len, ARCHIVE_NAME); | ||
| 21 | + archivefname = getenv("LOCALEARCHIVE"); | ||
| 22 | + if (archivefname == NULL) { | ||
| 23 | + archivefname = default_fname; | ||
| 24 | + if (output_prefix) | ||
| 25 | + memcpy (default_fname, output_prefix, prefix_len); | ||
| 26 | + strcpy (default_fname + prefix_len, ARCHIVE_NAME); | ||
| 27 | + } | ||
| 28 | } | ||
| 29 | |||
| 30 | while (1) | ||
| 31 | @@ -585,7 +588,7 @@ open_archive (struct locarhandle *ah, bool readonly) | ||
| 32 | the default locale archive we ignore the failure and | ||
| 33 | list an empty archive, otherwise we print an error | ||
| 34 | and exit. */ | ||
| 35 | - if (errno == ENOENT && archivefname == default_fname) | ||
| 36 | + if (errno == ENOENT) | ||
| 37 | { | ||
| 38 | if (readonly) | ||
| 39 | { | ||
