[gnome-continuous-yocto/gnomeostree-3.28-rocko: 188/218] cross-localedef-native: add way to specify which locale archive to write



commit d01564bb48a706c228563a74e19813548d8a0a0b
Author: Ross Burton <ross burton intel com>
Date:   Thu Mar 1 18:26:28 2018 +0000

    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: 14bcbecb6c19367ae0864a27750c8ea24681d48f)
    
    (From OE-Core rev: 6c7c5f3e23278067a8585debe32dfd0955090b91)
    
    Signed-off-by: Ross Burton <ross burton intel com>
    Signed-off-by: Richard Purdie <richard purdie linuxfoundation org>

 .../glibc/cross-localedef-native_2.26.bb           |    1 +
 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.26.bb 
b/meta/recipes-core/glibc/cross-localedef-native_2.26.bb
index af02a0c..744085f 100644
--- a/meta/recipes-core/glibc/cross-localedef-native_2.26.bb
+++ b/meta/recipes-core/glibc/cross-localedef-native_2.26.bb
@@ -35,6 +35,7 @@ SRC_URI = "${GLIBC_GIT_URI};branch=${SRCBRANCH};name=glibc \
            file://0021-eglibc-Install-PIC-archives.patch \
            file://0022-eglibc-Forward-port-cross-locale-generation-support.patch \
            file://0023-Define-DUMMY_LOCALE_T-if-not-defined.patch \
+           file://archive-path.patch \
 "
 # Makes for a rather long rev (22 characters), but...
 #
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 0000000..b0d3158
--- /dev/null
+++ b/meta/recipes-core/glibc/glibc/archive-path.patch
@@ -0,0 +1,39 @@
+localedef --add-to-archive uses a hard-coded locale path which 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 <ross burton intel com>
+
+diff --git a/locale/programs/locarchive.c b/locale/programs/locarchive.c
+index ca332a34..6b7ba9b2 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)
+               {


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]