From mboxrd@z Thu Jan 1 00:00:00 1970 X-GM-THRID: 7097485294514995200 X-Received: by 2002:a5d:5441:0:b0:20a:cdc0:6e90 with SMTP id w1-20020a5d5441000000b0020acdc06e90mr6749767wrv.566.1652512071817; Sat, 14 May 2022 00:07:51 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com Received: by 2002:a5d:6d84:0:b0:20c:7b09:42a4 with SMTP id l4-20020a5d6d84000000b0020c7b0942a4ls3528101wrs.2.gmail; Sat, 14 May 2022 00:07:50 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxvw59tFZ+8G9tJ0WHxHQeOGpoxC+ioyGkDKb7y4vEjUBU/6/8xflyt2MhUejY84U/abWxC X-Received: by 2002:a5d:64ea:0:b0:20c:5ca3:a0de with SMTP id g10-20020a5d64ea000000b0020c5ca3a0demr6903003wri.308.1652512070907; Sat, 14 May 2022 00:07:50 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1652512070; cv=none; d=google.com; s=arc-20160816; b=OW9nRnEBtti/iFJb2CC48XIBmBi4JgmGtzSWGdB+dHqTdDcpzLr674mHqehbV/QeGO BS5R1qDoIO8jUgVDR1cTDVmKfiPm+fNcOtEXvnYGh4KI/LOCoolyLR6rGAna8E8TF5mO DcwOdceJBtZF7vMiritNXQ9raxw/5mpBQetUJ6Eui0khFG3/wr/3ENAev1cBYLpAxbas WnXLvejdqWSCSsthGeh/aHtyNWn3v9bUzPp2RNG4zEHorZXxz3UMhYlKZ5ptybDfgubD ZeeK/56SpBmdVMWAWZM81r48EKKbDLIv+42ZJzvHFWEJMLgAo7kEHLGs+6bnU4c8syfI AxhQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=references:in-reply-to:message-id:date:subject:cc:to:from; bh=oFbt04TV26NkCgvY8AhpAwAeMa8uAdY4GTK76MYQfeI=; b=DdkjS02v6t174q2MIa2smDPAea5QJogu5i012eqlN0V0fWtT6afw5EAOX8tgVPUVia DkWquqa1Qc10e3aHaAfamoJMMJ7gXKv2KdCptvv+vA2d+cTf4Di+FQnzc4VzZEezgN7b 53mg9odpXHKmK2MUaOfcHAtOU7fQ3zxF/Npuk4g2yj5h+0UboFoSOFysXTUDVVt2y1Vf WGBcQPyt5QKdCErLP9YW6/DwFlChtEMNKQupQFjnPpZpUezyzNPM+5YJwNvX2+OrSW2n 1visgknfxtPqX7HbAKLS6C8ncNhRgiYBQmPGQ8vCP63gO57bE19OWr+gmy4i03EgpTC6 a1LQ== ARC-Authentication-Results: i=1; gmr-mx.google.com; spf=pass (google.com: domain of amikan@ilbers.de designates 85.214.156.166 as permitted sender) smtp.mailfrom=amikan@ilbers.de Return-Path: Received: from shymkent.ilbers.de (shymkent.ilbers.de. [85.214.156.166]) by gmr-mx.google.com with ESMTPS id m16-20020a05600c3b1000b0038e70fa4e56si444447wms.3.2022.05.14.00.07.50 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Sat, 14 May 2022 00:07:50 -0700 (PDT) Received-SPF: pass (google.com: domain of amikan@ilbers.de designates 85.214.156.166 as permitted sender) client-ip=85.214.156.166; Authentication-Results: gmr-mx.google.com; spf=pass (google.com: domain of amikan@ilbers.de designates 85.214.156.166 as permitted sender) smtp.mailfrom=amikan@ilbers.de Received: from localhost.localdomain (mm-235-31-214-37.mgts.dynamic.pppoe.byfly.by [37.214.31.235] (may be forged)) (authenticated bits=0) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8) with ESMTPSA id 24E77k08025368 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Sat, 14 May 2022 09:07:49 +0200 From: Anton Mikanovich To: isar-users@googlegroups.com Cc: adriaan.schmidt@siemens.com, Anton Mikanovich Subject: [PATCH 2/6] base: Implement bitbake build ID Date: Sat, 14 May 2022 10:07:32 +0300 Message-Id: <20220514070736.12997-3-amikan@ilbers.de> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20220514070736.12997-1-amikan@ilbers.de> References: <20220514070736.12997-1-amikan@ilbers.de> X-Spam-Status: No, score=-1.0 required=5.0 tests=ALL_TRUSTED autolearn=unavailable autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on shymkent.ilbers.de X-TUID: sjVqoNOzIcRu Add internal ID which is unique for any single bitabake run. BITBAKE_BUILD_ID is calculated as a hash of two variables defined by bitbake itself at build start: BUILDNAME - defined as "${DATE}${TIME}" of cooker execution. TOPDIR - build dir where Isar is building. Both of them guarantee uniqueness by time and directory. Signed-off-by: Anton Mikanovich --- meta/classes/base.bbclass | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/meta/classes/base.bbclass b/meta/classes/base.bbclass index 4ec2c81..f6b6a32 100644 --- a/meta/classes/base.bbclass +++ b/meta/classes/base.bbclass @@ -278,3 +278,12 @@ def base_set_filespath(path, d): if p != "": filespath.append(os.path.join(p, o)) return ":".join(filespath) + +calculate_build_id[vardepsexclude] = "BUILDNAME" +def calculate_build_id(d): + import hashlib + build_name = d.getVar("BUILDNAME", True) or "" + build_dir = d.getVar("TOPDIR", True) or "" + return hashlib.sha1((build_dir + build_name).encode("utf-8")).hexdigest() + +BITBAKE_BUILD_ID = "${@ calculate_build_id(d)}" -- 2.17.1