<feed xmlns='http://www.w3.org/2005/Atom'>
<title>openembedded-core.git/meta/classes/autotools.bbclass, branch jethro</title>
<subtitle>Mirror of openembedded-core</subtitle>
<link rel='alternate' type='text/html' href='https://git.multitech.net/cgit/openembedded-core.git/'/>
<entry>
<title>autotools: Allow recipe-individual configure scripts</title>
<updated>2015-12-28T07:03:15+00:00</updated>
<author>
<name>Jens Rehsack</name>
<email>rehsack@gmail.com</email>
</author>
<published>2015-10-13T20:35:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.multitech.net/cgit/openembedded-core.git/commit/?id=809df21d8a8cc4ab860a84ccd7b2e51105df68ee'/>
<id>809df21d8a8cc4ab860a84ccd7b2e51105df68ee</id>
<content type='text'>
OpenJDK-8 has it's configure script at common/autotools - which will cause
the entire assumption of ${S}/configure is regenerated by autoreconf, intltoolize or alike
fails heavily.

Also - other configure mechanisms can be supported more similar (see how pkgsrc
manages different ones ...)

(From OE-Core master rev: fe506eddb0790e37ac1e50f37fa2e32ad81d5493)

Signed-off-by: Jens Rehsack &lt;sno@netbsd.org&gt;
Signed-off-by: Ross Burton &lt;ross.burton@intel.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
Signed-off-by: Robert Yang &lt;liezhi.yang@windriver.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
OpenJDK-8 has it's configure script at common/autotools - which will cause
the entire assumption of ${S}/configure is regenerated by autoreconf, intltoolize or alike
fails heavily.

Also - other configure mechanisms can be supported more similar (see how pkgsrc
manages different ones ...)

(From OE-Core master rev: fe506eddb0790e37ac1e50f37fa2e32ad81d5493)

Signed-off-by: Jens Rehsack &lt;sno@netbsd.org&gt;
Signed-off-by: Ross Burton &lt;ross.burton@intel.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
Signed-off-by: Robert Yang &lt;liezhi.yang@windriver.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>autotools: fix traversal bug in aclocal copying</title>
<updated>2015-09-21T22:05:42+00:00</updated>
<author>
<name>Christopher Larson</name>
<email>chris_larson@mentor.com</email>
</author>
<published>2015-09-20T05:19:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.multitech.net/cgit/openembedded-core.git/commit/?id=e6d4f8198a8708f54fc17333ae643b51ed9100b6'/>
<id>e6d4f8198a8708f54fc17333ae643b51ed9100b6</id>
<content type='text'>
The logic is supposed to avoid following dependencies when we depend on
a target recipe which depends on a native recipe. The problem is, we were
marking the dep (the native recipe) as already processed when we avoided
traversal, meaning that even when that recipe would be pulled in via
a different dependency, we skipped it there too, and whether it was skipped
entirely depended on the non-deterministic dep processing order. If the first
one to be encountered was via the indirect target dep, it wouldn't end up in
configuredeps, otherwise it would.

As we want to avoid traversing that particular dependency relationship, not
*every* dependency on the native, we should continue, but not add it to done,
so it can be traversed from other avenues.

This fixes an intermittent bug in some of my non-GPLv3 builds, where one
dependency upon gettext-minimal-native was skipped, but others should not have
been, resulting in it being removed from configuredeps entirely, and no
gettext macros being available.

Cc: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
Signed-off-by: Christopher Larson &lt;chris_larson@mentor.com&gt;
Signed-off-by: Ross Burton &lt;ross.burton@intel.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The logic is supposed to avoid following dependencies when we depend on
a target recipe which depends on a native recipe. The problem is, we were
marking the dep (the native recipe) as already processed when we avoided
traversal, meaning that even when that recipe would be pulled in via
a different dependency, we skipped it there too, and whether it was skipped
entirely depended on the non-deterministic dep processing order. If the first
one to be encountered was via the indirect target dep, it wouldn't end up in
configuredeps, otherwise it would.

