Hi folks, I pushed an update of add-det to Rawhide. It contains a rewrite of the handler for pyc files (*). The new code should resolve an irreproducibility that affects a large number of python packages, in particular those with lots and lots of python files. If you see any issues with building anything with python code, please let me know. (*) Details: the python pyc file contains a header and a series of entries for objects: numbers, strings, None, True, False, Ellipsis, StopIteration, tuples, sets, lists, and code objects. When an identical entry is needed more then once, instead of writing it out again, it can be replaced by a reference to a previously-written entry. For an entry to be used as a target of a reference, it must be flagged by setting a bit in the entry header. When reading, all entries with the flag set are put in a list, and the reference entries specify an index into this list to refer to a specific entry. The first issue that we had to solve was that sometimes Python would set the flag on entries which actually weren't referenced later. This created an irreproducibility because on different build architectures Python would flag slightly different sets of entries. The second issue that is now being solved is that Python doesn't always use a reference where it could, and on different architectures some objects are written as a reference while on others the entry is serialized again. The previous vesions of add-det just cleared the flag on some entries. The new version completely rewrites the serialization stream, always using references when possible. This means that the pyc files are smaller (usually 1–3%). If the current code works as expected, I want to enable further shrinking of the pyc files by using shorter serialization forms, e.g. a 32-bit int instead of a PyLong. (This wouldn't actually save that much space, the int is 4 bytes and the PyLong would be 6–12 bytes. But the representation when parsed is more efficient, so it saves some bytes also at runtime.) On Fri, Oct 11, 2024 at 07:19:44PM +0000, updates@xxxxxxxxxxxxxxxxx wrote: > ================================================================================ > FEDORA-2024-15c1e66f23 > ================================================================================ > Release: Fedora 42 > Status: pending > Type: unspecified > Severity: unspecified > Karma: 0 > Critpath: True > Notes: Automatic update for rust-add-determinism-0.4.0-1.fc42. > Changelog > * Fri Oct 11 2024 Zbigniew Jędrzejewski-Szmek <zbyszek@xxxxxxxxx> > - 0.4.0-1 > - Version 0.4.0 > * Sat Sep 28 2024 Fabio Valentini <decathorpe@xxxxxxxxx> - 0.3.6-2 > - Regenerate with rust2rpm v26 and update license tag > Submitter: zbyszek > Submitted: 2024-10-11 19:19:44.010372 > Comments: bodhi - 2024-10-11 19:19:44.026392 (karma 0) > This update was automatically created > > https://bodhi.fedoraproject.org/updates/FEDORA-2024-15c1e66f23 Zbyszek -- _______________________________________________ devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/ List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/devel@xxxxxxxxxxxxxxxxxxxxxxx Do not reply to spam, report it: https://pagure.io/fedora-infrastructure/new_issue