Add system dependencies to fpm package creation

There are many times when we want to have system-level dependencies that
are prerequisites for the package we just built. Update the Package
class to allow for this.
This commit is contained in:
Craig Tracey 2014-11-15 22:11:55 -05:00
parent b77bb4400b
commit c64291dca7
1 changed files with 10 additions and 4 deletions

View File

@ -26,12 +26,13 @@ SUPPORTED_DISTROS = {
class Package(object):
def __init__(self, name, version, path, include_src=True, overwrite=False):
def __init__(self, name, version, path, overwrite=False,
dependencies=None):
self.name = name
self.version = version
self.path = path
self.include_src = include_src
self.overwrite = overwrite
self.dependencies = dependencies
def build(self):
distro = platform.linux_distribution()[0]
@ -42,6 +43,11 @@ class Package(object):
if self.overwrite:
overwrite = '-f'
deps = ''
if self.dependencies:
deps = '-d %s' % (' -d '.join(self.dependencies))
# not wrapping in a try block - handled by caller
execute("fpm %s -s dir -t %s -n %s -v %s %s" %
(overwrite, target, self.name, self.version, self.path))
execute("fpm %s -s dir -t %s -n %s -v %s %s %s" %
(overwrite, target, self.name, self.version, deps, self.path))