* [PATCH v2] opkg: Fix add-exclude.patch
@ 2014-02-19 15:15 Paul Barker
2014-02-19 15:19 ` Mark Hatle
0 siblings, 1 reply; 2+ messages in thread
From: Paul Barker @ 2014-02-19 15:15 UTC (permalink / raw)
To: openembedded-core; +Cc: Saul Wold
The case statement for ARGS_OPT_ADD_EXCLUDE added to the argument handling
switch statement in opkg was missing a "break;" at the end, so it was falling
through into the handler for ARGS_OPT_NOACTION. Thus when "--add-exclude" was
specified on the command line it was as if "--noaction" was also being
specified. This appears to be the root cause of YP bug 5311.
Tested using the case described by Alexandru Georgescu in YP bug 5311:
MACHINE ??= "qemux86"
IMAGE_INSTALL_append = " man"
PACKAGE_EXCLUDE = "man"
PACKAGE_CLASSES ?= "package_ipk"
Built image and boot tested on qemu, ensured that man was not installed but the
rest of the system was installed correctly.
Signed-off-by: Paul Barker <paul@paulbarker.me.uk>
Cc: Mark Hatle <mark.hatle@windriver.com>
Cc: Saul Wold <saul.wold@intel.com>
Cc: Alexandru Georgescu <alexandru.c.georgescu@intel.com>
---
Changes:
V2: Used 'editdiff' to ensure the patch offsets were updated.
meta/recipes-devtools/opkg/opkg/add-exclude.patch | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/meta/recipes-devtools/opkg/opkg/add-exclude.patch b/meta/recipes-devtools/opkg/opkg/add-exclude.patch
index 8489058..8d328d5 100644
--- a/meta/recipes-devtools/opkg/opkg/add-exclude.patch
+++ b/meta/recipes-devtools/opkg/opkg/add-exclude.patch
@@ -84,7 +84,7 @@ Index: trunk/src/opkg-cl.c
{"test", 0, 0, ARGS_OPT_NOACTION},
{"tmp-dir", 1, 0, 't'},
{"tmp_dir", 1, 0, 't'},
-@@ -198,6 +200,17 @@ args_parse(int argc, char *argv[])
+@@ -198,6 +200,18 @@ args_parse(int argc, char *argv[])
}
free(tuple);
break;
@@ -99,10 +99,11 @@ Index: trunk/src/opkg-cl.c
+ conf->exclude_list = realloc(conf->exclude_list, sizeof(char *) * conf->exclude_count);
+ conf->exclude_list[conf->exclude_count - 1] = tuple;
+ }
++ break;
case ARGS_OPT_NOACTION:
conf->noaction = 1;
break;
-@@ -282,6 +295,7 @@ usage()
+@@ -282,6 +296,7 @@ usage()
printf("\t--offline-root <dir> offline installation of packages.\n");
printf("\t--add-arch <arch>:<prio> Register architecture with given priority\n");
printf("\t--add-dest <name>:<path> Register destination with given path\n");
--
1.9.0
^ permalink raw reply related [flat|nested] 2+ messages in thread* Re: [PATCH v2] opkg: Fix add-exclude.patch
2014-02-19 15:15 [PATCH v2] opkg: Fix add-exclude.patch Paul Barker
@ 2014-02-19 15:19 ` Mark Hatle
0 siblings, 0 replies; 2+ messages in thread
From: Mark Hatle @ 2014-02-19 15:19 UTC (permalink / raw)
To: Paul Barker, openembedded-core; +Cc: Saul Wold
On 2/19/14, 9:15 AM, Paul Barker wrote:
> The case statement for ARGS_OPT_ADD_EXCLUDE added to the argument handling
> switch statement in opkg was missing a "break;" at the end, so it was falling
> through into the handler for ARGS_OPT_NOACTION. Thus when "--add-exclude" was
> specified on the command line it was as if "--noaction" was also being
> specified. This appears to be the root cause of YP bug 5311.
>
> Tested using the case described by Alexandru Georgescu in YP bug 5311:
>
> MACHINE ??= "qemux86"
> IMAGE_INSTALL_append = " man"
> PACKAGE_EXCLUDE = "man"
> PACKAGE_CLASSES ?= "package_ipk"
>
> Built image and boot tested on qemu, ensured that man was not installed but the
> rest of the system was installed correctly.
>
> Signed-off-by: Paul Barker <paul@paulbarker.me.uk>
> Cc: Mark Hatle <mark.hatle@windriver.com>
Acked-by: Mark Hatle <mark.hatle@windriver.com>
> Cc: Saul Wold <saul.wold@intel.com>
> Cc: Alexandru Georgescu <alexandru.c.georgescu@intel.com>
> ---
> Changes:
>
> V2: Used 'editdiff' to ensure the patch offsets were updated.
>
> meta/recipes-devtools/opkg/opkg/add-exclude.patch | 5 +++--
> 1 file changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/meta/recipes-devtools/opkg/opkg/add-exclude.patch b/meta/recipes-devtools/opkg/opkg/add-exclude.patch
> index 8489058..8d328d5 100644
> --- a/meta/recipes-devtools/opkg/opkg/add-exclude.patch
> +++ b/meta/recipes-devtools/opkg/opkg/add-exclude.patch
> @@ -84,7 +84,7 @@ Index: trunk/src/opkg-cl.c
> {"test", 0, 0, ARGS_OPT_NOACTION},
> {"tmp-dir", 1, 0, 't'},
> {"tmp_dir", 1, 0, 't'},
> -@@ -198,6 +200,17 @@ args_parse(int argc, char *argv[])
> +@@ -198,6 +200,18 @@ args_parse(int argc, char *argv[])
> }
> free(tuple);
> break;
> @@ -99,10 +99,11 @@ Index: trunk/src/opkg-cl.c
> + conf->exclude_list = realloc(conf->exclude_list, sizeof(char *) * conf->exclude_count);
> + conf->exclude_list[conf->exclude_count - 1] = tuple;
> + }
> ++ break;
> case ARGS_OPT_NOACTION:
> conf->noaction = 1;
> break;
> -@@ -282,6 +295,7 @@ usage()
> +@@ -282,6 +296,7 @@ usage()
> printf("\t--offline-root <dir> offline installation of packages.\n");
> printf("\t--add-arch <arch>:<prio> Register architecture with given priority\n");
> printf("\t--add-dest <name>:<path> Register destination with given path\n");
>
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2014-02-19 15:19 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-02-19 15:15 [PATCH v2] opkg: Fix add-exclude.patch Paul Barker
2014-02-19 15:19 ` Mark Hatle
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox