summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2014-06-16 12:28:44 +0200
committerLennart Poettering <lennart@poettering.net>2014-06-16 12:33:22 +0200
commit137243fd130149ce22071d22c7de95bf46c7079c (patch)
tree614228b3b91644f11c70ba5cfc6fe5a2bdcf4979
parentb63bb8a724cab7a315f04c3068f0d628cc163b8b (diff)
units: add a service to invoke ldconfig on system updates at boot
-rw-r--r--Makefile.am6
-rw-r--r--units/ldconfig.service20
2 files changed, 24 insertions, 2 deletions
diff --git a/Makefile.am b/Makefile.am
index 8af619cc8f..ec5f04d9e9 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -460,7 +460,8 @@ dist_systemunit_DATA = \
units/systemd-udevd-control.socket \
units/systemd-udevd-kernel.socket \
units/system-update.target \
- units/initrd-switch-root.target
+ units/initrd-switch-root.target \
+ units/ldconfig.service
nodist_systemunit_DATA = \
units/getty@.service \
@@ -5142,7 +5143,8 @@ endif
SYSINIT_TARGET_WANTS += \
systemd-update-utmp.service \
- systemd-update-done.service
+ systemd-update-done.service \
+ ldconfig.service
LOCAL_FS_TARGET_WANTS += \
systemd-remount-fs.service \
diff --git a/units/ldconfig.service b/units/ldconfig.service
new file mode 100644
index 0000000000..43c145b726
--- /dev/null
+++ b/units/ldconfig.service
@@ -0,0 +1,20 @@
+# This file is part of systemd.
+#
+# systemd is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Lesser General Public License as published by
+# the Free Software Foundation; either version 2.1 of the License, or
+# (at your option) any later version.
+
+[Unit]
+Description=Rebuild Dynamic Linker Cache
+Documentation=man:ldconfig(8)
+DefaultDependencies=no
+Conflicts=shutdown.target
+After=systemd-readahead-collect.service systemd-readahead-replay.service systemd-remount-fs.service
+Before=sysinit.target shutdown.target systemd-update-done.service
+ConditionNeedsUpdate=/etc
+
+[Service]
+Type=oneshot
+RemainAfterExit=yes
+ExecStart=/sbin/ldconfig -X