On Sat Feb 14, 2026 at 3:53 AM CST, Mathieu Dubois-Briand wrote:
> On Fri Feb 13, 2026 at 1:42 AM CET, Randolph Sapp via lists.openembedded.org 
> wrote:
>> From: Randolph Sapp <[email protected]>
>>
>> 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 <[email protected]>
>> ---
>
> 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 function 
> 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_epoch_from_git
>      0103:            bb.debug(1, "%s does not have a valid HEAD: %s" % 
> (gitpath, p.stdout.decode('utf-8')))
>      0104:            continue
>      0105:
>      0106:        bb.debug(1, "git repository: %s" % gitpath)
>  *** 0107:        p = subprocess.run(['git', '-c', 'log.showSignature=false', 
> '--git-dir', gitpath, 'log', '-1', '--pretty=%ct'],
>      0108:                           check=True, stdout=subprocess.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 = process.poll()
>      0576:        if check and retcode:
>  *** 0577:            raise CalledProcessError(retcode, process.args,
>      0578:                                     output=stdout, stderr=stderr)
>      0579:    return CompletedProcess(process.args, retcode, stdout, stderr)
>      0580:
>      0581:
> Exception: subprocess.CalledProcessError: Command '['git', '-c', 
> 'log.showSignature=false', '--git-dir', 
> '/srv/pokybuild/yocto-worker/qemux86-world/build/build/tmp/work/x86-64-v3-poky-linux/libjitterentropy/3.6.3/sources/libjitterentropy-3.6.3/tests/raw-entropy/recording_userspace/jitterentropy/tests/raw-entropy/recording_userspace/jitterentropy/tests/raw-entropy/recording_userspace/jitterentropy/tests/raw-entropy/recording_userspace/jitterentropy/tests/raw-entropy/recording_userspace/jitterentropy/tests/raw-entropy/recording_userspace/jitterentropy/tests/raw-entropy/recording_userspace/jitterentropy/tests/raw-entropy/recording_userspace/jitterentropy/tests/raw-entropy/recording_userspace/jitterentropy/tests/raw-entropy/recording_userspace/jitterentropy/tests/raw-entropy/recording_userspace/jitterentropy/tests/raw-entropy/recording_userspace/jitterentropy/tests/raw-entropy/recording_userspace/jitterentropy/tests/raw-entropy/recording_userspace/jitterentropy/tests/raw-entropy/recording_userspace/jitterentropy/tests/raw-entropy/recording_userspace/jitterentropy/tests/raw-entropy/recording_userspace/jitterentropy/tests/raw-entropy/recording_userspace/jitterentropy/tests/raw-entropy/recording_userspace/jitterentropy/tests/raw-entropy/recording_userspace/jitterentropy/tests/raw-entropy/recording_userspace/jitterentropy/tests/raw-entropy/recording_userspace/jitterentropy/tests/raw-entropy/recording_userspace/jitterentropy/tests/raw-entropy/recording_userspace/jitterentropy/tests/raw-entropy/recording_userspace/jitterentropy/tests/raw-entropy/recording_userspace/jitterentropy/tests/raw-entropy/recording_userspace/jitterentropy/tests/raw-entropy/recording_userspace/jitterentropy/tests/raw-entropy/recording_userspace/jitterentropy/tests/raw-entropy/recording_userspace/jitterentropy/tests/raw-entropy/recording_userspace/jitterentropy/tests/raw-entropy/recording_userspace/jitterentropy/tests/raw-entropy/recording_userspace/jitterentropy/tests/raw-entropy/recording_userspace/jitterentropy/.git/',
>  'log', '-1', '--pretty=%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

Oh, a recursive symbolic link. Fun. I thought glob didn't traverse links by
default. Guess I was thinking about Pathlib's version. I'll go back to a
modified os.walk version since that supports more python versions and has an
explicit 'followlinks' parameter.

- Randolph
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#231272): 
https://lists.openembedded.org/g/openembedded-core/message/231272
Mute This Topic: https://lists.openembedded.org/mt/117785484/21656
Group Owner: [email protected]
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to