diff --git a/ChangeLog b/ChangeLog index dd3e87fa54bf5cefca9c4c2c6a0696f2582eacdd..60271d5bc8c8a7615ad8d212f553f0a44fe77ac7 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +2013-07-31, v0.4.4 + * Fix a bug where the system tried to use file scrubbing without + checking if it was supported + 2013-07-18, v0.4.3 * Force TERM=linux when working on xterm. This makes dialog behave better under OpenSUSE diff --git a/docs/conf.py b/docs/conf.py index 86eeb36b818fb43f501b25fb2e7a343fb11b0ddc..0f38fb5442975f55e7db698a7d39f92ad9483a81 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -50,9 +50,9 @@ copyright = u'2012, 2013 GRNET S.A. All rights reserved' # built documents. # # The short X.Y version. -version = '0.4.3' +version = '0.4.4' # The full version, including alpha/beta/rc tags. -release = '0.4.3' +release = '0.4.4' # The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages. diff --git a/image_creator/os_type/__init__.py b/image_creator/os_type/__init__.py index 69e45d916cadc8748cd31931063ab3d9aba1875f..cc7d39a322e0cbcfa6b3e73dfde4cdfa2a95aff8 100644 --- a/image_creator/os_type/__init__.py +++ b/image_creator/os_type/__init__.py @@ -138,6 +138,13 @@ class OSBase(object): self.meta = {} self.mounted = False + # Many guestfs compilations don't support scrub + self._scrub_support = True + try: + self.g.available(['scrub']) + except RuntimeError: + self._scrub_support = False + def collect_metadata(self): """Collect metadata about the OS""" try: diff --git a/image_creator/os_type/unix.py b/image_creator/os_type/unix.py index 504f2adb590f1da2aeccec75fb28bc355c3e390b..7e3ba22f7ab0988567fcbdb64c52321dda3eec85 100644 --- a/image_creator/os_type/unix.py +++ b/image_creator/os_type/unix.py @@ -121,12 +121,18 @@ class Unix(OSBase): if self.g.is_dir('/home/'): homedirs += self._ls('/home/') + action = self.g.rm_rf + if self._scrub_support: + action = self.g.scrub_file + else: + self.out.warn("Sensitive data won't be scrubbed (not supported)") + for homedir in homedirs: for data in self.sensitive_userdata: fname = "%s/%s" % (homedir, data) if self.g.is_file(fname): - self.g.scrub_file(fname) + action(fname) elif self.g.is_dir(fname): - self._foreach_file(fname, self.g.scrub_file, ftype='r') + self._foreach_file(fname, action, ftype='r') # vim: set sta sts=4 shiftwidth=4 sw=4 et ai : diff --git a/image_creator/version.py b/image_creator/version.py index f58201b3c656f898c533d82fbe17699051e1a761..dc31a71b9c8051ec474da51c286fd24c7d1fb4eb 100644 --- a/image_creator/version.py +++ b/image_creator/version.py @@ -1,8 +1,8 @@ -__version__ = "0.4.3next" +__version__ = "0.4.4next" __version_vcs_info__ = { 'branch': 'develop', - 'revid': '64556e6', - 'revno': 330} + 'revid': 'c5effe0', + 'revno': 370} __version_user_email__ = "skalkoto@grnet.gr" __version_user_name__ = "Nikos Skalkotos" diff --git a/version b/version index 906627836055f9006c4b5e247cc235aba04bb4a3..15c226a41b0f7714998ef238e8de5d7a3326dc74 100644 --- a/version +++ b/version @@ -1 +1 @@ -0.4.3next +0.4.4next