diff mbox series

[v2,2/3] meta-selftest: Add devtool-test-multi-destsuffix recipe

Message ID 20260522075925.2381158-3-jamin_lin@aspeedtech.com
State New
Headers show
Series devtool: fix standalone clone conversion for nested git repos | expand

Commit Message

Jamin Lin May 22, 2026, 7:59 a.m. UTC
Add a test recipe with six git SRC_URI entries using nested destsuffix
values. This recipe is used by the devtool selftest
to verify that devtool modify correctly converts all nested git repos to
standalone clones.

Signed-off-by: Jamin Lin <jamin_lin@aspeedtech.com>
---
 .../devtool-test-multi-destsuffix_git.bb      | 29 +++++++++++++++++++
 1 file changed, 29 insertions(+)
 create mode 100644 meta-selftest/recipes-test/devtool/devtool-test-multi-destsuffix_git.bb

Comments

Paul Barker May 22, 2026, 10:44 a.m. UTC | #1
On Fri, 2026-05-22 at 07:59 +0000, Jamin Lin wrote:
> Add a test recipe with six git SRC_URI entries using nested destsuffix
> values. This recipe is used by the devtool selftest
> to verify that devtool modify correctly converts all nested git repos to
> standalone clones.
> 
> Signed-off-by: Jamin Lin <jamin_lin@aspeedtech.com>
> ---
>  .../devtool-test-multi-destsuffix_git.bb      | 29 +++++++++++++++++++
>  1 file changed, 29 insertions(+)
>  create mode 100644 meta-selftest/recipes-test/devtool/devtool-test-multi-destsuffix_git.bb
> 
> diff --git a/meta-selftest/recipes-test/devtool/devtool-test-multi-destsuffix_git.bb b/meta-selftest/recipes-test/devtool/devtool-test-multi-destsuffix_git.bb
> new file mode 100644
> index 0000000000..0702b13f3a
> --- /dev/null
> +++ b/meta-selftest/recipes-test/devtool/devtool-test-multi-destsuffix_git.bb
> @@ -0,0 +1,29 @@
> +SUMMARY = "Test recipe for multiple git SRC_URI entries with nested destsuffix values"
> +LICENSE = "CLOSED"
> +
> +# Six git entries all nested inside S (${UNPACKDIR}). This exercises the
> +# devtool code path that must convert every nested git repo to a standalone
> +# clone: the initial fetch uses a shared clone whose alternates point into
> +# downloads/git2/; git repack copies those objects locally so the workspace
> +# survives 'bitbake -c cleanall'.
> +SRC_URI = "git://git.yoctoproject.org/dbus-wait;nobranch=1;protocol=https;name=level1_a;destsuffix=level1_a \
> +    git://git.yoctoproject.org/dbus-wait;nobranch=1;protocol=https;name=level1_b;destsuffix=level1_b \
> +    git://git.yoctoproject.org/dbus-wait;nobranch=1;protocol=https;name=level2_a;destsuffix=level1/level2_a \
> +    git://git.yoctoproject.org/dbus-wait;nobranch=1;protocol=https;name=level2_b;destsuffix=level1/level2_b \
> +    git://git.yoctoproject.org/dbus-wait;nobranch=1;protocol=https;name=level3_a;destsuffix=level1/level2/level3_a \
> +    git://git.yoctoproject.org/dbus-wait;nobranch=1;protocol=https;name=level3_b;destsuffix=level1/level2/level3_b \
> +"

Thanks for including a test case and recipe!

These do not appear to be "nested" git repositories though, as none is
contained within another. We also don't need all 6 of them. Perhaps just
three is enough, nested like this:

  - destsuffix=level1
  - destsuffix=level1/level2
  - destsuffix=level1/level2/level3

Best regards,
diff mbox series

Patch

diff --git a/meta-selftest/recipes-test/devtool/devtool-test-multi-destsuffix_git.bb b/meta-selftest/recipes-test/devtool/devtool-test-multi-destsuffix_git.bb
new file mode 100644
index 0000000000..0702b13f3a
--- /dev/null
+++ b/meta-selftest/recipes-test/devtool/devtool-test-multi-destsuffix_git.bb
@@ -0,0 +1,29 @@ 
+SUMMARY = "Test recipe for multiple git SRC_URI entries with nested destsuffix values"
+LICENSE = "CLOSED"
+
+# Six git entries all nested inside S (${UNPACKDIR}). This exercises the
+# devtool code path that must convert every nested git repo to a standalone
+# clone: the initial fetch uses a shared clone whose alternates point into
+# downloads/git2/; git repack copies those objects locally so the workspace
+# survives 'bitbake -c cleanall'.
+SRC_URI = "git://git.yoctoproject.org/dbus-wait;nobranch=1;protocol=https;name=level1_a;destsuffix=level1_a \
+    git://git.yoctoproject.org/dbus-wait;nobranch=1;protocol=https;name=level1_b;destsuffix=level1_b \
+    git://git.yoctoproject.org/dbus-wait;nobranch=1;protocol=https;name=level2_a;destsuffix=level1/level2_a \
+    git://git.yoctoproject.org/dbus-wait;nobranch=1;protocol=https;name=level2_b;destsuffix=level1/level2_b \
+    git://git.yoctoproject.org/dbus-wait;nobranch=1;protocol=https;name=level3_a;destsuffix=level1/level2/level3_a \
+    git://git.yoctoproject.org/dbus-wait;nobranch=1;protocol=https;name=level3_b;destsuffix=level1/level2/level3_b \
+"
+
+SRCREV_level1_a = "64bc7c8fae61ded0c4e555aa775911f84c56e438"
+SRCREV_level1_b = "64bc7c8fae61ded0c4e555aa775911f84c56e438"
+SRCREV_level2_a = "64bc7c8fae61ded0c4e555aa775911f84c56e438"
+SRCREV_level2_b = "64bc7c8fae61ded0c4e555aa775911f84c56e438"
+SRCREV_level3_a = "64bc7c8fae61ded0c4e555aa775911f84c56e438"
+SRCREV_level3_b = "64bc7c8fae61ded0c4e555aa775911f84c56e438"
+SRCREV_FORMAT = "level1_a_level1_b_level2_a_level2_b_level3_a_level3_b"
+
+S = "${UNPACKDIR}"
+
+do_configure[noexec] = "1"
+do_compile[noexec] = "1"
+do_install[noexec] = "1"