aboutsummaryrefslogtreecommitdiff
path: root/grs
diff options
context:
space:
mode:
authorAnthony G. Basile <blueness@gentoo.org>2015-07-14 19:39:43 -0400
committerAnthony G. Basile <blueness@gentoo.org>2015-07-14 19:39:43 -0400
commit02b84c23ce71cfc1d26d86967b95fde9d892ffe1 (patch)
tree25a62482803026fff44d4962c2f0f7c253f15f9f /grs
parentgrs/Synchronize.py: add documentation. (diff)
downloadgrss-02b84c23ce71cfc1d26d86967b95fde9d892ffe1.tar.gz
grss-02b84c23ce71cfc1d26d86967b95fde9d892ffe1.tar.bz2
grss-02b84c23ce71cfc1d26d86967b95fde9d892ffe1.zip
grs/TarIt.py: add documentation.
Diffstat (limited to 'grs')
-rw-r--r--grs/TarIt.py15
1 files changed, 13 insertions, 2 deletions
diff --git a/grs/TarIt.py b/grs/TarIt.py
index b0b18e5..a8b21b3 100644
--- a/grs/TarIt.py
+++ b/grs/TarIt.py
@@ -6,31 +6,42 @@ from grs.Constants import CONST
from grs.Execute import Execute
class TarIt():
+ """ Create a tarball of the system and generate the hash values. """
def __init__(self, name, portage_configroot = CONST.PORTAGE_CONFIGROOT, logfile = CONST.LOGFILE):
self.portage_configroot = portage_configroot
self.logfile = logfile
-
+ # Prepare a year, month and day for a tarball name timestamp.
self.year = str(datetime.now().year).zfill(4)
self.month = str(datetime.now().month).zfill(2)
self.day = str(datetime.now().day).zfill(2)
self.tarball_name = '%s-%s%s%s.tar.xz' % (name, self.year, self.month, self.day)
self.digest_name = '%s.DIGESTS' % self.tarball_name
+
def tarit(self, alt_name = None):
+ # Create the tarball with the default name unless an alt_name is given.
if alt_name:
self.tarball_name = '%s-%s%s%s.tar.xz' % (alt_name, self.year, self.month, self.day)
self.digest_name = '%s.DIGESTS' % self.tarball_name
+ # We have to cd into the system's portage configroot and then out again.
cwd = os.getcwd()
os.chdir(self.portage_configroot)
tarball_path = os.path.join('..', self.tarball_name)
- # This needs to be generalized for systems that don't support xattrs
+ # TODO: This needs to be generalized for systems that don't support xattrs
xattr_opts = '--xattrs --xattrs-include=security.capability --xattrs-include=user.pax.flags'
cmd = 'tar %s -Jcf %s .' % (xattr_opts, tarball_path)
Execute(cmd, timeout=None, logfile=self.logfile)
os.chdir(cwd)
+
def hashit(self):
+ """ Generate various hash values. We hijack the 'logfile' which will
+ actually be the file containing the hashes.
+ """
+ # We need to be in the parent of the system's portage configroot because
+ # that's where we created the above tarball. This should be the workdir,
+ # but its probably safer to be pedantic here.
cwd = os.getcwd()
os.chdir(os.path.join(self.portage_configroot, '..'))