summaryrefslogtreecommitdiff
path: root/packages
diff options
context:
space:
mode:
authorJoshua Harlow <harlowja@yahoo-inc.com>2012-07-06 17:29:09 -0700
committerJoshua Harlow <harlowja@yahoo-inc.com>2012-07-06 17:29:09 -0700
commitc7aeea86fb8a17e4402cfc42626dfff2fb04c1a0 (patch)
tree032389ae7e0e7ffb1541086a9c60731492825e06 /packages
parentb2a21ed1dc682a262d55a4202c6b9606496d211f (diff)
downloadvyos-cloud-init-c7aeea86fb8a17e4402cfc42626dfff2fb04c1a0.tar.gz
vyos-cloud-init-c7aeea86fb8a17e4402cfc42626dfff2fb04c1a0.zip
Reworking these to look attempt to find the right parent directory, as well
as adjustments due to sysvinit rename.
Diffstat (limited to 'packages')
-rwxr-xr-xpackages/bddeb57
-rwxr-xr-xpackages/brpm43
-rwxr-xr-xpackages/make-dist-tarball25
-rwxr-xr-xpackages/make-tarball89
4 files changed, 58 insertions, 156 deletions
diff --git a/packages/bddeb b/packages/bddeb
index 10ad08b3..871c5212 100755
--- a/packages/bddeb
+++ b/packages/bddeb
@@ -5,11 +5,21 @@ import shutil
import sys
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!"))
+
+
# Use the util functions from cloudinit
-possible_topdir = os.path.normpath(os.path.join(os.path.abspath(
- sys.argv[0]), os.pardir, os.pardir))
-if os.path.exists(os.path.join(possible_topdir, "cloudinit", "__init__.py")):
- sys.path.insert(0, possible_topdir)
+sys.path.insert(0, find_root())
from cloudinit import templater
from cloudinit import util
@@ -34,7 +44,8 @@ def write_debian_folder(root, version, revno, init_sys):
os.makedirs(deb_dir)
# Fill in the change log template
- templater.render_to_file(util.abs_join('debian', 'changelog'),
+ templater.render_to_file(util.abs_join(find_root(),
+ 'packages', 'debian', 'changelog'),
util.abs_join(deb_dir, 'changelog'),
params={
'version': version,
@@ -43,7 +54,7 @@ def write_debian_folder(root, version, revno, init_sys):
# Write out the control file template
cmd = [sys.executable,
- util.abs_join(os.pardir, 'tools', 'read-dependencies')]
+ util.abs_join(find_root(), 'tools', 'read-dependencies')]
(stdout, _stderr) = util.subp(cmd)
# Map to known packages
@@ -61,17 +72,20 @@ def write_debian_folder(root, version, revno, init_sys):
else:
requires.append(tgt_pkg)
- templater.render_to_file(util.abs_join('debian', 'control'),
+ templater.render_to_file(util.abs_join(find_root(),
+ 'packages', 'debian', 'control'),
util.abs_join(deb_dir, 'control'),
params={'requires': requires})
- templater.render_to_file(util.abs_join('debian', 'rules'),
+ templater.render_to_file(util.abs_join(find_root(),
+ 'packages', 'debian', 'rules'),
util.abs_join(deb_dir, 'rules'),
params={'init_sys': init_sys})
# Just copy the following directly
for base_fn in ['dirs', 'copyright', 'compat', 'pycompat']:
- shutil.copy(util.abs_join('debian', base_fn),
+ shutil.copy(util.abs_join(find_root(),
+ 'packages', 'debian', base_fn),
util.abs_join(deb_dir, base_fn))
@@ -100,8 +114,7 @@ def main():
with util.tempdir() as tdir:
- cmd = [sys.executable,
- util.abs_join(os.pardir, 'tools', 'read-version')]
+ cmd = [util.abs_join(find_root(), 'tools', 'read-version')]
(sysout, _stderr) = util.subp(cmd)
version = sysout.strip()
@@ -113,24 +126,20 @@ def main():
# since we will extract it then add in the debian
# folder, then re-archive it for debian happiness
print("Creating a temporary tarball using the 'make-tarball' helper")
- cmd = [sys.executable,
- util.abs_join(os.getcwd(), 'make-tarball')]
+ cmd = [util.abs_join(find_root(), 'tools', 'make-tarball')]
(sysout, _stderr) = util.subp(cmd)
arch_fn = sysout.strip()
tmp_arch_fn = util.abs_join(tdir, os.path.basename(arch_fn))
shutil.move(arch_fn, tmp_arch_fn)
print("Extracting temporary tarball %r" % (tmp_arch_fn))
- cmd = ['tar', '-xvzf', tmp_arch_fn, '-C', tdir]
+ xdir = util.abs_join(tdir, 'cloud-init')
+ os.makedirs(xdir)
+ cmd = ['tar', '-xvzf', tmp_arch_fn, '-C', xdir]
util.subp(cmd, capture=capture)
- base_name = os.path.basename(arch_fn)[:-len(".tar.gz")]
- shutil.move(util.abs_join(tdir, base_name),
- util.abs_join(tdir, 'cloud-init'))
- print("Creating a debian/ folder in %r" %
- (util.abs_join(tdir, 'cloud-init')))
- write_debian_folder(util.abs_join(tdir, 'cloud-init'),
- version, revno, args.boot)
+ 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
# so it will whine if it is changed...
@@ -138,13 +147,13 @@ def main():
print("Archiving that new folder into %r" % (tar_fn))
cmd = ['tar', '-czvf',
util.abs_join(tdir, tar_fn),
- '-C', util.abs_join(tdir, 'cloud-init')]
- cmd.extend(os.listdir(util.abs_join(tdir, 'cloud-init')))
+ '-C', xdir]
+ cmd.extend(os.listdir(xdir))
util.subp(cmd, capture=capture)
shutil.copy(util.abs_join(tdir, tar_fn), tar_fn)
print("Wrote out archive %r" % (util.abs_join(tar_fn)))
- print("Running 'debuild' in %r" % (util.abs_join(tdir, 'cloud-init')))
+ print("Running 'debuild' in %r" % (xdir))
with util.chdir(util.abs_join(tdir, 'cloud-init')):
cmd = ['debuild']
if not args.sign:
diff --git a/packages/brpm b/packages/brpm
index 1d05bd2a..7d0dc78f 100755
--- a/packages/brpm
+++ b/packages/brpm
@@ -11,11 +11,21 @@ import re
import argparse
+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!"))
+
+
# Use the util functions from cloudinit
-possible_topdir = os.path.normpath(os.path.join(os.path.abspath(
- sys.argv[0]), os.pardir, os.pardir))
-if os.path.exists(os.path.join(possible_topdir, "cloudinit", "__init__.py")):
- sys.path.insert(0, possible_topdir)
+sys.path.insert(0, find_root())
+
from cloudinit import templater
from cloudinit import util
@@ -82,8 +92,7 @@ def format_change_line(ds, who, comment=None):
def generate_spec_contents(args, tmpl_fn):
# Figure out the version and revno
- cmd = [sys.executable,
- util.abs_join(os.pardir, 'tools', 'read-version')]
+ cmd = [util.abs_join(find_root(), 'tools', 'read-version')]
(stdout, _stderr) = util.subp(cmd)
version = stdout.strip()
@@ -99,8 +108,7 @@ def generate_spec_contents(args, tmpl_fn):
subs['archive_name'] = '%{name}-%{version}-' + revno + '.tar.gz'
subs['bd_requires'] = ['python-devel', 'python-setuptools']
- cmd = [sys.executable,
- util.abs_join(os.pardir, 'tools', 'read-dependencies')]
+ cmd = [util.abs_join(find_root(), 'tools', 'read-dependencies')]
(stdout, _stderr) = util.subp(cmd)
# Map to known packages
@@ -122,7 +130,7 @@ def generate_spec_contents(args, tmpl_fn):
subs['requires'] = requires
# Format a nice changelog (as best as we can)
- changelog = util.load_file(util.abs_join(os.pardir, 'ChangeLog'))
+ changelog = util.load_file(util.abs_join(find_root(), 'ChangeLog'))
changelog_lines = []
for line in changelog.splitlines():
if not line.strip():
@@ -159,8 +167,8 @@ def main():
parser = argparse.ArgumentParser()
parser.add_argument("-b", "--boot", dest="boot",
help="select boot type (default: %(default)s)",
- metavar="TYPE", default='initd',
- choices=('initd', 'systemd', 'initd-local'))
+ metavar="TYPE", default='sysvinit',
+ choices=('sysvinit', 'systemd'))
parser.add_argument("-v", "--verbose", dest="verbose",
help=("run verbosely"
" (default: %(default)s)"),
@@ -179,17 +187,16 @@ def main():
util.ensure_dirs([root_dir, arc_dir])
# Archive the code
- cmd = [sys.executable,
- util.abs_join(os.getcwd(), 'make-tarball')]
+ cmd = [util.abs_join(find_root(), 'tools', 'make-tarball')]
(stdout, _stderr) = util.subp(cmd)
archive_fn = stdout.strip()
real_archive_fn = os.path.join(arc_dir, os.path.basename(archive_fn))
shutil.move(archive_fn, real_archive_fn)
# Form the spec file to be used
- tmpl_fn = util.abs_join(os.getcwd(), 'redhat', 'cloud-init.spec')
+ tmpl_fn = util.abs_join(find_root(), 'packages', 'redhat', 'cloud-init.spec')
contents = generate_spec_contents(args, tmpl_fn)
- spec_fn = os.path.join(root_dir, 'cloud-init.spec')
+ spec_fn = util.abs_join(root_dir, 'cloud-init.spec')
util.write_file(spec_fn, contents)
# Now build it!
@@ -199,11 +206,11 @@ def main():
# Copy the items built to our local dir
globs = []
globs.extend(glob.glob("%s/*.rpm" %
- (os.path.join(root_dir, 'RPMS', 'noarch'))))
+ (util.abs_join(root_dir, 'RPMS', 'noarch'))))
globs.extend(glob.glob("%s/*.rpm" %
- (os.path.join(root_dir, 'RPMS'))))
+ (util.abs_join(root_dir, 'RPMS'))))
globs.extend(glob.glob("%s/*.rpm" %
- (os.path.join(root_dir, 'SRPMS'))))
+ (util.abs_join(root_dir, 'SRPMS'))))
for rpm_fn in globs:
tgt_fn = util.abs_join(os.getcwd(), os.path.basename(rpm_fn))
shutil.move(rpm_fn, tgt_fn)
diff --git a/packages/make-dist-tarball b/packages/make-dist-tarball
deleted file mode 100755
index 622283bd..00000000
--- a/packages/make-dist-tarball
+++ /dev/null
@@ -1,25 +0,0 @@
-#!/bin/sh
-
-Usage() {
- cat <<EOF
-Usage: ${0##*/} version
- make a tarball of 'version'
- must be in a bzr directory, and 'version' must be a tag
-
-EOF
-}
-
-topdir="../$PWD"
-tag=${1}
-
-[ -n "$tag" ] || { Usage 1>&2 ; exit 1; }
-
-tmpd=$(mktemp -d );
-trap "rm -Rf '${tmpd}'" 0
-
-out=${topdir}/cloud-init-${tag}.tar.gz
-
-cd ${tmpd} &&
- bzr branch -r "tag:${tag}" "${topdir}" ./cloud-init-${tag} &&
- tar czf "${out}" cloud-init-${tag}/ --exclude cloud-init-${tag}/.bzr &&
- echo "Wrote ${out}"
diff --git a/packages/make-tarball b/packages/make-tarball
deleted file mode 100755
index 43a6fc33..00000000
--- a/packages/make-tarball
+++ /dev/null
@@ -1,89 +0,0 @@
-#!/usr/bin/python
-
-import contextlib
-import os
-import shutil
-import subprocess
-import sys
-import tempfile
-
-import optparse
-
-
-# Use the util functions from cloudinit
-possible_topdir = os.path.normpath(os.path.join(os.path.abspath(
- sys.argv[0]), os.pardir, os.pardir))
-if os.path.exists(os.path.join(possible_topdir, "cloudinit", "__init__.py")):
- sys.path.insert(0, possible_topdir)
-
-from cloudinit import util
-
-
-def find_versioned_files():
- (stdout, _stderr) = util.subp(['bzr', 'ls', '--versioned', '--recursive'])
- fns = [fn for fn in stdout.splitlines()
- if fn and not fn.startswith('.')]
- fns.sort()
- return fns
-
-
-def copy(fn, where_to, verbose):
- if verbose:
- print("Copying %r --> %r" % (fn, where_to))
- if os.path.isfile(fn):
- shutil.copy(fn, where_to)
- elif os.path.isdir(fn) and not os.path.isdir(where_to):
- os.makedirs(where_to)
- else:
- raise RuntimeError("Do not know how to copy %s" % (fn))
-
-
-def main():
-
- parser = optparse.OptionParser()
- parser.add_option("-f", "--file", dest="filename",
- help="write archive to FILE", metavar="FILE")
- parser.add_option("-v", "--verbose",
- action="store_true", dest="verbose", default=False,
- help="show verbose messaging")
-
- (options, args) = parser.parse_args()
-
- base_fn = options.filename
- if not base_fn:
- (stdout, _stderr) = util.subp(['bzr', 'revno'])
- revno = stdout.strip()
- cmd = [sys.executable,
- util.abs_join(os.pardir, 'tools', 'read-version')]
- (stdout, _stderr) = util.subp(cmd)
- version = stdout.strip()
- base_fn = 'cloud-init-%s-%s' % (version, revno)
-
- with util.tempdir() as tdir:
- util.ensure_dir(util.abs_join(tdir, base_fn))
- arch_fn = '%s.tar.gz' % (base_fn)
-
- with util.chdir(os.pardir):
- fns = find_versioned_files()
- for fn in fns:
- copy(fn, util.abs_join(tdir, base_fn, fn),
- verbose=options.verbose)
-
- arch_full_fn = util.abs_join(tdir, arch_fn)
- cmd = ['tar', '-czvf', arch_full_fn, '-C', tdir, base_fn]
- if options.verbose:
- print("Creating an archive from directory %r to %r" %
- (util.abs_join(tdir, base_fn), arch_full_fn))
-
- util.subp(cmd, capture=(not options.verbose))
- shutil.move(util.abs_join(tdir, arch_fn),
- util.abs_join(os.getcwd(), arch_fn))
-
- print(os.path.abspath(arch_fn))
-
- return 0
-
-
-if __name__ == '__main__':
- sys.exit(main())
-