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})
|
params={'requires': requires})
|
||||||
|
|
||||||
# Just copy the following directly
|
# 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(),
|
shutil.copy(util.abs_join(find_root(),
|
||||||
'packages', 'debian', base_fn),
|
'packages', 'debian', base_fn),
|
||||||
util.abs_join(deb_dir, base_fn))
|
util.abs_join(deb_dir, base_fn))
|
||||||
|
@ -1 +1 @@
|
|||||||
5
|
9
|
||||||
|
@ -1,10 +1,11 @@
|
|||||||
## This is a cheetah template
|
## This is a cheetah template
|
||||||
Source: cloud-init
|
Source: cloud-init
|
||||||
Section: admin
|
Section: admin
|
||||||
Priority: extra
|
Priority: optional
|
||||||
Maintainer: Scott Moser <smoser@ubuntu.com>
|
Maintainer: Scott Moser <smoser@ubuntu.com>
|
||||||
Build-Depends: cdbs,
|
Build-Depends: debhelper (>= 9),
|
||||||
debhelper (>= 5.0.38),
|
dh-python,
|
||||||
|
dh-systemd,
|
||||||
python (>= 2.6.6-3~),
|
python (>= 2.6.6-3~),
|
||||||
python-nose,
|
python-nose,
|
||||||
pyflakes,
|
pyflakes,
|
||||||
@ -12,7 +13,11 @@ Build-Depends: cdbs,
|
|||||||
python-setuptools,
|
python-setuptools,
|
||||||
python-cheetah,
|
python-cheetah,
|
||||||
python-mocker,
|
python-mocker,
|
||||||
python-setuptools
|
python-setuptools,
|
||||||
|
python-httpretty,
|
||||||
|
#for $r in $requires
|
||||||
|
${r},
|
||||||
|
#end for
|
||||||
XS-Python-Version: all
|
XS-Python-Version: all
|
||||||
Standards-Version: 3.9.3
|
Standards-Version: 3.9.3
|
||||||
|
|
||||||
|
@ -1 +0,0 @@
|
|||||||
2
|
|
@ -1,18 +1,12 @@
|
|||||||
#!/usr/bin/make -f
|
#!/usr/bin/make -f
|
||||||
|
|
||||||
DEB_PYTHON2_MODULE_PACKAGES = cloud-init
|
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
|
||||||
|
20
setup.py
20
setup.py
@ -86,7 +86,7 @@ class InitsysInstallData(install):
|
|||||||
user_options = install.user_options + [
|
user_options = install.user_options + [
|
||||||
# This will magically show up in member variable 'init_sys'
|
# This will magically show up in member variable 'init_sys'
|
||||||
('init-system=', None,
|
('init-system=', None,
|
||||||
('init system to configure (%s) [default: None]') %
|
('init system(s) to configure (%s) [default: None]') %
|
||||||
(", ".join(INITSYS_TYPES))
|
(", ".join(INITSYS_TYPES))
|
||||||
),
|
),
|
||||||
]
|
]
|
||||||
@ -97,13 +97,23 @@ class InitsysInstallData(install):
|
|||||||
|
|
||||||
def finalize_options(self):
|
def finalize_options(self):
|
||||||
install.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"
|
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:
|
elif self.init_system:
|
||||||
|
for sys in self.init_systems:
|
||||||
|
print("adding %s: %s" % (sys, str(INITSYS_ROOTS[sys])))
|
||||||
self.distribution.data_files.append(
|
self.distribution.data_files.append(
|
||||||
(INITSYS_ROOTS[self.init_system],
|
(INITSYS_ROOTS[sys], INITSYS_FILES[sys]))
|
||||||
INITSYS_FILES[self.init_system]))
|
|
||||||
# Force that command to reinitalize (with new file list)
|
# Force that command to reinitalize (with new file list)
|
||||||
self.distribution.reinitialize_command('install_data', True)
|
self.distribution.reinitialize_command('install_data', True)
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user