The systemd rpms
When testing build reproducibility, we got the following result:
+ rpmdiff cache/rpms/systemd-257.6-1.fc43/systemd-257.6-1.fc43.x86_64.rpm \
cache/build/systemd-257.6-1.fc43/rebuild/systemd-257.6-1.fc43.x86_64.rpm
......V..F. /etc/xdg/systemd/user
This is because we'd apply %ghost to a symlink to a directory, if the directory
stat reported 0 blocks. It seems that this depends on the filesystem type or
something and didn't pop up in previous rebuilds.
The first chunk is a noop to increase clarity.
The resulting difference from this patch in the file list:
$ diff -u systemd-257.6-build/systemd-257.6/.file-list-main{.0,}
-%config(noreplace) %ghost /etc/xdg/systemd/user
+%config(noreplace) /etc/xdg/systemd/user
(cherry picked from commit
|
||
|---|---|---|
| .fmf | ||
| plans | ||
| .editorconfig | ||
| .gitignore | ||
| .zuul.yaml | ||
| 0001-Revert-units-use-PrivateTmp-disconnected-instead-of-.patch | ||
| 0002-sysusers-emit-audit-events-for-user-and-group-creati.patch | ||
| 10-map-count.conf | ||
| 10-oomd-defaults.conf | ||
| 10-oomd-per-slice-defaults.conf | ||
| 10-timeout-abort.conf | ||
| 20-yama-ptrace.conf | ||
| 60-block-scheduler.rules | ||
| 98-default-mac-none.link | ||
| 26494.patch | ||
| 30846.patch | ||
| changelog | ||
| inittab | ||
| libabigail.abignore | ||
| macros.sysusers | ||
| macros.sysusers.compat | ||
| owner-check.sh | ||
| owner-check.template | ||
| purge-nobody-user | ||
| README.build-in-place.md | ||
| rpminspect.yaml | ||
| sources | ||
| split-files.py | ||
| sysctl.conf.README | ||
| systemd-journal-gatewayd.xml | ||
| systemd-journal-remote.xml | ||
| systemd-udev-trigger-no-reload.conf | ||
| systemd-user | ||
| systemd.rpmlintrc | ||
| systemd.spec | ||
| sysusers.attr | ||
| sysusers.generate-pre.sh | ||
| sysusers.prov | ||
| test_sysusers_defined.py | ||
| triggers.systemd | ||
Building systemd rpms for local development using rpmbuild --build-in-place
This approach is based on filbranden's git-rpmbuild and his talk during ASG2019.
git clone https://github.com/systemd/systemd
fedpkg clone systemd fedora-systemd
cd systemd
rpmbuild -bb --build-in-place --noprep --define "_sourcedir $PWD/../fedora-systemd" --define "_rpmdir $PWD/rpms" --with upstream ../fedora-systemd/systemd.spec
sudo dnf upgrade --setopt install_weak_deps=False rpms/*/*.rpm
--without lto and --without tests may be useful to speed up the build.