Hi, Just wrote some Gentoo service files based upon Fedora's ones. Probably not perfect but I think it's a good start. Did not pick up the sysinit thing, 'cause (at least on my system) the only things in sysiniy are dmesg, devfs and udev, the only needed one would be udev, and I guess it should have its own service.
From 862fbcaa59b022d25b50c7793205daf40bb5817b Mon Sep 17 00:00:00 2001 From: Marc-Antoine Perennou <[email protected]> Date: Thu, 20 May 2010 10:31:04 +0200 Subject: [PATCH] units: add services for Gentoo
--- Makefile.am | 9 +++++++++ units/gentoo/halt.service | 19 +++++++++++++++++++ units/gentoo/killall.service | 15 +++++++++++++++ units/gentoo/poweroff.service | 18 ++++++++++++++++++ units/gentoo/reboot.service | 18 ++++++++++++++++++ units/gentoo/xdm.service | 16 ++++++++++++++++ 6 files changed, 95 insertions(+), 0 deletions(-) create mode 100644 units/gentoo/halt.service create mode 100644 units/gentoo/killall.service create mode 100644 units/gentoo/poweroff.service create mode 100644 units/gentoo/reboot.service create mode 100644 units/gentoo/xdm.service diff --git a/Makefile.am b/Makefile.am index 6d860ec..8313e57 100644 --- a/Makefile.am +++ b/Makefile.am @@ -132,6 +132,15 @@ dist_systemunit_DATA += \ units/fedora/sysinit.service endif +if TARGET_GENTOO +dist_systemunit_DATA += \ + units/gentoo/halt.service \ + units/gentoo/killall.service \ + units/gentoo/poweroff.service \ + units/gentoo/reboot.service \ + units/gentoo/xdm.service +endif + # This is needed because automake is buggy in how it generates the # rules for C programs, but not Vala programs. We therefore can't # list the .h files as dependencies if we want make dist to work. diff --git a/units/gentoo/halt.service b/units/gentoo/halt.service new file mode 100644 index 0000000..8762a78 --- /dev/null +++ b/units/gentoo/halt.service @@ -0,0 +1,19 @@ +# This file is part of systemd. +# +# systemd is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. + +[Unit] +Description=Halt +Requires=shutdown.target killall.service +After=shutdown.target killall.service +Conflicts=dev-hugepages.automount dev-mqueue.automount proc-sys-fs-binfmt_misc.automount sys-kernel-debug.automount + +[Service] +Type=finish +ValidNoProcess=yes +Environment=INIT_HALT=HALT +Environment=RC_DOWN_HARDDISK=yes +ExecStart=/etc/init.d/shutdown.sh diff --git a/units/gentoo/killall.service b/units/gentoo/killall.service new file mode 100644 index 0000000..a02062f --- /dev/null +++ b/units/gentoo/killall.service @@ -0,0 +1,15 @@ +# This file is part of systemd. +# +# systemd is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. + +[Unit] +Description=Kill All Processes +After=shutdown.target + +[Service] +Type=finish +ValidNoProcess=yes +ExecStart=/etc/init.d/killprocs start diff --git a/units/gentoo/poweroff.service b/units/gentoo/poweroff.service new file mode 100644 index 0000000..1a0a6a4 --- /dev/null +++ b/units/gentoo/poweroff.service @@ -0,0 +1,18 @@ +# This file is part of systemd. +# +# systemd is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. + +[Unit] +Description=Power-Off +Requires=shutdown.target killall.service +After=shutdown.target killall.service +Conflicts=dev-hugepages.automount dev-mqueue.automount proc-sys-fs-binfmt_misc.automount sys-kernel-debug.automount + +[Service] +Type=finish +ValidNoProcess=yes +Environment=RC_DOWN_HARDDISK=yes +ExecStart=/etc/init.d/shutdown.sh diff --git a/units/gentoo/reboot.service b/units/gentoo/reboot.service new file mode 100644 index 0000000..92c4962 --- /dev/null +++ b/units/gentoo/reboot.service @@ -0,0 +1,18 @@ +# This file is part of systemd. +# +# systemd is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. + +[Unit] +Description=Reboot +Requires=shutdown.target killall.service +After=shutdown.target killall.service +Conflicts=dev-hugepages.automount dev-mqueue.automount proc-sys-fs-binfmt_misc.automount sys-kernel-debug.automount + +[Service] +Type=finish +ValidNoProcess=yes +Environment=RUNLEVEL=6 +ExecStart=/etc/init.d/reboot.sh diff --git a/units/gentoo/xdm.service b/units/gentoo/xdm.service new file mode 100644 index 0000000..8394991 --- /dev/null +++ b/units/gentoo/xdm.service @@ -0,0 +1,16 @@ +# This file is part of systemd. +# +# systemd is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. + +[Unit] +Description=Display Manager +Before=graphical.target +After=basic.target syslog.target messagebus.service haldaemon.service +Conflicts=shutdown.target + +[Service] +ExecStart=/etc/init.d/xdm start +Type=simple -- 1.7.1
_______________________________________________ systemd-devel mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/systemd-devel
