From 316bdf523b01241036335b27a0afd89f6d3207c2 Mon Sep 17 00:00:00 2001 From: Scott Moser Date: Mon, 29 Feb 2016 23:02:55 -0500 Subject: setup.py: pep8/flake8 changes only --- setup.py | 46 +++++++++++++++++++++++----------------------- 1 file changed, 23 insertions(+), 23 deletions(-) diff --git a/setup.py b/setup.py index 5f61681b..6ff6dde9 100755 --- a/setup.py +++ b/setup.py @@ -45,13 +45,13 @@ def tiny_p(cmd, capture=True): stdout = None stderr = None sp = subprocess.Popen(cmd, stdout=stdout, - stderr=stderr, stdin=None, - universal_newlines=True) + stderr=stderr, stdin=None, + universal_newlines=True) (out, err) = sp.communicate() ret = sp.returncode if ret not in [0]: - raise RuntimeError("Failed running %s [rc=%s] (%s, %s)" - % (cmd, ret, out, err)) + raise RuntimeError("Failed running %s [rc=%s] (%s, %s)" % + (cmd, ret, out, err)) return (out, err) @@ -122,9 +122,8 @@ class InitsysInstallData(install): user_options = install.user_options + [ # This will magically show up in member variable 'init_sys' ('init-system=', None, - ('init system(s) to configure (%s) [default: None]') % - (", ".join(INITSYS_TYPES)) - ), + ('init system(s) to configure (%s) [default: None]' % + (", ".join(INITSYS_TYPES)))), ] def initialize_options(self): @@ -138,7 +137,8 @@ class InitsysInstallData(install): self.init_system = self.init_system.split(",") if len(self.init_system) == 0: - raise DistutilsArgError(("You must specify one of (%s) when" + raise DistutilsArgError( + ("You must specify one of (%s) when" " specifying init system(s)!") % (", ".join(INITSYS_TYPES))) bad = [f for f in self.init_system if f not in INITSYS_TYPES] @@ -182,18 +182,18 @@ if sys.version_info < (3,): requirements.append('cheetah') -setuptools.setup(name='cloud-init', - version=get_version(), - description='EC2 initialisation magic', - author='Scott Moser', - author_email='scott.moser@canonical.com', - url='http://launchpad.net/cloud-init/', - packages=setuptools.find_packages(exclude=['tests']), - scripts=['bin/cloud-init', - 'tools/cloud-init-per', - ], - license='GPLv3', - data_files=data_files, - install_requires=requirements, - cmdclass=cmdclass, - ) +setuptools.setup( + name='cloud-init', + version=get_version(), + description='EC2 initialisation magic', + author='Scott Moser', + author_email='scott.moser@canonical.com', + url='http://launchpad.net/cloud-init/', + packages=setuptools.find_packages(exclude=['tests']), + scripts=['bin/cloud-init', + 'tools/cloud-init-per'], + license='GPLv3', + data_files=data_files, + install_requires=requirements, + cmdclass=cmdclass, + ) -- cgit v1.2.3 From 2a73e674605916077cf6a87410f4ad0829938400 Mon Sep 17 00:00:00 2001 From: Scott Moser Date: Mon, 29 Feb 2016 23:10:44 -0500 Subject: add cloud-init.target, update service files accordingly This adds cloud-init.target which is a single target to encompass all the services of cloud-init. --- systemd/cloud-config.service | 2 +- systemd/cloud-final.service | 2 +- systemd/cloud-init-local.service | 2 +- systemd/cloud-init.service | 2 +- systemd/cloud-init.target | 16 ++++++++++++++++ 5 files changed, 20 insertions(+), 4 deletions(-) create mode 100644 systemd/cloud-init.target diff --git a/systemd/cloud-config.service b/systemd/cloud-config.service index f9f1996e..45d2a63b 100644 --- a/systemd/cloud-config.service +++ b/systemd/cloud-config.service @@ -13,4 +13,4 @@ TimeoutSec=0 StandardOutput=journal+console [Install] -WantedBy=multi-user.target +WantedBy=cloud-init.target diff --git a/systemd/cloud-final.service b/systemd/cloud-final.service index bcbdd36f..bfb08d4a 100644 --- a/systemd/cloud-final.service +++ b/systemd/cloud-final.service @@ -14,4 +14,4 @@ KillMode=process StandardOutput=journal+console [Install] -WantedBy=multi-user.target +WantedBy=cloud-init.target diff --git a/systemd/cloud-init-local.service b/systemd/cloud-init-local.service index a31985c6..73aa46f6 100644 --- a/systemd/cloud-init-local.service +++ b/systemd/cloud-init-local.service @@ -13,4 +13,4 @@ TimeoutSec=0 StandardOutput=journal+console [Install] -WantedBy=multi-user.target +WantedBy=cloud-init.target diff --git a/systemd/cloud-init.service b/systemd/cloud-init.service index 48920283..1f656f7f 100644 --- a/systemd/cloud-init.service +++ b/systemd/cloud-init.service @@ -15,4 +15,4 @@ TimeoutSec=0 StandardOutput=journal+console [Install] -WantedBy=multi-user.target +WantedBy=cloud-init.target diff --git a/systemd/cloud-init.target b/systemd/cloud-init.target new file mode 100644 index 00000000..03f61002 --- /dev/null +++ b/systemd/cloud-init.target @@ -0,0 +1,16 @@ +# cloud-init target is enabled by cloud-init-generator +# To disable it you can either: +# a.) boot with kernel cmdline of 'cloudinit=disabled' +# b.) touch a file /etc/cloud/cloud-init.disabled +# cloud-init normally emits a "cloud-config" upstart event to inform third +# parties that cloud-config is available, which does us no good when we're +# using systemd. cloud-config.target serves as this synchronization point +# instead. Services that would "start on cloud-config" with upstart can +# instead use "After=cloud-config.target" and "Wants=cloud-config.target" +# as appropriate. + +[Unit] +Description=Cloud-init target +Wants=cloud-init-local.service cloud-init.service +After=cloud-init-local.service cloud-init.service + -- cgit v1.2.3 From df2d690341ba3e5e1c1ed87f12c206f3cfa0ab45 Mon Sep 17 00:00:00 2001 From: Scott Moser Date: Mon, 29 Feb 2016 23:12:19 -0500 Subject: systemd/cloud-init-generator: add a generator to support disabling This gets installed in /lib/systemd/system/cloud-init.target and then is called to generate the symlink (or not generate the symlink) for the cloud-init target. The end result is cloud-init can be completely disabled by: touch /etc/cloud/cloud-init.disabled or a kernel command line with 'cloud-init=disabled' --- systemd/cloud-init-generator | 123 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 123 insertions(+) create mode 100755 systemd/cloud-init-generator diff --git a/systemd/cloud-init-generator b/systemd/cloud-init-generator new file mode 100755 index 00000000..0c698d6b --- /dev/null +++ b/systemd/cloud-init-generator @@ -0,0 +1,123 @@ +#!/bin/sh +set -f + +LOG="" +DEBUG_LEVEL=2 +LOG_D="/run" +ENABLE="enabled" +DISABLE="disabled" +CLOUD_SYSTEM_TARGET="/lib/systemd/system/cloud-init.target" +CLOUD_TARGET_NAME="cloud-init.target" + +debug() { + local lvl="$1" + shift + [ "$lvl" -gt "$DEBUG_LEVEL" ] && return + if [ -z "$LOG" ]; then + local log="$LOG_D/${0##*/}-generator.log" + { : > "$log"; } >/dev/null 2>&1 && LOG="$log" || + LOG="/dev/kmsg" + fi + echo "$@" >> "$LOG" +} + +etc_file() { + local pprefix="${1:-/etc/cloud/cloud-init.}" + _RET="unset" + [ -f "${pprefix}.$ENABLE" ] && _RET="$ENABLE" && return 0 + [ -f "${pprefix}.$DISABLE" ] && _RET="$DISABLE" && return 0 + return 0 +} + +read_proc_cmdline() { + local out="" + if [ "$container" = "lxc" ]; then + _RET="" + return 0 + fi + + if systemd-detect-virt --container --quiet; then + _RET="" + return 0 + fi + + read _RET < /proc/cmdline +} + +kernel_cmdline() { + local cmdline="" tok="" + if [ -n "${KERNEL_CMDLINE+$KERNEL_CMDLINE}" ]; then + cmdline=${KERNEL_CMDLINE} + debug 1 "kernel command line from env KERNEL_CMDLINE: $cmdline" + elif read_proc_cmdline; then + read_proc_cmdline && cmdline="$_RET" + debug 1 "kernel command line from /proc/cmdline: $cmdline" + fi + _RET="unset" + cmdline=" $cmdline " + tok=${cmdline##* cloud-init=} + [ "$tok" = "$cmdline" ] && _RET="unset" + tok=${tok%% *} + [ "$tok" = "$ENABLE" -o "$tok" = "$DISABLE" ] && _RET="$tok" + return 0 +} + +default() { + _RET="$ENABLE" +} + +main() { + local normal_d="$1" early_d="$2" late_d="$3" + local target_name="multi-user.target" gen_d="$early_d" + local link_path="$gen_d/${target_name}.wants/${CLOUD_TARGET_NAME}" + + #LOG_D="${gen_d:-${LOG_D}}" + debug 1 "$0 normal=$normal_d early=$early_d late=$late_d" + debug 2 "$0 $*" + + local search result="error" ret="" + for search in kernel_cmdline etc_file default; do + if $search; then + debug 1 "$search found $_RET" + [ "$_RET" = "$ENABLE" -o "$_RET" = "$DISABLE" ] && result=$_RET + else + ret=$? + debug 0 "search $search returned $ret" + fi + done + + if [ "$result" = "$ENABLE" ]; then + if [ -e "$link_path" ]; then + debug 1 "already enabled: no change needed" + else + [ -d "${link_path%/*}" ] || mkdir -p "${link_path%/*}" || + debug 0 "failed to make dir $link_path" + if ln -snf "$CLOUD_SYSTEM_TARGET" "$link_path"; then + debug 1 "enabled via $link_path -> $CLOUD_SYSTEM_TARGET" + else + ret=$? + debug 0 "[$ret] enable failed:" \ + "ln $CLOUD_SYSTEM_TARGET $link_path" + fi + fi + elif [ "$result" = "$DISABLE" ]; then + if [ -f "$link_path" ]; then + if rm -f "$link_path"; then + debug 1 "disabled. removed existing $link_path" + else + ret=$? + debug 0 "[$ret] disable failed, remove $link_path" + fi + else + debug 1 "already disabled: no change needed" + fi + else + debug 0 "unexpected result '$result'" + ret=3 + fi + return $ret +} + +main "$@" + +# vi: ts=4 expandtab -- cgit v1.2.3 From 0a89426da655b2bf7badf54b38b3b4be2b70e738 Mon Sep 17 00:00:00 2001 From: Scott Moser Date: Mon, 29 Feb 2016 23:14:39 -0500 Subject: update setup.py to install generator --- setup.py | 31 +++++++++++++++++++++++-------- 1 file changed, 23 insertions(+), 8 deletions(-) diff --git a/setup.py b/setup.py index 6ff6dde9..0b261dfe 100755 --- a/setup.py +++ b/setup.py @@ -55,29 +55,40 @@ def tiny_p(cmd, capture=True): return (out, err) -def systemd_unitdir(): - cmd = ['pkg-config', '--variable=systemdsystemunitdir', 'systemd'] +def pkg_config_read(library, var): + fallbacks = { + 'systemd': { + 'systemdsystemunitdir': '/lib/systemd/system', + 'systemdsystemgeneratordir': '/lib/systemd/system-generators', + } + } + cmd = ['pkg-config', '--variable=%s' % var, library] try: (path, err) = tiny_p(cmd) except: - return '/lib/systemd/system' + return fallbacks[library][var] return str(path).strip() + INITSYS_FILES = { 'sysvinit': [f for f in glob('sysvinit/redhat/*') if is_f(f)], 'sysvinit_freebsd': [f for f in glob('sysvinit/freebsd/*') if is_f(f)], 'sysvinit_deb': [f for f in glob('sysvinit/debian/*') if is_f(f)], - 'systemd': [f for f in glob('systemd/*') if is_f(f)], + 'systemd': [f for f in (glob('systemd/*.service') + + glob('systemd/*.target')) if is_f(f)], + 'systemd.generators': [f for f in glob('systemd/*-generator') if is_f(f)], 'upstart': [f for f in glob('upstart/*') if is_f(f)], } INITSYS_ROOTS = { 'sysvinit': '/etc/rc.d/init.d', 'sysvinit_freebsd': '/usr/local/etc/rc.d', 'sysvinit_deb': '/etc/init.d', - 'systemd': systemd_unitdir(), + 'systemd': pkg_config_read('systemd', 'systemdsystemunitdir'), + 'systemd.generators': pkg_config_read('systemd', + 'systemdsystemgeneratordir'), 'upstart': '/etc/init/', } -INITSYS_TYPES = sorted(list(INITSYS_ROOTS.keys())) +INITSYS_TYPES = sorted([f.partition(".")[0] for f in INITSYS_ROOTS.keys()]) # Install everything in the right location and take care of Linux (default) and # FreeBSD systems. @@ -147,8 +158,12 @@ class InitsysInstallData(install): "Invalid --init-system: %s" % (','.join(bad))) for system in self.init_system: - self.distribution.data_files.append( - (INITSYS_ROOTS[system], INITSYS_FILES[system])) + # add data files for anything that starts with '.' + datakeys = [k for k in INITSYS_ROOTS + if k.partition(".")[0] == system] + for k in datakeys: + self.distribution.data_files.append( + (INITSYS_ROOTS[k], INITSYS_FILES[k])) # Force that command to reinitalize (with new file list) self.distribution.reinitialize_command('install_data', True) -- cgit v1.2.3 From 4b22f00f02c6cccd88a81f05db8cc33a4e9a7419 Mon Sep 17 00:00:00 2001 From: Scott Moser Date: Mon, 29 Feb 2016 23:20:01 -0500 Subject: be less verbose by default --- systemd/cloud-init-generator | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/systemd/cloud-init-generator b/systemd/cloud-init-generator index 0c698d6b..c9900394 100755 --- a/systemd/cloud-init-generator +++ b/systemd/cloud-init-generator @@ -2,7 +2,7 @@ set -f LOG="" -DEBUG_LEVEL=2 +DEBUG_LEVEL=1 LOG_D="/run" ENABLE="enabled" DISABLE="disabled" @@ -71,7 +71,6 @@ main() { local target_name="multi-user.target" gen_d="$early_d" local link_path="$gen_d/${target_name}.wants/${CLOUD_TARGET_NAME}" - #LOG_D="${gen_d:-${LOG_D}}" debug 1 "$0 normal=$normal_d early=$early_d late=$late_d" debug 2 "$0 $*" -- cgit v1.2.3 From af5d2a102c029da4b853a3bc42a6e23ce3a40fe6 Mon Sep 17 00:00:00 2001 From: Scott Moser Date: Mon, 29 Feb 2016 23:38:40 -0500 Subject: remove unused var --- systemd/cloud-init-generator | 1 - 1 file changed, 1 deletion(-) diff --git a/systemd/cloud-init-generator b/systemd/cloud-init-generator index c9900394..d97b58d9 100755 --- a/systemd/cloud-init-generator +++ b/systemd/cloud-init-generator @@ -30,7 +30,6 @@ etc_file() { } read_proc_cmdline() { - local out="" if [ "$container" = "lxc" ]; then _RET="" return 0 -- cgit v1.2.3 From af3653032704f79f418e976d02994c273e25f87f Mon Sep 17 00:00:00 2001 From: Scott Moser Date: Tue, 1 Mar 2016 00:28:52 -0500 Subject: 2 fixups --- systemd/cloud-init-generator | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/systemd/cloud-init-generator b/systemd/cloud-init-generator index d97b58d9..d976ae0b 100755 --- a/systemd/cloud-init-generator +++ b/systemd/cloud-init-generator @@ -24,8 +24,8 @@ debug() { etc_file() { local pprefix="${1:-/etc/cloud/cloud-init.}" _RET="unset" - [ -f "${pprefix}.$ENABLE" ] && _RET="$ENABLE" && return 0 - [ -f "${pprefix}.$DISABLE" ] && _RET="$DISABLE" && return 0 + [ -f "${pprefix}$ENABLE" ] && _RET="$ENABLE" && return 0 + [ -f "${pprefix}$DISABLE" ] && _RET="$DISABLE" && return 0 return 0 } @@ -77,7 +77,8 @@ main() { for search in kernel_cmdline etc_file default; do if $search; then debug 1 "$search found $_RET" - [ "$_RET" = "$ENABLE" -o "$_RET" = "$DISABLE" ] && result=$_RET + [ "$_RET" = "$ENABLE" -o "$_RET" = "$DISABLE" ] && + result=$_RET && break else ret=$? debug 0 "search $search returned $ret" -- cgit v1.2.3 From f4c25ab96c572e0a503bb211a11cd2641ac321a3 Mon Sep 17 00:00:00 2001 From: Scott Moser Date: Thu, 3 Mar 2016 16:53:49 -0500 Subject: consume KERNEL_CMDLINE even if set to "". explain 'container' --- systemd/cloud-init-generator | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/systemd/cloud-init-generator b/systemd/cloud-init-generator index d976ae0b..b09924ac 100755 --- a/systemd/cloud-init-generator +++ b/systemd/cloud-init-generator @@ -8,6 +8,8 @@ ENABLE="enabled" DISABLE="disabled" CLOUD_SYSTEM_TARGET="/lib/systemd/system/cloud-init.target" CLOUD_TARGET_NAME="cloud-init.target" +# lxc sets 'container', but lets make that explicitly a global +CONTAINER="${container}" debug() { local lvl="$1" @@ -30,7 +32,7 @@ etc_file() { } read_proc_cmdline() { - if [ "$container" = "lxc" ]; then + if [ "$CONTAINER" = "lxc" ]; then _RET="" return 0 fi @@ -45,7 +47,8 @@ read_proc_cmdline() { kernel_cmdline() { local cmdline="" tok="" - if [ -n "${KERNEL_CMDLINE+$KERNEL_CMDLINE}" ]; then + if [ -n "${KERNEL_CMDLINE+x}" ]; then + # use KERNEL_CMDLINE if present in environment even if empty cmdline=${KERNEL_CMDLINE} debug 1 "kernel command line from env KERNEL_CMDLINE: $cmdline" elif read_proc_cmdline; then -- cgit v1.2.3 From 72c71196d701a1398963b52a30e9ab34a2579a49 Mon Sep 17 00:00:00 2001 From: Scott Moser Date: Thu, 3 Mar 2016 17:23:13 -0500 Subject: do not duplicate '-generator' in log ame --- systemd/cloud-init-generator | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/systemd/cloud-init-generator b/systemd/cloud-init-generator index b09924ac..3bd2d6b3 100755 --- a/systemd/cloud-init-generator +++ b/systemd/cloud-init-generator @@ -16,7 +16,7 @@ debug() { shift [ "$lvl" -gt "$DEBUG_LEVEL" ] && return if [ -z "$LOG" ]; then - local log="$LOG_D/${0##*/}-generator.log" + local log="$LOG_D/${0##*/}.log" { : > "$log"; } >/dev/null 2>&1 && LOG="$log" || LOG="/dev/kmsg" fi -- cgit v1.2.3 From fa5c11836cec515dd23efcfabe9b736edd47c22a Mon Sep 17 00:00:00 2001 From: Scott Moser Date: Thu, 3 Mar 2016 17:49:01 -0500 Subject: generator: be more clear on where kernel cmdline came from --- systemd/cloud-init-generator | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/systemd/cloud-init-generator b/systemd/cloud-init-generator index 3bd2d6b3..eb0e1a77 100755 --- a/systemd/cloud-init-generator +++ b/systemd/cloud-init-generator @@ -33,15 +33,18 @@ etc_file() { read_proc_cmdline() { if [ "$CONTAINER" = "lxc" ]; then + _RET_MSG="ignored: \$container=$CONTAINER" _RET="" return 0 fi if systemd-detect-virt --container --quiet; then + _RET_MSG="ignored: detect-virt is container" _RET="" return 0 fi + _RET_MSG="/proc/cmdline" read _RET < /proc/cmdline } @@ -53,7 +56,7 @@ kernel_cmdline() { debug 1 "kernel command line from env KERNEL_CMDLINE: $cmdline" elif read_proc_cmdline; then read_proc_cmdline && cmdline="$_RET" - debug 1 "kernel command line from /proc/cmdline: $cmdline" + debug 1 "kernel command line ($_RET_MSG): $cmdline" fi _RET="unset" cmdline=" $cmdline " -- cgit v1.2.3 From 77a9dbb4aa7e555d4c033c54a60b7084b2ab3373 Mon Sep 17 00:00:00 2001 From: Scott Moser Date: Thu, 3 Mar 2016 17:49:10 -0500 Subject: cloud-init.target should not do anything no wants or after or before. --- systemd/cloud-init.target | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/systemd/cloud-init.target b/systemd/cloud-init.target index 03f61002..a63babb0 100644 --- a/systemd/cloud-init.target +++ b/systemd/cloud-init.target @@ -2,15 +2,5 @@ # To disable it you can either: # a.) boot with kernel cmdline of 'cloudinit=disabled' # b.) touch a file /etc/cloud/cloud-init.disabled -# cloud-init normally emits a "cloud-config" upstart event to inform third -# parties that cloud-config is available, which does us no good when we're -# using systemd. cloud-config.target serves as this synchronization point -# instead. Services that would "start on cloud-config" with upstart can -# instead use "After=cloud-config.target" and "Wants=cloud-config.target" -# as appropriate. - [Unit] Description=Cloud-init target -Wants=cloud-init-local.service cloud-init.service -After=cloud-init-local.service cloud-init.service - -- cgit v1.2.3 From cc92c32ea6e70de44ad0bd1e7c64f17e7fb23304 Mon Sep 17 00:00:00 2001 From: Scott Moser Date: Thu, 3 Mar 2016 22:00:14 -0500 Subject: support nocheck in building. --- packages/debian/rules.in | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/packages/debian/rules.in b/packages/debian/rules.in index 66e80946..16f9b817 100755 --- a/packages/debian/rules.in +++ b/packages/debian/rules.in @@ -12,8 +12,13 @@ override_dh_install: install -d debian/cloud-init/etc/rsyslog.d cp tools/21-cloudinit.conf debian/cloud-init/etc/rsyslog.d/21-cloudinit.conf +ifeq (,$(findstring nocheck,$(DEB_BUILD_OPTIONS))) override_dh_auto_test: - http_proxy= make check + http_proxy= make check +endif + +override_dh_systemd_enable: + dh_systemd_enable --no-enable override_dh_systemd_start: dh_systemd_start --no-restart-on-upgrade --no-start -- cgit v1.2.3 From d1c7de36c5d5042919ea2dec6bb5bd00688f9534 Mon Sep 17 00:00:00 2001 From: Scott Moser Date: Thu, 3 Mar 2016 22:03:34 -0500 Subject: packages/bddeb: copy all files in packages/debian/ just copy all the files that are there. makes adding files easier. --- packages/bddeb | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/packages/bddeb b/packages/bddeb index c4efe264..c141b1ab 100755 --- a/packages/bddeb +++ b/packages/bddeb @@ -1,5 +1,6 @@ #!/usr/bin/env python3 +import glob import os import shutil import sys @@ -105,11 +106,11 @@ def write_debian_folder(root, version, revno, pkgmap, util.abs_join(deb_dir, 'rules'), params={'python': python, 'pyver': pyver}) - # Just copy the following directly - for base_fn in ['dirs', 'copyright', 'compat']: - shutil.copy(util.abs_join(find_root(), - 'packages', 'debian', base_fn), - util.abs_join(deb_dir, base_fn)) + # Just copy any other files directly (including .in) + pdeb_d = util.abs_join(find_root(), 'packages', 'debian') + for f in [os.path.join(pdeb_d, f) for f in os.listdir(pdeb_d)]: + if os.path.isfile(f): + shutil.copy(f, util.abs_join(deb_dir, os.path.basename(f))) def main(): -- cgit v1.2.3 From d02a257063db96f487510b9841a9a396ef2675af Mon Sep 17 00:00:00 2001 From: Scott Moser Date: Thu, 3 Mar 2016 22:46:37 -0500 Subject: mention link path in generator --- systemd/cloud-init-generator | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/systemd/cloud-init-generator b/systemd/cloud-init-generator index eb0e1a77..9d1e22f0 100755 --- a/systemd/cloud-init-generator +++ b/systemd/cloud-init-generator @@ -114,7 +114,7 @@ main() { debug 0 "[$ret] disable failed, remove $link_path" fi else - debug 1 "already disabled: no change needed" + debug 1 "already disabled: no change needed [no $link_path]" fi else debug 0 "unexpected result '$result'" -- cgit v1.2.3 From 964aeaa9c1eac3fafa73ef9abf344613a093cb06 Mon Sep 17 00:00:00 2001 From: Scott Moser Date: Fri, 4 Mar 2016 00:01:08 -0500 Subject: postinst/preinst: cleanup old multi-user.target enabled files also, actually enable the services. now this will have them enabled in the cloud-init.target. --- packages/debian/cloud-init.postinst | 17 +++++++++++++++++ packages/debian/cloud-init.preinst | 22 ++++++++++++++++++++++ packages/debian/rules.in | 3 --- 3 files changed, 39 insertions(+), 3 deletions(-) create mode 100644 packages/debian/cloud-init.postinst create mode 100644 packages/debian/cloud-init.preinst diff --git a/packages/debian/cloud-init.postinst b/packages/debian/cloud-init.postinst new file mode 100644 index 00000000..f1222b42 --- /dev/null +++ b/packages/debian/cloud-init.postinst @@ -0,0 +1,17 @@ +#!/bin/sh +set -x +cleanup_lp1552999() { + local oldver="$1" last_bad_ver="0.7.7~bzr1178" + dpkg --compare-versions "$oldver" le "$last_bad_ver" || return 0 + local edir="/etc/systemd/system/multi-user.target.wants" + rm -f "$edir/cloud-config.service" "$edir/cloud-final.service" \ + "$edir/cloud-init-local.service" "$edir/cloud-init.service" +} + + +#DEBHELPER# + +if [ "$1" = "configure" ]; then + oldver="$2" + cleanup_lp1552999 "$oldver" +fi diff --git a/packages/debian/cloud-init.preinst b/packages/debian/cloud-init.preinst new file mode 100644 index 00000000..babaab6c --- /dev/null +++ b/packages/debian/cloud-init.preinst @@ -0,0 +1,22 @@ +#!/bin/sh +# vi: ts=4 expandtab + +set -x +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 +set +x + +#DEBHELPER# diff --git a/packages/debian/rules.in b/packages/debian/rules.in index 16f9b817..a24720f4 100755 --- a/packages/debian/rules.in +++ b/packages/debian/rules.in @@ -17,8 +17,5 @@ override_dh_auto_test: http_proxy= make check endif -override_dh_systemd_enable: - dh_systemd_enable --no-enable - override_dh_systemd_start: dh_systemd_start --no-restart-on-upgrade --no-start -- cgit v1.2.3 From a782829a083c7170df62dda94d6b7441963dcb94 Mon Sep 17 00:00:00 2001 From: Scott Moser Date: Fri, 4 Mar 2016 00:10:36 -0500 Subject: remove debug set -x --- packages/debian/cloud-init.postinst | 1 - packages/debian/cloud-init.preinst | 2 -- 2 files changed, 3 deletions(-) diff --git a/packages/debian/cloud-init.postinst b/packages/debian/cloud-init.postinst index f1222b42..cdd0466d 100644 --- a/packages/debian/cloud-init.postinst +++ b/packages/debian/cloud-init.postinst @@ -1,5 +1,4 @@ #!/bin/sh -set -x cleanup_lp1552999() { local oldver="$1" last_bad_ver="0.7.7~bzr1178" dpkg --compare-versions "$oldver" le "$last_bad_ver" || return 0 diff --git a/packages/debian/cloud-init.preinst b/packages/debian/cloud-init.preinst index babaab6c..3c2af06d 100644 --- a/packages/debian/cloud-init.preinst +++ b/packages/debian/cloud-init.preinst @@ -1,7 +1,6 @@ #!/bin/sh # vi: ts=4 expandtab -set -x cleanup_lp1552999() { local oldver="$1" last_bad_ver="0.7.7~bzr1178" dpkg --compare-versions "$oldver" le "$last_bad_ver" || return 0 @@ -17,6 +16,5 @@ if [ "$1" = "upgrade" ]; then oldver="$2" cleanup_lp1552999 "$oldver" fi -set +x #DEBHELPER# -- cgit v1.2.3 From ea5ffb88f2d3b5f55699955520012596de1d8af5 Mon Sep 17 00:00:00 2001 From: Scott Moser Date: Fri, 4 Mar 2016 00:18:51 -0500 Subject: fix tab in rules --- packages/debian/rules.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/debian/rules.in b/packages/debian/rules.in index a24720f4..988b5bc7 100755 --- a/packages/debian/rules.in +++ b/packages/debian/rules.in @@ -14,7 +14,7 @@ override_dh_install: ifeq (,$(findstring nocheck,$(DEB_BUILD_OPTIONS))) override_dh_auto_test: - http_proxy= make check + http_proxy= make check endif override_dh_systemd_start: -- cgit v1.2.3 From 9b0cbf54a90d2434e2a93e34664646ee8638fc97 Mon Sep 17 00:00:00 2001 From: Scott Moser Date: Fri, 4 Mar 2016 00:34:37 -0500 Subject: fix packages/debian/rules.in --- packages/debian/rules.in | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/packages/debian/rules.in b/packages/debian/rules.in index 988b5bc7..5420949c 100755 --- a/packages/debian/rules.in +++ b/packages/debian/rules.in @@ -12,9 +12,11 @@ override_dh_install: install -d debian/cloud-init/etc/rsyslog.d cp tools/21-cloudinit.conf debian/cloud-init/etc/rsyslog.d/21-cloudinit.conf -ifeq (,$(findstring nocheck,$(DEB_BUILD_OPTIONS))) override_dh_auto_test: +ifeq (,$(findstring nocheck,$(DEB_BUILD_OPTIONS))) http_proxy= make check +else + @echo check disabled by DEB_BUILD_OPTIONS=$(DEB_BUILD_OPTIONS) endif override_dh_systemd_start: -- cgit v1.2.3