<div dir="ltr"><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Jan 15, 2016 at 2:23 AM, Robert Yang <span dir="ltr">&lt;<a href="mailto:liezhi.yang@windriver.com" target="_blank">liezhi.yang@windriver.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><br>
I&#39;ve afraid this patch can&#39;t work well, when opkg-utils doesn&#39;t provide<br>
virtual/update-alternatives, then chkconfig would be built and there would<br>
be dependency loops for example,<br>
<br>
PACKAGECONFIG = &quot;python&quot;<br>
$ bitbake core-image-minimal<br>
<br>
[snip]<br>
ERROR:<br>
Dependency loop #1 found:<br>
  Task 747 (/buildarea/lyang1/poky/meta/recipes-support/libpcre/<a href="http://libpcre_8.38.bb" rel="noreferrer" target="_blank">libpcre_8.38.bb</a>, do_packagedata) (dependent Tasks [&#39;libpcre, do_package&#39;])<br>
  Task 2067 (/buildarea/lyang1/poky/meta/recipes-extended/slang/<a href="http://slang_2.2.4.bb" rel="noreferrer" target="_blank">slang_2.2.4.bb</a>, do_package) (dependent Tasks [&#39;gcc-runtime, do_packagedata&#39;, &#39;pseudo, do_populate_sysroot&#39;, &#39;slang, do_install&#39;, &#39;libpcre, do_packagedata&#39;, &#39;libtool-cross, do_packagedata&#39;, &#39;glibc, do_packagedata&#39;, &#39;rpm, do_populate_sysroot&#39;])<br>
  Task 2064 (/buildarea/lyang1/poky/meta/recipes-extended/slang/<a href="http://slang_2.2.4.bb" rel="noreferrer" target="_blank">slang_2.2.4.bb</a>, do_packagedata) (dependent Tasks [&#39;slang, do_package&#39;])<br>
  Task 1876 (/buildarea/lyang1/poky/meta/recipes-extended/newt/<a href="http://libnewt_0.52.18.bb" rel="noreferrer" target="_blank">libnewt_0.52.18.bb</a>, do_package) (dependent Tasks [&#39;slang, do_packagedata&#39;, &#39;gcc-runtime, do_packagedata&#39;, &#39;pseudo, do_populate_sysroot&#39;, &#39;libnewt, do_install&#39;, &#39;libtool-cross, do_packagedata&#39;, &#39;glibc, do_packagedata&#39;, &#39;popt, do_packagedata&#39;, &#39;rpm, do_populate_sysroot&#39;])<br>
  Task 1873 (/buildarea/lyang1/poky/meta/recipes-extended/newt/<a href="http://libnewt_0.52.18.bb" rel="noreferrer" target="_blank">libnewt_0.52.18.bb</a>, do_packagedata) (dependent Tasks [&#39;libnewt, do_package&#39;])<br>
  Task 1405 (/buildarea/lyang1/poky/meta/recipes-extended/chkconfig/<a href="http://chkconfig_1.3.58.bb" rel="noreferrer" target="_blank">chkconfig_1.3.58.bb</a>, do_package) (dependent Tasks [&#39;gcc-runtime, do_packagedata&#39;, &#39;pseudo, do_populate_sysroot&#39;, &#39;glibc, do_packagedata&#39;, &#39;libnewt, do_packagedata&#39;, &#39;chkconfig, do_install&#39;, &#39;popt, do_packagedata&#39;, &#39;gettext, do_packagedata&#39;, &#39;rpm, do_populate_sysroot&#39;])<br>
  Task 1402 (/buildarea/lyang1/poky/meta/recipes-extended/chkconfig/<a href="http://chkconfig_1.3.58.bb" rel="noreferrer" target="_blank">chkconfig_1.3.58.bb</a>, do_packagedata) (dependent Tasks [&#39;chkconfig, do_package&#39;])<br>
  Task 853 (/buildarea/lyang1/poky/meta/recipes-extended/bzip2/<a href="http://bzip2_1.0.6.bb" rel="noreferrer" target="_blank">bzip2_1.0.6.bb</a>, do_package) (dependent Tasks [&#39;gcc-runtime, do_packagedata&#39;, &#39;bzip2, do_install_ptest_base&#39;, &#39;bzip2, do_install&#39;, &#39;libtool-cross, do_packagedata&#39;, &#39;glibc, do_packagedata&#39;, &#39;pseudo, do_populate_sysroot&#39;, &#39;chkconfig, do_packagedata&#39;, &#39;rpm, do_populate_sysroot&#39;])<br>
  Task 850 (/buildarea/lyang1/poky/meta/recipes-extended/bzip2/<a href="http://bzip2_1.0.6.bb" rel="noreferrer" target="_blank">bzip2_1.0.6.bb</a>, do_packagedata) (dependent Tasks [&#39;bzip2, do_package&#39;])<br>
  Task 750 (/buildarea/lyang1/poky/meta/recipes-support/libpcre/<a href="http://libpcre_8.38.bb" rel="noreferrer" target="_blank">libpcre_8.38.bb</a>, do_package) (dependent Tasks [&#39;libpcre, do_install_ptest_base&#39;, &#39;libpcre, do_install&#39;, &#39;gcc-runtime, do_packagedata&#39;, &#39;pseudo, do_populate_sysroot&#39;, &#39;libtool-cross, do_packagedata&#39;, &#39;glibc, do_packagedata&#39;, &#39;bzip2, do_packagedata&#39;, &#39;zlib, do_packagedata&#39;, &#39;rpm, do_populate_sysroot&#39;])</blockquote></div><br></div><div class="gmail_extra">Afaict it should work for the native case, just not target, if you use the chkconfig-alternatives-native recipe. In meta-mentor we have that recipe for target as well, to cover both cases, I&#39;ll see about submitting that. We&#39;ve been using the chkconfig update-alternatives implementation for a few releases now.<br>-- <br><div><div dir="ltr">Christopher Larson<br>kergoth at gmail dot com<br>Founder - BitBake, OpenEmbedded, OpenZaurus<br>Maintainer - Tslib<br>Senior Software Engineer, Mentor Graphics</div></div>
</div></div>