<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/poky.git/bitbake/lib/bb/fetch2, branch sumo</title>
<subtitle>Mirror of git.yoctoproject.org/poky</subtitle>
<id>https://git.enea.com/cgit/linux/poky.git/atom?h=sumo</id>
<link rel='self' href='https://git.enea.com/cgit/linux/poky.git/atom?h=sumo'/>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/'/>
<updated>2020-09-08T13:46:17+00:00</updated>
<entry>
<title>bitbake: fetch2: Change git fetcher not to destroy old references</title>
<updated>2020-09-08T13:46:17+00:00</updated>
<author>
<name>Richard Purdie</name>
<email>richard.purdie@linuxfoundation.org</email>
</author>
<published>2020-07-08T11:07:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=b39f4146de84d7b36861859ec669d9c8e2ca77c6'/>
<id>urn:sha1:b39f4146de84d7b36861859ec669d9c8e2ca77c6</id>
<content type='text'>
It looks like we're about to see a lot of changes in branch names in repos. If
we have the prune option here, those old names are lost, the changes propagate
to our source mirrors and our old releases break.

We have the force option so any replaced references should be replaced, its only
orphaned branches which will now be preserved.

I believe this behaviour will cause us fewer problems given the changes that
look likely to happen.

(Bitbake rev: 1df4fb1c9bf2fde0b274374bff1235c4b1f7ac79)

Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>bitbake: fetch: don't use shell=True when listing ar files</title>
<updated>2019-02-25T22:27:46+00:00</updated>
<author>
<name>Ross Burton</name>
<email>ross.burton@intel.com</email>
</author>
<published>2018-11-23T15:01:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=4e75f5cc6b50d45d2b782f8f0220dade12e02473'/>
<id>urn:sha1:4e75f5cc6b50d45d2b782f8f0220dade12e02473</id>
<content type='text'>
(Bitbake rev: d150e50355444b0a67cad4d6a100d9bf6fadb2ae)

Signed-off-by: Ross Burton &lt;ross.burton@intel.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>bitbake: fetcher: Fixed remote removal not throwing exception.</title>
<updated>2018-10-10T12:26:25+00:00</updated>
<author>
<name>Paulo Neves</name>
<email>ptsneves@gmail.com</email>
</author>
<published>2018-08-27T19:38:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=36d5cee56bd389ecbe66dbfad9e5d57c13b56b95'/>
<id>urn:sha1:36d5cee56bd389ecbe66dbfad9e5d57c13b56b95</id>
<content type='text'>
Before this fix it is assumed that the removal of the
remote can only fail because there is not remote to remove. This
is a false assumption. Example error which would be ignored:

git -c core.fsyncobjectfiles=0 remote rm origin failed with exit code 1, output:
Note: A branch outside the refs/remotes/ hierarchy was not removed;
to delete it, use:
  git branch -d master
error: could not lock config file config
error: Could not remove config section 'remote.origin'

Due to the masking of this error a stranger error will be
presented to the user, because this time we do not mask the
exception:

git -c core.fsyncobjectfiles=0 remote add --mirror=fetch origin https://github.com/ptsneves/tl-wn722.git failed with exit code 128, output:
fatal: remote origin already exists.

The most likely reason that the remote cannot be removed nor
modified is that the DL_DIR/git2 does not have permissions
compatible with the user running bitbake.

This commit fixes:
https://bugzilla.yoctoproject.org/show_bug.cgi?id=12728

(Bitbake rev: 67189588a68b9bcb39421ef12103507b4c8820c3)

Signed-off-by: Paulo Neves &lt;ptsneves@gmail.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>bitbake: fetch2: fix import error for Python 3.6.5</title>
<updated>2018-07-02T10:43:52+00:00</updated>
<author>
<name>Tzu Hsiang Lin</name>
<email>t9360341@ntut.org.tw</email>
</author>
<published>2018-05-21T17:56:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=d53a5f1e8bc22881c22cc96384b8c5db93452f64'/>
<id>urn:sha1:d53a5f1e8bc22881c22cc96384b8c5db93452f64</id>
<content type='text'>
When running bitbake command with Python 3.6.5 always result in
import error causing by the change of distutils module.
This patch replaces the method to search executable in PATH by
"/usr/bin/env &lt;command&gt;".

(Bitbake rev: eb3bdcc9e7cb273de4114367887d1d7df9f036b7)

Signed-off-by: Tzu Hsiang Lin &lt;t9360341@ntut.org.tw&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>bitbake: fetch2/git: log exception if ls-remote fails</title>
<updated>2018-03-28T11:51:52+00:00</updated>
<author>
<name>Ross Burton</name>
<email>ross.burton@intel.com</email>
</author>
<published>2018-03-27T10:21:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=f500504b81b3369d11ec151918004507e87e5026'/>
<id>urn:sha1:f500504b81b3369d11ec151918004507e87e5026</id>
<content type='text'>
(Bitbake rev: 8212446de11c0e370c55f88cde86334b760cd939)

Signed-off-by: Ross Burton &lt;ross.burton@intel.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>bitbake: fetch2: Handle missing donestamp file when content is valid</title>
<updated>2018-02-14T15:26:03+00:00</updated>
<author>
<name>Nathan Rossi</name>
<email>nathan@nathanrossi.com</email>
</author>
<published>2018-02-02T13:51:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=f2d5967982359b924406e3937a8e32807a5bb533'/>
<id>urn:sha1:f2d5967982359b924406e3937a8e32807a5bb533</id>
<content type='text'>
In order to allow users to manually populate the download directory with
valid content change the assumption that missing the donestamp file
means unfetched content.

