1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
|
--- bin/emerge.org 2006-10-14 03:24:00.000000000 +0200
+++ bin/emerge 2006-10-14 04:13:34.000000000 +0200
@@ -1579,10 +1579,10 @@
elif "ebuild" == pkg_type:
self.useFlags[myroot][pkg_key] = pkgsettings["USE"].split()
- fetch=" "
+ restrict=" "
if x[0]=="blocks":
- addl=""+red("B")+" "+fetch+" "
+ addl=""+red("B")+" "+restrict+" "
resolved = self.trees[x[1]]["vartree"].resolve_key(x[2])
print "["+x[0]+" "+addl+"]",red(resolved),
block_parents = self.digraph.parent_nodes(" ".join(x))
@@ -1595,20 +1595,26 @@
print bad("(is blocking %s)") % block_parents
else:
mydbapi = self.trees[myroot][self.pkg_tree_map[pkg_type]].dbapi
- if x[3] != "nomerge" and \
- "fetch" in portdb.aux_get(
- x[2], ["RESTRICT"])[0].split():
- fetch = red("F")
- if portdb.fetch_check(
- pkg_key, self.useFlags[myroot][pkg_key]):
- fetch = green("f")
+ restrict_list = portdb.aux_get(x[2], ["RESTRICT"])[0].split()
+ if x[3] != "nomerge":
+ if "fetch" in restrict_list:
+ restrict = "F"
+ if "interactive" in restrict_list:
+ restrict = "P"
+ if portdb.fetch_check(
+ pkg_key, self.useFlags[myroot][pkg_key]):
+ restrict = green(restrict.lower())
+ else:
+ restrict = red(restrict)
+ elif "interactive" in restrict_list:
+ restrict = red("i")
#we need to use "--emptrytree" testing here rather than "empty" param testing because "empty"
#param is used for -u, where you still *do* want to see when something is being upgraded.
myoldbest=""
if "--emptytree" not in self.myopts and \
self.trees[x[1]]["vartree"].exists_specific(x[2]):
- addl=" "+yellow("R")+fetch+" "
+ addl=" "+yellow("R")+restrict+" "
elif "--emptytree" not in self.myopts and \
self.trees[x[1]]["vartree"].exists_specific_cat(x[2]):
mynewslot = mydbapi.aux_get(pkg_key, ["SLOT"])[0]
@@ -1618,7 +1624,7 @@
if mynewslot == vartree.getslot(inst_pkg)]
if myinslotlist:
myoldbest=portage.best(myinslotlist)
- addl=" "+fetch
+ addl=" "+restrict
if portage.pkgcmp(portage.pkgsplit(x[2]), portage.pkgsplit(myoldbest)) < 0:
# Downgrade in slot
addl+=turquoise("U")+blue("D")
@@ -1627,7 +1633,7 @@
addl+=turquoise("U")+" "
else:
# New slot, mark it new.
- addl=" "+green("NS")+fetch+" "
+ addl=" "+green("NS")+restrict+" "
if "--changelog" in self.myopts:
changelogs.extend(self.calc_changelog(
@@ -1635,7 +1641,7 @@
self.trees[x[1]]["vartree"].dep_bestmatch(
'/'.join(portage.catpkgsplit(x[2])[:2])), x[2]))
else:
- addl=" "+green("N")+" "+fetch+" "
+ addl=" "+green("N")+" "+restrict+" "
verboseadd=""
--- man/ebuild.5.org 2006-08-20 14:27:20.434923000 +0200
+++ man/ebuild.5 2006-10-14 04:18:10.000000000 +0200
@@ -335,6 +335,10 @@
.I primaryuri
fetch from URL's in \fBSRC_URI\fR before \fBGENTOO_MIRRORS\fR.
.TP
+.I interactive
+indicate that this ebuild typically requires user interaction (like inserting
+physical media).
+.TP
.I strip
final binaries/libraries will not be stripped of debug symbols.
.TP
--- man/emerge.1.org 2006-07-15 03:38:27.072219750 +0200
+++ man/emerge.1 2006-10-14 04:27:03.000000000 +0200
@@ -410,6 +430,19 @@
.B [ebuild f ] media\-video/realplayer\-8\-r6
The realplayer package's files are already downloaded.
.TP
+.B [ebuild i ] games\-fps/unreal\-226
+Unreal requires user interaction during the build process.
+.TP
+.B [ebuild P ] games\-strategy/freecraft\-1.18\-r3
+Freecraft requires user interaction during the build process and you have to
+fetch its sources manually (this is the combination of the first realplayer
+example and the Unreal example above).
+.TP
+.B [ebuild p ] games\-strategy/freecraft\-1.18\-r3
+Freecraft requires user interaction during the build process and has its source
+files already downloaded (this is the combination of the second realplayer
+example and the Unreal example above).
+.TP
.B [ebuild U ] net\-fs/samba\-2.2.8_pre1 [2.2.7a]
Samba 2.2.7a has already been emerged and can be Updated to version
2.2.8_pre1.
|