Merge branch 'hotfix-0.4.4' into develop
authorNikos Skalkotos <skalkoto@grnet.gr>
Wed, 31 Jul 2013 12:53:59 +0000 (15:53 +0300)
committerNikos Skalkotos <skalkoto@grnet.gr>
Wed, 31 Jul 2013 12:53:59 +0000 (15:53 +0300)
Conflicts:
image_creator/os_type/unix.py
image_creator/version.py
version

1  2 
image_creator/os_type/__init__.py
image_creator/os_type/unix.py
image_creator/version.py
version

@@@ -121,23 -79,19 +121,30 @@@ def del_sysprep_param(name)
  class OSBase(object):
      """Basic operating system class"""
  
 -    def __init__(self, rootdev, ghandler, output):
 -        self.root = rootdev
 -        self.g = ghandler
 -        self.out = output
 +    SysprepParam = namedtuple('SysprepParam',
 +                              ['type', 'default', 'description', 'validate'])
 +
 +    def __init__(self, image, **kargs):
 +        self.image = image
 +
 +        self.root = image.root
 +        self.g = image.g
 +        self.out = image.out
 +
 +        self.needed_sysprep_params = {}
 +        self.sysprep_params = \
 +            kargs['sysprep_params'] if 'sysprep_params' in kargs else {}
 +
          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:
@@@ -121,6 -135,15 +121,12 @@@ class Unix(OSBase)
          if self.g.is_dir('/home/'):
              homedirs += self._ls('/home/')
  
 -        if print_header:
 -            self.out.output("Removing sensitive user data under %s" %
 -                            " ".join(homedirs))
 -
+         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)
@@@ -1,8 -1,7 +1,8 @@@
 -__version__ = "0.4.4"
 -__version_info__ = ['0', '4', '4']
 +
- __version__ = "0.4.3next"
++__version__ = "0.4.4next"
  __version_vcs_info__ = {
 -    'branch': 'hotfix-0.4.4',
 -    'revid': 'ce66ae3',
 -    'revno': 322}
 -__version_user_info__ = "skalkoto@darkstar.admin.grnet.gr"
 +    'branch': 'develop',
-     'revid': '64556e6',
-     'revno': 330}
++    'revid': 'c5effe0',
++    'revno': 370}
 +__version_user_email__ = "skalkoto@grnet.gr"
 +__version_user_name__ = "Nikos Skalkotos"
diff --cc version
+++ b/version
@@@ -1,1 -1,1 +1,1 @@@
- 0.4.3next
 -0.4.4
++0.4.4next