summaryrefslogtreecommitdiff
path: root/packages/debian/cloud-init.preinst
diff options
context:
space:
mode:
authorScott Moser <smoser@ubuntu.com>2016-03-04 00:41:52 -0500
committerScott Moser <smoser@ubuntu.com>2016-03-04 00:41:52 -0500
commit3400f839651d308e495d1d8a1d7c1c2b463ad98b (patch)
tree91bb7977e00c18d955c1b5a10a366bdb94422295 /packages/debian/cloud-init.preinst
parent2231c45ac3712c5cb7c1b810c838d3f91f424bf2 (diff)
parent9b0cbf54a90d2434e2a93e34664646ee8638fc97 (diff)
downloadvyos-cloud-init-3400f839651d308e495d1d8a1d7c1c2b463ad98b.tar.gz
vyos-cloud-init-3400f839651d308e495d1d8a1d7c1c2b463ad98b.zip
systemd: support disabling cloud-init via file or kernel cmdline
This adds a systemd generator for a 'cloud-init.target'. That target will be WantedBy multi-user.target in the default case. If there is a file /etc/cloud/cloud-init.disabled or the kernel command line contains 'cloud-init=disabled' then cloud-init will not affect boot at all. There are some packages/debian changes to affect this: * postinst, preinst: these are necessary to remove some old target files for multi-user.target (LP: #1552999) * changes to include these files in the debian source package. * rules.in: supports DEB_BUILD_OPTIONS=nocheck to not run check setup.py: mostly changes to support installing the generator but also pep8 fixes along the way systemd/*: make each of the services 'WantedBy=cloud-init.target' rather than being wanted by multi-user.target
Diffstat (limited to 'packages/debian/cloud-init.preinst')
-rw-r--r--packages/debian/cloud-init.preinst20
1 files changed, 20 insertions, 0 deletions
diff --git a/packages/debian/cloud-init.preinst b/packages/debian/cloud-init.preinst
new file mode 100644
index 00000000..3c2af06d
--- /dev/null
+++ b/packages/debian/cloud-init.preinst
@@ -0,0 +1,20 @@
+#!/bin/sh
+# vi: ts=4 expandtab
+
+cleanup_lp1552999() {
+ local oldver="$1" last_bad_ver="0.7.7~bzr1178"
+ dpkg --compare-versions "$oldver" le "$last_bad_ver" || return 0
+ local hdir="/var/lib/systemd/deb-systemd-helper-enabled"
+ hdir="$hdir/multi-user.target.wants"
+ local edir="/etc/systemd/system/multi-user.target.wants"
+ rm -f "$hdir/cloud-config.service" "$hdir/cloud-final.service" \
+ "$hdir/cloud-init-local.service" "$hdir/cloud-init.service"
+}
+
+
+if [ "$1" = "upgrade" ]; then
+ oldver="$2"
+ cleanup_lp1552999 "$oldver"
+fi
+
+#DEBHELPER#