-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 Yeah. Unfortunately the current repo fetcher is pretty much broken, this patch is more or less a requirement for changes to the repo fetcher we proposed in the bitbake mailinglist.
In our case some binary which is made up from some 50ish separately versioned sub-components. We used to have separate recipes for each of this components and static link them using DEPENDS. However, this does not scale well. E.g. if you want to create another version with different cmake flags, you would have to create copies of all 50ish recipes. You could move all the components into a single recipe and do 50x git fetcher, but keeping this versioned is still painful. Especially since the developers mainly don't use yocto but use the SDK for cross-compiling. As such this used to mean, that versioning in the development workflow and the release workflow worked differently -> more maintenance work. With repo fetcher we can streamline the versioning within the yocto build process and the daily developer workflow, as both can fetch the repo manifest from a central stored git repo. The idea is, that the repo manifest defaults to develop branch for all component repos and if we want to create a release we can use repos own tooling to automatically create fixed refspecs from the development manifest. something like `repo manifest -r -o release-1.0.0.xml`, push that as a release to the manifest repo, set this release as refspec in the recipe within the meta layer and proceed with the release process. So no more manually maintaining the component versioning within the yocto recipes. - -- With best regards Jasper Orschulko DevOps Engineer Tel. +49 30 58 58 14 265 Fax +49 30 58 58 14 999 [email protected] • • • • • • • • • • • • • • • • • • • • • • • • • • iris-GmbH infrared & intelligent sensors Schnellerstraße 1-5 | 12439 Berlin https://iris-sensing.com/ On Fri, 2021-11-05 at 15:20 +0100, Alexander Kanavin wrote: > Wait, what is the use case for the repo fetcher? > > Alex > > On Fri, 5 Nov 2021 at 14:31, Jasper Orschulko via > lists.openembedded.org <[email protected]> > wrote: > > From: Jasper Orschulko <[email protected]> > > > > Add a recipe for repo, prerequisite for the repo fetcher. > > > > Signed-off-by: Jasper Orschulko <[email protected]> > > --- > > .../repo/files/0001-python3-shebang.patch | 21 ++++++++++++ > > .../0001-Set-REPO_REV-to-v2.17.3.patch | 33 > > +++++++++++++++++++ > > meta/recipes-devtools/repo/repo.inc | 25 ++++++++++++++ > > meta/recipes-devtools/repo/repo_2.17.3.bb | 7 ++++ > > 4 files changed, 86 insertions(+) > > create mode 100644 meta/recipes-devtools/repo/files/0001-python3- > > shebang.patch > > create mode 100644 meta/recipes-devtools/repo/repo-2.17.3/0001- > > Set- > > REPO_REV-to-v2.17.3.patch > > create mode 100644 meta/recipes-devtools/repo/repo.inc > > create mode 100644 meta/recipes-devtools/repo/repo_2.17.3.bb > > > > diff --git a/meta/recipes-devtools/repo/files/0001-python3- > > shebang.patch b/meta/recipes-devtools/repo/files/0001-python3- > > shebang.patch > > new file mode 100644 > > index 0000000000..09ccf58264 > > --- /dev/null > > +++ b/meta/recipes-devtools/repo/files/0001-python3-shebang.patch > > @@ -0,0 +1,21 @@ > > +From b8e84b202cd302a7c99288d3835dc9c63071f8f2 Mon Sep 17 00:00:00 > > 2001 > > +From: Jasper Orschulko <[email protected]> > > +Date: Tue, 14 Sep 2021 16:46:51 +0200 > > +Subject: [PATCH] python3 shebang > > + > > +--- > > + repo | 2 +- > > + 1 file changed, 1 insertion(+), 1 deletion(-) > > + > > +diff --git a/repo b/repo > > +index b13e34c..205e0e5 100755 > > +--- a/repo > > ++++ b/repo > > +@@ -1,4 +1,4 @@ > > +-#!/usr/bin/env python > > ++#!/usr/bin/env python3 > > + # -*- coding:utf-8 -*- > > + # > > + # Copyright (C) 2008 The Android Open Source Project > > +-- > > +2.33.0 > > diff --git a/meta/recipes-devtools/repo/repo-2.17.3/0001-Set- > > REPO_REV-to-v2.17.3.patch b/meta/recipes-devtools/repo/repo- > > 2.17.3/0001-Set-REPO_REV-to-v2.17.3.patch > > new file mode 100644 > > index 0000000000..294a3af53a > > --- /dev/null > > +++ b/meta/recipes-devtools/repo/repo-2.17.3/0001-Set-REPO_REV-to- > > v2.17.3.patch > > @@ -0,0 +1,33 @@ > > +From bdd2a528da59c28db8ae2986834926de7cebf3ab Mon Sep 17 00:00:00 > > 2001 > > +From: Jasper Orschulko <[email protected]> > > +Date: Thu, 4 Nov 2021 16:55:12 +0100 > > +Subject: [PATCH] Set REPO_REV to v2.17.3 > > + > > +repo is an unusual tool because it downloads all of its own Python > > modules > > +using GPG-signed git tags, and stores those files as part of the > > project > > +that it is working with. > > + > > +So in order to have a reproducible repo installation within the > > project > > +folders, we hardcode the REPO_REV variable to this recipes PV. > > + > > +Upstream-Status: Inappropriate [configuration] > > +Signed-off-by: Jasper Orschulko > > <[email protected]> > > +--- > > + repo | 2 +- > > + 1 file changed, 1 insertion(+), 1 deletion(-) > > + > > +diff --git a/repo b/repo > > +index 4cddbf1..cf5f6b1 100755 > > +--- a/repo > > ++++ b/repo > > +@@ -142,7 +142,7 @@ if __name__ == '__main__': > > + REPO_URL = os.environ.get('REPO_URL', None) > > + if not REPO_URL: > > + REPO_URL = 'https://gerrit.googlesource.com/git-repo' > > +-REPO_REV = os.environ.get('REPO_REV') > > ++REPO_REV = 'v2.17.3' > > + if not REPO_REV: > > + REPO_REV = 'stable' > > + # URL to file bug reports for repo tool issues. > > +-- > > +2.33.1 > > diff --git a/meta/recipes-devtools/repo/repo.inc b/meta/recipes- > > devtools/repo/repo.inc > > new file mode 100644 > > index 0000000000..60b32e4d74 > > --- /dev/null > > +++ b/meta/recipes-devtools/repo/repo.inc > > @@ -0,0 +1,25 @@ > > +# SPDX-License-Identifier: MIT > > +# Copyright (C) 2021 iris-GmbH infrared & intelligent sensors > > + > > +SUMMARY = "Tool for managing many Git repositories" > > +DESCRIPTION = "Repo is a tool built on top of Git. Repo helps > > manage > > many Git repositories, does the uploads to revision control > > systems, > > and automates parts of the development workflow." > > +HOMEPAGE = "https://android.googlesource.com/tools/repo" > > +SECTION = "console/utils" > > + > > +LICENSE = "Apache-2.0" > > + > > +SRC_URI = > > "git://[email protected]/git- > > repo.git;protocol=https;branch=main > > " > > +MIRRORS = "git://[email protected]/git-repo.git > > git://github.com/GerritCodeReview/git-repo.git \n" > > + > > +SRC_URI += "file://0001-python3-shebang.patch" > > + > > +S = "${WORKDIR}/git" > > + > > +RDEPENDS_${PN} = "python3" > > + > > +do_install() { > > + install -d ${D}${bindir} > > + install -m 755 ${WORKDIR}/git/repo ${D}${bindir} > > +} > > + > > +BBCLASSEXTEND = "native nativesdk" > > diff --git a/meta/recipes-devtools/repo/repo_2.17.3.bb > > b/meta/recipes-devtools/repo/repo_2.17.3.bb > > new file mode 100644 > > index 0000000000..c26264b9e9 > > --- /dev/null > > +++ b/meta/recipes-devtools/repo/repo_2.17.3.bb > > @@ -0,0 +1,7 @@ > > +# SPDX-License-Identifier: MIT > > +# Copyright (C) 2021 iris-GmbH infrared & intelligent sensors > > + > > +require recipes-devtools/repo/repo.inc > > + > > +SRCREV = "11b30b91df1f0e03b53da970ec2588e85817bacc" > > +LIC_FILES_CHKSUM = > > "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57" -----BEGIN PGP SIGNATURE----- iQEzBAEBCAAdFiEE4WyPMIC5Ap4+Ooo1Ygqew07VMNUFAmGFTK4ACgkQYgqew07V MNXGKwf8CbYnBqQhNvouhixH8rqaEjhFBAcbEvK1Pgke4B0zMuSJVz2YmTKPiHgK dFznVtBxIJS7zwhuj/DyfhrG33Ws3Rw1m8IppZ5FP2XivNbmnimH13a7Pu5hw3FH o1ka6VEqyuR/L4pyVZ+ocSgdEIyReSOJ6E1zyIomz13j5hScQIKFdAu4tinLNLck XnC/SCDe3lZbijo41GK1v9GhKFjwY3Hpko6ezG/CEFPHKZomjHNL9Mi8gbv4Y/50 8+pYnvlYU7agsW4aN/koeRWOm78/Qi6rlOX5pVxAaVVVArrIKnU2aG6UBwk61BtC UIqLBYOMyZ4IXlNp5y2tGbr6QS0YrQ== =M87Y -----END PGP SIGNATURE-----
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#157904): https://lists.openembedded.org/g/openembedded-core/message/157904 Mute This Topic: https://lists.openembedded.org/mt/86841424/21656 Group Owner: [email protected] Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [[email protected]] -=-=-=-=-=-=-=-=-=-=-=-
