Modernise packaging, and allow multiple init system installation (based on smoser pastebins).

This commit is contained in:
Dimitri John Ledkov 2014-07-23 15:47:16 +01:00
parent aeca294990
commit 2b2f57d9d8
6 changed files with 34 additions and 26 deletions

View File

@ -76,7 +76,7 @@ def write_debian_folder(root, version, revno, append_requires=[]):
params={'requires': requires})
# Just copy the following directly
for base_fn in ['dirs', 'copyright', 'compat', 'pycompat', 'rules']:
for base_fn in ['dirs', 'copyright', 'compat', 'rules']:
shutil.copy(util.abs_join(find_root(),
'packages', 'debian', base_fn),
util.abs_join(deb_dir, base_fn))

View File

@ -1 +1 @@
5
9

View File

@ -1,10 +1,11 @@
## This is a cheetah template
Source: cloud-init
Section: admin
Priority: extra
Priority: optional
Maintainer: Scott Moser <smoser@ubuntu.com>
Build-Depends: cdbs,
debhelper (>= 5.0.38),
Build-Depends: debhelper (>= 9),
dh-python,
dh-systemd,
python (>= 2.6.6-3~),
python-nose,
pyflakes,
@ -12,7 +13,11 @@ Build-Depends: cdbs,
python-setuptools,
python-cheetah,
python-mocker,
python-setuptools
python-setuptools,
python-httpretty,
#for $r in $requires
${r},
#end for
XS-Python-Version: all
Standards-Version: 3.9.3

View File

@ -1 +0,0 @@
2

View File

@ -1,18 +1,12 @@
#!/usr/bin/make -f
DEB_PYTHON2_MODULE_PACKAGES = cloud-init
INIT_SYSTEM ?= upstart
INIT_SYSTEM ?= upstart,systemd
binary-install/cloud-init::cloud-init-fixups
%:
dh $@ --with python2,systemd --build-system pybuild
include /usr/share/cdbs/1/rules/debhelper.mk
include /usr/share/cdbs/1/class/python-distutils.mk
DEB_PYTHON_INSTALL_ARGS_ALL += --init-system=$(INIT_SYSTEM)
DEB_DH_INSTALL_SOURCEDIR := debian/tmp
cloud-init-fixups:
install -d $(DEB_DESTDIR)/etc/rsyslog.d
cp tools/21-cloudinit.conf $(DEB_DESTDIR)/etc/rsyslog.d/21-cloudinit.conf
override_dh_install:
dh_install
install -d debian/cloud-init/etc/rsyslog.d
cp tools/21-cloudinit.conf debian/cloud-init/etc/rsyslog.d/21-cloudinit.conf

View File

@ -86,7 +86,7 @@ class InitsysInstallData(install):
user_options = install.user_options + [
# This will magically show up in member variable 'init_sys'
('init-system=', None,
('init system to configure (%s) [default: None]') %
('init system(s) to configure (%s) [default: None]') %
(", ".join(INITSYS_TYPES))
),
]
@ -97,13 +97,23 @@ class InitsysInstallData(install):
def finalize_options(self):
install.finalize_options(self)
if self.init_system and self.init_system not in INITSYS_TYPES:
if self.init_systems and isinstance(self.init_systems, str):
self.init_systems = self.init_systems.split(",")
if len(self.init_system) == 0:
raise DistutilsArgError(("You must specify one of (%s) when"
" specifying a init system!") % (", ".join(INITSYS_TYPES)))
" specifying init system(s)!") % (", ".join(INITSYS_TYPES)))
bad = [f for f in self.init_system if f not in INITSYS_TYPES]
if len(bad) != 0:
raise DistutilsArgError(
"Invalid --init-system: %s" % (','.join(bad)))
elif self.init_system:
self.distribution.data_files.append(
(INITSYS_ROOTS[self.init_system],
INITSYS_FILES[self.init_system]))
for sys in self.init_systems:
print("adding %s: %s" % (sys, str(INITSYS_ROOTS[sys])))
self.distribution.data_files.append(
(INITSYS_ROOTS[sys], INITSYS_FILES[sys]))
# Force that command to reinitalize (with new file list)
self.distribution.reinitialize_command('install_data', True)