sbuild: Replace getpid with task hash

Message ID 20240617140411.52953-1-amikan@ilbers.de
State Superseded, archived
Headers show
Series sbuild: Replace getpid with task hash | expand

Commit Message

Anton Mikanovich June 17, 2024, 2:04 p.m. UTC
To be sure there are no issues with SBUILD_CHROOT value generation
caused by inline getpid execution use BB_TASKHASH instead.
This variable holds the hash of the task filled by Bitbake and should
have the same level of uniqueness as pid inside one build.

This change may help to fix sporadic sbuild session mismatch issue.

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
Signed-off-by: Anton Mikanovich <amikan@ilbers.de>
---
 meta/classes/sbuild.bbclass | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Jan Kiszka June 17, 2024, 2:44 p.m. UTC | #1
On 17.06.24 16:04, Anton Mikanovich wrote:
> To be sure there are no issues with SBUILD_CHROOT value generation
> caused by inline getpid execution use BB_TASKHASH instead.
> This variable holds the hash of the task filled by Bitbake and should
> have the same level of uniqueness as pid inside one build.
> 
> This change may help to fix sporadic sbuild session mismatch issue.
> 
> Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>

Suggested-by? If you rather want me as author, there has to be a "From:
..." line at the top.

> Signed-off-by: Anton Mikanovich <amikan@ilbers.de>
> ---
>  meta/classes/sbuild.bbclass | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/meta/classes/sbuild.bbclass b/meta/classes/sbuild.bbclass
> index f1193c20..3f27a2ef 100644
> --- a/meta/classes/sbuild.bbclass
> +++ b/meta/classes/sbuild.bbclass
> @@ -7,7 +7,7 @@ SCHROOT_MOUNTS ?= ""
>  
>  inherit crossvars
>  
> -SBUILD_CHROOT ?= "${DEBDISTRONAME}-${SCHROOT_USER}-${ISAR_BUILD_UUID}-${@os.getpid()}"
> +SBUILD_CHROOT ?= "${DEBDISTRONAME}-${SCHROOT_USER}-${ISAR_BUILD_UUID}-${BB_TASKHASH}"
>  
>  SBUILD_CONF_DIR ?= "${SCHROOT_CONF}/${SBUILD_CHROOT}"
>  SCHROOT_CONF_FILE ?= "${SCHROOT_CONF}/chroot.d/${SBUILD_CHROOT}"

Patch

diff --git a/meta/classes/sbuild.bbclass b/meta/classes/sbuild.bbclass
index f1193c20..3f27a2ef 100644
--- a/meta/classes/sbuild.bbclass
+++ b/meta/classes/sbuild.bbclass
@@ -7,7 +7,7 @@  SCHROOT_MOUNTS ?= ""
 
 inherit crossvars
 
-SBUILD_CHROOT ?= "${DEBDISTRONAME}-${SCHROOT_USER}-${ISAR_BUILD_UUID}-${@os.getpid()}"
+SBUILD_CHROOT ?= "${DEBDISTRONAME}-${SCHROOT_USER}-${ISAR_BUILD_UUID}-${BB_TASKHASH}"
 
 SBUILD_CONF_DIR ?= "${SCHROOT_CONF}/${SBUILD_CHROOT}"
 SCHROOT_CONF_FILE ?= "${SCHROOT_CONF}/chroot.d/${SBUILD_CHROOT}"