-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

Hi Richard,

I think our implementation of the repo fetcher checks the (what I
believe to be) most relevant parts of your checklist (thanks for the
write-up). Martin, please corrent me if I'm missing something:

> a) network access for sources is only expected to happen in the
> do_fetch step.
> This is not enforced or tested but is required so that we can:
> 
>  i) audit the sources used (i.e. for license/manifest reasons)
>  ii) support offline builds with a suitable cache
>  iii) allow work to continue even with downtime upstream
>  iv) allow for changes upstream in incompatible ways
>  v) allow rebuilding of the software in X years time

check

> b) network access is not expected in do_unpack

check 

> c) you can take DL_DIR and use it as a mirror for offline builds

check

> d) access to the network is only made when explicitly configured in
> recipes
>  (e.g. use of AUTOREV, or use of git tags which change revision)

check

> e) fetcher output is deterministic
>  (i.e. if you fetch configuration XXX now it will match in future
> exactly in 
>  a clean build with a new DL_DIR)

check. When a fixed refspec is set within the recipe, the fetcher will
check, if all repositories in the repo manifest are set to a fixed
refspec as well and otherwise throw an error.

> f) network access is expected to work with the standard linux proxy
> variables
>  environment but only in the do_fetch tasks)

this should work, as we keep the GIT_PROXY_COMMAND environment and run
repo via runfetchcmd(). Not further tested though.

> g) access during parsing has to be minimal, a "git ls-remote" for an
> AUTOREV 
>  git recipe might be ok but you can't expect to checkout a git tree

unfortunately, do to the nature of repo, we need to clone the manifest
repo, so that we can run "git ls-remote" on the referenced git repos
and therefore ensure that 

> h) we need to provide revision information during parsing such that a
> version
>  for the recipe can be constructed.

check. We create a hash value from git ls-remote of the recipe file, as
well as the git ls-remote of each repo referenced in the manifest.

> i) versions are expected to be able to increase in a way which sorts
> allowing 
>  package feeds to operate (see PR server required for git revisions to
> sort)

check. We use the PR server and didn't notice any issues.

> j) API to query for possible version upgrades of a url is highly
> desireable to 
>  allow out automated upgrage code to function (it is implied this does
> always 
>  have network access)

check (if I understand you correctly). We support AUTOINC.

> k) Where fixes or changes to behaviour in the fetcher are made, we ask
> that 
>  test cases are added (run with "bitbake-selftest bb.tests.fetch"). We
> do 
>  have fairly extensive test coverage of the fetcher as it is the only
> way
>  to track all of it's corner cases, it still doesn't give entire
> coverage 
>  though sadly.

We are currently still missing any tests for the new fetcher. We will
add them in the course of the next days. Meanwhile, I have prepared a
demo environment so if anymeone is interested in doing some further
testing, feel free: https://github.com/Jasper-Ben/demo-kas :)

- -- 
With best regards

Jasper Orschulko
DevOps Engineer

Tel. +49 30 58 58 14 265
Fax +49 30 58 58 14 999
jasper.orschu...@iris-sensing.com

• • • • • • • • • • • • • • • • • • • • • • • • • •

iris-GmbH
infrared & intelligent sensors
Schnellerstraße 1-5 | 12439 Berlin

https://iris-sensing.com/
> 
-----BEGIN PGP SIGNATURE-----

iQEzBAEBCAAdFiEE4WyPMIC5Ap4+Ooo1Ygqew07VMNUFAmGKWtQACgkQYgqew07V
MNU3Lgf+PlDNyHxoCive3HL8V00KlfrsjTcuQVYiODav39n/h/cRvq8F8Wh7NiyM
Hjrr9O7MCOZLNGQiW9vBN/R6FbWESZ+sxl2nLdGH98eCYPKBurcHzvIXlJgincc+
dL1HtxDqjdk9TOHfaKAD2zc8U0tY6xu6Hgj7QIAqELt8HAwOQeIherAuIQw7g+KH
eWY5xhn8+KrY//RlnnRmDMO20LBY68bdkCOCH3kAIBfcSIzj8fzf1A4PZhGFi8AM
dydVCBMrKvPg3bfJnenZrVPijWnb82pOwjWzoZltzYxtCjqAhwevoCr8twGNDbx4
IVPcEqtMWRrf8rpQiHsZFTheap8BdA==
=hdir
-----END PGP SIGNATURE-----
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#158014): 
https://lists.openembedded.org/g/openembedded-core/message/158014
Mute This Topic: https://lists.openembedded.org/mt/86840389/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to