<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugzilla.yoctoproject.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.6"
          urlbase="https://bugzilla.yoctoproject.org/"
          
          maintainer="it-coreprojects-helpdesk@linuxfoundation.org"
>

    <bug>
          <bug_id>3505</bug_id>
          
          <creation_ts>2012-11-28 15:23:22 +0000</creation_ts>
          <short_desc>world-image as bitbake build target</short_desc>
          <delta_ts>2016-04-13 15:00:11 +0000</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>7</classification_id>
          <classification>Build System, Metadata &amp; Runtime</classification>
          <product>BitBake</product>
          <component>bitbake</component>
          <version>unspecified</version>
          <rep_platform>x86</rep_platform>
          <op_sys>Multiple</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>Medium</priority>
          <bug_severity>enhancement</bug_severity>
          <target_milestone>2.1</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Martin Jansa">Martin.Jansa</reporter>
          <assigned_to name="Richard Purdie">richard.purdie</assigned_to>
          <cc>poky.bs.watcher</cc>
    
    <cc>poky.watcher</cc>
    
    <cc>sgw</cc>
          
          
          <cf_os>---</cf_os>
          <cf_regression_type>---</cf_regression_type>
          
          <cf_docchange>Yes (doc changes required)</cf_docchange>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>27793</commentid>
    <comment_count>0</comment_count>
    <who name="Martin Jansa">Martin.Jansa</who>
    <bug_when>2012-11-28 15:23:22 +0000</bug_when>
    <thetext>for my feed I&apos;m using special image which installs all packagegroup-* to check that all packages can be installed by package manager

I think it would be useful for jenkins/autobuilder to build world-image instead of just world, because it tests more (file conflicts, preinst/postinst scripts, incompatible versions)

I&apos;ve checked how bitbake generates list of build targets for &quot;world&quot;
and I haven&apos;t found way to add world-image.bb recipe which would IMAGE_INSTALL = &quot;world&quot;

I was thinking about saving that list in bitbake code to some variable and then reuse it from recipe
or better add another world-image set, which would gather not all PF, but sum of all PACKAGES unless some are excluded by 
EXCLUDED_FROM_WORLD_IMAGE = &quot;runtime_package_foo&quot; (we need to exclude more packages then from world as some packages are correctly RCONFLICTing with each other, but can be build in parallel).

I&apos;m not sure if bitbake code (cooker + cache) is right place to do this..

Best way would be to have packagegroup-world and world-image recipe, so that we can test also upgrade path easily.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>28170</commentid>
    <comment_count>1</comment_count>
      <attachid>977</attachid>
    <who name="Martin Jansa">Martin.Jansa</who>
    <bug_when>2012-12-12 05:02:18 +0000</bug_when>
    <thetext>Created attachment 977