As we want to avoid traversing that particular dependency relationship, not
*every* dependency on the native, we should continue, but not add it to done,
so it can be traversed from other avenues.

This fixes an intermittent bug in some of my non-GPLv3 builds, where one
dependency upon gettext-minimal-native was skipped, but others should not have
been, resulting in it being removed from configuredeps entirely, and no
gettext macros being available.

Cc: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
Signed-off-by: Christopher Larson &lt;chris_larson@mentor.com&gt;
Signed-off-by: Ross Burton &lt;ross.burton@intel.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>autotools.bbclass: mkdir ${B} -&gt; mkdir -p ${B}</title>
<updated>2015-09-16T21:17:19+00:00</updated>
<author>
<name>Robert Yang</name>
<email>liezhi.yang@windriver.com</email>
</author>
<published>2015-09-16T10:25:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.multitech.net/cgit/openembedded-core.git/commit/?id=72682d72b52355c3fed947167ca3c6064340ead1'/>
<id>72682d72b52355c3fed947167ca3c6064340ead1</id>
<content type='text'>
${B} is the default cwd of tasks, so there might be race issues such as:
| mkdir: cannot create directory `${B}': File exists
[snip]
NOTE: recipe perf-1.0-r9: task do_configure: Failed

Signed-off-by: Robert Yang &lt;liezhi.yang@windriver.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
${B} is the default cwd of tasks, so there might be race issues such as:
| mkdir: cannot create directory `${B}': File exists
[snip]
NOTE: recipe perf-1.0-r9: task do_configure: Failed

Signed-off-by: Robert Yang &lt;liezhi.yang@windriver.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>autotools.bbclass: Allow dependency tracking option to be overridden</title>
<updated>2015-08-30T11:34:26+00:00</updated>
<author>
<name>Roy Li</name>
<email>rongqing.li@windriver.com</email>
</author>
<published>2015-08-26T05:51:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.multitech.net/cgit/openembedded-core.git/commit/?id=758abeb219520ab5556186babcdb7e6660ce6e40'/>
<id>758abeb219520ab5556186babcdb7e6660ce6e40</id>
<content type='text'>
CONFIGUREOPT_DEPTRACK can not be overridden since it is set by =

Signed-off-by: Roy Li &lt;rongqing.li@windriver.com&gt;
Signed-off-by: Ross Burton &lt;ross.burton@intel.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
CONFIGUREOPT_DEPTRACK can not be overridden since it is set by =

Signed-off-by: Roy Li &lt;rongqing.li@windriver.com&gt;
Signed-off-by: Ross Burton &lt;ross.burton@intel.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Use die() or bbfatal_log() where the log should definitely be printed</title>
<updated>2015-07-16T14:08:45+00:00</updated>
<author>
<name>Paul Eggleton</name>
<email>paul.eggleton@linux.intel.com</email>
</author>
<published>2015-07-13T15:20:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.multitech.net/cgit/openembedded-core.git/commit/?id=04ed9a19e1b08003329138b8ab83691d13c11fd9'/>
<id>04ed9a19e1b08003329138b8ab83691d13c11fd9</id>
<content type='text'>
Change calls to bbfatal() to either die() or bbfatal_log() where we know
we want the full log to be printed by the UI (calling bberror or bbfatal
would otherwise suppress it since the change to connect these functions
through to the UI.) bbfatal() is still fine to use where there is enough
context information in the message such that the log isn't needed.

Signed-off-by: Paul Eggleton &lt;paul.eggleton@linux.intel.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Change calls to bbfatal() to either die() or bbfatal_log() where we know
we want the full log to be printed by the UI (calling bberror or bbfatal
would otherwise suppress it since the change to connect these functions
through to the UI.) bbfatal() is still fine to use where there is enough
context information in the message such that the log isn't needed.

