[systemd-devel] setting up to allow separate udev and systemd builds

Wulf C. Krueger philantrop at exherbo.org
Thu Jun 14 08:38:16 PDT 2012


Hello Lucas,

On 14.06.2012 15:48, Lucas De Marchi wrote:
>> on source-based distros like gentoo or lfs, and on distros that do not
> Don't you have the ability to split the built package in gentoo?

I can confirm and emphasize what William already wrote - for us
source-based distros (Exherbo in my case), there are basically two
approaches:

1. Enable building udev without the systemd parts on the build system
level. This is what William did and the cleanest solution, IMHO.

2. Disable whatever systemd-only parts that can be disabled on the build
system level (e. g. --disable-localed), build the remainder and delete
anything that's still only systemd-specific.
This is error-prone, maintenance-intensive and all around ugly - and I
can prove it ;-) by an excerpt from our udev Exheres (what William
called the build script):

    # Remove everything not belonging to what-used-to-be-udev.
    edo rm -r
"${IMAGE}"/etc/{bash_completion.d,dbus-1,modules-load.d,sysctl.d,systemd,tmpfiles.d,xdg}
    edo rm -r "${IMAGE}"/usr/bin/{journalctl,systemctl,systemd*}
    edo rm -r "${IMAGE}"/usr/include/systemd
    edo rm -r "${IMAGE}"/usr/*/{modules-load.d,sysctl.d,tmpfiles.d}
    edo rm -r "${IMAGE}"/usr/*/systemd/system
    edo rm -r "${IMAGE}"/usr/*/systemd/system-*
    edo rm -r "${IMAGE}"/usr/*/systemd/systemd-*
    edo rm -r "${IMAGE}"/usr/*/systemd/user
    edo rm -r "${IMAGE}"/usr/*/libsystemd*
    edo rm -r "${IMAGE}"/usr/*/pkgconfig/libsystemd*
    edo rm -r "${IMAGE}"/usr/${LIBDIR}/systemd
    edo rm -r "${IMAGE}"/usr/share/{dbus,polkit}-1
    edo rm -r "${IMAGE}"/usr/share/man/man{1,3,5}
    edo rm -r "${IMAGE}"/usr/share/man/man7/{daemon.7,sd-*,systemd*}
    edo rm -r
"${IMAGE}"/usr/share/man/man8/{halt,pam_systemd,poweroff,reboot,runlevel,shutdown,systemd*,telinit}.8
    edo rm -r "${IMAGE}"/usr/share/pkgconfig/systemd.pc

It's messy as you can see and could be solved rather elegantly by
William's nice and clean work (thanks, William, I was too lazy :) ).

Of course, all this could be avoided if systemd ruled the (Linux) world
but, alas, we're not there (yet) and the way this merge was done did,
unfortunately create some unnecessary antagonism which could be eased at
least a bit if we systemd proponents could generously pat the haters'
backs and say "hey, look what they did for you!". ;-)

Joking aside: Considering the elegance and neatness of systemd as a
whole, this would fit in perfectly, IMHO.

-- 
Best regards, Wulf


More information about the systemd-devel mailing list