summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2006-04-26 22:10:16 +0000
committerZac Medico <zmedico@gentoo.org>2006-04-26 22:10:16 +0000
commitf621e9c5e7f685956da4e4cf8f69f880ed5df0ee (patch)
treee4f5737b7e3f0943dc3d0a9f06d89faaa50cf30f
parentPass a portdbapi instance into portage.digestgen() so that it doesn't have to... (diff)
downloadportage-f621e9c5e7f685956da4e4cf8f69f880ed5df0ee.tar.gz
portage-f621e9c5e7f685956da4e4cf8f69f880ed5df0ee.tar.bz2
portage-f621e9c5e7f685956da4e4cf8f69f880ed5df0ee.zip
Make fetchlist_dict an optional parameter in the Manifest constructor since it's required only for generation of a Manifest (not needed for parsing and checking sums).
svn path=/main/trunk/; revision=3245
-rwxr-xr-xbin/emerge9
-rwxr-xr-xbin/repoman4
-rw-r--r--pym/portage.py14
-rw-r--r--pym/portage_manifest.py10
4 files changed, 19 insertions, 18 deletions
diff --git a/bin/emerge b/bin/emerge
index d172af69c..fc3677ee5 100755
--- a/bin/emerge
+++ b/bin/emerge
@@ -789,10 +789,11 @@ class search:
myebuild = portage.portdb.findname(mycpv)
pkgdir = os.path.dirname(myebuild)
import portage_manifest
- mf = portage_manifest.Manifest(pkgdir,
- portage.FetchlistDict(pkgdir, portage.settings, portage.portdb),
- portage.settings["DISTDIR"])
- mysum[0] = mf.getDistfilesSize(mf.fetchlist_dict[mycpv])
+ mf = portage_manifest.Manifest(
+ pkgdir, portage.settings["DISTDIR"])
+ fetchlist = portage.portdb.getfetchlist(mycpv,
+ mysettings=portage.settings, all=True)
+ mysum[0] = mf.getDistfilesSize(fetchlist)
mystr = str(mysum[0]/1024)
mycount=len(mystr)
while (mycount > 3):
diff --git a/bin/repoman b/bin/repoman
index 9cbe8b68a..03bc5ee1f 100755
--- a/bin/repoman
+++ b/bin/repoman
@@ -799,9 +799,7 @@ for x in scanlist:
repoman_settings["O"] = checkdir
portage.digestgen([], repoman_settings, manifestonly=1, myportdb=portage.portdb)
- mf = Manifest(checkdir,
- portage.FetchlistDict(checkdir, repoman_settings, portage.portdb),
- repoman_settings["DISTDIR"])
+ mf = Manifest(checkdir, repoman_settings["DISTDIR"])
mydigests=mf.getTypeDigests("DIST")
myfiles_all = []
diff --git a/pym/portage.py b/pym/portage.py
index c5b5fdccb..334a8f58c 100644
--- a/pym/portage.py
+++ b/pym/portage.py
@@ -2150,7 +2150,8 @@ def digestgen(myarchives, mysettings, overwrite=1, manifestonly=0, myportdb=None
writemsg("Warning: myportdb not specified to digestgen\n")
global portdb
myportdb = portdb
- mf = Manifest(mysettings["O"], FetchlistDict(mysettings["O"], mysettings, myportdb), mysettings["DISTDIR"])
+ mf = Manifest(mysettings["O"], mysettings["DISTDIR"],
+ fetchlist_dict=FetchlistDict(mysettings["O"], mysettings, myportdb))
writemsg(">>> Creating Manifest for %s\n" % mysettings["O"])
try:
mf.create(assumeDistfileHashes=True, requiredDistfiles=myarchives)
@@ -2178,10 +2179,8 @@ def digestParseFile(myfilename, mysettings=None):
if mysettings is None:
global settings
mysettings = config(clone=settings)
- global portdb
- mf = Manifest(pkgdir, FetchlistDict(pkgdir, mysettings, portdb), mysettings["DISTDIR"])
- return mf.getDigests()
+ return Manifest(pkgdir, mysettings["DISTDIR"]).getDigests()
# XXXX strict was added here to fix a missing name error.
# XXXX It's used below, but we're not paying attention to how we get it?
@@ -2237,8 +2236,7 @@ def digestcheck(myfiles, mysettings, strict=0, justmanifest=0):
writemsg("!!! Manifest file not found: '%s'\n" % manifest_path)
if strict:
return 0
- global portdb
- mf = Manifest(pkgdir, FetchlistDict(pkgdir, mysettings, portdb), mysettings["DISTDIR"])
+ mf = Manifest(pkgdir, mysettings["DISTDIR"])
try:
writemsg_stdout(">>> checking ebuild checksums\n")
mf.checkTypeHashes("EBUILD")
@@ -4905,7 +4903,7 @@ class portdbapi(dbapi):
# returns a filename:size dictionnary of remaining downloads
myebuild = self.findname(mypkg)
pkgdir = os.path.dirname(myebuild)
- mf = Manifest(pkgdir, FetchlistDict(pkgdir, self.mysettings, self), self.mysettings["DISTDIR"])
+ mf = Manifest(pkgdir, self.mysettings["DISTDIR"])
checksums = mf.getDigests()
if not checksums:
if debug: print "[empty/missing/bad digest]: "+mypkg
@@ -4948,7 +4946,7 @@ class portdbapi(dbapi):
myuri, myfiles = self.getfetchlist(mypkg, useflags=useflags, mysettings=mysettings, all=all)
myebuild = self.findname(mypkg)
pkgdir = os.path.dirname(myebuild)
- mf = Manifest(pkgdir, FetchlistDict(pkgdir, self.mysettings, self), self.mysettings["DISTDIR"])
+ mf = Manifest(pkgdir, self.mysettings["DISTDIR"])
mysums = mf.getDigests()
failures = {}
diff --git a/pym/portage_manifest.py b/pym/portage_manifest.py
index 1ca793c80..1a6780a51 100644
--- a/pym/portage_manifest.py
+++ b/pym/portage_manifest.py
@@ -98,10 +98,13 @@ class Manifest2Entry(ManifestEntry):
class Manifest(object):
parsers = (parseManifest2, parseManifest1)
- def __init__(self, pkgdir, fetchlist_dict, distdir, manifest1_compat=True, from_scratch=False):
+ def __init__(self, pkgdir, distdir, fetchlist_dict=None,
+ manifest1_compat=True, from_scratch=False):
""" create new Manifest instance for package in pkgdir
and add compability entries for old portage versions if manifest1_compat == True.
- Do not parse Manifest file if from_scratch == True (only for internal use) """
+ 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)."""
self.pkgdir = pkgdir.rstrip(os.sep) + os.sep
self.fhashdict = {}
self.hashes = portage_const.MANIFEST2_HASH_FUNCTIONS[:]
@@ -405,7 +408,8 @@ class Manifest(object):
distfilehashes = self.fhashdict["DIST"]
else:
distfilehashes = {}
- self.__init__(self.pkgdir, self.fetchlist_dict, self.distdir, from_scratch=True)
+ self.__init__(self.pkgdir, self.distdir,
+ fetchlist_dict=self.fetchlist_dict, from_scratch=True)
for pkgdir, pkgdir_dirs, pkgdir_files in os.walk(self.pkgdir):
break
for f in pkgdir_files: