Openembedded Core Discussions
 help / color / mirror / Atom feed
* [PATCH 0/1] opkg svn: respect to the arch priority
@ 2012-09-18 15:25 Robert Yang
  2012-09-18 15:25 ` [PATCH 1/1] " Robert Yang
  2012-09-21 22:23 ` [PATCH 0/1] " Saul Wold
  0 siblings, 2 replies; 5+ messages in thread
From: Robert Yang @ 2012-09-18 15:25 UTC (permalink / raw)
  To: openembedded-core; +Cc: Zhenfeng.Zhao

After the discussion, this seems a proper solution:

Let the arch priority win the higher version by default, and add an
option (--select-higher-version) for it to make the higher version win
the arch priority, so that the user can have another choice.

This is only for opkg_svn.bb, maybe the opkg_0.1.8.bb should be removed
since it does work on the master branch:
- It doesn't support the "--force_postinstall" option which is used by
  package_ipk.bbclass.

- It still doesn't work after remove the "--force_postinstall" option,
  it can't install the packages in complementary_pkgs.txt, I haven't
  found out the reason.

  I'd like to remove it.

* Test info
  - With MACHINE= "qemux86"
  $ bitbake core-image-sato
  - With MACHINE= "crownbay"
  $ bitbake core-image-sato

  The "xserver-xorg*_1.9.3-r1_core2.ipk" will be installed to the
  crownbay's image. It would install the "xserver-xorg*_1.11.2-r7_i586.ipk"
  in the past.

  - Simulate the upgrade command:

  > Update the list:
  $ ./tmp/sysroots/i686-linux/usr/bin/opkg-cl -f \
/buildarea2/lyang1/ipk_build/tmp/work/crownbay-poky-linux/core-image-sato-1.0-r0/opkg.conf \
-o /buildarea2/lyang1/ipk_build/tmp/work/crownbay-poky-linux/core-image-sato-1.0-r0/rootfs update

  > Test the upgrade command:
  $ ./tmp/sysroots/i686-linux/usr/bin/opkg-cl -f
/buildarea2/lyang1/ipk_build/tmp/work/crownbay-poky-linux/core-image-sato-1.0-r0/opkg.conf \
-o /buildarea2/lyang1/ipk_build/tmp/work/crownbay-poky-linux/core-image-sato-1.0-r0/rootfs upgrade 
  # Nothing has been done

  > Test the --select-higher-version
  $ ./tmp/sysroots/i686-linux/usr/bin/opkg-cl -f
/buildarea2/lyang1/ipk_build/tmp/work/crownbay-poky-linux/core-image-sato-1.0-r0/opkg.conf
-o /buildarea2/lyang1/ipk_build/tmp/work/crownbay-poky-linux/core-image-sato-1.0-r0/rootfs \
--select-higher-version upgrade
  # The "xserver-xorg*_1.9.3-r1_core2.ipk" would be upgraded to
	"xserver-xorg*_1.11.2-r7_i586.ipk".

  $ runqemu qemux86
  The image started, and run the "opkg-cl" command in qemu, it worked well.

// Robert

The following changes since commit 913944d904266bf90af0cad94b4f0fb3652bd29d:

  upstream_tracking: update lsb and ltp (2012-09-14 17:12:52 +0100)

are available in the git repository at:
  git://git.pokylinux.org/poky-contrib robert/ipk_arch
  http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=robert/ipk_arch

Robert Yang (1):
  opkg svn: respect to the arch priority

 .../opkg/opkg/select_higher_version.patch          |  102 ++++++++++++++++++++
 meta/recipes-devtools/opkg/opkg_svn.bb             |    3 +-
 2 files changed, 104 insertions(+), 1 deletions(-)
 create mode 100644 meta/recipes-devtools/opkg/opkg/select_higher_version.patch




^ permalink raw reply	[flat|nested] 5+ messages in thread

* [PATCH 1/1] opkg svn: respect to the arch priority
  2012-09-18 15:25 [PATCH 0/1] opkg svn: respect to the arch priority Robert Yang