0001-world-image-add-extra-target.patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>28171</commentid>
    <comment_count>2</comment_count>
    <who name="Martin Jansa">Martin.Jansa</who>
    <bug_when>2012-12-12 05:03:22 +0000</bug_when>
    <thetext>(In reply to comment #1)
&gt; Created attachment 977 [details]
&gt; 0001-world-image-add-extra-target.patch

This is unfinished version of what I was trying to do to support world image.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>29216</commentid>
    <comment_count>3</comment_count>
    <who name="Martin Jansa">Martin.Jansa</who>
    <bug_when>2013-01-25 19:44:42 +0000</bug_when>
    <thetext>Patches sent for review:
http://lists.linuxtogo.org/pipermail/bitbake-devel/2013-January/004091.html
http://lists.linuxtogo.org/pipermail/openembedded-core/2013-January/034917.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>37751</commentid>
    <comment_count>4</comment_count>
    <who name="Martin Jansa">Martin.Jansa</who>
    <bug_when>2013-10-08 16:56:28 +0000</bug_when>
    <thetext>This task is a bit stuck on weird OSError: [Errno 7] Argument list too long

Please check if you have any idea about issue described in this thread:
http://lists.openembedded.org/pipermail/openembedded-core/2013-January/074001.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>42182</commentid>
    <comment_count>5</comment_count>
    <who name="Martin Jansa">Martin.Jansa</who>
    <bug_when>2014-04-02 17:56:44 +0000</bug_when>
    <thetext>There are 2 implementations, preferred is &quot;ad-hoc&quot; image, because doesn&apos;t need bitbake change and is more flexible:
http://git.openembedded.org/openembedded-core-contrib/log/?h=jansa/target-image

and world-image:
http://git.openembedded.org/openembedded-core-contrib/log/?h=jansa/world-image
+
https://github.com/shr-distribution/bitbake/tree/jansa/world-image

The problem is the OSError from previous comment, but I haven&apos;t tried it many times since then.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>60727</commentid>
    <comment_count>6</comment_count>
    <who name="Richard Purdie">richard.purdie</who>
    <bug_when>2016-04-04 09:10:22 +0000</bug_when>
    <thetext>Paul has added http://git.yoctoproject.org/cgit.cgi/poky/commit/?id=76a281c870621f5b5608d098a70504c6069ccd11 which should go some way to making this possible (as used by http://git.yoctoproject.org/cgit.cgi/poky/commit/?id=d3a4f72896aaea7374bd8915cfe3adaaecc55a2d)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>60741</commentid>
    <comment_count>7</comment_count>
    <who name="Richard Purdie">richard.purdie</who>
    <bug_when>2016-04-04 13:22:50 +0000</bug_when>
    <thetext>With the patches from Paul, you can write a recipe like the following which &apos;works&apos; against OE-Core assuming the bug it finds in cogl is fixed:

SUMMARY = &quot;Image which includes world packages&quot;

WORLD_IMAGE_EXCLUDE ?= &quot;epiphany webkitgtk qt4 forktest nss meta-world-pkgdata&quot;

def extend_image_install(d):
    if not d.getVar(&quot;BB_WORKERCONTEXT&quot;, False):
        return &quot;&quot;

    import oe.packagedata

    pkgdatadir = d.getVar(&quot;PKGDATA_DIR&quot;, True)

    packagelist = []

    files = os.listdir(pkgdatadir)
    for pn in filter(lambda f: not os.path.isdir(os.path.join(pkgdatadir, f)), files):
        try:
            pkgdata = oe.packagedata.read_pkgdatafile(os.path.join(pkgdatadir, pn))
        except OSError:
            continue

        packages = pkgdata.get(&quot;PACKAGES&quot;) or &quot;&quot;

        for pkg in packages.split():
            if pkg.endswith(&quot;-dbg&quot;):
                continue
            if pkg.endswith(&quot;-dev&quot;):
                continue
            if pkg != pn:
                continue
            if not os.path.exists(os.path.join(pkgdatadir, &quot;runtime&quot;, pn + &quot;.packaged&quot;)):
                continue
            if pkg.startswith(&quot;nativesdk-&quot;):
                continue
            if pkg in [&quot;kbd&quot;, &quot;dropbear&quot;, &quot;console-tools&quot;, &quot;packagegroup-core-ssh-dropbear&quot;]:
                continue
            packagelist.append(pkg)

    return &quot; &quot;.join(packagelist)

IMAGE_INSTALL_append = &quot;${@extend_image_install(d)}&quot;

python calculate_extra_depends() {
    exclude = &apos;${WORLD_IMAGE_EXCLUDE}&apos;.split()
    for p in world_target:
        if p == self_pn:
            continue

        if p in exclude:
            continue

        deps.append(p)
}</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>61159</commentid>
    <comment_count>8</comment_count>
    <who name="Richard Purdie">richard.purdie</who>
    <bug_when>2016-04-13 15:00:11 +0000</bug_when>
    <thetext>Resolving as the example given here appears to be able to do what is needed (or be extended so it does so).</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>977</attachid>
            <date>2012-12-12 05:02:18 +0000</date>
            <delta_ts>2012-12-12 05:02:18 +0000</delta_ts>
            <desc>0001-world-image-add-extra-target.patch</desc>
            <filename>0001-world-image-add-extra-target.patch</filename>
            <type>text/plain</type>
            <size>3500</size>
            <attacher name="Martin Jansa">Martin.Jansa</attacher>
            
              <data encoding="base64">RnJvbSA1OWRmMTlhNzJlYjQ0OTNmYTM4YjRhMDY1ODk5ZTEzMzc5ZDU0MjRlIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBNYXJ0aW4gSmFuc2EgPE1hcnRpbi5KYW5zYUBnbWFpbC5jb20+
CkRhdGU6IFdlZCwgMjggTm92IDIwMTIgMDE6NDg6MjIgKzAxMDAKU3ViamVjdDogW1BBVENIIDEv
Ml0gd29ybGQtaW1hZ2U6IGFkZCBleHRyYSB0YXJnZXQKClNpZ25lZC1vZmYtYnk6IE1hcnRpbiBK
YW5zYSA8TWFydGluLkphbnNhQGdtYWlsLmNvbT4KLS0tCiBsaWIvYmIvY2FjaGUucHkgIHwgIDgg
KysrKysrKysKIGxpYi9iYi9jb29rZXIucHkgfCAxOCArKysrKysrKysrKysrKysrKysKIDIgZmls
ZXMgY2hhbmdlZCwgMjYgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL2xpYi9iYi9jYWNoZS5w
eSBiL2xpYi9iYi9jYWNoZS5weQppbmRleCBhM2MwNzNhLi43OWRjZTNiIDEwMDY0NAotLS0gYS9s
aWIvYmIvY2FjaGUucHkKKysrIGIvbGliL2JiL2NhY2hlLnB5CkBAIC0xMjksNiArMTI5LDcgQEAg
Y2xhc3MgQ29yZVJlY2lwZUluZm8oUmVjaXBlSW5mb0NvbW1vbik6CiAgICAgICAgIHNlbGYuZGVm
YXVsdHByZWYgPSBzZWxmLmludHZhcignREVGQVVMVF9QUkVGRVJFTkNFJywgbWV0YWRhdGEpCiAg
ICAgICAgIHNlbGYuYnJva2VuID0gc2VsZi5nZXR2YXIoJ0JST0tFTicsIG1ldGFkYXRhKQogICAg
ICAgICBzZWxmLm5vdF93b3JsZCA9IHNlbGYuZ2V0dmFyKCdFWENMVURFX0ZST01fV09STEQnLCBt
ZXRhZGF0YSkKKyAgICAgICAgc2VsZi5ub3Rfd29ybGRfaW1hZ2UgPSBzZWxmLmdldHZhcignRVhD
TFVERV9GUk9NX1dPUkxEX0lNQUdFJywgbWV0YWRhdGEpCiAgICAgICAgIHNlbGYuc3RhbXAgPSBz
ZWxmLmdldHZhcignU1RBTVAnLCBtZXRhZGF0YSkKICAgICAgICAgc2VsZi5zdGFtcGNsZWFuID0g
c2VsZi5nZXR2YXIoJ1NUQU1QQ0xFQU4nLCBtZXRhZGF0YSkgICAgICAgIAogICAgICAgICBzZWxm
LnN0YW1wX2Jhc2UgPSBzZWxmLmZsYWdsaXN0KCdzdGFtcC1iYXNlJywgc2VsZi50YXNrcywgbWV0
YWRhdGEpCkBAIC0xNzcsNiArMTc4LDcgQEAgY2xhc3MgQ29yZVJlY2lwZUluZm8oUmVjaXBlSW5m
b0NvbW1vbik6CiAgICAgICAgIGNhY2hlZGF0YS5ydW5kZXBzID0gZGVmYXVsdGRpY3QobGFtYmRh
OiBkZWZhdWx0ZGljdChsaXN0KSkKICAgICAgICAgY2FjaGVkYXRhLnJ1bnJlY3MgPSBkZWZhdWx0
ZGljdChsYW1iZGE6IGRlZmF1bHRkaWN0KGxpc3QpKQogICAgICAgICBjYWNoZWRhdGEucG9zc2li
bGVfd29ybGQgPSBbXQorICAgICAgICBjYWNoZWRhdGEucG9zc2libGVfd29ybGRfaW1hZ2UgPSBb
XQogICAgICAgICBjYWNoZWRhdGEudW5pdmVyc2VfdGFyZ2V0ID0gW10KICAgICAgICAgY2FjaGVk
YXRhLmhhc2hmbiA9IHt9CiAKQEAgLTIzNiw2ICsyMzgsMTEgQEAgY2xhc3MgQ29yZVJlY2lwZUlu
Zm8oUmVjaXBlSW5mb0NvbW1vbik6CiAgICAgICAgICMgY2FsY3VsYXRpb25zCiAgICAgICAgIGlm
IG5vdCBzZWxmLmJyb2tlbiBhbmQgbm90IHNlbGYubm90X3dvcmxkOgogICAgICAgICAgICAgY2Fj
aGVkYXRhLnBvc3NpYmxlX3dvcmxkLmFwcGVuZChmbikKKyAgICAgICAgICAgICMgQ29sbGVjdCBm
aWxlcyB3ZSBtYXkgbmVlZCBmb3IgcG9zc2libGUgd29ybGQtaW1hZ2UKKyAgICAgICAgICAgICMg
Y2FsY3VsYXRpb25zCisgICAgICAgICAgICBpZiBub3Qgc2VsZi5ub3Rfd29ybGRfaW1hZ2U6Cisg
ICAgICAgICAgICAgICAgY2FjaGVkYXRhLnBvc3NpYmxlX3dvcmxkX2ltYWdlLmFwcGVuZChmbikK
KwogCiAgICAgICAgICMgY3JlYXRlIGEgY29sbGVjdGlvbiBvZiBhbGwgdGFyZ2V0cyBmb3Igc2Fu
aXR5IGNoZWNraW5nCiAgICAgICAgICMgdGFza3MsIHN1Y2ggYXMgdXBzdHJlYW0gdmVyc2lvbnMs
IGxpY2Vuc2UsIGFuZCB0b29scyBmb3IKQEAgLTcxMSw2ICs3MTgsNyBAQCBjbGFzcyBDYWNoZURh
dGEob2JqZWN0KToKICAgICAgICAgIyBJbmRpcmVjdCBDYWNoZSB2YXJpYWJsZXMgKHNldCBlbHNl
d2hlcmUpCiAgICAgICAgIHNlbGYuaWdub3JlZF9kZXBlbmRlbmNpZXMgPSBbXQogICAgICAgICBz
ZWxmLndvcmxkX3RhcmdldCA9IHNldCgpCisgICAgICAgIHNlbGYud29ybGRfaW1hZ2VfdGFyZ2V0
ID0gc2V0KCkKICAgICAgICAgc2VsZi5iYmZpbGVfcHJpb3JpdHkgPSB7fQogCiAgICAgZGVmIGFk
ZF9mcm9tX3JlY2lwZWluZm8oc2VsZiwgZm4sIGluZm9fYXJyYXkpOgpkaWZmIC0tZ2l0IGEvbGli
L2JiL2Nvb2tlci5weSBiL2xpYi9iYi9jb29rZXIucHkKaW5kZXggNmI1OGY5MS4uMWMyYzVhNyAx
MDA2NDQKLS0tIGEvbGliL2JiL2Nvb2tlci5weQorKysgYi9saWIvYmIvY29va2VyLnB5CkBAIC04
MTUsNiArODE1LDI0IEBAIGNsYXNzIEJCQ29va2VyOgogICAgICAgICAgICAgICAgICAgICAgICAg
YnJlYWsKICAgICAgICAgICAgIGlmIHRlcm1pbmFsOgogICAgICAgICAgICAgICAgIHNlbGYuc3Rh
dHVzLndvcmxkX3RhcmdldC5hZGQocG4pCisgICAgICAgIHBhcnNlbG9nLmRlYnVnKDEsICJjb2xs
YXRpbmcgcGFja2FnZXMgZm9yIFwid29ybGQtaW1hZ2VcIiIpCisgICAgICAgIGZvciBmIGluIHNl
bGYuc3RhdHVzLnBvc3NpYmxlX3dvcmxkX2ltYWdlOgorICAgICAgICAgICAgdGVybWluYWwgPSBU
cnVlCisgICAgICAgICAgICBwbiA9IHNlbGYuc3RhdHVzLnBrZ19mbltmXQorCisgICAgICAgICAg
ICBmb3IgcCBpbiBwbl9wcm92aWRlc1twbl06CisgICAgICAgICAgICAgICAgaWYgcC5zdGFydHN3
aXRoKCd2aXJ0dWFsLycpOgorICAgICAgICAgICAgICAgICAgICBwYXJzZWxvZy5kZWJ1ZygyLCAi
V29ybGQgaW1hZ2UgYnVpbGQgc2tpcHBpbmcgJXMgZHVlIHRvICVzIHByb3ZpZGVyIHN0YXJ0aW5n
IHdpdGggdmlydHVhbC8iLCBmLCBwKQorICAgICAgICAgICAgICAgICAgICB0ZXJtaW5hbCA9IEZh
bHNlCisgICAgICAgICAgICAgICAgICAgIGJyZWFrCisgICAgICAgICAgICAgICAgZm9yIHBmIGlu
IHNlbGYuc3RhdHVzLnByb3ZpZGVyc1twXToKKyAgICAgICAgICAgICAgICAgICAgaWYgc2VsZi5z
dGF0dXMucGtnX2ZuW3BmXSAhPSBwbjoKKyAgICAgICAgICAgICAgICAgICAgICAgIHBhcnNlbG9n
LmRlYnVnKDIsICJXb3JsZCBpbWFnZSBidWlsZCBza2lwcGluZyAlcyBkdWUgdG8gYm90aCB1cyBh
bmQgJXMgcHJvdmlkaW5nICVzIiwgZiwgcGYsIHApCisgICAgICAgICAgICAgICAgICAgICAgICB0
ZXJtaW5hbCA9IEZhbHNlCisgICAgICAgICAgICAgICAgICAgICAgICBicmVhaworICAgICAgICAg
ICAgaWYgdGVybWluYWw6CisgICAgICAgICAgICAgICAgc2VsZi5zdGF0dXMud29ybGRfaW1hZ2Vf
dGFyZ2V0LmFkZChwbikKKyAgICAgICAgc2VsZi5jb25maWd1cmF0aW9uLmRhdGEuc2V0VmFyKCdX
T1JMRF9JTUFHRV9UQVJHRVRTJywgc2VsZi5zdGF0dXMud29ybGRfaW1hZ2VfdGFyZ2V0KQogCiAg
ICAgZGVmIGludGVyYWN0aXZlTW9kZSggc2VsZiApOgogICAgICAgICAiIiJEcm9wIG9mZiBpbnRv
IGEgc2hlbGwiIiIKLS0gCjEuOC4wCgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>