--- 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.