summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTodd Zullinger <tmz@pobox.com>2009-08-28 14:00:45 -0400
committerTodd Zullinger <tmz@pobox.com>2009-08-28 14:00:45 -0400
commitae268088a81c78f16c9029324c50c5c1bd2c32ce (patch)
tree92d5de8abef7715894617a6915010119fd1a8856
parentb7a4daa305372e75145700517ddd061572a33386 (diff)
downloadpuppet-host-package-ae268088a81c78f16c9029324c50c5c1bd2c32ce.tar.gz
puppet-host-package-ae268088a81c78f16c9029324c50c5c1bd2c32ce.tar.xz
puppet-host-package-ae268088a81c78f16c9029324c50c5c1bd2c32ce.zip
Make tmpdir a Class variable
-rw-r--r--puppethost.py25
1 files changed, 11 insertions, 14 deletions
diff --git a/puppethost.py b/puppethost.py
index a4b6106..82bc87b 100644
--- a/puppethost.py
+++ b/puppethost.py
@@ -118,6 +118,7 @@ class PuppetHost(object):
self.datefmt = '%Y%m%d'
self.packages = []
self.tarball = ''
+ self.tmpdir = tempfile.mkdtemp('', 'puppet-host-')
self._version = ''
def gencert(self):
@@ -156,14 +157,11 @@ class PuppetHost(object):
"""Create a .deb package"""
raise NotImplementedError('FIXME if you need debian packages.')
- def tar(self, path = ''):
+ def tar(self):
self._check_files()
- if not path:
- path = tempfile.mkdtemp('', 'puppet-host-')
-
name = 'puppet-%s-%s' % (self.hostname, self.version)
- tarball = '%s/%s.tar.gz' % (path, name)
+ tarball = '%s/%s.tar.gz' % (self.tmpdir, name)
if os.path.exists(tarball) and not self.opts['force_tarball']:
raise PuppetHostError('%s exists, not overwriting' % tarball)
@@ -186,15 +184,14 @@ class PuppetHost(object):
def rpm(self):
"""Create a .rpm package"""
rpmdir = self.opts['rpmdir']
- tmpdir = tempfile.mkdtemp('', 'puppet-host-')
if not self.tarball or not os.path.exists(self.tarball):
- try: self.tar(tmpdir)
+ try: self.tar()
except:
- self._cleanup(tmpdir)
+ self._cleanup(self.tmpdir)
raise
- spec = '%s/puppet-%s.spec' % (tmpdir, self.hostname)
+ spec = '%s/puppet-%s.spec' % (self.tmpdir, self.hostname)
text = open(self.opts['template']).read()
text = text.replace('__HOSTNAME__', self.hostname)
@@ -210,11 +207,11 @@ class PuppetHost(object):
cmd = 'rpm -q --qf "%s/%s" --specfile %s' % (rpmdir, rpm_fmt, spec)
status, rpm = commands.getstatusoutput(cmd)
if status:
- self._cleanup(tmpdir)
+ self._cleanup(self.tmpdir)
raise PuppetHostError('Failed to get rpm filename:\n%s' % rpm)
if os.path.exists(rpm) and not self.opts['force_package']:
- self._cleanup(tmpdir)
+ self._cleanup(self.tmpdir)
raise PuppetHostError('%s exists, not overwriting' % rpm)
if self.opts['verbose']:
@@ -224,18 +221,18 @@ class PuppetHost(object):
cmd = 'rpmbuild -bb'
cmd += ' --define "_build_name_fmt %s"' % rpm_fmt
for i in ['_builddir', '_sourcedir', '_specdir', '_srcrpmdir']:
- cmd += ' --define "%s %s"' % (i, tmpdir)
+ cmd += ' --define "%s %s"' % (i, self.tmpdir)
cmd += ' --define "_rpmdir %s" %s' % (rpmdir, spec)
status, output = commands.getstatusoutput(cmd)
if status or not os.path.exists(rpm):
- self._cleanup(tmpdir)
+ self._cleanup(self.tmpdir)
raise PuppetHostError('Error building rpm:\n', output)
if self.opts['verbose']:
print 'done'
- self._cleanup(tmpdir)
+ self._cleanup(self.tmpdir)
self.packages.append(('rpm', rpm))
def _check_files(self):