diff options
Diffstat (limited to 'packages/bddeb')
-rwxr-xr-x | packages/bddeb | 23 |
1 files changed, 10 insertions, 13 deletions
diff --git a/packages/bddeb b/packages/bddeb index 871c5212..df2d6707 100755 --- a/packages/bddeb +++ b/packages/bddeb @@ -7,16 +7,14 @@ import glob def find_root(): - look_where = [ - os.path.join(os.getcwd(), 'setup.py'), - os.path.join(os.pardir, 'setup.py'), - ] - for fn in look_where: - if os.path.isfile(fn): - return os.path.dirname(os.path.abspath(fn)) - raise ImportError(("Unable to determine where your cloud-init 'setup.py'" - " file is located at!")) - + # expected path is in <top_dir>/packages/ + top_dir = os.environ.get("CLOUD_INIT_TOP_D", None) + if top_dir is None: + top_dir = os.path.dirname(os.path.dirname(os.path.abspath(sys.argv[0]))) + if os.path.isfile(os.path.join(top_dir, 'setup.py')): + return os.path.abspath(top_dir) + raise OSError(("Unable to determine where your cloud-init topdir is." + " set CLOUD_INIT_TOP_D?")) # Use the util functions from cloudinit sys.path.insert(0, find_root()) @@ -53,8 +51,7 @@ def write_debian_folder(root, version, revno, init_sys): }) # Write out the control file template - cmd = [sys.executable, - util.abs_join(find_root(), 'tools', 'read-dependencies')] + cmd = [util.abs_join(find_root(), 'tools', 'read-dependencies')] (stdout, _stderr) = util.subp(cmd) # Map to known packages @@ -138,7 +135,7 @@ def main(): cmd = ['tar', '-xvzf', tmp_arch_fn, '-C', xdir] util.subp(cmd, capture=capture) - print("Creating a debian/ folder in %r" % (xdir))) + print("Creating a debian/ folder in %r" % (xdir)) write_debian_folder(xdir, version, revno, args.boot) # The naming here seems to follow some debian standard |