<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/poky.git/meta/classes/image.bbclass, branch uninative-2.2</title>
<subtitle>Mirror of git.yoctoproject.org/poky</subtitle>
<id>https://git.enea.com/cgit/linux/poky.git/atom?h=uninative-2.2</id>
<link rel='self' href='https://git.enea.com/cgit/linux/poky.git/atom?h=uninative-2.2'/>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/'/>
<updated>2018-07-25T15:48:27+00:00</updated>
<entry>
<title>license_image: Fix race</title>
<updated>2018-07-25T15:48:27+00:00</updated>
<author>
<name>Richard Purdie</name>
<email>richard.purdie@linuxfoundation.org</email>
</author>
<published>2018-07-23T16:22:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=ce5cd33a8a0064a21dce0e10cb93c6fd3e85acdd'/>
<id>urn:sha1:ce5cd33a8a0064a21dce0e10cb93c6fd3e85acdd</id>
<content type='text'>
The current code pokes into do_deploy manifests from do_image_complete when the
do_image_complete task may or may not depend upon the do_deploy tasks in question.
Often it gets lucky, sometimes it results in build failures.

To fix this, split the functionality to its own task which can have the correct
task dependencies. This means the data in BB_TASKDEPDATA is definitive, the other
code can be dropped, as can the IMAGE_EXTRATYPES do_populate_lic dependencies
from image.bbclass.

This fixes bugs which show up as:

NOTE: recipe linux-yocto-4.14.48+gitAUTOINC+d64aec9793_97c8063d2d-r0: task do_deploy: Started
ERROR: core-image-minimal-1.0-r0 do_image_complete: Error executing a python function in exec_python_func() autogenerated:

The stack trace of python calls that resulted in this exception/failure was:
File: 'exec_python_func() autogenerated', lineno: 2, function: &lt;module&gt;
     0001:
 *** 0002:write_deploy_manifest(d)
     0003:
