From 05f5e7f26b92f534ffa0be28ec0a4ff58c0b0d6b Mon Sep 17 00:00:00 2001 From: Zac Medico Date: Tue, 13 Sep 2011 21:49:23 -0700 Subject: [PATCH] Deprecate the manifest1_compat parameter. --- bin/ebuild | 2 +- pym/portage/manifest.py | 18 ++++++++++-------- pym/portage/package/ebuild/digestgen.py | 3 +-- 3 files changed, 12 insertions(+), 11 deletions(-) diff --git a/bin/ebuild b/bin/ebuild index 95f4e15b8..f47975aad 100755 --- a/bin/ebuild +++ b/bin/ebuild @@ -204,7 +204,7 @@ def discard_digests(myebuild, mysettings, mydbapi): mf = mysettings.repositories.get_repo_for_location( os.path.dirname(os.path.dirname(pkgdir))) mf = mf.load_manifest(pkgdir, mysettings["DISTDIR"], - fetchlist_dict=fetchlist_dict, manifest1_compat=False) + fetchlist_dict=fetchlist_dict) mf.create(requiredDistfiles=None, assumeDistHashesSometimes=True, assumeDistHashesAlways=True) distfiles = fetchlist_dict[cpv] diff --git a/pym/portage/manifest.py b/pym/portage/manifest.py index 4fd44b059..3f0aa9327 100644 --- a/pym/portage/manifest.py +++ b/pym/portage/manifest.py @@ -3,6 +3,7 @@ import errno import io +import warnings import portage portage.proxy.lazyimport.lazyimport(globals(), @@ -99,25 +100,26 @@ class Manifest2Entry(ManifestEntry): class Manifest(object): parsers = (parseManifest2,) def __init__(self, pkgdir, distdir, fetchlist_dict=None, - manifest1_compat=False, from_scratch=False, thin=False): - """ create new Manifest instance for package in pkgdir - and add compability entries for old portage versions if manifest1_compat == True. + manifest1_compat=DeprecationWarning, from_scratch=False, thin=False): + """ Create new Manifest instance for package in pkgdir. Do not parse Manifest file if from_scratch == True (only for internal use) The fetchlist_dict parameter is required only for generation of a Manifest (not needed for parsing and checking sums). If thin is specified, then the manifest carries only info for distfiles.""" + + if manifest1_compat is not DeprecationWarning: + warnings.warn("The manifest1_compat parameter of the " + "portage.manifest.Manifest constructor is deprecated.", + DeprecationWarning, stacklevel=2) + self.pkgdir = _unicode_decode(pkgdir).rstrip(os.sep) + os.sep self.fhashdict = {} self.hashes = set() self.hashes.update(portage.const.MANIFEST2_HASH_FUNCTIONS) - if manifest1_compat: - raise NotImplementedError("manifest1 support has been removed") self.hashes.difference_update(hashname for hashname in \ list(self.hashes) if hashname not in hashfunc_map) self.hashes.add("size") - if manifest1_compat: - raise NotImplementedError("manifest1 support has been removed") self.hashes.add(portage.const.MANIFEST2_REQUIRED_HASH) for t in portage.const.MANIFEST2_IDENTIFIERS: self.fhashdict[t] = {} @@ -325,7 +327,7 @@ class Manifest(object): distfilehashes = {} self.__init__(self.pkgdir, self.distdir, fetchlist_dict=self.fetchlist_dict, from_scratch=True, - manifest1_compat=False, thin=self.thin) + thin=self.thin) pn = os.path.basename(self.pkgdir.rstrip(os.path.sep)) cat = self._pkgdir_category() diff --git a/pym/portage/package/ebuild/digestgen.py b/pym/portage/package/ebuild/digestgen.py index 605151263..7b5897202 100644 --- a/pym/portage/package/ebuild/digestgen.py +++ b/pym/portage/package/ebuild/digestgen.py @@ -52,10 +52,9 @@ def digestgen(myarchives=None, mysettings=None, myportdb=None): del e return 0 mytree = os.path.dirname(os.path.dirname(mysettings["O"])) - manifest1_compat = False mf = mysettings.repositories.get_repo_for_location(mytree) mf = mf.load_manifest(mysettings["O"], mysettings["DISTDIR"], - fetchlist_dict=fetchlist_dict, manifest1_compat=manifest1_compat) + fetchlist_dict=fetchlist_dict) # Don't require all hashes since that can trigger excessive # fetches when sufficient digests already exist. To ease transition # while Manifest 1 is being removed, only require hashes that will -- 2.26.2