@ 2012-09-18 15:25 ` Robert Yang
  2012-09-21 10:50   ` Martin Jansa
  2012-09-21 14:22   ` Koen Kooi
  2012-09-21 22:23 ` [PATCH 0/1] " Saul Wold
  1 sibling, 2 replies; 5+ messages in thread
From: Robert Yang @ 2012-09-18 15:25 UTC (permalink / raw)
  To: openembedded-core; +Cc: Zhenfeng.Zhao

This is for fixing the problem:
1) bitbake core-image-sato-sdk with MACHINE=qemux86
2) bitbake core-image-sato with with MACHINE=crownbay

The qemux86's PACKAGE_ARCH is i586, the crownbay's is core2, but several
i586 packages will be installed into crownbay's rootfs though there are
core2 packages. For example, there are:

xserver-xorg*_1.11.2-r7_i586.ipk
xserver-xorg*_1.9.3-r1_core2.ipk

The crownbay.conf says:
PREFERRED_VERSION_xserver-xorg ?= "1.9.3"

What the crownbay's image needs is xserver-xorg*_1.9.3-r1_core2.ipk, but
the xserver-xorg*_1.11.2-r7_i586.ipk will be installed, this is
incorrect.

This is caused by opkg's selecting mechanism: when more than one
candidate is found, it will use the higher version one and ignore the
arch priority.

we have several conf files which set the PREFERRED_VERSION_pkg = "..." ,
but there is no such a mechanism which can let us tell the opkg to
install the preferred version. When the preferred version is higher,
this is OK, but if the preferred version is lower, there would be
problems:

1) Most of the packages are core2 in the image, but several of them are
   i586, though we have built the core2 ones, this seems strange.

2) What's worse is that the image may not work since the preferred
   version pkg is not installed.

We have set the arch priority clearly in the opkg.conf, I think that
respect to the arch priority is reasonable during the image generation.

Add the "--select-higher-version" option to let the user have another
choice, the default is no.

