<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/poky.git/bitbake/lib/bb/cooker.py, branch yocto-4.0.24</title>
<subtitle>Mirror of git.yoctoproject.org/poky</subtitle>
<id>https://git.enea.com/cgit/linux/poky.git/atom?h=yocto-4.0.24</id>
<link rel='self' href='https://git.enea.com/cgit/linux/poky.git/atom?h=yocto-4.0.24'/>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/'/>
<updated>2022-09-16T16:53:22+00:00</updated>
<entry>
<title>bitbake: cooker: Drop sre_constants usage</title>
<updated>2022-09-16T16:53:22+00:00</updated>
<author>
<name>Richard Purdie</name>
<email>richard.purdie@linuxfoundation.org</email>
</author>
<published>2022-09-13T14:26:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=a18a0145111e557fc4aae9234fbe82aea4720ec5'/>
<id>urn:sha1:a18a0145111e557fc4aae9234fbe82aea4720ec5</id>
<content type='text'>
As reported by Martin Jansa &lt;Martin.Jansa@gmail.com&gt;:

bitbake/lib/bb/cooker.py:16: DeprecationWarning: module 'sre_constants' is deprecated
  import sre_constants

it's deprecated since 3.11 with:

  https://github.com/python/cpython/issues/91308

The correct replacement for our usage is re.error so use that instead.

(Bitbake rev: c98007217b8e40f1abfdcba709185dc5ddbcd0c2)

Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
(cherry picked from commit 3c0cd401472ffee06d5a93bdba566cb033851fcf)
Signed-off-by: Steve Sakoman &lt;steve@sakoman.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>bitbake: cooker: Drop unused loop</title>
<updated>2022-05-12T12:41:42+00:00</updated>
<author>
<name>Richard Purdie</name>
<email>richard.purdie@linuxfoundation.org</email>
</author>
<published>2022-05-10T18:05:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=ba1a9588f06b71634e00bd8763c7ea1b3b1d6a95'/>
<id>urn:sha1:ba1a9588f06b71634e00bd8763c7ea1b3b1d6a95</id>
<content type='text'>
(Bitbake rev: c6df0e68ef52c10be9e8773e660c3bb5c9d1e915)

Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
(cherry picked from commit 1c811ad6f10560e7a7fb6830cf83707551ba04bd)
Signed-off-by: Steve Sakoman &lt;steve@sakoman.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>bitbake: cooker: Reset and rebuild inotify watches</title>
<updated>2022-04-03T16:51:26+00:00</updated>
<author>
<name>Richard Purdie</name>
<email>richard.purdie@linuxfoundation.org</email>
</author>
<published>2022-04-03T07:57:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=d0082265d5358f672ff00ff2d5c6a4d38564576e'/>
<id>urn:sha1:d0082265d5358f672ff00ff2d5c6a4d38564576e</id>
<content type='text'>
The recent inotify changes can cause entire build trees to be monitored
which is suboptimal for performance.

Rather than trying increasingly convoluted tricks to try and handle add/removed
directories, rebuild the inotify watch when we reparse the configuration or
metadata.

(Bitbake rev: 3df322a200c28b45af1f2c92478c85eb7d20c38b)

Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>bitbake: cooker: Avoid error if siggen wasn't setup</title>
<updated>2022-04-01T22:14:01+00:00</updated>
<author>
<name>Richard Purdie</name>
<email>richard.purdie@linuxfoundation.org</email>
</author>
<published>2022-04-01T22:13:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=197652119006074f655704da113c57ab3f34e039'/>
<id>urn:sha1:197652119006074f655704da113c57ab3f34e039</id>
<content type='text'>
In some cases we'd never have setup a siggen so don't error in that case.

(Bitbake rev: bbaaf2cf7b5a9339d3790610e622020c19d52f5a)

Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>bitbake: cooker: Ensure any existing hashserv connection is closed</title>
<updated>2022-04-01T22:14:01+00:00</updated>
<author>
<name>Richard Purdie</name>
<email>richard.purdie@linuxfoundation.org</email>
</author>
<published>2022-03-31T15:51:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=9b8eda7eb3f1402619760cde68a9c0aae50cf914'/>
<id>urn:sha1:9b8eda7eb3f1402619760cde68a9c0aae50cf914</id>
<content type='text'>
Ensure any exiting hash server connection is terminated before we start
a new bitbake session. This avoids errors seen with memory resident bitbake
when the asyncio event loop isn't closed correctly.

