Project:Systemd/Maintenance

ebuild maintenance tips.

Live ebuild
Please remember to keep the live ebuild in sync with newest release, and the other way around. This includes copying keywords to the live ebuild.

Subslot
The subslot should be a sum of SONAMEs of all libraries that are suitable for linking to, that is: libudev, libgudev, libsystemd-*.

After changing the subslot, please remember to update virtual/udev as well. The any-of dep in the virtual should list all the subslots of systemd that have libudev/libgudev SONAME matching the virtual.

Example library listing

For example, the subslot for the above set would be: 0+1+0+0+0+0 = 1.

Small changes and breaking changes
If you'd like to make a small change that requires revbump but alone doesn't deserve one, do it on the live ebuild. We'll copy it when doing next revbump/release.

If you'd like to make a potentially breaking change, do it on the live ebuild first. This will ensure it gets some testing from our brave users before we unleash it globally.

Version bumps
When preparing for a version bump, always check at least NEWS, configure.ac and Makefile.am.

Preferably, start off the live ebuild which can have some pending changes already:

Remember to sync your changes back to the live ebuild as well!

Always reboot and test new systemd before committing it!

Backporting patches
Please limit your backports to regression fixes and other important bug fixes. Avoid backporting cosmetic changes, new features, and especially avoid backporting patches that change the API/ABI.

If you need to backport patches, use our systemd.git fork for that.

If you don't have systemd clone yet:

The, add us as another remote in your repo:

If that's the first backport for the version, you will need to start the branch for it:

Check the proper branch out and cherry-pick any patches you need:

Then, re-create all the patches and rename them to match PV:

Please remember to push your changes back, so that others could backport more on top of your patch stack!