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>
This commit is contained in:
parent
3f6504dc65
commit
b894376415
|
@ -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
|
|
@ -15,6 +15,7 @@ SRC_URI = "http://downloads.yoctoproject.org/releases/${BPN}/${BPN}-${PV}.tar.gz
|
||||||
file://opkg-configure.service \
|
file://opkg-configure.service \
|
||||||
file://opkg.conf \
|
file://opkg.conf \
|
||||||
file://0001-opkg_conf-create-opkg.lock-in-run-instead-of-var-run.patch \
|
file://0001-opkg_conf-create-opkg.lock-in-run-instead-of-var-run.patch \
|
||||||
|
file://status-conffile.patch \
|
||||||
"
|
"
|
||||||
|
|
||||||
SRC_URI[md5sum] = "6c52a065499056a196e0b45a27e392de"
|
SRC_URI[md5sum] = "6c52a065499056a196e0b45a27e392de"
|
||||||
|
|
Loading…
Reference in New Issue