diff options
| author | Antonin Godard <antonin.godard@bootlin.com> | 2026-01-27 14:06:44 +0100 |
|---|---|---|
| committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2026-02-12 17:00:21 +0000 |
| commit | 7bb35f44d90f62e86703ab349fa36f27f6ce8e6f (patch) | |
| tree | 4b07a66184784078e35657f43dd0ef57703f710a /documentation/dev-manual | |
| parent | c3b734f0a777d3d4bebfe14531932d7681b4cde1 (diff) | |
| download | poky-7bb35f44d90f62e86703ab349fa36f27f6ce8e6f.tar.gz | |
dev-manual/packages.rst: pr server: fix and explain why r0.X increments on SRCREV change
The current example of the SRCREV change triggering a gitX bump is
wrong, as both gitX and r0.X get incremented.
Why this is happening is explained in bug 15729, which I copy here:
> +gitX+ is indeed related to changes in the source code.
>
> r0.X is bumped each time the checksum of the do_package task of the
> simple-hello-world-git recipe changes. This happens here:
> https://git.openembedded.org/openembedded-core/tree/meta/classes-global/package.bbclass?id=235e6d49e5888ad04416219e10b6df91a738661a#n306
>
> This line sets the value of PRAUTO and represents the number X found in
> r0.X. It will in the end make it into EXTENDPRAUTO, which itself makes
> to PKGR == r0.X.
>
> This line calls getPR(version, pkgarch, checksum). Between test case 5
> and 6, only the checksum changes. This checksum is the checksum of the
> do_package task (gotten from get_do_package_hash() above).
>
> Now, let's dump what changed with regards to this task between two
> consecutive runs, using the sigdata file in build/tmp/stamps/:
>
> ```
> [...]
> Variable fetcher_hashes_dummyfunc value changed from '2650ad6714c3f3248abfe9d3daf1196f307ed494' to '4af682a50174f5deb0397847da97d7cdba4ad067'
> ```
>
> The last line shows that the value of fetcher_hashes_dummyfunc changed
> from '2650ad6714c3f3248abfe9d3daf1196f307ed494' to
> '4af682a50174f5deb0397847da97d7cdba4ad067'. Those are the commit hashes
> in the git history of the simple-hello-world-git repository.
>
> Now you can see why this 0.X gets bumped, is because of the SRCREV change.
Fix the example, and detail what gets changed and why.
[YOCTO #15729]
Cc: Robert Berger <pokylinux@reliableembeddedsystems.com>
(From yocto-docs rev: 8d7b549d095c2ca04d4c7ff5a92f6de9fceb8496)
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
(cherry picked from commit 09f0430bc69024b9854c31ba6783ddd807aa4f19)
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'documentation/dev-manual')
| -rw-r--r-- | documentation/dev-manual/packages.rst | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/documentation/dev-manual/packages.rst b/documentation/dev-manual/packages.rst index 0c948cdaef..c2c44ba3f0 100644 --- a/documentation/dev-manual/packages.rst +++ b/documentation/dev-manual/packages.rst | |||
| @@ -280,7 +280,22 @@ with a number. The number used depends on the state of the PR Service: | |||
| 280 | .. code-block:: none | 280 | .. code-block:: none |
| 281 | 281 | ||
| 282 | hello-world-git_0.0+git0+b6558dd387-r0.0_armv7a-neon.ipk | 282 | hello-world-git_0.0+git0+b6558dd387-r0.0_armv7a-neon.ipk |
| 283 | hello-world-git_0.0+git1+dd2f5c3565-r0.0_armv7a-neon.ipk | 283 | hello-world-git_0.0+git1+dd2f5c3565-r0.1_armv7a-neon.ipk |
| 284 | |||
| 285 | Two numbers got incremented here: | ||
| 286 | |||
| 287 | - ``gitX`` changed from ``git0`` to ``git1``. This is because there was a | ||
| 288 | change in the source code (``SRCREV``). | ||
| 289 | |||
| 290 | - ``r0.X`` changed from ``r0.0`` to ``r0.1``. This is because the hash of | ||
| 291 | the :ref:`ref-tasks-package` task changed. | ||
| 292 | |||
| 293 | The reason for this change can be many. To understand why the hash of the | ||
| 294 | :ref:`ref-tasks-package` task changed, you can run the following command: | ||
| 295 | |||
| 296 | .. code-block:: console | ||
| 297 | |||
| 298 | $ bitbake-diffsigs -t hello-world package | ||
| 284 | 299 | ||
| 285 | - If PR Service is not enabled, the build system replaces the | 300 | - If PR Service is not enabled, the build system replaces the |
| 286 | ``AUTOINC`` placeholder with zero (i.e. "0"). This results in | 301 | ``AUTOINC`` placeholder with zero (i.e. "0"). This results in |