Signed-off-by: Paul Eggleton &lt;paul.eggleton@linux.intel.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>meta: Add explict getVar param for (non) expansion</title>
<updated>2015-06-23T10:56:17+00:00</updated>
<author>
<name>Richard Purdie</name>
<email>richard.purdie@linuxfoundation.org</email>
</author>
<published>2015-06-18T14:14:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.multitech.net/cgit/openembedded-core.git/commit/?id=ab7c1d239b122c8e549e8112c88fd46c9e2b061b'/>
<id>ab7c1d239b122c8e549e8112c88fd46c9e2b061b</id>
<content type='text'>
Rather than just use d.getVar(X), use the more explict d.getVar(X, False)
since at some point in the future, having the default of expansion would
be nice. This is the first step towards that.

This patch was mostly made using the command:

sed -e 's:\(getVar([^,()]*\)\s*):\1, False):g' -i `grep -ril getVar *`

Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Rather than just use d.getVar(X), use the more explict d.getVar(X, False)
since at some point in the future, having the default of expansion would
be nice. This is the first step towards that.

This patch was mostly made using the command:

sed -e 's:\(getVar([^,()]*\)\s*):\1, False):g' -i `grep -ril getVar *`

Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>autotools: Use space with prepend to clean up variable whitespace</title>
<updated>2015-05-25T07:54:24+00:00</updated>
<author>
<name>Richard Purdie</name>
<email>richard.purdie@linuxfoundation.org</email>
</author>
<published>2015-05-25T07:49:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.multitech.net/cgit/openembedded-core.git/commit/?id=4bb586a470a15cf3b93538e8c749a6fb8479c990'/>
<id>4bb586a470a15cf3b93538e8c749a6fb8479c990</id>
<content type='text'>
Correct the whitespace in this variable to make this more readable when
debugging, no functional change.

Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Correct the whitespace in this variable to make this more readable when
debugging, no functional change.

Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>autotools: Fix find races on source directory</title>
<updated>2015-04-29T09:39:40+00:00</updated>
<author>
<name>Richard Purdie</name>
<email>richard.purdie@linuxfoundation.org</email>
</author>
<published>2015-04-28T10:51:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.multitech.net/cgit/openembedded-core.git/commit/?id=79770ca14a0cc2f4112fb4d8dc2d8832701b6d5d'/>
<id>79770ca14a0cc2f4112fb4d8dc2d8832701b6d5d</id>
<content type='text'>
In a similar way to http://git.yoctoproject.org/cgit.cgi/poky/commit/?id=aa1438b56f30515f9c31b306decef7f562dda81f
there are more find races in the autotools class.

For recipes with PACKAGES_remove = "${PN}", the find which removes
.la files can race against deletion of other directories in WORKDIR
e.g.:
find: '/home/autobuilder/yocto-autobuilder/yocto-worker/nightly-oe-selftest/build/build/tmp/work/qemux86_64-poky-linux/init-ifupdown/1.0-r7/sstate-build-populate_lic': No such file or directory
| WARNING: /home/autobuilder/yocto-autobuilder/yocto-worker/nightly-oe-selftest/build/build/tmp/work/qemux86_64-poky-linux/init-ifupdown/1.0-r7/temp/run.do_configure.6558:1 exit 1 from
| find /home/autobuilder/yocto-autobuilder/yocto-worker/nightly-oe-selftest/build/build/tmp/work/qemux86_64-poky-linux/init-ifupdown/1.0-r7 -name \*.la -delete

Fix the remaining races in the same way.

