The systemd rpms
- Python 57.9%
- Shell 42.1%
Instead of shipping /usr/sbin symlinks directly in the RPM, rely on filesystem(unmerged-sbin-symlinks) file triggers to create them at install time. This avoids file conflicts when the package (built on an unmerged system) is installed into a merged-sbin buildroot, eliminating the bootstrap ordering problem with the bin/sbin merge. On unmerged systems, the filesystem file trigger creates the symlinks when files are installed to /usr/bin. On merged systems, /usr/sbin is already a symlink to bin so no action is needed. The bcond defaults to enabled. Use --without sbin_compat to revert to the old behavior of shipping sbin symlinks in the package. |
||
|---|---|---|
| .fmf | ||
| plans | ||
| .editorconfig | ||
| .gitignore | ||
| .zuul.yaml | ||
| 0001-core-create-userdb-root-directory-with-correct-label.patch | ||
| 0002-machined-continue-without-resolve.hook-socket.patch | ||
| 7be9032019015ddd61985e6a6721d813d62dad0b.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 | ||
| 42668.patch | ||
| changelog | ||
| inittab | ||
| libabigail.abignore | ||
| macros.sysusers | ||
| macros.sysusers.compat | ||
| owner-check.sh | ||
| owner-check.template | ||
| 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.