public inbox for openembedded-core@lists.openembedded.org
 help / color / mirror / Atom feed
From: Robert Yang <liezhi.yang@windriver.com>
To: Christopher Larson <kergoth@gmail.com>,
	<openembedded-core@lists.openembedded.org>
Cc: Christopher Larson <chris_larson@mentor.com>
Subject: Re: [PATCH 2/4] opkg-utils: add update-alternatives PACKAGECONFIG
Date: Fri, 15 Jan 2016 17:23:43 +0800	[thread overview]
Message-ID: <5698BA9F.4020809@windriver.com> (raw)
In-Reply-To: <1cb0662447098b5f24ec3e02e471a3e288a69a04.1447371049.git.chris_larson@mentor.com>


Hi Chris,

I've afraid this patch can't work well, when opkg-utils doesn't provide
virtual/update-alternatives, then chkconfig would be built and there would
be dependency loops for example,

PACKAGECONFIG = "python"
$ bitbake core-image-minimal

[snip]
ERROR:
Dependency loop #1 found:
   Task 747 
(/buildarea/lyang1/poky/meta/recipes-support/libpcre/libpcre_8.38.bb, 
do_packagedata) (dependent Tasks ['libpcre, do_package'])
   Task 2067 (/buildarea/lyang1/poky/meta/recipes-extended/slang/slang_2.2.4.bb, 
do_package) (dependent Tasks ['gcc-runtime, do_packagedata', 'pseudo, 
do_populate_sysroot', 'slang, do_install', 'libpcre, do_packagedata', 
'libtool-cross, do_packagedata', 'glibc, do_packagedata', 'rpm, 
do_populate_sysroot'])
   Task 2064 (/buildarea/lyang1/poky/meta/recipes-extended/slang/slang_2.2.4.bb, 
do_packagedata) (dependent Tasks ['slang, do_package'])
   Task 1876 
(/buildarea/lyang1/poky/meta/recipes-extended/newt/libnewt_0.52.18.bb, 
do_package) (dependent Tasks ['slang, do_packagedata', 'gcc-runtime, 
do_packagedata', 'pseudo, do_populate_sysroot', 'libnewt, do_install', 
'libtool-cross, do_packagedata', 'glibc, do_packagedata', 'popt, 
do_packagedata', 'rpm, do_populate_sysroot'])
   Task 1873 
(/buildarea/lyang1/poky/meta/recipes-extended/newt/libnewt_0.52.18.bb, 
do_packagedata) (dependent Tasks ['libnewt, do_package'])
   Task 1405 
(/buildarea/lyang1/poky/meta/recipes-extended/chkconfig/chkconfig_1.3.58.bb, 
do_package) (dependent Tasks ['gcc-runtime, do_packagedata', 'pseudo, 
do_populate_sysroot', 'glibc, do_packagedata', 'libnewt, do_packagedata', 
'chkconfig, do_install', 'popt, do_packagedata', 'gettext, do_packagedata', 
'rpm, do_populate_sysroot'])
   Task 1402 
(/buildarea/lyang1/poky/meta/recipes-extended/chkconfig/chkconfig_1.3.58.bb, 
do_packagedata) (dependent Tasks ['chkconfig, do_package'])
   Task 853 (/buildarea/lyang1/poky/meta/recipes-extended/bzip2/bzip2_1.0.6.bb, 
do_package) (dependent Tasks ['gcc-runtime, do_packagedata', 'bzip2, 
do_install_ptest_base', 'bzip2, do_install', 'libtool-cross, do_packagedata', 
'glibc, do_packagedata', 'pseudo, do_populate_sysroot', 'chkconfig, 
do_packagedata', 'rpm, do_populate_sysroot'])
   Task 850 (/buildarea/lyang1/poky/meta/recipes-extended/bzip2/bzip2_1.0.6.bb, 
do_packagedata) (dependent Tasks ['bzip2, do_package'])
   Task 750 
(/buildarea/lyang1/poky/meta/recipes-support/libpcre/libpcre_8.38.bb, 
do_package) (dependent Tasks ['libpcre, do_install_ptest_base', 'libpcre, 
do_install', 'gcc-runtime, do_packagedata', 'pseudo, do_populate_sysroot', 
'libtool-cross, do_packagedata', 'glibc, do_packagedata', 'bzip2, 
do_packagedata', 'zlib, do_packagedata', 'rpm, do_populate_sysroot'])

[snip]

// Robert


On 11/13/2015 07:41 AM, Christopher Larson wrote:
> From: Christopher Larson <chris_larson@mentor.com>
>
> This lets someone use a different update-alternatives-native provider. Without
> this available, they'll step on one another in the sysroot unconditionally,
> since we need to build opkg-utils-native for ipk based builds regardless.
>
> Signed-off-by: Christopher Larson <chris_larson@mentor.com>
> ---
>   meta/recipes-devtools/opkg-utils/opkg-utils_git.bb | 12 +++++++++---
>   1 file changed, 9 insertions(+), 3 deletions(-)
>
> diff --git a/meta/recipes-devtools/opkg-utils/opkg-utils_git.bb b/meta/recipes-devtools/opkg-utils/opkg-utils_git.bb
> index 5f518d2..b242d1f 100644
> --- a/meta/recipes-devtools/opkg-utils/opkg-utils_git.bb
> +++ b/meta/recipes-devtools/opkg-utils/opkg-utils_git.bb
> @@ -5,7 +5,7 @@ HOMEPAGE = "http://code.google.com/p/opkg/"
>   LICENSE = "GPLv2+"
>   LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \
>                       file://opkg.py;beginline=1;endline=18;md5=15917491ad6bf7acc666ca5f7cc1e083"
> -PROVIDES += "virtual/update-alternatives"
> +PROVIDES += "${@bb.utils.contains('PACKAGECONFIG', 'update-alternatives', 'virtual/update-alternatives', '', d)}"
>
>   SRCREV = "53274f087565fd45d8452c5367997ba6a682a37a"
>   PV = "0.1.8+git${SRCPV}"
> @@ -21,15 +21,21 @@ TARGET_CC_ARCH += "${LDFLAGS}"
>   PYTHONRDEPS = "python python-shell python-io python-math python-crypt python-logging python-fcntl python-subprocess python-pickle python-compression python-textutils python-stringold"
>   PYTHONRDEPS_class-native = ""
>
> -PACKAGECONFIG = "python"
> +PACKAGECONFIG = "python update-alternatives"
>   PACKAGECONFIG[python] = ",,,${PYTHONRDEPS}"
> +PACKAGECONFIG[update-alternatives] = ",,,"
>
>   do_install() {
>   	oe_runmake PREFIX=${prefix} DESTDIR=${D} install
> +	if ! ${@bb.utils.contains('PACKAGECONFIG', 'update-alternatives', 'true', 'false', d)}; then
> +		rm -f "${D}${bindir}/update-alternatives"
> +	fi
>   }
>
>   do_install_append_class-target() {
> -	sed -i ${D}${bindir}/update-alternatives -e 's,/usr/bin,${bindir},g; s,/usr/lib,${libdir},g'
> +	if [ -e "${D}${bindir}/update-alternatives" ]; then
> +		sed -i ${D}${bindir}/update-alternatives -e 's,/usr/bin,${bindir},g; s,/usr/lib,${libdir},g'
> +	fi
>   }
>
>   PACKAGES =+ "update-alternatives-opkg"
>


  reply	other threads:[~2016-01-15  9:23 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-11-12 23:41 [PATCH 0/4] Misc improvements 2 from Mentor Christopher Larson
2015-11-12 23:41 ` [PATCH 1/4] linux-dtb.inc: use absolute upd-alt paths Christopher Larson
2016-12-21 19:10   ` Denys Dmytriyenko
2016-12-21 20:18     ` Christopher Larson
2016-12-22 18:34       ` Denys Dmytriyenko
2015-11-12 23:41 ` [PATCH 2/4] opkg-utils: add update-alternatives PACKAGECONFIG Christopher Larson
2016-01-15  9:23   ` Robert Yang [this message]
2016-01-15 20:07     ` Christopher Larson
2016-01-16  5:57       ` Robert Yang
2015-11-12 23:41 ` [PATCH 3/4] systemd: add myhostname to nsswitch.conf Christopher Larson
2015-11-17  7:25   ` Andreas Müller
2015-11-17 13:55     ` Christopher Larson
2015-11-18  3:49   ` Dan McGregor
2015-12-07 19:49     ` Christopher Larson
2015-12-10 18:33       ` Dan McGregor
2015-11-12 23:41 ` [PATCH 4/4] systemd: arrange for volatile /etc/resolv.conf Christopher Larson
2016-01-05 19:08 ` [PATCH 0/4] Misc improvements 2 from Mentor Christopher Larson
2016-01-05 20:26   ` Burton, Ross

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=5698BA9F.4020809@windriver.com \
    --to=liezhi.yang@windriver.com \
    --cc=chris_larson@mentor.com \
    --cc=kergoth@gmail.com \
    --cc=openembedded-core@lists.openembedded.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox