-----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] -=-=-=-=-=-=-=-=-=-=-=-