[YOCTO #2575]

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
---
 .../opkg/opkg/select_higher_version.patch          |  102 ++++++++++++++++++++
 meta/recipes-devtools/opkg/opkg_svn.bb             |    3 +-
 2 files changed, 104 insertions(+), 1 deletions(-)
 create mode 100644 meta/recipes-devtools/opkg/opkg/select_higher_version.patch

diff --git a/meta/recipes-devtools/opkg/opkg/select_higher_version.patch b/meta/recipes-devtools/opkg/opkg/select_higher_version.patch
new file mode 100644
index 0000000..46d11b0
--- /dev/null
+++ b/meta/recipes-devtools/opkg/opkg/select_higher_version.patch
@@ -0,0 +1,102 @@
+Add the --select-higher-version option
+
+If there were more than one candidate which had the same pkg name in the
+candidate list, for example, the same pkg with different versions, then
+it would use the last one which was the highest version one in the past,
+but it will use the higher arch priority one now.
+
+Add the "--select-higher-version" option to let it use the higher
+version package when enabled. the default is no.
+
+Upstream-Status: Pending
+
+Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
+---
+ libopkg/opkg_conf.h |    1 +
+ libopkg/pkg_hash.c  |   18 +++++++++++++++---
+ src/opkg-cl.c       |    9 +++++++++
+ 3 files changed, 25 insertions(+), 3 deletions(-)
+
+diff --git a/libopkg/opkg_conf.h b/libopkg/opkg_conf.h
+--- a/libopkg/opkg_conf.h
++++ b/libopkg/opkg_conf.h
+@@ -77,6 +77,7 @@ struct opkg_conf
+      int force_removal_of_essential_packages;
+      int force_postinstall;
+      int force_remove;
++     int select_higher_version;
+      int check_signature;
+      int nodeps; /* do not follow dependencies */
+      char *offline_root;
+diff --git a/libopkg/pkg_hash.c b/libopkg/pkg_hash.c
+--- a/libopkg/pkg_hash.c
++++ b/libopkg/pkg_hash.c
+@@ -376,10 +376,22 @@ pkg_hash_fetch_best_installation_candidate(abstract_pkg_t *apkg,
+           if (constraint_fcn(matching, cdata)) {
+              opkg_msg(DEBUG, "Candidate: %s %s.\n",
+ 			     matching->name, matching->version) ;
+-             good_pkg_by_name = matching;
+ 	     /* It has been provided by hand, so it is what user want */
+-             if (matching->provided_by_hand == 1)
+-                break;
++             if (matching->provided_by_hand == 1) {
++                 good_pkg_by_name = matching;
++                 break;
++             }
++             /* Respect to the arch priorities when given alternatives */
++             if (good_pkg_by_name && !conf->select_higher_version) {
++                 if (matching->arch_priority >= good_pkg_by_name->arch_priority) {
++                     good_pkg_by_name = matching;
++                     opkg_msg(DEBUG, "%s %s wins by priority.\n",
++                         matching->name, matching->version) ;
++                 } else
++                     opkg_msg(DEBUG, "%s %s wins by priority.\n",
++                         good_pkg_by_name->name, good_pkg_by_name->version) ;
++             } else
++                 good_pkg_by_name = matching;
+           }
+      }
+ 
+diff --git a/src/opkg-cl.c b/src/opkg-cl.c
+--- a/src/opkg-cl.c
++++ b/src/opkg-cl.c
+@@ -42,6 +42,7 @@ enum {
+ 	ARGS_OPT_FORCE_SPACE,
+ 	ARGS_OPT_FORCE_POSTINSTALL,
+ 	ARGS_OPT_FORCE_REMOVE,
++	ARGS_OPT_SELECT_HIGHER_VERSION,
+ 	ARGS_OPT_ADD_ARCH,
+ 	ARGS_OPT_ADD_DEST,
+ 	ARGS_OPT_NOACTION,
+@@ -83,6 +84,8 @@ static struct option long_options[] = {
+ 	{"force_postinstall", 0, 0, ARGS_OPT_FORCE_POSTINSTALL},
+ 	{"force-remove", 0, 0, ARGS_OPT_FORCE_REMOVE},
+ 	{"force_remove", 0, 0, ARGS_OPT_FORCE_REMOVE},
++	{"select-higher-version", 0, 0, ARGS_OPT_SELECT_HIGHER_VERSION},
++	{"select_higher_version", 0, 0, ARGS_OPT_SELECT_HIGHER_VERSION},
+ 	{"noaction", 0, 0, ARGS_OPT_NOACTION},
+ 	{"download-only", 0, 0, ARGS_OPT_DOWNLOAD_ONLY},
+ 	{"nodeps", 0, 0, ARGS_OPT_NODEPS},
+@@ -173,6 +176,9 @@ args_parse(int argc, char *argv[])
+ 		case ARGS_OPT_FORCE_REMOVE:
+ 			conf->force_remove = 1;
+ 			break;
++		case ARGS_OPT_SELECT_HIGHER_VERSION:
++			conf->select_higher_version = 1;
++			break;
+ 		case ARGS_OPT_NODEPS:
+ 			conf->nodeps = 1;
+ 			break;
+@@ -271,6 +277,9 @@ 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");
++	printf("\t--select-higher-version\t 	Use the higher version package rather\n");
++	printf("\t				than the higher arch priority one if more\n");
++	printf("\t				than one candidate is found.\n");
+ 
+ 	printf("\nForce Options:\n");
+ 	printf("\t--force-depends		Install/remove despite failed dependencies\n");
+-- 
+1.7.1
+
diff --git a/meta/recipes-devtools/opkg/opkg_svn.bb b/meta/recipes-devtools/opkg/opkg_svn.bb
index 4146b7e..e21bcd5 100644
--- a/meta/recipes-devtools/opkg/opkg_svn.bb
+++ b/meta/recipes-devtools/opkg/opkg_svn.bb
@@ -7,6 +7,7 @@ SRC_URI = "svn://opkg.googlecode.com/svn;module=trunk;protocol=http \
            file://offline_postinstall.patch\
            file://track_parents.patch \
            file://conf_override.patch \
+           file://select_higher_version.patch \
 "
 
 S = "${WORKDIR}/trunk"
@@ -14,4 +15,4 @@ S = "${WORKDIR}/trunk"
 SRCREV = "633"
 PV = "0.1.8+svnr${SRCPV}"
 
-PR = "${INC_PR}.2"
+PR = "${INC_PR}.3"
-- 
1.7.1




^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [PATCH 1/1] opkg svn: respect to the arch priority
  2012-09-18 15:25 ` [PATCH 1/1] " Robert Yang
@ 2012-09-21 10:50   ` Martin Jansa
  2012-09-21 14:22   ` Koen Kooi
  1 sibling, 0 replies; 5+ messages in thread
From: Martin Jansa @ 2012-09-21 10:50 UTC (permalink / raw)
  To: Robert Yang; +Cc: Zhenfeng.Zhao, openembedded-core

[-- Attachment #1: Type: text/plain, Size: 7860 bytes --]

On Tue, Sep 18, 2012 at 11:25:10PM +0800, Robert Yang wrote:
> This is for fixing the problem:
> 1) bitbake core-image-sato-sdk with MACHINE=qemux86
> 2) bitbake core-image-sato with with MACHINE=crownbay
> 
> The qemux86's PACKAGE_ARCH is i586, the crownbay's is core2, but several
> i586 packages will be installed into crownbay's rootfs though there are
> core2 packages. For example, there are:
> 
> xserver-xorg*_1.11.2-r7_i586.ipk
> xserver-xorg*_1.9.3-r1_core2.ipk
> 
> The crownbay.conf says:
> PREFERRED_VERSION_xserver-xorg ?= "1.9.3"
> 
> What the crownbay's image needs is xserver-xorg*_1.9.3-r1_core2.ipk, but
> the xserver-xorg*_1.11.2-r7_i586.ipk will be installed, this is
> incorrect.
> 
> This is caused by opkg's selecting mechanism: when more than one
> candidate is found, it will use the higher version one and ignore the
> arch priority.
> 
> we have several conf files which set the PREFERRED_VERSION_pkg = "..." ,
> but there is no such a mechanism which can let us tell the opkg to
> install the preferred version. When the preferred version is higher,
> this is OK, but if the preferred version is lower, there would be
> problems:
> 
> 1) Most of the packages are core2 in the image, but several of them are
>    i586, though we have built the core2 ones, this seems strange.
> 
> 2) What's worse is that the image may not work since the preferred
>    version pkg is not installed.
> 
> We have set the arch priority clearly in the opkg.conf, I think that
> respect to the arch priority is reasonable during the image generation.
> 
> Add the "--select-higher-version" option to let the user have another
> choice, the default is no.

Can you send this upstream to see what they think about this issue?

Thanks

Cheers,

> 
> [YOCTO #2575]
> 
> Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
> ---
>  .../opkg/opkg/select_higher_version.patch          |  102 ++++++++++++++++++++
>  meta/recipes-devtools/opkg/opkg_svn.bb             |    3 +-
>  2 files changed, 104 insertions(+), 1 deletions(-)
>  create mode 100644 meta/recipes-devtools/opkg/opkg/select_higher_version.patch
> 
> diff --git a/meta/recipes-devtools/opkg/opkg/select_higher_version.patch b/meta/recipes-devtools/opkg/opkg/select_higher_version.patch
> new file mode 100644
> index 0000000..46d11b0
> --- /dev/null
> +++ b/meta/recipes-devtools/opkg/opkg/select_higher_version.patch
> @@ -0,0 +1,102 @@
> +Add the --select-higher-version option
> +
> +If there were more than one candidate which had the same pkg name in the
> +candidate list, for example, the same pkg with different versions, then
> +it would use the last one which was the highest version one in the past,
> +but it will use the higher arch priority one now.
> +
> +Add the "--select-higher-version" option to let it use the higher
> +version package when enabled. the default is no.
> +
> +Upstream-Status: Pending
> +
> +Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
> +---
> + libopkg/opkg_conf.h |    1 +
> + libopkg/pkg_hash.c  |   18 +++++++++++++++---
> + src/opkg-cl.c       |    9 +++++++++
> + 3 files changed, 25 insertions(+), 3 deletions(-)
> +
> +diff --git a/libopkg/opkg_conf.h b/libopkg/opkg_conf.h
> +--- a/libopkg/opkg_conf.h
> ++++ b/libopkg/opkg_conf.h
> +@@ -77,6 +77,7 @@ struct opkg_conf
> +      int force_removal_of_essential_packages;
> +      int force_postinstall;
> +      int force_remove;
> ++     int select_higher_version;
> +      int check_signature;
> +      int nodeps; /* do not follow dependencies */
> +      char *offline_root;
> +diff --git a/libopkg/pkg_hash.c b/libopkg/pkg_hash.c
> +--- a/libopkg/pkg_hash.c
> ++++ b/libopkg/pkg_hash.c
> +@@ -376,10 +376,22 @@ pkg_hash_fetch_best_installation_candidate(abstract_pkg_t *apkg,
> +           if (constraint_fcn(matching, cdata)) {
> +              opkg_msg(DEBUG, "Candidate: %s %s.\n",
> + 			     matching->name, matching->version) ;
> +-             good_pkg_by_name = matching;
> + 	     /* It has been provided by hand, so it is what user want */
> +-             if (matching->provided_by_hand == 1)
> +-                break;
> ++             if (matching->provided_by_hand == 1) {
> ++                 good_pkg_by_name = matching;
> ++                 break;
> ++             }
> ++             /* Respect to the arch priorities when given alternatives */
> ++             if (good_pkg_by_name && !conf->select_higher_version) {
> ++                 if (matching->arch_priority >= good_pkg_by_name->arch_priority) {
> ++                     good_pkg_by_name = matching;
> ++                     opkg_msg(DEBUG, "%s %s wins by priority.\n",
> ++                         matching->name, matching->version) ;
> ++                 } else
> ++                     opkg_msg(DEBUG, "%s %s wins by priority.\n",
> ++                         good_pkg_by_name->name, good_pkg_by_name->version) ;
> ++             } else
> ++                 good_pkg_by_name = matching;
> +           }
> +      }
> + 
> +diff --git a/src/opkg-cl.c b/src/opkg-cl.c
> +--- a/src/opkg-cl.c
> ++++ b/src/opkg-cl.c
> +@@ -42,6 +42,7 @@ enum {
> + 	ARGS_OPT_FORCE_SPACE,
> + 	ARGS_OPT_FORCE_POSTINSTALL,
> + 	ARGS_OPT_FORCE_REMOVE,
> ++	ARGS_OPT_SELECT_HIGHER_VERSION,
> + 	ARGS_OPT_ADD_ARCH,
> + 	ARGS_OPT_ADD_DEST,
> + 	ARGS_OPT_NOACTION,
> +@@ -83,6 +84,8 @@ static struct option long_options[] = {
> + 	{"force_postinstall", 0, 0, ARGS_OPT_FORCE_POSTINSTALL},
> + 	{"force-remove", 0, 0, ARGS_OPT_FORCE_REMOVE},
> + 	{"force_remove", 0, 0, ARGS_OPT_FORCE_REMOVE},
> ++	{"select-higher-version", 0, 0, ARGS_OPT_SELECT_HIGHER_VERSION},
> ++	{"select_higher_version", 0, 0, ARGS_OPT_SELECT_HIGHER_VERSION},
> + 	{"noaction", 0, 0, ARGS_OPT_NOACTION},
> + 	{"download-only", 0, 0, ARGS_OPT_DOWNLOAD_ONLY},
> + 	{"nodeps", 0, 0, ARGS_OPT_NODEPS},
> +@@ -173,6 +176,9 @@ args_parse(int argc, char *argv[])
> + 		case ARGS_OPT_FORCE_REMOVE:
> + 			conf->force_remove = 1;
> + 			break;
> ++		case ARGS_OPT_SELECT_HIGHER_VERSION:
> ++			conf->select_higher_version = 1;
> ++			break;
> + 		case ARGS_OPT_NODEPS:
> + 			conf->nodeps = 1;
> + 			break;
> +@@ -271,6 +277,9 @@ 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");
> ++	printf("\t--select-higher-version\t 	Use the higher version package rather\n");
> ++	printf("\t				than the higher arch priority one if more\n");
> ++	printf("\t				than one candidate is found.\n");
> + 
> + 	printf("\nForce Options:\n");
> + 	printf("\t--force-depends		Install/remove despite failed dependencies\n");
> +-- 
> +1.7.1
> +
> diff --git a/meta/recipes-devtools/opkg/opkg_svn.bb b/meta/recipes-devtools/opkg/opkg_svn.bb
> index 4146b7e..e21bcd5 100644
> --- a/meta/recipes-devtools/opkg/opkg_svn.bb
> +++ b/meta/recipes-devtools/opkg/opkg_svn.bb
> @@ -7,6 +7,7 @@ SRC_URI = "svn://opkg.googlecode.com/svn;module=trunk;protocol=http \
>             file://offline_postinstall.patch\
>             file://track_parents.patch \
>             file://conf_override.patch \
> +           file://select_higher_version.patch \
>  "
>  
>  S = "${WORKDIR}/trunk"
> @@ -14,4 +15,4 @@ S = "${WORKDIR}/trunk"
>  SRCREV = "633"
>  PV = "0.1.8+svnr${SRCPV}"
>  
> -PR = "${INC_PR}.2"
> +PR = "${INC_PR}.3"
> -- 
> 1.7.1
> 
> 
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core

-- 
Martin 'JaMa' Jansa     jabber: Martin.Jansa@gmail.com

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 205 bytes --]

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH 1/1] opkg svn: respect to the arch priority
  2012-09-18 15:25 ` [PATCH 1/1] " Robert Yang
  2012-09-21 10:50   ` Martin Jansa
@ 2012-09-21 14:22   ` Koen Kooi
  1 sibling, 0 replies; 5+ messages in thread
From: Koen Kooi @ 2012-09-21 14:22 UTC (permalink / raw)
  To: Robert Yang; +Cc: Zhenfeng.Zhao, openembedded-core


Op 18 sep. 2012, om 17:25 heeft Robert Yang <liezhi.yang@windriver.com> het volgende geschreven:

> This is for fixing the problem:
> 1) bitbake core-image-sato-sdk with MACHINE=qemux86
> 2) bitbake core-image-sato with with MACHINE=crownbay
> 
> The qemux86's PACKAGE_ARCH is i586, the crownbay's is core2, but several
> i586 packages will be installed into crownbay's rootfs though there are
> core2 packages. For example, there are:
> 
> xserver-xorg*_1.11.2-r7_i586.ipk
> xserver-xorg*_1.9.3-r1_core2.ipk
> 
> The crownbay.conf says:
> PREFERRED_VERSION_xserver-xorg ?= "1.9.3"
> 
> What the crownbay's image needs is xserver-xorg*_1.9.3-r1_core2.ipk, but
> the xserver-xorg*_1.11.2-r7_i586.ipk will be installed, this is
> incorrect.

So what happens when I force crownbay to use i586 as package arch? Are you still going to argue that 1.9.3 should be installed?

> 
> This is caused by opkg's selecting mechanism: when more than one
> candidate is found, it will use the higher version one and ignore the
> arch priority.
> 
> we have several conf files which set the PREFERRED_VERSION_pkg = "..." ,
> but there is no such a mechanism which can let us tell the opkg to
> install the preferred version. When the preferred version is higher,
> this is OK, but if the preferred version is lower, there would be
> problems:
> 
> 1) Most of the packages are core2 in the image, but several of them are
>   i586, though we have built the core2 ones, this seems strange.
> 
> 2) What's worse is that the image may not work since the preferred
>   version pkg is not installed.
> 
> We have set the arch priority clearly in the opkg.conf, I think that
> respect to the arch priority is reasonable during the image generation.
> 
> Add the "--select-higher-version" option to let the user have another
> choice, the default is no.

