From mboxrd@z Thu Jan 1 00:00:00 1970 X-GM-THRID: 7026321669488640000 X-Received: by 2002:adf:8bce:: with SMTP id w14mr54861865wra.391.1635948598455; Wed, 03 Nov 2021 07:09:58 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com Received: by 2002:adf:f1c2:: with SMTP id z2ls1290945wro.2.gmail; Wed, 03 Nov 2021 07:09:57 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxZDHhAeJ9hMmYLOyXdhxrDiyaHk5vEyXALWOIGYs2fSFCDnfhvBbMyTBeHUFdT1viqoAaI X-Received: by 2002:a05:6000:248:: with SMTP id m8mr36457798wrz.404.1635948597511; Wed, 03 Nov 2021 07:09:57 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1635948597; cv=pass; d=google.com; s=arc-20160816; b=LFMW/jLC2GFJ7CgX6F+VBE/ow9X42tY036ydMutoAnEMi8eVnXmzS3TJSEatBhpjk1 oV+bbOGxnSZonyWGt5B+v3zNAn5xh819vNDhuhl6Za+Tt1vEqwwo6HWm0WbQteD8+8hs kKlzikptC6fwNsRYs8BvA39/sYexV5+kubftGGcMMReBeADeczpZ9VManUjIFvEplP5u AU/TrvX0j+x3Ul70Bgxx2QwDNvrVrIF+IFu1NlgSUPQosu7XcC4s+B960eSSGHEy2BUv 0SeBMBtt4NLOGBvCbmIVXTAkUBJuENOFtVHN2nShWmrAu/VaaQrd1lBdi4v6xYRbmabb KSVA== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=mime-version:content-transfer-encoding:document_confidentiality :msip_labels:content-language:accept-language:in-reply-to:references :message-id:date:thread-index:thread-topic:subject:cc:to:from :dkim-signature; bh=LTclUQ04pr4iYmGRvH2xgjm1c0y7+AnvWn+KQPSzs8c=; b=PEMpH0wT/UM2/48iuemNkDf2jkR1cS5DlUyMTDM5fWIMemzG0TvhGGaE14MHLuc47V jtzmghnjhCPXDBYlpGoP1bja6+zUJJbJOGshujh+aGj/yyVZVw9R88iev0gDYknc2A9x fsCm9+irm+WpPq14pQzpwbUJlkHx7ju6zzObZDol1UEo1/vPeoBcmaMusNserve2KgPR WhBRxQ9kf3mlWn4iJsAD3aVMd6cq+PEJ32IMStQFhk4bDkWsFa3h0nmrUmtAkz6HQwQ/ 6PWcnztelp+nfbahpr+puWyLq7sB86kFOY9Zr91EsRSBUqcrMSnzKLVQILTomWpMORhh tZpQ== ARC-Authentication-Results: i=2; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=selector2 header.b=iQz8A3Fo; arc=pass (i=1 spf=pass spfdomain=siemens.com dkim=pass dkdomain=siemens.com dmarc=pass fromdomain=siemens.com); spf=pass (google.com: domain of felix.moessbauer@siemens.com designates 2a01:111:f400:7e1b::60a as permitted sender) smtp.mailfrom=felix.moessbauer@siemens.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=siemens.com Return-Path: Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05on2060a.outbound.protection.outlook.com. [2a01:111:f400:7e1b::60a]) by gmr-mx.google.com with ESMTPS id j15si238741wmq.2.2021.11.03.07.09.57 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Wed, 03 Nov 2021 07:09:57 -0700 (PDT) Received-SPF: pass (google.com: domain of felix.moessbauer@siemens.com designates 2a01:111:f400:7e1b::60a as permitted sender) client-ip=2a01:111:f400:7e1b::60a; Authentication-Results: gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=selector2 header.b=iQz8A3Fo; arc=pass (i=1 spf=pass spfdomain=siemens.com dkim=pass dkdomain=siemens.com dmarc=pass fromdomain=siemens.com); spf=pass (google.com: domain of felix.moessbauer@siemens.com designates 2a01:111:f400:7e1b::60a as permitted sender) smtp.mailfrom=felix.moessbauer@siemens.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=siemens.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=EuBqtKh9Z/0JH8jgCGr7qkHhk0x9f9TfUrX7a2rFFUOqka4+IP5+Xqe5MC44iAa99eAm2aHLi7x4Tqel3y1O5siwQF+fwtZ3WSuSG2HDD5TH1hzDVGYcYungC3MN5EF5LLqUi45ugtOT0cbjlIMTEMOgxerFflmnRtwSwG3+vcaixDo+qSE6+tKePsM6iLEYi9vtoPEpcvBNp045MhKy9OnG93NBdSdquKpF2zk+cSw38CJZgVhr6X84+z0wpOtakQZ1W5Sb2bGB/ljnJsef+ATvE9MOB/dBAAMWy2tii1AbN0YlkZM8MmeIXGK12eDcKkif9F394vsQDlXrKc0MlQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=LTclUQ04pr4iYmGRvH2xgjm1c0y7+AnvWn+KQPSzs8c=; b=LWk+B4TjyT6FAxHtvvl0Xd8+0gxOwHrCmcm/sCUNOSHfBSszOp5rQfZUYsvzQRaYFTxPizUltCGFEKTJjA3uO2oBRufDSgAvgMkmIaIM7NeQBELV7kXK19HUlZrhXnxHd81gyqXP30+mUUp+YMKQbywD9V1R3liAlmg8ZdKkTKiXVOF5UZsA6OV+/Ew5JOTGJzTJJGRFqzeBxqeg2nYzCYtEwXqwbqZAwv0nGB/5pTncgeGpJsidLYbJlAvBqhG6/acYV2MalhBcEAKKe9ej4fUwJil9HzK3LvOSmjpHgfLZtKhkZUX451w7NUr/dC37RemgZ0dSvm2OgNaI+lbRcA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=siemens.com; dmarc=pass action=none header.from=siemens.com; dkim=pass header.d=siemens.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=siemens.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=LTclUQ04pr4iYmGRvH2xgjm1c0y7+AnvWn+KQPSzs8c=; b=iQz8A3FohgjnriPAjKM2eEhD/Q7wnqJ/uc4f+mdqOalQSjHEonPzMq+GVVvKHjMr1cxoL2AAGgKEo/nmBa3oz72GMMRVsbLlLZrbBa/UFfODJIdivfavh3/pu9UoEkRo+H4ooxi3IwQRDgiSJxjgm5omyqCjSzDgrQRBaVLMHLzrv2e+0zz2hhA2JEd85KwY9wQpgMliQZC+3G9gEXhYn6iWEqhknbPkaFOA0u6dPhMQZzP+Nxt2wt/5lHb5HKFcmd1vvt+LblqU0/YVB/uEEftHm7tuCGgZlt/g/O5UGDPWaBuwyNztKSW+NQLw0GbeCui8lMpSC3ltKSF+K4Ca3Q== Received: from AM9PR10MB4869.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:20b:418::19) by AM0PR10MB2978.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:208:15d::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4649.14; Wed, 3 Nov 2021 14:09:56 +0000 Received: from AM9PR10MB4869.EURPRD10.PROD.OUTLOOK.COM ([fe80::6d66:e6b9:219c:48fb]) by AM9PR10MB4869.EURPRD10.PROD.OUTLOOK.COM ([fe80::6d66:e6b9:219c:48fb%8]) with mapi id 15.20.4669.011; Wed, 3 Nov 2021 14:09:56 +0000 From: "Moessbauer, Felix" To: "henning.schild@siemens.com" CC: "isar-users@googlegroups.com" , "Schmidt, Adriaan" Subject: RE: [PATCH v3 1/2] always invoke ISAR_RELEASE_CMD to invalidate downstream tasks on change Thread-Topic: [PATCH v3 1/2] always invoke ISAR_RELEASE_CMD to invalidate downstream tasks on change Thread-Index: AQHX0K9yGN2CLCkqpk60jOty7kd8mavxz+AAgAADJqA= Date: Wed, 3 Nov 2021 14:09:56 +0000 Message-ID: References: <20211103123624.3015125-1-felix.moessbauer@siemens.com> <20211103123624.3015125-2-felix.moessbauer@siemens.com> <20211103144220.3c8e537e@md1za8fc.ad001.siemens.net> In-Reply-To: <20211103144220.3c8e537e@md1za8fc.ad001.siemens.net> Accept-Language: en-US Content-Language: de-DE X-MS-Has-Attach: X-MS-TNEF-Correlator: msip_labels: MSIP_Label_a59b6cd5-d141-4a33-8bf1-0ca04484304f_Enabled=true; MSIP_Label_a59b6cd5-d141-4a33-8bf1-0ca04484304f_SetDate=2021-11-03T14:09:54Z; MSIP_Label_a59b6cd5-d141-4a33-8bf1-0ca04484304f_Method=Standard; MSIP_Label_a59b6cd5-d141-4a33-8bf1-0ca04484304f_Name=restricted-default; MSIP_Label_a59b6cd5-d141-4a33-8bf1-0ca04484304f_SiteId=38ae3bcd-9579-4fd4-adda-b42e1495d55a; MSIP_Label_a59b6cd5-d141-4a33-8bf1-0ca04484304f_ActionId=d5a988c8-6732-4e85-a796-3ffeca911d11; MSIP_Label_a59b6cd5-d141-4a33-8bf1-0ca04484304f_ContentBits=0 document_confidentiality: Restricted authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=siemens.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 2fc78ce6-e937-4841-08f1-08d99ed39d59 x-ms-traffictypediagnostic: AM0PR10MB2978: x-ld-processed: 38ae3bcd-9579-4fd4-adda-b42e1495d55a,ExtAddr x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:9508; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: csFDbTRmzKKns8pYJeRJnC0a21TZfwBHiKq0mE9Sk22JLMifhmUkjAgyDOBCptD+nfxENem2nehbHx8jqSxD87rk3vLPMCBhqPnMhaHSZbRJ2CCR9wIwxsK3vSlC4Q3IYPGXvvVe9ObkEi3oc5a5vl6Dy7riIIdyulEfZydUd89VcNbU9L1kMHtN++OvSubdvXFlVEpnjsV7X8r3WIkjQH0Ezr/a24Hz1JnePu8Ie3Qza5N1TCh50NlwE2PE4nk1UYkqw8xseTSWDNyjfSIsO0JIUJptz+seEVNngSLT7+mp+Lf8bSwAsl3Gmzn2XwQSyLW89igmPyVLNkvSrtvFBdAN6i/Py2lzEwn1GtSZHh8ufnOUx3hrD6e9Kh8wKIQir3H7cu+ytjF9cbAys1W69TayqztiRtz+0XGZBO41hocQUCdNQwLqJtruGJ7iLYQJbye3DZStOCVtj2UqSi8+xXBCg93EpP5F2ESRPnjbtwYcQjA0fCp8wRnWn2MT9pLVKtRHD33PJzNEjUbkLbA3P1AibWLhORJEInLmEKsmTyrz2x52K7+waQhK0YMqlllTie6aHXcNZmE7l34BgtU71sM0OjmwSNh8oSScDErEvCM2VpmlEpTmckBAc1xVeDB6Y+/7WM2zAG5KYldfOqOcteW5XyDC23dVzL6cN1vRakPE67vMg/KXMrvDno5OXINap4tjIRvFnUO5XECtmiJmtA== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM9PR10MB4869.EURPRD10.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(4636009)(366004)(8936002)(5660300002)(55016002)(66556008)(66446008)(64756008)(38100700002)(66476007)(316002)(76116006)(38070700005)(122000001)(26005)(8676002)(2906002)(4326008)(186003)(52536014)(86362001)(66946007)(53546011)(54906003)(83380400001)(9686003)(6862004)(6636002)(71200400001)(82960400001)(508600001)(7696005)(107886003)(6506007)(33656002);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?wRRxZ2D8mL/euuEaOr6c93d2NeJrDczoQ65UEdi0/rQwzVxksN9KdP2XLmqe?= =?us-ascii?Q?RsvtC1CxCLEm2e1NCLAeePMvRuJ1wR2X0/zKLhhob0ghi1AUCXZPOGmlJvIS?= =?us-ascii?Q?NnJA7a0xeAYL7DWCcIaqH2D6gWujJDULy3J2eBg1HcKmCt7Sm4792mtazagB?= =?us-ascii?Q?1F8GDvh9dP0nC/xqZxCJEayR3HdobtrsgnBdvicC9OtZEDJ3lmfbu9SQm+k7?= =?us-ascii?Q?Hhucxir7DQoXPAjhIQCanCModWO7gcGS+rs5P/b/YL9kBCdnfwgdJvNKNEE2?= =?us-ascii?Q?8V++qu3Ta/uzFbXAoknRrr77l3tKl9Y72Lck8xkfgTFO8inC7PojPNgHY1vi?= =?us-ascii?Q?ucmOQ4mURlUZ+Xgj9Rs/TSrtgEw59Na9y1HKd9MGw+7Ju2nyjw/q55x84MQ9?= =?us-ascii?Q?Hqn3/11XJL2QzlFROUyQY5WmBcVOgVd/jY4Tc1CGgQzcDIJOyqEWAmeekeO8?= =?us-ascii?Q?JVpFIPJod4EBLYayIywIm88ey0tA7SMRryxaSFLJN5eBVewk9MH7JDTR3TWO?= =?us-ascii?Q?COsF+h3UxmTceMEk/ZZZgiLo7qC+yfYCN8gg+OSevtiBos17/DDShoau2oJS?= =?us-ascii?Q?XhzCZAKX6Yg3lBUxyV36FOhsQ3uBnJWAF0P6inxtV301nBBy718Fdrkfb1jR?= =?us-ascii?Q?KUpOLBoqgd5opFWxmXcdT/dwC5PQ7kK5K78/Agggv9bUjB3cMI29svlUPDPf?= =?us-ascii?Q?kAp+wAaOmw5mo0N+RVydI0AZbouziXLz+RMv7Q7lKUb03p5uu64XXk3LzHnX?= =?us-ascii?Q?7wRAbhkKx8E2Cr+9oQwuere8ornPyMXtdt5VjpybWNDMEvNkJtesWFS8+lrS?= =?us-ascii?Q?Hd6t6Z30bl54wGMFY+UvmwzgLkMf3har3Xy8F65dJf4go683owdZLEzoC3RY?= =?us-ascii?Q?XEXvLyp4GlJo14N2QbULube6vUEUKjM6D1Dntuw2ISM3LaGACcSX+Cq0M5Lv?= =?us-ascii?Q?T0YWVLe8nPuZ1ucL1hQ/LZPNb2d5zOElcdZmyDKVU6BvF2ZnWTs3ZsuQtrWb?= =?us-ascii?Q?YAT6qtH8TzQckkrmSZvGW1h3rH8oE0GdBbbH4APhFj3xSwQCiF8Ud6vzCCkE?= =?us-ascii?Q?58o1WSNRXWViIyYclDQ6oovmCEZRgeLrfzfB0OJB+R3C7RyihelBzBJVVf79?= =?us-ascii?Q?LoH8VCBycw/S9ZWqLgH79G8TWYnofpKhxNeahSmZWnaly1+dKdRSuB8FAJHL?= =?us-ascii?Q?gC8bioFMjdxhAQpkF46/B2+QdK7celnVBlIIxDjTkThwJD8FhIGdWQUfvbuP?= =?us-ascii?Q?vftfXyOV3BzRo+w2k91B65155LiOrc/TWyBof0oA4OponMmMYYpLxLdLddtv?= =?us-ascii?Q?uQJmEcPgUPIB7KChRUxa79SAE3LxiWUKeieGf3g9sv7n9+H/5ei7aKX/pq/J?= =?us-ascii?Q?KhOyQJ2oBaOpvsBw9idXdB4umj+cD1ScURtA0lNhIaZO/b8jIBrUkdRmA5yN?= =?us-ascii?Q?zvfXUaSWTyIG4fzTDp3NTJGcZRQ+hz8AkbuHtPkum208ODDOuITj/lYsaEwC?= =?us-ascii?Q?wnPtzXB7HDJsdYeVQKp0JJuDns66x2bUz8TXxcDrTWmBATrNRHQeyQ0FWzMX?= =?us-ascii?Q?YGz1Ynf3PHiIGdjp68NBouJCzyRsCuxK6hJBVzGJc+zXO4t+N8fhMNXLR4M+?= =?us-ascii?Q?6l9vdl69dBr6JGo5IHdz92V+b1VJShYe71af5HGkFShXzv2aXqQM2EyYM4a1?= =?us-ascii?Q?845JXg=3D=3D?= Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: siemens.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: AM9PR10MB4869.EURPRD10.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-Network-Message-Id: 2fc78ce6-e937-4841-08f1-08d99ed39d59 X-MS-Exchange-CrossTenant-originalarrivaltime: 03 Nov 2021 14:09:56.3975 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 38ae3bcd-9579-4fd4-adda-b42e1495d55a X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: tQzDhgggF8GGZH3euzi2d29/kqBnDB5WGQlfspVku2fDxrWA4gqFlxHleZ1kBL8nK+Jq7rz2g0PNpFn//NvygFjIPqSDHm/MS3SeIEAdP9A= X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR10MB2978 X-TUID: SR1OtC4KpR1r > -----Original Message----- > From: Henning Schild > Sent: Wednesday, November 3, 2021 2:42 PM > To: Moessbauer, Felix (T RDA IOT SES-DE) > Cc: isar-users@googlegroups.com; Schmidt, Adriaan (T RDA IOT SES-DE) > > Subject: Re: [PATCH v3 1/2] always invoke ISAR_RELEASE_CMD to invalidate > downstream tasks on change >=20 > Am Wed, 3 Nov 2021 13:36:23 +0100 > schrieb Felix Moessbauer : >=20 > > The command in ISAR_RELEASE_CMD is used to add version information of > > the image under /etc/os-release. As we cannot predict the output of > > the command, we cannot cache it. > > Prior to this patch, this situation was just accepted resulting in > > misleading build-ids on incremental builds. >=20 > Yes, in fact i would further accept that instead of rebuilding. IMO this is just wrong. If this is the intended behavior, the ISAR_RELEASE_CMD should be written in= a way that only reflects code changes. >=20 > > When caching artifacts across builds (e.g. using sstate), this also > > affects fresh builds. >=20 > Does it? It is an image postprocess step, and images are not sstate cache= d. > Unless we do image-in-package tricks for containers and VMs, because > packages will be sstate-cached. It does, as the SState caches / replaces the do_rootfs task. The task that modifies /etc/os-release is do_rootfs_postprocess that is exe= cuted BEFORE do_rootfs. By that /etc/os-release ends up in the cached state. >=20 > > The patch ensures that ISAR_RELEASE_CMD is always invoked and the > > output is stored in the variable IMAGE_BUILD_ID. > > This variable is added as a vardep in the rootfs_postprocess task, so > > changes invalidate all downstream tasks. > > > > By that, we ensure that images always contain correct release > > information. >=20 > It is really hard to say what is correct. If a git change does not trigge= r the image > to be rebuild ... the code change very likely does not do anything anyway= s. So > whichever "git describe" comes out, both are equivavlent and kind of "cor= rect". > And you save the second "pointless" build. >=20 > I have seen layers that "echo $git_describe $date", those would never be > "correct" ;). And say you do not commit you will only get "sha-dirty" but= never > "sha-very-dirty". Well, they are indeed correct. The date corresponds to the build date and t= hat points to a time during the last image build. Also the content of the ISAR_RELEASE_CMD is not something ISAR should reaso= n about. The only guarantee ISAR should provide is that the command is used to gener= ate the image version which finally ends up in the image (value is computed at build time). >=20 > Not sure this patch is valid. Would it rebuild if i did "touch hello; git= add hello; git > commit -m hello" ... so not change anything that would affect the image? = Or > would it even rebuild every single time? Right, but then not the patch is invalid, but your ISAR_RELEASE_CMD is not = well written. A common use-case where I ended up with incorrect tags is the following: - build the Image - test the image - add a git tag (e.g. v1.0.0) - rebuild & deploy Here, the deployed image contains the wrong tag. When building with SState, even deleting the build/tmp folder does not help= as everything is already in the cache. Felix >=20 > Henning >=20 > > Signed-off-by: Felix Moessbauer > > --- > > meta/classes/image-postproc-extension.bbclass | 4 +-- > > meta/classes/image.bbclass | 32 > > ++++++++++--------- meta/classes/rootfs.bbclass | > > 2 +- 3 files changed, 20 insertions(+), 18 deletions(-) > > > > diff --git a/meta/classes/image-postproc-extension.bbclass > > b/meta/classes/image-postproc-extension.bbclass index > > 3f00c21..6e6b257 100644 --- > > a/meta/classes/image-postproc-extension.bbclass +++ > > b/meta/classes/image-postproc-extension.bbclass @@ -46,11 +46,11 @@ > > image_postprocess_configure() { } > > > > ROOTFS_POSTPROCESS_COMMAND =3D+ "image_postprocess_mark" > > +ROOTFS_POSTPROCESS_VARDEPS =3D+ "IMAGE_BUILD_ID" > > > > image_postprocess_mark() { > > - BUILD_ID=3D$(get_build_id) > > update_etc_os_release \ > > - --build-id "${BUILD_ID}" --variant "${DESCRIPTION}" > > --version "${PV}" > > + --build-id "${IMAGE_BUILD_ID}" --variant "${DESCRIPTION}" > > --version "${PV}" } > > > > ROOTFS_POSTPROCESS_COMMAND =3D+ "image_postprocess_machine_id" > > diff --git a/meta/classes/image.bbclass b/meta/classes/image.bbclass > > index 5a0f32e..36883a8 100644 > > --- a/meta/classes/image.bbclass > > +++ b/meta/classes/image.bbclass > > @@ -92,21 +92,23 @@ def get_rootfs_size(d): > > > > return base_size + rootfs_extra * 1024 > > > > -# here we call a command that should describe your whole build > > system, -# this could be "git describe" or something similar. > > -# set ISAR_RELEASE_CMD to customize, or override do_mark_rootfs to do > > something -# completely different > > -get_build_id() { > > - if [ $(echo ${BBLAYERS} | wc -w) -ne 2 ] && > > - [ "${ISAR_RELEASE_CMD}" =3D "${ISAR_RELEASE_CMD_DEFAULT}" > > ]; then > > - bbwarn "You are using external layers that will not > > be" \ > > - "considered in the build_id. Consider > > changing" \ > > - "ISAR_RELEASE_CMD." > > - fi > > - if ! ( ${ISAR_RELEASE_CMD} ) 2>/dev/null; then > > - bbwarn "\"${ISAR_RELEASE_CMD}\" failed, returning > > empty build_id." > > - echo "" > > - fi > > +# the IMAGE_BUILD_ID depends on external conditions injected via # > > +ISAR_RELEASE_CMD. By that, we have to compute the value # on each > > +invocation > > +python() { > > + bblayers =3D d.getVar('BBLAYERS', True) > > + release_cmd =3D d.getVar('ISAR_RELEASE_CMD', True) > > + if len(bblayers.split()) !=3D 2: > > + if release_cmd =3D=3D d.getVar('ISAR_RELEASE_CMD_DEFAULT', Tru= e): > > + bb.warn('You are using external layers that will not be ' > > + 'considered in the build_id. Consider changing ' > > + 'ISAR_RELEASE_CMD.') > > + try: > > + out,err =3D bb.process.run(release_cmd) > > + d.setVar('IMAGE_BUILD_ID', out.replace('\n', '')) > > + except(bb.process.ExecutionError): > > + bb.warn(f'"{release_cmd}" failed, returning empty build_id.') > > + d.setVar('IMAGE_BUILD_ID', '') > > } > > > > python set_image_size () { > > diff --git a/meta/classes/rootfs.bbclass b/meta/classes/rootfs.bbclass > > index 20ccb00..e8c7fa0 100644 > > --- a/meta/classes/rootfs.bbclass > > +++ b/meta/classes/rootfs.bbclass > > @@ -239,7 +239,7 @@ rootfs_export_dpkg_status() { > > '${ROOTFS_DPKGSTATUS_DEPLOY_DIR}'/'${PF}'.dpkg_status > > } > > > > -do_rootfs_postprocess[vardeps] =3D "${ROOTFS_POSTPROCESS_COMMAND}" > > +do_rootfs_postprocess[vardeps] =3D "${ROOTFS_POSTPROCESS_COMMAND} > > ${ROOTFS_POSTPROCESS_VARDEPS}" python do_rootfs_postprocess() { > > # Take care that its correctly mounted: > > bb.build.exec_func('rootfs_do_mounts', d)