Modernise packaging, and allow multiple init system installation (based on smoser pastebins).
This commit is contained in:
parent
aeca294990
commit
2b2f57d9d8
@ -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))
|
||||
|
@ -1 +1 @@
|
||||
5
|
||||
9
|
||||
|
@ -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
|
||||
|
||||
|
@ -1 +0,0 @@
|
||||
2
|
@ -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
|
||||
|
22
setup.py
22
setup.py
@ -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)
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user