#2583 Request for a mini mass rebuild to update systemd scriptlets in packages
Closed: Accepted 3 years ago by cverna. Opened 3 years ago by zbyszek.

I pushed systemd-248-rc1 which has updated scriptlets and transfiletriggers to implement https://fedoraproject.org/wiki/Changes/Restart_services_at_end_of_rpm_transaction. But this is not effective without actually rebuilding packages which use those rpm macros. Obviously this should have been pushed before the mass rebuild, but the code went through many iterations and wasn't ready then ;(

The change in macros is the following:

 %systemd_postun_with_restart() \
 %{expand:%%{?__systemd_someargs_%#:%%__systemd_someargs_%# systemd_postun_with_restart}} \
 if [ $1 -ge 1 ] && [ -x @bindir@/systemctl ]; then \
         # Package upgrade, not uninstall \
-        @bindir@/systemctl try-restart %{?*} || : \
+        for unit in %{?*}; do \
+                @bindir@/systemctl set-property $unit Markers=+needs-restart || : \
+        done \
 fi \
 %{nil}

As packages are rebuilt for other reasons, new version of the macro will be used anyway. But I think having the new macro in some packages and some in old will be annoying. Also, since this fixes a long-standing annoying issue, I think it'd be better to rebuild with this rather than wait for packages to be rebuilt for other reasons.

Thus, I'd like to do a "mini mass rebuild" with no changes except a release bump for relevant packages. I think dnf repoquery --qf '%{sourcerpm}' --whatprovides '/usr/lib/systemd/system/*service', which yield 781 entries, is the right query. I'd like to do the rebuild after beta freeze ends. I'd do it myself.

EDIT: the goal is to do this in branched. But rawhide could be done too. It would probably make sense to do rawhide first, and then do branched after the beta freeze ends.


Metadata Update from @churchyard:
- Issue set to the milestone: Fedora 34

3 years ago

EDIT: the goal is to do this in branched. But rawhide could be done too. It would probably make sense to do rawhide first, and then do branched after the beta freeze ends.

Bumping the spec files in branched only might confuse some packagers. I'd bumpspec in rawhide and for packages that are not diverged yet I'd merge to f34.

+1 please do Rawhide first (immediately) and then do the same in Branched once Beta Freeze concludes, assuming nothing goes wrong in Rawhide.

Got an extra +1 from @ngompa during today's meeting

King_InuYasha sounds good to me +1
Counting @zbyszek as +1 this is approved (+6, 0, 0)

Metadata Update from @cverna:
- Issue close_status updated to: Accepted
- Issue status updated to: Closed (was: Open)

3 years ago

I rebuilt the packages in rawhide yesterday. 495 were successful, 23 FTBFS (for unrelated reasons).

If the sky doesn't come down in rawhide, I'll build for f34 later this week.

I rebuilt the packages in rawhide yesterday. 495 were successful, 23 FTBFS (for unrelated reasons).

If the sky doesn't come down in rawhide, I'll build for f34 later this week.

What were the 23 failures?

In general just the sad state of package rebuildability in Fedora.

I fixed bluez: https://src.fedoraproject.org/rpms/bluez/c/fdda690e478cc1581c12265af16d043c757758dd?branch=rawhide.

postgresql was some serialization failure on s390x in tests, looks like an upstream arch-specific bug.

I didn't look at the other ones, but it seems to be arch-specific stuff, s390x quite often.

pesign and fwupd just need to be tagged by someone with appropriate privileges. @kevin can you handle that?

pesign and fwupd just need to be tagged by someone with appropriate privileges. @kevin can you handle that?

Done.

Login to comment on this ticket.

Metadata