File: '/home/pokybuild/yocto-autobuilder/yocto-worker/nightly-oe-selftest/build/meta/classes/license.bbclass', lineno: 33, function: write_deploy_manifest
     0029:        'w+').write(output)
     0030:}
     0031:
     0032:python write_deploy_manifest() {
 *** 0033:    license_deployed_manifest(d)
     0034:}
     0035:
     0036:python license_create_manifest() {
     0037:    import oe.packagedata
File: '/home/pokybuild/yocto-autobuilder/yocto-worker/nightly-oe-selftest/build/meta/classes/license.bbclass', lineno: 191, function: license_deployed_manifest
     0187:        # It is necessary to mark this will be used for image manifest
     0188:        man_dic[dep]["IMAGE_MANIFEST"] = True
     0189:        man_dic[dep]["PN"] = dep
     0190:        man_dic[dep]["FILES"] = \
 *** 0191:            " ".join(get_deployed_files(dep_dic[dep]))
     0192:        with open(os.path.join(lic_dir, dep, "recipeinfo"), "r") as f:
     0193:            for line in f.readlines():
     0194:                key,val = line.split(": ", 1)
     0195:                man_dic[dep][key] = val[:-1]
File: '/home/pokybuild/yocto-autobuilder/yocto-worker/nightly-oe-selftest/build/meta/classes/license.bbclass', lineno: 289, function: get_deployed_files
     0285:    """
     0286:
     0287:    dep_files = []
     0288:    excluded_files = []
 *** 0289:    with open(man_file, "r") as manifest:
     0290:        all_files = manifest.read()
     0291:    for f in all_files.splitlines():
     0292:        if ((not (os.path.islink(f) or os.path.isdir(f))) and
     0293:                not os.path.basename(f) in excluded_files):
Exception: FileNotFoundError: [Errno 2] No such file or directory: '/home/pokybuild/yocto-autobuilder/yocto-worker/nightly-oe-selftest/build/build-st-730/tmp/sstate-control/manifest-qemux86_64-linux-yocto.deploy'

ERROR: core-image-minimal-1.0-r0 do_image_complete: Function failed: write_deploy_manifest
ERROR: Logfile of failure stored in: /home/pokybuild/yocto-autobuilder/yocto-worker/nightly-oe-selftest/build/build-st-730/tmp/work/qemux86_64-poky-linux/core-image-minimal/1.0-r0/temp/log.do_image_complete.50537
NOTE: recipe core-image-minimal-1.0-r0: task do_image_complete: Failed
ERROR: Task (/home/pokybuild/yocto-autobuilder/yocto-worker/nightly-oe-selftest/build/meta/recipes-core/images/core-image-minimal.bb:do_image_complete) failed with exit code '1'
NOTE: recipe linux-yocto-4.14.48+gitAUTOINC+d64aec9793_97c8063d2d-r0: task do_deploy: Succeeded

(From OE-Core rev: b54cdaea7844ee3bf0c39eb97cc7c4c17ed5818c)

Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>rootfs-postcommands: split ssh_allow_empty_password</title>
<updated>2018-07-09T21:48:38+00:00</updated>
<author>
<name>Jackie Huang</name>
<email>jackie.huang@windriver.com</email>
</author>
<published>2017-06-29T05:28:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=7c1adcc6d7e00c5b2ea427c7a023dc9faee40582'/>
<id>urn:sha1:7c1adcc6d7e00c5b2ea427c7a023dc9faee40582</id>
<content type='text'>
"allow root login" should not be bundled in ssh_allow_empty_password,
because some distro may want only one of "allow root login" and "allow
empty password", so split it out into ssh_allow_root_login and add new
imagefeature allow-root-login so they can be controlled separately,
debug-tweaks will still include both of them.

(From OE-Core rev: 1ab494f06a12548a902298afabd0a842161ef10d)

Signed-off-by: Jackie Huang &lt;jackie.huang@windriver.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>image: Set COREBASE as the git directory for timestamp</title>
<updated>2018-06-28T08:22:35+00:00</updated>
<author>
<name>Alex Kiernan</name>
<email>alex.kiernan@gmail.com</email>
</author>
<published>2018-06-26T12:08:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=3c466731007e8a59d9c76b9dcf9ccd3e55573408'/>
<id>urn:sha1:3c466731007e8a59d9c76b9dcf9ccd3e55573408</id>
<content type='text'>
When REPRODUCIBLE_TIMESTAMP_ROOTFS is unset and we want to parse one
from git, use COREBASE as the base for the git command so we have a
known repository which we're using. Without this the build may fail
if the current directory is not part of a git repository.

(From OE-Core rev: 1c2197f96d69547e10b74dc722d9a569d9a2b2b6)

Signed-off-by: Alex Kiernan &lt;alex.kiernan@gmail.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>image/testimage: Rework auto image test execution</title>
<updated>2018-06-21T08:34:40+00:00</updated>
<author>
<name>Richard Purdie</name>
<email>richard.purdie@linuxfoundation.org</email>
</author>
<published>2018-06-18T11:33:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=fae0a9a4397e2878c2642a38ce82ec18fe60bc5a'/>
<id>urn:sha1:fae0a9a4397e2878c2642a38ce82ec18fe60bc5a</id>
<content type='text'>
The TEST_IMAGE interface has never particularly worked and image testing currently
gets configured manually.

This reworks the interface to better serve the needs of its users, replacing it
with TESTIMAGE_AUTO.

This does away with the need for the separate class due to better bitbake APIs for
changing tasks.

TESTIMAGE_AUTO will automatically boot under qemu any image that is built. It
also adds in dependencies so that any SDK for which testing is requested will
automatically be built first.

The code in bitbake.conf was error prone (e.g. testsdk wasn't considered), this
improves it to standardise on IMAGE_CLASSES as the standard configuration mechanism.

(From OE-Core rev: b34d44f3dfea8254826a46701a4fe3769a900434)

Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>image/image-live: Improve handling of live/iso/hddimg types (drop NOISO/NOHDD)</title>
<updated>2018-06-21T08:34:40+00:00</updated>
<author>
<name>Richard Purdie</name>
<email>richard.purdie@linuxfoundation.org</email>
</author>
<published>2018-06-18T11:04:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=83d791089fb220553d4df144f56ebea61d9e0713'/>
<id>urn:sha1:83d791089fb220553d4df144f56ebea61d9e0713</id>
<content type='text'>
The logic can be improved and the historical NOISO/NOHDD variables
moved into the class and out of common code.

The variables are also then removed in favour of directly controlling
the behaviour from IMAGE_FSTYPES in line with all the other image types.

(From OE-Core rev: a052caed563a09a01f5a3ea1f0477f379c05bee0)

Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>image: Combine all the class handling code into a single section</title>
<updated>2018-06-21T08:34:40+00:00</updated>
<author>
<name>Richard Purdie</name>
<email>richard.purdie@linuxfoundation.org</email>
</author>
<published>2018-06-18T10:45:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=25a2244265a14bb1b1585fb406f2b9a722055011'/>
<id>urn:sha1:25a2244265a14bb1b1585fb406f2b9a722055011</id>
<content type='text'>
Right now the code handling class inherits is spread all over and
its hard to get an idea of what is happening overall. Combine all
the code together to make it clearer. There shoould be no functionality
changes.

(From OE-Core rev: 9b6cda7ff443eebfc5a5a8c9442c93a881807dab)

Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>image.bbclass, populate_sdk_base.bbclass: make all variants of qemuwrapper-cross available in sysroots</title>
<updated>2018-06-18T10:07:58+00:00</updated>
<author>
<name>Alexander Kanavin</name>
<email>alexander.kanavin@linux.intel.com</email>
</author>
<published>2018-06-11T13:38:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=bdfca89b8025dd1fe7c09445c178993dfa9cdab9'/>
<id>urn:sha1:bdfca89b8025dd1fe7c09445c178993dfa9cdab9</id>
<content type='text'>
The variants are needed in particular when executing postinst_intercepts as
those may require running binaries built for different architectures and
against different sets of library paths, when multilib is in use (or nativesdk host
packages are installed), so a single global variant of the script was not working.

I do understand expanding PATH and DEPENDS in this manner is hackish, however
every other approach I could think of is worse.

(From OE-Core rev: 2f31eecc40ea4d0865aa28d65a0ba7d5a629393a)

Signed-off-by: Alexander Kanavin &lt;alexander.kanavin@linux.intel.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>classes: Use ${MACHINE_ARCH} instead of ${MACHINE} for stamp-extra-info task flag</title>
<updated>2018-04-10T08:10:36+00:00</updated>
<author>
<name>Peter Kjellerstedt</name>
<email>peter.kjellerstedt@axis.com</email>
</author>
<published>2018-04-06T18:26:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=144faeb10c79cc50249143591c63e500cbb9849e'/>
<id>urn:sha1:144faeb10c79cc50249143591c63e500cbb9849e</id>
<content type='text'>
Without this change, there will be two sstate index files in
tmp/sstate-control for any machine that contains a dash in the
name.

(From OE-Core rev: 29e7799bdb3773c40492e01448e0c614ed44583d)

Signed-off-by: Peter Kjellerstedt &lt;peter.kjellerstedt@axis.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>classes/recipes: Use expanded BUILD_REPRODUCIBLE_BINARIES value</title>
<updated>2018-03-12T22:06:32+00:00</updated>
<author>
<name>Juro Bystricky</name>
<email>juro.bystricky@intel.com</email>
</author>
<published>2018-03-10T18:56:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=98e852983cf58e3004a88bcfb20430289f679140'/>
<id>urn:sha1:98e852983cf58e3004a88bcfb20430289f679140</id>
<content type='text'>
Replace the occurences of BUILD_REPRODUCIBLE_BINARIES with expanded
values ${BUILD_REPRODUCIBLE_BINARIES} so the variable does not need to be
exported.

(From OE-Core rev: 27f87bbc8395a2481ef808465a62d213a6b678ac)

Signed-off-by: Juro Bystricky &lt;juro.bystricky@intel.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>image: Remove the do_package_write_* tasks</title>
<updated>2018-03-04T11:35:42+00:00</updated>
<author>
<name>Richard Purdie</name>
<email>richard.purdie@linuxfoundation.org</email>
</author>
<published>2018-03-03T08:39:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=49f7c2cd87adafb2130addedf69d5f67dc1f2a22'/>
<id>urn:sha1:49f7c2cd87adafb2130addedf69d5f67dc1f2a22</id>
<content type='text'>
Now we're filtering tasks in the rpm indexing code so that tasks can only
see the packages they really depend upon, having noexec package_write tasks
around is causing problems since the tasks exist but don't have manifests.

Removing the tasks entirely solves this problem and streamlines the
task execution graph too.

(From OE-Core rev: 027445cd88a4e706bdfe83bb4ff2c21e2186982a)

Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
</feed>
