#1371 Python: drop note about marshalparser
Merged by churchyard. Opened by zbyszek.
zbyszek/packaging-committee drop-marshalparser  into  master

Download 1371.patch

Marshalparser's job is now done automatically by add-determinism:
https://fedoraproject.org/wiki/Changes/ReproduciblePackageBuilds.
So this section doesn't contain any actionable advice and can be
dropped.

(In principle, there might be other cases of irreproducibility in
.pyc files, e.g. see
https://pagure.io/fedora-reproducible-builds/project/issue/17.
But marshalparser can't help here, and such issues fall under the
general category of irreproducibility bugs that can apply to any
file that is part of a noarch package and there is no need to discuss
this specifically in the context of Python or Python pyc files.)

I also opened PRs to remove the implementations of this advice:
https://src.fedoraproject.org/rpms/retrace-server/pull-request/48
https://src.fedoraproject.org/rpms/abrt/pull-request/38
https://src.fedoraproject.org/rpms/glib2/pull-request/14
https://src.fedoraproject.org/rpms/clang17/pull-request/3
https://src.fedoraproject.org/rpms/clang16/pull-request/4
https://src.fedoraproject.org/rpms/clang/pull-request/242
https://src.fedoraproject.org/rpms/libsecret/pull-request/9

This makes sense to me. @churchyard Could you ack?

The note is still relevant for Fedora 39 and 40, isn't it?

There's just a handful of packages that required this, and I don't think any new packages will need to add this in F<=40. So I think it's fine to drop it from the Guidelines. The packages that already have this can and will keep the workaround without it being described here. We don't document every possible workaround in packages, esp. if it's only needed in old branches.

We also don't need to remove this right now. We can add a note saying this is no longer necessary in F41+.

For example, what are the chances your PRs will eventually leak into f40/f39/epel9 branches?

Well, dunno, everything's possible. But that seems like a not-terrible thing. The worst that will can happen is that some package FTBFS and the packager needs to revert a patch.

If you prefer, I can wrap the text to say that it applies to F<=40 and EPEL.

If you prefer, I can wrap the text to say that it applies to F<=40 and EPEL.

I do. But if others disagree, I am not going to fight them.

The worst that will can happen is that some package FTBFS...

Or that a multilib i686 and x86_64 packages conflict with each other which is harder to realize. See https://bugzilla.redhat.com/2008912

I agree, it would be good to add a note that "this is no longer necessary on Fedora 41 or later" instead.

rebased onto 92d0338f36f2b47d3807e5890e8f6d6185fffbf0

Updated.

@zbyszek I also realized that in ELN, this is still required because build-reproducibility-srpm-macros is not required by redhat-rpm-config in ELN.

If any of the packages that dropped marshalparser usage is part of ELN, they will become broken.

Also ELN and EPEL 10.

Can we make it required?

That would be the preferred outcome. But note that you would need to figure out who owns the package in RHEL, as the teams seem highly motivated to drop as many packages as possible.

Anyway, until this is resolved I don't think we should merge this and I don't think packages should drop the code, at least not packages that are present in ELN.

Fortunately, ELN is dropping i686, so the multilib conflict cannot happen and an FTBFS indeed seems like the worst-case scenario.

@zbyszek What is the plan wrt build-reproducibility-srpm-macros in ELN?

rebased onto 4bae8db5783671b40c6ce417df22452eb4ae02dd

Oh, I'm pretty sure I wrote a reply here, but … well, I don't see it.

What is the plan wrt build-reproducibility-srpm-macros in ELN?

Currently redhat-rpm-config does not pull in build-reproducibility-srpm-macros if 0%{?rhel}, so I guess that the plan is not to have it. The latest version of this patch matches that, since it says "only applies to Fedora <= 40, ELN, and EPEL". If the situation ever changes, we can adjust this text here too.

Please merge.

Pull-Request has been merged by churchyard

Metadata