This allows users to populate the download dir without needing to create
dummy .done files such that a user does not need a PREMIRROR when using
BB_NO_NETWORK to provide valid content files in the download directory.

To ensure the correct result this change also fails first if the
localpath does not exist. This prevents further parts of the function
attempting to calculating the checksum on non-existent files. This also
fixes some edge conditions around where if the donestamp exists but the
localpath does not it returns, and did not remove the donestamp.

Also added test cases to cover this use case and additional use cases
where for example the fetcher does not support checksums.

(Bitbake rev: a335dbbb65d5b56e71d98cf3e4fa9bfbec1dcde6)

Signed-off-by: Nathan Rossi &lt;nathan@nathanrossi.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>bitbake: fetch2/npm.py: Fix inverted condition to prevent infinite loop</title>
<updated>2018-02-14T15:26:03+00:00</updated>
<author>
<name>Böszörményi Zoltán</name>
<email>zboszor@pr.hu</email>
</author>
<published>2018-02-04T08:36:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=bb3a634226c68b235d0110b9955d0aae7dde994a'/>
<id>urn:sha1:bb3a634226c68b235d0110b9955d0aae7dde994a</id>
<content type='text'>
At least the cli-color node module has dependencies that have
cyclic dependency among themselves. npm.py is prepared to deal
with such a case but the condition is handled only for downloading
or not a dependency again, but then it goes checking the its
dependency which causes an infinite loop in _getdependencies().
Make this function simply return when a dependency is already
downloaded and only download and check its dependencies when not.

(Bitbake rev: 545540420112992e53f4a83104af10452df168d0)

Signed-off-by: Zoltán Böszörményi &lt;zboszor@pr.hu&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>bitbake: fetch/git: Use 'git-make-shallow' from bin directory</title>
<updated>2018-02-14T15:26:03+00:00</updated>
<author>
<name>Nathan Rossi</name>
<email>nathan@nathanrossi.com</email>
</author>
<published>2018-02-02T14:04:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=9c44aee83d5a3e74e33e492fb0892c419756fb00'/>
<id>urn:sha1:9c44aee83d5a3e74e33e492fb0892c419756fb00</id>
<content type='text'>
Move the code that existed in tests/fetch.py for determining the path to
'git-make-shallow' into the git module and reference it.

This ensures that 'git-make-shallow' is always available and the desired
version regardless of the path variable or whether git exposes the
command.

(Bitbake rev: 6b508ab8fd5aa796c1c00c970e81e5e93f84d35d)

Signed-off-by: Nathan Rossi &lt;nathan@nathanrossi.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>bitbake: fetch/git: Add pack-refs command to mirror handling code</title>
<updated>2018-01-29T08:50:08+00:00</updated>
<author>
<name>Richard Purdie</name>
<email>richard.purdie@linuxfoundation.org</email>
</author>
<published>2018-01-28T10:28:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=cf8425e247b707d0500f665842113254cfcc2a70'/>
<id>urn:sha1:cf8425e247b707d0500f665842113254cfcc2a70</id>
<content type='text'>
We've noticed issues on our infrastucture iterating over the many
tag/branch/head reference files that some git repositories may contain.

By issuing the pack-refs command, we move these all to a single file
which speeds up operations with the mirror repos in the downloads
directory in general.

(Bitbake rev: f8126aaf774186a6eaf0bd4067b89c074594886c)

Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>bitbake: fetch2/__init__: Disable pseudo in runfetchcmd()</title>
<updated>2018-01-08T08:48:54+00:00</updated>
<author>
<name>Peter Kjellerstedt</name>
<email>peter.kjellerstedt@axis.com</email>
</author>
<published>2014-02-20T14:55:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=205cfd702190026e64eed9cae27c05ff62d1637e'/>
<id>urn:sha1:205cfd702190026e64eed9cae27c05ff62d1637e</id>
<content type='text'>
If a fetcher, e.g., git, is run when pseudo is active it will think it
is running as root. If it in turn uses ssh (as git does), ssh too will
think it is running as root. This will cause it to try to read root's
ssh configuration from /root/.ssh which will fail. If ssh then needs to
ask for credentials it will hang indefinitely as there is nowhere for it
to ask the user for them (and even if there was it would not access the
correct private keys).

The solution to the above is to temporarily disable pseudo while
executing any fetcher commands. There should be no reason for them to be
executed under pseudo anyway so this should not be a problem.

RP Ammendum:

We finally did get more information about how to reproduce this problem,
something needs to trigger bb.fetch2.get_srcrev() in a pseudo context,
for example when AUTOREV is in use or the recipe doesn't have a defined
SRCREV. That SRC_URI needs to be using protocol=ssh. This would trigger
an ls-remote of the remote repo and if that happens under pseudo, the
wrong ssh credentials may be attempted which can hang.

[YOCTO #12464]

(Bitbake rev: ceaca281cafa662aa2385b95641bce309dce843d)

Signed-off-by: Peter Kjellerstedt &lt;peter.kjellerstedt@axis.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
</feed>
