portage-2.1.3
-------------
-* Legacy "masked by: profile" support has been removed. Profiles should use
- package.mask to mask unwanted versions of system packages.
* Allow per-module setting of PORTAGE_ELOG_CLASSES
* Add ** as new token for package.keywords to bypass the keyword visibility layer
* Namespace sanitizing: move all portage related code into portage.* namespace,
This must be a valid ebuild script. For further information read
\fBebuild\fR(5).
.SH "COMMANDS"
+By default, portage will execute all the functions in order up to the
+one actually specified. For example, simply issuing the command \fBcompile\fR
+will trigger the functions before it to also be run (such as \fBsetup\fR
+and \fBunpack\fR). If you wish to only have the specified command run, then
+you should use the \fInoauto\fR option in the \fBFEATURES\fR environment
+variable. See the \fBmake.conf\fR(5) man page for more information.
+
.TP
.BR help
Shows a condensed form of this man page along with a lot of package
# this block.
upgrade_node = \
self.pkg_node_map[proot][upgrade_matches[0]]
- depends_on_order.add(upgrade_node)
+ depends_on_order.add((upgrade_node, parent))
continue
# None of the above blocker resolutions techniques apply,
# so apparently this one is unresolvable.
# This blocker will be handled the next time that a
# merge of either package is triggered.
continue
+ if not parent_static and pstatus == "nomerge" and \
+ slot_atom in modified_slots[myroot]:
+ replacement = final_db.match(pslot_atom)
+ if replacement:
+ replacement_node = \
+ self.pkg_node_map[proot][replacement[0]]
+ if replacement_node not in \
+ self.blocker_parents[blocker]:
+ # Apparently a replacement may be able to
+ # invalidate this block.
+ blocked_node = self.pkg_node_map[proot][cpv]
+ depends_on_order.add(
+ (replacement_node, blocked_node))
+ continue
# None of the above blocker resolutions techniques apply,
# so apparently this one is unresolvable.
unresolved_blocks = True
if not unresolved_blocks and depends_on_order:
- for node in depends_on_order:
+ for node, pnode in depends_on_order:
# Enforce correct merge order with a hard dep.
- self.digraph.addnode(node, parent,
+ self.digraph.addnode(node, pnode,
priority=DepPriority(buildtime=True))
# Count references to this blocker so that it can be
# invalidated after nodes referencing it have been