[YOCTO #7522]

Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
In a similar way to http://git.yoctoproject.org/cgit.cgi/poky/commit/?id=aa1438b56f30515f9c31b306decef7f562dda81f
there are more find races in the autotools class.

For recipes with PACKAGES_remove = "${PN}", the find which removes
.la files can race against deletion of other directories in WORKDIR
e.g.:
find: '/home/autobuilder/yocto-autobuilder/yocto-worker/nightly-oe-selftest/build/build/tmp/work/qemux86_64-poky-linux/init-ifupdown/1.0-r7/sstate-build-populate_lic': No such file or directory
| WARNING: /home/autobuilder/yocto-autobuilder/yocto-worker/nightly-oe-selftest/build/build/tmp/work/qemux86_64-poky-linux/init-ifupdown/1.0-r7/temp/run.do_configure.6558:1 exit 1 from
| find /home/autobuilder/yocto-autobuilder/yocto-worker/nightly-oe-selftest/build/build/tmp/work/qemux86_64-poky-linux/init-ifupdown/1.0-r7 -name \*.la -delete

Fix the remaining races in the same way.

[YOCTO #7522]

Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>autotools: Avoid find race for S = "${WORKDIR}"</title>
<updated>2015-03-29T22:07:17+00:00</updated>
<author>
<name>Richard Purdie</name>
<email>richard.purdie@linuxfoundation.org</email>
</author>
<published>2015-03-26T14:18:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.multitech.net/cgit/openembedded-core.git/commit/?id=dd8099ca3092fbd5c685e5ef1b1c5a8185a6893d'/>
<id>dd8099ca3092fbd5c685e5ef1b1c5a8185a6893d</id>
<content type='text'>
For recipes with PACKAGES_remove = "${PN}", the find which removes .la files
can race against deletion of other directories in WORKDIR e.g.:

find: '/home/autobuilder/yocto-autobuilder/yocto-worker/nightly-oe-selftest/build/build/tmp/work/qemux86_64-poky-linux/init-ifupdown/1.0-r7/sstate-build-populate_lic': No such file or directory
| WARNING: /home/autobuilder/yocto-autobuilder/yocto-worker/nightly-oe-selftest/build/build/tmp/work/qemux86_64-poky-linux/init-ifupdown/1.0-r7/temp/run.do_configure.6558:1 exit 1 from
|   find /home/autobuilder/yocto-autobuilder/yocto-worker/nightly-oe-selftest/build/build/tmp/work/qemux86_64-poky-linux/init-ifupdown/1.0-r7 -name \*.la -delete

The simplest fix is to add the find option which ignores these kind of races.

[YOCTO #7522]

Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
For recipes with PACKAGES_remove = "${PN}", the find which removes .la files
can race against deletion of other directories in WORKDIR e.g.:

find: '/home/autobuilder/yocto-autobuilder/yocto-worker/nightly-oe-selftest/build/build/tmp/work/qemux86_64-poky-linux/init-ifupdown/1.0-r7/sstate-build-populate_lic': No such file or directory
| WARNING: /home/autobuilder/yocto-autobuilder/yocto-worker/nightly-oe-selftest/build/build/tmp/work/qemux86_64-poky-linux/init-ifupdown/1.0-r7/temp/run.do_configure.6558:1 exit 1 from
|   find /home/autobuilder/yocto-autobuilder/yocto-worker/nightly-oe-selftest/build/build/tmp/work/qemux86_64-poky-linux/init-ifupdown/1.0-r7 -name \*.la -delete

The simplest fix is to add the find option which ignores these kind of races.

[YOCTO #7522]

Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>autotools/siteinfo: Avoid races over siteinfo files</title>
<updated>2015-02-13T14:49:31+00:00</updated>
<author>
<name>Richard Purdie</name>
<email>richard.purdie@linuxfoundation.org</email>
</author>
<published>2015-02-12T14:50:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.multitech.net/cgit/openembedded-core.git/commit/?id=c8b7aad133c3e3319345d50f85a91cbd5116f842'/>
<id>c8b7aad133c3e3319345d50f85a91cbd5116f842</id>
<content type='text'>
If a siteinfo enabled tasks re-executes at the wrong moment whilst something else is
in do_configure, the _config files can be removed which upsets autoconf and
causes build failures.

Use the same approach as we do for dealing with the aclocal files. We already
parse the manifests so look out any *_config files and if so, copy them, then
reference the copy from siteinfo instead. This has the advantage of also being
more deterministic.

[YOCTO #7101]

Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
If a siteinfo enabled tasks re-executes at the wrong moment whilst something else is
in do_configure, the _config files can be removed which upsets autoconf and
causes build failures.

Use the same approach as we do for dealing with the aclocal files. We already
parse the manifests so look out any *_config files and if so, copy them, then
reference the copy from siteinfo instead. This has the advantage of also being
more deterministic.

[YOCTO #7101]

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