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

Reply via email to