* [bitbake][langdale][2.2][PATCH 0/4] Patch review
@ 2022-11-09 14:29 Steve Sakoman
2022-11-09 14:29 ` [bitbake][langdale][2.2][PATCH 1/4] bitbake-user-manual: details about variable flags starting with underscore Steve Sakoman
` (3 more replies)
0 siblings, 4 replies; 5+ messages in thread
From: Steve Sakoman @ 2022-11-09 14:29 UTC (permalink / raw)
To: bitbake-devel
Please review this set of changes for 2.2/langdale and have comments back
by end of day Friday.
Passed a-full on autobuilder:
https://autobuilder.yoctoproject.org/typhoon/#/builders/83/builds/4447
With the exception of a known autobuilder intermittent issue on qemumips64:
https://bugzilla.yoctoproject.org/show_bug.cgi?id=14931
which passed on subsequent retest:
https://autobuilder.yoctoproject.org/typhoon/#/builders/74/builds/6080
The following changes since commit 209f7ba352b60722830157054e3fc56cb9c693eb:
tests/fetch: Allow handling of a file:// url within a submodule (2022-10-26 23:01:35 +0100)
are available in the Git repository at:
https://git.openembedded.org/bitbake-contrib stable/2.2-nut
http://cgit.openembedded.org/bitbake-contrib/log/?h=stable/2.2-nut
Justin Bronder (1):
asyncrpc: serv: correct closed client socket detection
Mark Asselstine (1):
bitbake: bitbake-layers: checkout layer(s) branch when clone exists
Michael Opdenacker (1):
bitbake-user-manual: details about variable flags starting with
underscore
Ross Burton (1):
fetch2/git: don't set core.fsyncobjectfiles=0
.../bitbake-user-manual-metadata.rst | 6 +++++
lib/bb/asyncrpc/serv.py | 4 +--
lib/bb/fetch2/git.py | 2 +-
lib/bblayers/layerindex.py | 25 +++++++++++++++++++
4 files changed, 34 insertions(+), 3 deletions(-)
--
2.25.1
^ permalink raw reply [flat|nested] 5+ messages in thread
* [bitbake][langdale][2.2][PATCH 1/4] bitbake-user-manual: details about variable flags starting with underscore
2022-11-09 14:29 [bitbake][langdale][2.2][PATCH 0/4] Patch review Steve Sakoman
@ 2022-11-09 14:29 ` Steve Sakoman
2022-11-09 14:29 ` [bitbake][langdale][2.2][PATCH 2/4] fetch2/git: don't set core.fsyncobjectfiles=0 Steve Sakoman
` (2 subsequent siblings)
3 siblings, 0 replies; 5+ messages in thread
From: Steve Sakoman @ 2022-11-09 14:29 UTC (permalink / raw)
To: bitbake-devel
From: Michael Opdenacker <michael.opdenacker@bootlin.com>
Fixes [YOCTO #14140]
Signed-off-by: Michael Opdenacker <michael.opdenacker@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 0f3e9d87168813ce49995ff04bccdce11c5f7b47)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
---
doc/bitbake-user-manual/bitbake-user-manual-metadata.rst | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/doc/bitbake-user-manual/bitbake-user-manual-metadata.rst b/doc/bitbake-user-manual/bitbake-user-manual-metadata.rst
index b533d9dc..b7c3d809 100644
--- a/doc/bitbake-user-manual/bitbake-user-manual-metadata.rst
+++ b/doc/bitbake-user-manual/bitbake-user-manual-metadata.rst
@@ -422,6 +422,12 @@ documentation to a BitBake variable as follows::
CACHE[doc] = "The directory holding the cache of the metadata."
+.. note::
+
+ Variable flag names starting with an underscore (``_``) character
+ are allowed but are ignored by ``d.getVarFlags("VAR")``
+ in Python code. Such flag names are used internally by BitBake.
+
Inline Python Variable Expansion
--------------------------------
--
2.25.1
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [bitbake][langdale][2.2][PATCH 2/4] fetch2/git: don't set core.fsyncobjectfiles=0
2022-11-09 14:29 [bitbake][langdale][2.2][PATCH 0/4] Patch review Steve Sakoman
2022-11-09 14:29 ` [bitbake][langdale][2.2][PATCH 1/4] bitbake-user-manual: details about variable flags starting with underscore Steve Sakoman
@ 2022-11-09 14:29 ` Steve Sakoman
2022-11-09 14:29 ` [bitbake][langdale][2.2][PATCH 3/4] asyncrpc: serv: correct closed client socket detection Steve Sakoman
2022-11-09 14:29 ` [bitbake][langdale][2.2][PATCH 4/4] bitbake: bitbake-layers: checkout layer(s) branch when clone exists Steve Sakoman
3 siblings, 0 replies; 5+ messages in thread
From: Steve Sakoman @ 2022-11-09 14:29 UTC (permalink / raw)
To: bitbake-devel
From: Ross Burton <ross.burton@arm.com>
This git configuration variable is deprecated in 2.36.0 onwards, so git
warns in the logs for every git call.
Luckily the default value has always been false[1], so we can just remove
this.
[ YOCTO #14939 ]
[1] https://github.com/git/git/commit/aafe9fbaf4f1d1f27a6f6e3eb3e246fff81240ef
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 8ad310633e0c5d5593631c1196cbdde30147efce)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
---
lib/bb/fetch2/git.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/lib/bb/fetch2/git.py b/lib/bb/fetch2/git.py
index 17d49049..578edc59 100644
--- a/lib/bb/fetch2/git.py
+++ b/lib/bb/fetch2/git.py
@@ -243,7 +243,7 @@ class Git(FetchMethod):
for name in ud.names:
ud.unresolvedrev[name] = 'HEAD'
- ud.basecmd = d.getVar("FETCHCMD_git") or "git -c core.fsyncobjectfiles=0 -c gc.autoDetach=false -c core.pager=cat"
+ ud.basecmd = d.getVar("FETCHCMD_git") or "git -c gc.autoDetach=false -c core.pager=cat"
write_tarballs = d.getVar("BB_GENERATE_MIRROR_TARBALLS") or "0"
ud.write_tarballs = write_tarballs != "0" or ud.rebaseable
--
2.25.1
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [bitbake][langdale][2.2][PATCH 3/4] asyncrpc: serv: correct closed client socket detection
2022-11-09 14:29 [bitbake][langdale][2.2][PATCH 0/4] Patch review Steve Sakoman
2022-11-09 14:29 ` [bitbake][langdale][2.2][PATCH 1/4] bitbake-user-manual: details about variable flags starting with underscore Steve Sakoman
2022-11-09 14:29 ` [bitbake][langdale][2.2][PATCH 2/4] fetch2/git: don't set core.fsyncobjectfiles=0 Steve Sakoman
@ 2022-11-09 14:29 ` Steve Sakoman
2022-11-09 14:29 ` [bitbake][langdale][2.2][PATCH 4/4] bitbake: bitbake-layers: checkout layer(s) branch when clone exists Steve Sakoman
3 siblings, 0 replies; 5+ messages in thread
From: Steve Sakoman @ 2022-11-09 14:29 UTC (permalink / raw)
To: bitbake-devel
From: Justin Bronder <jsbronder@cold-front.org>
If the client socket is closed, asyncio.StreamReader.readline() will
return an empty bytes object, not None.
This prevents multiple tracebacks being logged by bitbake-hashserv each
time bitbake is started and performs a connection check.
Signed-off-by: Justin Bronder <jsbronder@cold-front.org>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 2d07f252704dff7747fa1f9adf223a452806717f)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
---
lib/bb/asyncrpc/serv.py | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/lib/bb/asyncrpc/serv.py b/lib/bb/asyncrpc/serv.py
index 5cf45f90..d2de4891 100644
--- a/lib/bb/asyncrpc/serv.py
+++ b/lib/bb/asyncrpc/serv.py
@@ -42,7 +42,7 @@ class AsyncServerConnection(object):
# Read protocol and version
client_protocol = await self.reader.readline()
- if client_protocol is None:
+ if not client_protocol:
return
(client_proto_name, client_proto_version) = client_protocol.decode('utf-8').rstrip().split()
@@ -59,7 +59,7 @@ class AsyncServerConnection(object):
# an empty line to signal the end of the headers
while True:
line = await self.reader.readline()
- if line is None:
+ if not line:
return
line = line.decode('utf-8').rstrip()
--
2.25.1
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [bitbake][langdale][2.2][PATCH 4/4] bitbake: bitbake-layers: checkout layer(s) branch when clone exists
2022-11-09 14:29 [bitbake][langdale][2.2][PATCH 0/4] Patch review Steve Sakoman
` (2 preceding siblings ...)
2022-11-09 14:29 ` [bitbake][langdale][2.2][PATCH 3/4] asyncrpc: serv: correct closed client socket detection Steve Sakoman
@ 2022-11-09 14:29 ` Steve Sakoman
3 siblings, 0 replies; 5+ messages in thread
From: Steve Sakoman @ 2022-11-09 14:29 UTC (permalink / raw)
To: bitbake-devel
From: Mark Asselstine <mark.asselstine@windriver.com>
[YOCTO #7852]
Fixes 'bitbake-layers layerindex-fetch --branch kirkstone meta-arm'
not checking out the branch if the repo is already cloned and on a
different branch.
If a clone of a layer being added already exists check what branch it
is on and if necessary attempt to switch to the given branch. If the
switch fails to happen the git error will be reported. We also warn if
there are uncommitted changes as the changes might go unnoticed and
result in unexpected behaviors.
Signed-off-by: Mark Asselstine <mark.asselstine@windriver.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit d2cb388f58a37db2149fad34e4572d954e6e5441)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
---
lib/bblayers/layerindex.py | 25 +++++++++++++++++++++++++
1 file changed, 25 insertions(+)
diff --git a/lib/bblayers/layerindex.py b/lib/bblayers/layerindex.py
index 0ac8fd2e..ba91fac6 100644
--- a/lib/bblayers/layerindex.py
+++ b/lib/bblayers/layerindex.py
@@ -49,6 +49,31 @@ class LayerIndexPlugin(ActionPlugin):
else:
logger.plain("Repository %s needs to be fetched" % url)
return subdir, layername, layerdir
+ elif os.path.exists(repodir) and branch:
+ """
+ If the repo is already cloned, ensure it is on the correct branch,
+ switching branches if necessary and possible.
+ """
+ base_cmd = ['git', '--git-dir=%s/.git' % repodir, '--work-tree=%s' % repodir]
+ cmd = base_cmd + ['branch']
+ completed_proc = subprocess.run(cmd, text=True, capture_output=True)
+ if completed_proc.returncode:
+ logger.error("Unable to validate repo %s (%s)" % (repodir, stderr))
+ return None, None, None
+ else:
+ if branch != completed_proc.stdout[2:-1]:
+ cmd = base_cmd + ['status', '--short']
+ completed_proc = subprocess.run(cmd, text=True, capture_output=True)
+ if completed_proc.stdout.count('\n') != 0:
+ logger.warning("There are uncommitted changes in repo %s" % repodir)
+ cmd = base_cmd + ['checkout', branch]
+ completed_proc = subprocess.run(cmd, text=True, capture_output=True)
+ if completed_proc.returncode:
+ # Could be due to original shallow clone on a different branch for example
+ logger.error("Unable to automatically switch %s to desired branch '%s' (%s)"
+ % (repodir, branch, completed_proc.stderr))
+ return None, None, None
+ return subdir, layername, layerdir
elif os.path.exists(layerdir):
return subdir, layername, layerdir
else:
--
2.25.1
^ permalink raw reply related [flat|nested] 5+ messages in thread
end of thread, other threads:[~2022-11-09 14:30 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-11-09 14:29 [bitbake][langdale][2.2][PATCH 0/4] Patch review Steve Sakoman
2022-11-09 14:29 ` [bitbake][langdale][2.2][PATCH 1/4] bitbake-user-manual: details about variable flags starting with underscore Steve Sakoman
2022-11-09 14:29 ` [bitbake][langdale][2.2][PATCH 2/4] fetch2/git: don't set core.fsyncobjectfiles=0 Steve Sakoman
2022-11-09 14:29 ` [bitbake][langdale][2.2][PATCH 3/4] asyncrpc: serv: correct closed client socket detection Steve Sakoman
2022-11-09 14:29 ` [bitbake][langdale][2.2][PATCH 4/4] bitbake: bitbake-layers: checkout layer(s) branch when clone exists Steve Sakoman
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.