The default should be yes, since that is the default behaviour right now. You can set it to 'no' in rootfs_ipk.bbclass, though.


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH 0/1] opkg svn: respect to the arch priority
  2012-09-18 15:25 [PATCH 0/1] opkg svn: respect to the arch priority Robert Yang
  2012-09-18 15:25 ` [PATCH 1/1] " Robert Yang
@ 2012-09-21 22:23 ` Saul Wold
  1 sibling, 0 replies; 5+ messages in thread
From: Saul Wold @ 2012-09-21 22:23 UTC (permalink / raw)
  To: Robert Yang; +Cc: Zhenfeng.Zhao, openembedded-core

On 09/18/2012 08:25 AM, Robert Yang wrote:
> After the discussion, this seems a proper solution:
>
> Let the arch priority win the higher version by default, and add an
> option (--select-higher-version) for it to make the higher version win
> the arch priority, so that the user can have another choice.
>
> This is only for opkg_svn.bb, maybe the opkg_0.1.8.bb should be removed
> since it does work on the master branch:
> - It doesn't support the "--force_postinstall" option which is used by
>    package_ipk.bbclass.
>
> - It still doesn't work after remove the "--force_postinstall" option,
>    it can't install the packages in complementary_pkgs.txt, I haven't
>    found out the reason.
>
>    I'd like to remove it.
>
> * Test info
>    - With MACHINE= "qemux86"
>    $ bitbake core-image-sato
>    - With MACHINE= "crownbay"
>    $ bitbake core-image-sato
>
>    The "xserver-xorg*_1.9.3-r1_core2.ipk" will be installed to the
>    crownbay's image. It would install the "xserver-xorg*_1.11.2-r7_i586.ipk"
>    in the past.
>
>    - Simulate the upgrade command:
>
>    > Update the list:
>    $ ./tmp/sysroots/i686-linux/usr/bin/opkg-cl -f \
> /buildarea2/lyang1/ipk_build/tmp/work/crownbay-poky-linux/core-image-sato-1.0-r0/opkg.conf \
> -o /buildarea2/lyang1/ipk_build/tmp/work/crownbay-poky-linux/core-image-sato-1.0-r0/rootfs update
>
>    > Test the upgrade command:
>    $ ./tmp/sysroots/i686-linux/usr/bin/opkg-cl -f
> /buildarea2/lyang1/ipk_build/tmp/work/crownbay-poky-linux/core-image-sato-1.0-r0/opkg.conf \
> -o /buildarea2/lyang1/ipk_build/tmp/work/crownbay-poky-linux/core-image-sato-1.0-r0/rootfs upgrade
>    # Nothing has been done
>
>    > Test the --select-higher-version
>    $ ./tmp/sysroots/i686-linux/usr/bin/opkg-cl -f
> /buildarea2/lyang1/ipk_build/tmp/work/crownbay-poky-linux/core-image-sato-1.0-r0/opkg.conf
> -o /buildarea2/lyang1/ipk_build/tmp/work/crownbay-poky-linux/core-image-sato-1.0-r0/rootfs \
> --select-higher-version upgrade
>    # The "xserver-xorg*_1.9.3-r1_core2.ipk" would be upgraded to
> 	"xserver-xorg*_1.11.2-r7_i586.ipk".
>
>    $ runqemu qemux86
>    The image started, and run the "opkg-cl" command in qemu, it worked well.
>
> // Robert
>
> The following changes since commit 913944d904266bf90af0cad94b4f0fb3652bd29d:
>
>    upstream_tracking: update lsb and ltp (2012-09-14 17:12:52 +0100)
>
> are available in the git repository at:
>    git://git.pokylinux.org/poky-contrib robert/ipk_arch
>    http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=robert/ipk_arch
>
> Robert Yang (1):
>    opkg svn: respect to the arch priority
>
>   .../opkg/opkg/select_higher_version.patch          |  102 ++++++++++++++++++++
>   meta/recipes-devtools/opkg/opkg_svn.bb             |    3 +-
>   2 files changed, 104 insertions(+), 1 deletions(-)
>   create mode 100644 meta/recipes-devtools/opkg/opkg/select_higher_version.patch
>

Merged into OE-Core

Thanks
	Sau!

>
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
>



^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2012-09-21 22:36 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-09-18 15:25 [PATCH 0/1] opkg svn: respect to the arch priority Robert Yang
2012-09-18 15:25 ` [PATCH 1/1] " Robert Yang
2012-09-21 10:50   ` Martin Jansa
2012-09-21 14:22   ` Koen Kooi
2012-09-21 22:23 ` [PATCH 0/1] " Saul Wold

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox