summaryrefslogtreecommitdiff
path: root/packages/bddeb
diff options
context:
space:
mode:
Diffstat (limited to 'packages/bddeb')
-rwxr-xr-xpackages/bddeb23
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