From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 16E46EF48C5 for ; Sat, 14 Feb 2026 09:53:23 +0000 (UTC) Received: from smtpout-04.galae.net (smtpout-04.galae.net [185.171.202.116]) by mx.groups.io with SMTP id smtpd.msgproc02-g2.3528.1771062800190352176 for ; Sat, 14 Feb 2026 01:53:21 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@bootlin.com header.s=dkim header.b=XYOOi/eN; spf=pass (domain: bootlin.com, ip: 185.171.202.116, mailfrom: mathieu.dubois-briand@bootlin.com) Received: from smtpout-01.galae.net (smtpout-01.galae.net [212.83.139.233]) by smtpout-04.galae.net (Postfix) with ESMTPS id 45B4BC23DB9; Sat, 14 Feb 2026 09:53:27 +0000 (UTC) Received: from mail.galae.net (mail.galae.net [212.83.136.155]) by smtpout-01.galae.net (Postfix) with ESMTPS id 2690E606CB; Sat, 14 Feb 2026 09:53:17 +0000 (UTC) Received: from [127.0.0.1] (localhost [127.0.0.1]) by localhost (Mailerdaemon) with ESMTPSA id 4C30610368FF3; Sat, 14 Feb 2026 10:53:11 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=dkim; t=1771062796; h=from:subject:date:message-id:to:cc:mime-version:content-type: content-transfer-encoding:in-reply-to:references; bh=1ZduhzpisT/hFX/k8cXLkAqo8mi7kWTWYcCsFqnBPok=; b=XYOOi/eN5pC+A9JolAGPanWLLSzA1Eh/7dY8VkIeC70UNtcxYCBEsDWeP2rozA2UdWaAyF GluJxHo8wO5ySxppJGv1C3bVbnwrFoybUFQGkgxB+rfN6uK4qwBw8FA/lsFw7s1yiLIw5p jcnfmp3GRsQMp9Q6ZiPyUhbQu/lqA78gHRMCoOf4hb4XvRSWVqzQ6w0I1Otow7z7DuCpWO PSI3jRyemtQe9i4ga8UhHGAlPbcIpFBUAkOHmKzwPaT4JBExZOsg+Eq5tkR0O1CTwzRk3G gP3faSd6/rYFPXcKPVx+LKa1BlsUrJKHpXyoSH/uKq61iyoQMMK39T1EtyQzNQ== Mime-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=UTF-8 Date: Sat, 14 Feb 2026 10:53:10 +0100 Message-Id: Subject: Re: [oe-core][PATCH] reproducible: fix git SOURCE_DATE_EPOCH randomness Cc: , , , , , From: "Mathieu Dubois-Briand" To: , , , , , X-Mailer: aerc 0.19.0-0-gadd9e15e475d References: <20260213004252.3371379-2-rs@ti.com> In-Reply-To: <20260213004252.3371379-2-rs@ti.com> X-Last-TLS-Session-Version: TLSv1.3 List-Id: X-Webhook-Received: from 45-33-107-173.ip.linodeusercontent.com [45.33.107.173] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Sat, 14 Feb 2026 09:53:23 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/231146 On Fri Feb 13, 2026 at 1:42 AM CET, Randolph Sapp via lists.openembedded.or= g wrote: > From: Randolph Sapp > > Anything that defines multiple git sources should have the largest value > taken when calculating the SOURCE_DATE_EPOCH for a package. > > The previous iteration actually introduced some degree of randomness, as > it would stop on the first git repository reported by os.walk, which > does not assure any specific ordering by default. > > Signed-off-by: Randolph Sapp > --- Hi Randolph, Thanks for trying to fix this. However, it looks like this is causing another intermittent issue. We got the following error on the autobuilder: ERROR: libjitterentropy-3.6.3-r0 do_unpack: Error executing a python functi= on in exec_func_python() autogenerated: ... File: '/srv/pokybuild/yocto-worker/qemux86-world/build/layers/openembedded-= core/meta/lib/oe/reproducible.py', lineno: 107, function: get_source_date_e= poch_from_git 0103: bb.debug(1, "%s does not have a valid HEAD: %s" % (gi= tpath, p.stdout.decode('utf-8'))) 0104: continue 0105: 0106: bb.debug(1, "git repository: %s" % gitpath) *** 0107: p =3D subprocess.run(['git', '-c', 'log.showSignature=3Df= alse', '--git-dir', gitpath, 'log', '-1', '--pretty=3D%ct'], 0108: check=3DTrue, stdout=3Dsubprocess.PIPE= ) 0109: sources_dates.append(int(p.stdout.decode('utf-8'))) 0110: 0111: if sources_dates: File: '/usr/lib64/python3.13/subprocess.py', lineno: 577, function: run 0573: # We don't call process.wait() as .__exit__ does that= for us. 0574: raise 0575: retcode =3D process.poll() 0576: if check and retcode: *** 0577: raise CalledProcessError(retcode, process.args, 0578: output=3Dstdout, stderr=3Dst= derr) 0579: return CompletedProcess(process.args, retcode, stdout, stderr= ) 0580: 0581: Exception: subprocess.CalledProcessError: Command '['git', '-c', 'log.showS= ignature=3Dfalse', '--git-dir', '/srv/pokybuild/yocto-worker/qemux86-world/= build/build/tmp/work/x86-64-v3-poky-linux/libjitterentropy/3.6.3/sources/li= bjitterentropy-3.6.3/tests/raw-entropy/recording_userspace/jitterentropy/te= sts/raw-entropy/recording_userspace/jitterentropy/tests/raw-entropy/recordi= ng_userspace/jitterentropy/tests/raw-entropy/recording_userspace/jitterentr= opy/tests/raw-entropy/recording_userspace/jitterentropy/tests/raw-entropy/r= ecording_userspace/jitterentropy/tests/raw-entropy/recording_userspace/jitt= erentropy/tests/raw-entropy/recording_userspace/jitterentropy/tests/raw-ent= ropy/recording_userspace/jitterentropy/tests/raw-entropy/recording_userspac= e/jitterentropy/tests/raw-entropy/recording_userspace/jitterentropy/tests/r= aw-entropy/recording_userspace/jitterentropy/tests/raw-entropy/recording_us= erspace/jitterentropy/tests/raw-entropy/recording_userspace/jitterentropy/t= ests/raw-entropy/recording_userspace/jitterentropy/tests/raw-entropy/record= ing_userspace/jitterentropy/tests/raw-entropy/recording_userspace/jitterent= ropy/tests/raw-entropy/recording_userspace/jitterentropy/tests/raw-entropy/= recording_userspace/jitterentropy/tests/raw-entropy/recording_userspace/jit= terentropy/tests/raw-entropy/recording_userspace/jitterentropy/tests/raw-en= tropy/recording_userspace/jitterentropy/tests/raw-entropy/recording_userspa= ce/jitterentropy/tests/raw-entropy/recording_userspace/jitterentropy/tests/= raw-entropy/recording_userspace/jitterentropy/tests/raw-entropy/recording_u= serspace/jitterentropy/tests/raw-entropy/recording_userspace/jitterentropy/= tests/raw-entropy/recording_userspace/jitterentropy/tests/raw-entropy/recor= ding_userspace/jitterentropy/tests/raw-entropy/recording_userspace/jitteren= tropy/tests/raw-entropy/recording_userspace/jitterentropy/tests/raw-entropy= /recording_userspace/jitterentropy/tests/raw-entropy/recording_userspace/ji= tterentropy/tests/raw-entropy/recording_userspace/jitterentropy/.git/', 'lo= g', '-1', '--pretty=3D%ct']' returned non-zero exit status 128. https://autobuilder.yoctoproject.org/valkyrie/#/builders/59/builds/3177 https://autobuilder.yoctoproject.org/valkyrie/#/builders/3/builds/3231 https://autobuilder.yoctoproject.org/valkyrie/#/builders/6/builds/3194 https://autobuilder.yoctoproject.org/valkyrie/#/builders/37/builds/3345 I only saw it on libjitterentropy so far. I quickly tried to reproduce locally, without any success. Yet I confirm dropping this patch solve the issue. Can you have a look? Thanks, Mathieu --=20 Mathieu Dubois-Briand, Bootlin Embedded Linux and Kernel engineering https://bootlin.com