[systemd-devel] Archlinux patch for services and getty

Marius O marius at habarnam.ro
Thu May 20 06:17:24 PDT 2010


On Thu, May 20, 2010 at 3:04 AM, Lennart Poettering
<lennart at poettering.net> wrote:
> Those service files appear to be mostly a 1:1 copy of my Fedora files
> but I am quite sure that there are certain differences between Arch and
> Fedora that make some of those scripts redundant.

Yes, they were kept as basic as possible to provide a starting point
for other contributors, but I guess that things are rolling a bit too
fast and it's too early to expect much interest in this.

>
> Are you sure you have something like rc.local?

Yes, Arch has it... but with the mention of having a
rc.local.shutdown. Is there a way of defining a dependency between the
two (ie, if we start the service responsible for rc.local we should
run at shutdown time the rc.local.shutdow) ?

> And are you sure you need
> that stupid hack I have in there that establishes two names for rc.local
> because our symlink for that is so weird? (i.e. we have a symlink
> /etc/rc2.d/S99local → /etc/rc.local instead of /etc/rc2.d/S99rc.local).

There's exactly /etc/rc.local, as Arch doesn't have the /etc/rcN.d
runlevel folders.

>
> If you call /sbin/halt and friends directly you should be able to simply
> pass -f, and you won't need the RUNLEVEL=6 env hack then. (RUNLEVEL=6 is
> needed because sysvinit's halt is just one evil piece of code and our
> halt script on Fedora does not pass -f to halt).

Ok. This sounds as a good idea. But as a side-note, wouldn't it be
nicer (even for Fedora) to use the base sysvinit executables directly
instead of defining distro specific workarounds ? ( I remember you
saying that you'd like to avoid that each distro use their own
services as much as possible)

>
> And "prefdm" I am pretty sure is a Fedora-ism and probably something we
> should get rid of entirely in the end. If you have no reason for prefdm
> then get rid of it.
>

Yes, you are right. Also I'm thinking that this service is a bit
higher level than there should be included in a vanilla install. I
imagine that the focus should be on having services for just runlevel
3 (plus systemd required ones - as dbus).

> In summary: rc-local.service, sysinit.service, prefdm.service,
> killall.service are probably very much Fedora-specific. If you don't
> have counterparts in Arch for those then you should just drop those
> scripts, there is no reason to provide them. The only three services you
> need to provide in the arch directory are reboot.service, halt.service
> and poweroff.service because they are directly referenced in the
> respective .target files.

Ok. It makes sense. But I think that the killall service should exist
as a method for sending sigterm and sigkill to all running processes.
As an idea it could be split this task to two services:
termall.service (killall5 -15) and killall.service (killall5 -9).

> Also, I have since changed quite a few unit files, so you might want to
> update your patch for those changes!

Ok I will update according to your suggestions and submit again. Thank
you for the feedback.
-Marius


More information about the systemd-devel mailing list