(Bitbake rev: 42ff9de77f24e2a0bec48a14b64c4b538e00b4af)

Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>bitbake: cooker: Restore sys.path and sys.modules between parses</title>
<updated>2022-04-01T22:14:01+00:00</updated>
<author>
<name>Richard Purdie</name>
<email>richard.purdie@linuxfoundation.org</email>
</author>
<published>2022-03-31T10:55:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=b731e47eeb3e74d1a53ae88318063f0dd2cdd544'/>
<id>urn:sha1:b731e47eeb3e74d1a53ae88318063f0dd2cdd544</id>
<content type='text'>
When memory resident bitbake is active and we re-parse, the old module
configuration is present which can lead to strange errors. Reset this
when reparsing so the state is consistent. This fixes memory resident
bitbake errors.

(Bitbake rev: 951942c3c284ec2c62e730e145688033190af9b2)

Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>bitbake: cooker: Further fixes to inotify to fix memres bitbake issues</title>
<updated>2022-04-01T22:14:01+00:00</updated>
<author>
<name>Richard Purdie</name>
<email>richard.purdie@linuxfoundation.org</email>
</author>
<published>2022-03-30T17:29:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=fd1a6bad77b008af28291567aa53776c644c3a48'/>
<id>urn:sha1:fd1a6bad77b008af28291567aa53776c644c3a48</id>
<content type='text'>
The previous fix for inotify wasn't quite correct as we need to modify
bbseen before calling add_filewatch(). We also need to ensure the parse
mtime cache is cleared when directories are added/removed. There was also
a typo in the original fix and the wrong watcher was being changed. Fix
the various issues which improves memory resident bitbake testing results.

(Bitbake rev: 66cadd6be58bce5f7a56556cf92efd8159fb0b0e)

Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>bitbake: cooker: Rework force parser shutdown</title>
<updated>2022-03-30T12:05:03+00:00</updated>
<author>
<name>Richard Purdie</name>
<email>richard.purdie@linuxfoundation.org</email>
</author>
<published>2022-03-29T14:18:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=4a5a2e67a841cf0c5d798c7b7b798e0a1f1d0944'/>
<id>urn:sha1:4a5a2e67a841cf0c5d798c7b7b798e0a1f1d0944</id>
<content type='text'>
The "force" option to parser shutdown was often the cause of lockups and
there is no good reason we should have two different behaviours.

Change and unify the codepaths to always:
  * Wait for longer for a controlled shutdown of a process (0.5s). Usually
    it will be much faster if it has finished so the delay doesn't really matter.
  * Send processes a SIGINT
  * Failing that, send a SIGTERM
  * Call .close() if available to release zombies

This means we no longer need the "force" parameter to the function so it is removed.

(Bitbake rev: de88c62ef873e9fce78ba162f5311d846de96f2b)

Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>bitbake: cooker/process: Fix signal handling lockups</title>
<updated>2022-03-30T12:05:03+00:00</updated>
<author>
<name>Richard Purdie</name>
<email>richard.purdie@linuxfoundation.org</email>
</author>
<published>2022-03-29T14:17:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=928bcb10a46939eaf801bea0b633e4624b5b5dfa'/>
<id>urn:sha1:928bcb10a46939eaf801bea0b633e4624b5b5dfa</id>
<content type='text'>
If a parser process is terminated while holding a write lock, then it
will lead to a deadlock (see
https://docs.python.org/3/library/multiprocessing.html#multiprocessing.Process.terminate).

With SIGTERM, we don't want to terminate holding the lock. We also don't
want a SIGINT to cause a partial write to the event stream.

I tried using signal masks to avoid this but it doesn't work, see
https://bugs.python.org/issue47139

Instead, add a signal handler and catch the calls around the critical section.
We also need a thread lock to ensure other threads in the same process don't
handle the signal until all the threads are not in the lock.

(Bitbake rev: a40efaa5556a188dfe46c8d060adde37dc400dcd)

Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>bitbake: cooker: Simplify parser init function handling</title>
<updated>2022-03-30T12:05:03+00:00</updated>
<author>
<name>Richard Purdie</name>
<email>richard.purdie@linuxfoundation.org</email>
</author>
<published>2022-03-29T10:42:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=c0ff6c75eedea6e0f472b45456aed238073ac157'/>
<id>urn:sha1:c0ff6c75eedea6e0f472b45456aed238073ac157</id>
<content type='text'>
Not sure why this is so convoluted but we should simplify it!

(Bitbake rev: 6195343c46ba9d2685fc2d42366922f88ff3f369)

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