"""
def __init__(self, name, unpacked=None, pkg_policy=PkgPolicy):
self._orig = False
+ self._tarball = False
self._pkg_policy = pkg_policy
self._path = name
self.unpacked = unpacked
"""
if self.is_dir():
self._orig = False
+ self._tarball = False
return
+ self._tarball = True if self.archive_fmt == 'tar' else False
self._orig = self._pkg_policy.is_valid_orig_archive(os.path.basename(self.path))
def is_orig(self):
"""
return self._orig
+ def is_tarball(self):
+ """
+ @return: C{True} if source is a tarball, C{False} otherwise
+ @rtype: C{bool}
+ """
+ return self._tarball
+
def is_dir(self):
"""
@return: C{True} if if upstream sources are an unpacked directory,
"""
if ((options.pristine_tar and options.filter_pristine_tar and len(options.filters) > 0)):
return True
- elif not upstream_source.is_orig():
+ elif not upstream_source.is_tarball():
if len(options.filters):
return True
elif options.pristine_tar:
def repack_source(source, new_name, unpack_dir, filters, new_prefix=None):
"""Repack the source tree"""
repacked = source.pack(new_name, filters, new_prefix)
- if source.is_orig(): # the tarball was filtered on unpack
+ if source.is_tarball(): # the tarball was filtered on unpack
repacked.unpacked = source.unpacked
else: # otherwise unpack the generated tarball get a filtered tree
repacked.unpack(unpack_dir, filters)
"""Upstream source is a directory"""
source = UpstreamSource(self.upstream_dir)
self.assertEqual(source.is_orig(), False)
+ self.assertEqual(source.is_tarball(), False)
self.assertEqual(source.path, self.upstream_dir)
self.assertEqual(source.unpacked, self.upstream_dir)
self.assertEqual(source.guess_version(), ('test', '1.0'))
target = self.tmpdir.join("gbp_0.1.tar.bz2")
repacked = self.source.pack(target)
self.assertEqual(repacked.is_orig(), True)
+ self.assertEqual(repacked.is_tarball(), True)
self.assertEqual(repacked.is_dir(), False)
self.assertEqual(repacked.guess_version(), ('gbp', '0.1'))
self._check_tar(repacked, ["gbp/errors.py", "gbp/__init__.py"])
target = self.tmpdir.join("gbp_0.1.tar.bz2")
repacked = self.source.pack(target, ["__init__.py"])
self.assertEqual(repacked.is_orig(), True)
+ self.assertEqual(repacked.is_tarball(), True)
self.assertEqual(repacked.is_dir(), False)
self._check_tar(repacked, ["gbp/errors.py"],
["gbp/__init__.py"])
def test_unpack(self):
source = UpstreamSource(self.zipfile)
self.assertEqual(source.is_orig(), False)
+ self.assertEqual(source.is_tarball(), False)
self.assertEqual(source.is_dir(), False)
self.assertEqual(source.unpacked, None)
self.assertEqual(source.guess_version(), ('gbp', '0.1'))