From 5a6f019ded549faaf42478f6f96428dc7c20606e Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Fri, 3 Aug 2018 09:42:06 -0700 Subject: [PATCH 29/30] localedef --add-to-archive uses a hard-coded locale path it doesn't exist in normal use, and there's no way to pass an alternative filename. Add a fallback of $LOCALEARCHIVE from the environment, and allow creation of new locale archives that are not the system archive. Upstream-Status: Inappropriate (OE-specific) Signed-off-by: Ross Burton Signed-off-by: Khem Raj --- locale/programs/locarchive.c | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/locale/programs/locarchive.c b/locale/programs/locarchive.c index ca332a345f..6b7ba9b2e3 100644 --- a/locale/programs/locarchive.c +++ b/locale/programs/locarchive.c @@ -569,10 +569,13 @@ open_archive (struct locarhandle *ah, bool readonly) /* If ah has a non-NULL fname open that otherwise open the default. */ if (archivefname == NULL) { - archivefname = default_fname; - if (output_prefix) - memcpy (default_fname, output_prefix, prefix_len); - strcpy (default_fname + prefix_len, ARCHIVE_NAME); + archivefname = getenv("LOCALEARCHIVE"); + if (archivefname == NULL) { + archivefname = default_fname; + if (output_prefix) + memcpy (default_fname, output_prefix, prefix_len); + strcpy (default_fname + prefix_len, ARCHIVE_NAME); + } } while (1) @@ -585,7 +588,7 @@ open_archive (struct locarhandle *ah, bool readonly) the default locale archive we ignore the failure and list an empty archive, otherwise we print an error and exit. */ - if (errno == ENOENT && archivefname == default_fname) + if (errno == ENOENT) { if (readonly) { -- 2.18.0