1 |
Author: zmedico |
2 |
Date: 2010-02-23 03:28:27 +0000 (Tue, 23 Feb 2010) |
3 |
New Revision: 15438 |
4 |
|
5 |
Modified: |
6 |
main/trunk/bin/repoman |
7 |
main/trunk/pym/_emerge/Scheduler.py |
8 |
main/trunk/pym/portage/__init__.py |
9 |
Log: |
10 |
Make the first two positional arguments of digestgen() into keyword arguments |
11 |
since the first one isn't really needed (when this code is in stable we can |
12 |
start showing a deprecation warning when the redundant argument is used). |
13 |
|
14 |
|
15 |
Modified: main/trunk/bin/repoman |
16 |
=================================================================== |
17 |
--- main/trunk/bin/repoman 2010-02-23 02:15:35 UTC (rev 15437) |
18 |
+++ main/trunk/bin/repoman 2010-02-23 03:28:27 UTC (rev 15438) |
19 |
@@ -1011,7 +1011,7 @@ |
20 |
portage._doebuild_manifest_exempt_depend -= 1 |
21 |
|
22 |
repoman_settings["O"] = checkdir |
23 |
- if not portage.digestgen([], repoman_settings, myportdb=portdb): |
24 |
+ if not portage.digestgen(mysettings=repoman_settings, myportdb=portdb): |
25 |
print("Unable to generate manifest.") |
26 |
dofail = 1 |
27 |
if options.mode == "manifest": |
28 |
@@ -2335,7 +2335,7 @@ |
29 |
mydone=[] |
30 |
if repolevel==3: # In a package dir |
31 |
repoman_settings["O"] = startdir |
32 |
- portage.digestgen([], repoman_settings, myportdb=portdb) |
33 |
+ portage.digestgen(mysettings=repoman_settings, myportdb=portdb) |
34 |
elif repolevel==2: # In a category dir |
35 |
for x in myfiles: |
36 |
xs=x.split("/") |
37 |
@@ -2349,7 +2349,7 @@ |
38 |
repoman_settings["O"] = os.path.join(startdir, xs[0]) |
39 |
if not os.path.isdir(repoman_settings["O"]): |
40 |
continue |
41 |
- portage.digestgen([], repoman_settings, myportdb=portdb) |
42 |
+ portage.digestgen(mysettings=repoman_settings, myportdb=portdb) |
43 |
elif repolevel==1: # repo-cvsroot |
44 |
print(green("RepoMan sez:"), "\"You're rather crazy... doing the entire repository.\"\n") |
45 |
for x in myfiles: |
46 |
@@ -2364,7 +2364,7 @@ |
47 |
repoman_settings["O"] = os.path.join(startdir, xs[0], xs[1]) |
48 |
if not os.path.isdir(repoman_settings["O"]): |
49 |
continue |
50 |
- portage.digestgen([], repoman_settings, myportdb=portdb) |
51 |
+ portage.digestgen(mysettings=repoman_settings, myportdb=portdb) |
52 |
else: |
53 |
print(red("I'm confused... I don't know where I am!")) |
54 |
sys.exit(1) |
55 |
|
56 |
Modified: main/trunk/pym/_emerge/Scheduler.py |
57 |
=================================================================== |
58 |
--- main/trunk/pym/_emerge/Scheduler.py 2010-02-23 02:15:35 UTC (rev 15437) |
59 |
+++ main/trunk/pym/_emerge/Scheduler.py 2010-02-23 03:28:27 UTC (rev 15438) |
60 |
@@ -591,7 +591,7 @@ |
61 |
if ebuild_path is None: |
62 |
raise AssertionError("ebuild not found for '%s'" % x.cpv) |
63 |
pkgsettings['O'] = os.path.dirname(ebuild_path) |
64 |
- if not portage.digestgen([], pkgsettings, myportdb=portdb): |
65 |
+ if not portage.digestgen(mysettings=pkgsettings, myportdb=portdb): |
66 |
writemsg_level( |
67 |
"!!! Unable to generate manifest for '%s'.\n" \ |
68 |
% x.cpv, level=logging.ERROR, noiselevel=-1) |
69 |
|
70 |
Modified: main/trunk/pym/portage/__init__.py |
71 |
=================================================================== |
72 |
--- main/trunk/pym/portage/__init__.py 2010-02-23 02:15:35 UTC (rev 15437) |
73 |
+++ main/trunk/pym/portage/__init__.py 2010-02-23 03:28:27 UTC (rev 15438) |
74 |
@@ -1376,10 +1376,23 @@ |
75 |
return retval >> 8 |
76 |
return retval |
77 |
|
78 |
-def digestgen(myarchives, mysettings, overwrite=None, manifestonly=None, myportdb=None): |
79 |
+def digestgen(myarchives=None, mysettings=None, |
80 |
+ overwrite=None, manifestonly=None, myportdb=None): |
81 |
""" |
82 |
Generates a digest file if missing. Fetches files if necessary. |
83 |
+ NOTE: myarchives and mysettings used to be positional arguments, |
84 |
+ so their order must be preserved for backward compatibility. |
85 |
+ @param mysettings: the ebuild config (mysettings["O"] must correspond |
86 |
+ to the ebuild's parent directory) |
87 |
+ @type mysettings: config |
88 |
+ @param myportdb: a portdbapi instance |
89 |
+ @type myportdb: portdbapi |
90 |
+ @rtype: int |
91 |
+ @returns: 1 on success and 0 on failure |
92 |
""" |
93 |
+ if mysettings is None: |
94 |
+ raise TypeError("portage.digestgen(): missing" + \ |
95 |
+ " required 'mysettings' parameter") |
96 |
if myportdb is None: |
97 |
warnings.warn("portage.digestgen() called without 'myportdb' parameter", |
98 |
DeprecationWarning, stacklevel=2) |
99 |
@@ -1500,8 +1513,7 @@ |
100 |
return 0 |
101 |
writemsg_stdout(_(">>> Creating Manifest for %s\n") % mysettings["O"]) |
102 |
try: |
103 |
- mf.create(requiredDistfiles=myarchives, |
104 |
- assumeDistHashesSometimes=True, |
105 |
+ mf.create(assumeDistHashesSometimes=True, |
106 |
assumeDistHashesAlways=( |
107 |
"assume-digests" in mysettings.features)) |
108 |
except portage.exception.FileNotFound as e: |
109 |
@@ -3360,15 +3372,15 @@ |
110 |
|
111 |
try: |
112 |
if mydo == "manifest": |
113 |
- return not digestgen(aalist, mysettings, myportdb=mydbapi) |
114 |
+ return not digestgen(mysettings=mysettings, myportdb=mydbapi) |
115 |
elif mydo == "digest": |
116 |
- return not digestgen(aalist, mysettings, myportdb=mydbapi) |
117 |
+ return not digestgen(mysettings=mysettings, myportdb=mydbapi) |
118 |
elif mydo != 'fetch' and not emerge_skip_digest and \ |
119 |
"digest" in mysettings.features: |
120 |
# Don't do this when called by emerge or when called just |
121 |
# for fetch (especially parallel-fetch) since it's not needed |
122 |
# and it can interfere with parallel tasks. |
123 |
- digestgen(aalist, mysettings, myportdb=mydbapi) |
124 |
+ digestgen(mysettings=mysettings, myportdb=mydbapi) |
125 |
except portage.exception.PermissionDenied as e: |
126 |
writemsg(_("!!! Permission Denied: %s\n") % (e,), noiselevel=-1) |
127 |
if mydo in ("digest", "manifest"): |