summaryrefslogtreecommitdiff
blob: 708f70a042b1d6c6af79242ac74d66a6903728ca (plain)
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.