Fix digestgen() to respect RESTRICT=fetch.
authorZac Medico <zmedico@gentoo.org>
Sat, 11 Sep 2010 19:18:03 +0000 (12:18 -0700)
committerZac Medico <zmedico@gentoo.org>
Sat, 11 Sep 2010 19:18:03 +0000 (12:18 -0700)
pym/portage/package/ebuild/digestgen.py

index d5cb2b829169e5353ee6f280e75b0ae0e6fd6372..d6ac6fd70536549a4fa1804ff1e8cac04b621b92 100644 (file)
@@ -108,6 +108,9 @@ def digestgen(myarchives=None, mysettings=None, myportdb=None):
                                        for cpv in distfiles_map[myfile]:
                                                uris.update(myportdb.getFetchMap(
                                                        cpv, mytree=mytree)[myfile])
+                                               restrict_fetch = 'fetch' in \
+                                                       myportdb.aux_get(cpv, ['RESTRICT'],
+                                                       mytree=mytree)[0].split()
 
                                        try:
                                                st = os.stat(os.path.join(
@@ -115,7 +118,8 @@ def digestgen(myarchives=None, mysettings=None, myportdb=None):
                                        except OSError:
                                                st = None
 
-                                       if not fetch({myfile : uris}, mysettings):
+                                       if restrict_fetch or \
+                                               not fetch({myfile : uris}, mysettings):
                                                myebuild = os.path.join(mysettings["O"],
                                                        catsplit(cpv)[1] + ".ebuild")
                                                spawn_nofetch(myportdb, myebuild,