diff options
author | Todd Zullinger <tmz@pobox.com> | 2009-08-28 14:00:45 -0400 |
---|---|---|
committer | Todd Zullinger <tmz@pobox.com> | 2009-08-28 14:00:45 -0400 |
commit | ae268088a81c78f16c9029324c50c5c1bd2c32ce (patch) | |
tree | 92d5de8abef7715894617a6915010119fd1a8856 /puppethost.py | |
parent | b7a4daa305372e75145700517ddd061572a33386 (diff) | |
download | puppet-host-package-ae268088a81c78f16c9029324c50c5c1bd2c32ce.tar.gz puppet-host-package-ae268088a81c78f16c9029324c50c5c1bd2c32ce.tar.xz puppet-host-package-ae268088a81c78f16c9029324c50c5c1bd2c32ce.zip |
Make tmpdir a Class variable
Diffstat (limited to 'puppethost.py')
-rw-r--r-- | puppethost.py | 25 |
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): |