[gnome-continuous-yocto/gnomeostree-3.28-rocko: 4008/8267] opkg: fix conffile errors in 'opkg status' calls



commit b894376415d09781890fa03d5643e9e05248f11e
Author: Ross Burton <ross burton intel com>
Date:   Tue Jan 10 15:39:47 2017 +0000

    opkg: fix conffile errors in 'opkg status' calls
    
    If a conffile has been deleted (common when building a debugfs) the status
    command will throw errors instead of handling that situation.  Stop the code
    being executed in the first place if it wasn't asked for, and handle errors
    gracefully.
    
    [ YOCTO #10761 ]
    
    (From OE-Core rev: 0aaaacdf4456fe832b1c3940997c097e7e94b9e6)
    
    Signed-off-by: Ross Burton <ross burton intel com>
    Signed-off-by: Richard Purdie <richard purdie linuxfoundation org>

 .../opkg/opkg/status-conffile.patch                |   69 ++++++++++++++++++++
 meta/recipes-devtools/opkg/opkg_0.3.4.bb           |    1 +
 2 files changed, 70 insertions(+), 0 deletions(-)
---
diff --git a/meta/recipes-devtools/opkg/opkg/status-conffile.patch 
b/meta/recipes-devtools/opkg/opkg/status-conffile.patch
new file mode 100644
index 0000000..6fc405b
--- /dev/null
+++ b/meta/recipes-devtools/opkg/opkg/status-conffile.patch
@@ -0,0 +1,69 @@
+Upstream-Status: Submitted
+Signed-off-by: Ross Burton <ross burton intel com>
+
+From 086d5083dfe0102368cb7c8ce89b0c06b64ca773 Mon Sep 17 00:00:00 2001
+From: Ross Burton <ross burton intel com>
+Date: Tue, 10 Jan 2017 15:24:59 +0000
+Subject: [PATCH 1/2] opkg_cmd: only look at conffile status if we're going to
+ output it
+
+The loop to compare the recorded conffile hash with their hash on disk is
+outputted at level INFO but the loop was executed at level NOTICE and higher.
+
+This means that if a conffile had been deleted the status operation would
+produce error messages for output it isn't displaying.
+
+Signed-off-by: Ross Burton <ross burton intel com>
+---
+ libopkg/opkg_cmd.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/libopkg/opkg_cmd.c b/libopkg/opkg_cmd.c
+index ba57c6a..37416fd 100644
+--- a/libopkg/opkg_cmd.c
++++ b/libopkg/opkg_cmd.c
+@@ -638,7 +638,7 @@ static int opkg_info_status_cmd(int argc, char **argv, int installed_only)
+ 
+         pkg_formatted_info(stdout, pkg);
+ 
+-        if (opkg_config->verbosity >= NOTICE) {
++        if (opkg_config->verbosity >= INFO) {
+             conffile_list_elt_t *iter;
+             for (iter = nv_pair_list_first(&pkg->conffiles); iter;
+                  iter = nv_pair_list_next(&pkg->conffiles, iter)) {
+-- 
+2.8.1
+
+From 225e30e0f9fa7cfeaa3f89e2713e5147ab371def Mon Sep 17 00:00:00 2001
+From: Ross Burton <ross burton intel com>
+Date: Tue, 10 Jan 2017 15:28:47 +0000
+Subject: [PATCH 2/2] conffile: gracefully handle deleted conffiles in
+ conffile_has_been_modified
+
+Handle conffiles that don't exist gracefully so that instead of showing an error
+message from file_md5sum_alloc() a notice that the file has been deleted is
+shown instead.
+
+Signed-off-by: Ross Burton <ross burton intel com>
+---
+ libopkg/conffile.c | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+diff --git a/libopkg/conffile.c b/libopkg/conffile.c
+index b2f2469..7b4b87b 100644
+--- a/libopkg/conffile.c
++++ b/libopkg/conffile.c
+@@ -51,6 +51,11 @@ int conffile_has_been_modified(conffile_t * conffile)
+     }
+ 
+     root_filename = root_filename_alloc(filename);
++    if (!file_exists(root_filename)) {
++        opkg_msg(INFO, "Conffile %s deleted\n", conffile->name);
++        free(root_filename);
++        return 1;
++    }
+ 
+     md5sum = file_md5sum_alloc(root_filename);
+ 
+-- 
+2.8.1
diff --git a/meta/recipes-devtools/opkg/opkg_0.3.4.bb b/meta/recipes-devtools/opkg/opkg_0.3.4.bb
index 5cf2fac..6ac9438 100644
--- a/meta/recipes-devtools/opkg/opkg_0.3.4.bb
+++ b/meta/recipes-devtools/opkg/opkg_0.3.4.bb
@@ -15,6 +15,7 @@ SRC_URI = "http://downloads.yoctoproject.org/releases/${BPN}/${BPN}-${PV}.tar.gz
            file://opkg-configure.service \
            file://opkg.conf \
            file://0001-opkg_conf-create-opkg.lock-in-run-instead-of-var-run.patch \
+           file://status-conffile.patch \
 "
 
 SRC_URI[md5sum] = "6c52a065499056a196e0b45a27e392de"


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