All of lore.kernel.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.