Zac Medico [Mon, 13 Jun 2011 21:50:04 +0000 (14:50 -0700)]
pkg_use_enabled: return early for built pkgs
Built/installed packages have frozen USE settings, so there's no sense
in considering them for autounmask USE config changes. They'll simply
be rejected by select_package, and an unbuilt ebuild will be selected
instead. This will fix bug 371423 by avoiding unnecessary use_reduce
calls on the deps of installed packages.
Zac Medico [Mon, 13 Jun 2011 15:25:58 +0000 (08:25 -0700)]
digestgen: spawn_nofetch (fix previous commit)
This call was erroneously removed in the previous commit. We have to
call spawn_nofetch since the fetch() function no longer calls it
automatically.
Zac Medico [Mon, 13 Jun 2011 13:40:39 +0000 (06:40 -0700)]
digestgen: always allow fetch from mirror://
This fixes repoman and ebuild(1) to fetch from mirror:// URIs even
though RESTRICT=fetch is set (this behavior already works for emerge
since it does not call fetch() via digestgen).
Zac Medico [Mon, 13 Jun 2011 13:01:26 +0000 (06:01 -0700)]
Scheduler: make --fetchonly skip pkg_pretend
Zac Medico [Sun, 12 Jun 2011 22:12:26 +0000 (15:12 -0700)]
test_merge_order: test smallest runtime cycle
In the case of multiple runtime cycles, where some cycles
may depend on smaller independent cycles, it's optimal
to merge smaller independent cycles before other cycles
that depend on them. Therefore, we search for the
smallest cycle in order to try and identify and prefer
these smaller independent cycles.
Arfrever Frehtes Taifersar Arahesis [Sat, 11 Jun 2011 19:12:09 +0000 (21:12 +0200)]
Fix a typo in a comment.
Zac Medico [Sat, 11 Jun 2011 16:26:47 +0000 (09:26 -0700)]
serialize_tasks: debug output for runtime cycles
Zac Medico [Sat, 11 Jun 2011 15:51:24 +0000 (08:51 -0700)]
serialize_tasks: asap ignore medium_soft earlier
This allows us to avoid the less efficient runtime cycle pathway for
cases in which an asap node is a leaf if medium_soft deps are ignored.
Ths should increase efficiency without changing behavior.
Zac Medico [Sat, 11 Jun 2011 09:05:51 +0000 (02:05 -0700)]
serialize_tasks: minimize runtime cycles more
Zac Medico [Sat, 11 Jun 2011 06:25:46 +0000 (23:25 -0700)]
serialize_tasks: minimize nodes in runtime cycles
When gathering the nodes belonging to a runtime cycle, we want to
minimize the number of nodes gathered, since this tends to produce
a more optimal merge order. Ignoring all medium_soft deps serves
this purpose.
Zac Medico [Sat, 11 Jun 2011 05:21:19 +0000 (22:21 -0700)]
depgraph._serialize_tasks: revert formatting diff
Zac Medico [Sat, 11 Jun 2011 03:58:38 +0000 (20:58 -0700)]
depgraph._serialize_tasks: move libperl/perl code
This ensures that all asap_nodes are explored before setting
prefer_asap to False.
Zac Medico [Sat, 11 Jun 2011 03:38:02 +0000 (20:38 -0700)]
bintree: verify that default REPO is legit
We need to check the RepoConfig.missing_repo_name attribute to make
sure the repo_name is really defined.
Zac Medico [Sat, 11 Jun 2011 02:58:33 +0000 (19:58 -0700)]
depgraph._serialize_tasks: tweak last commit more
Zac Medico [Sat, 11 Jun 2011 02:45:08 +0000 (19:45 -0700)]
depgraph._serialize_tasks: tweak last commit
This code is only intended when more than one node is selected.
Zac Medico [Sat, 11 Jun 2011 02:31:22 +0000 (19:31 -0700)]
test_fakedbapi: define PORTDIR, test missing IUSE
Zac Medico [Sat, 11 Jun 2011 02:17:10 +0000 (19:17 -0700)]
test_fakedbapi: use tempdir for config paths
Zac Medico [Sat, 11 Jun 2011 02:08:46 +0000 (19:08 -0700)]
Add tests for fakedbapi.
Zac Medico [Sat, 11 Jun 2011 01:30:37 +0000 (18:30 -0700)]
slot_collision_notice: don't omit any use dep
When USE flags are removed, it can be essential to see all broken
reverse dependencies here, so don't omit any. If the list is long,
people can simply use a pager.
Zac Medico [Sat, 11 Jun 2011 00:42:18 +0000 (17:42 -0700)]
show_unsatisfied_blockers: don't omit any pkgs
It can be essential to see all the packages here, so don't omit any.
If the list is long, people can simply use a pager.
Arfrever Frehtes Taifersar Arahesis [Sat, 11 Jun 2011 00:02:27 +0000 (02:02 +0200)]
Fix a typo.
Zac Medico [Fri, 10 Jun 2011 23:24:54 +0000 (16:24 -0700)]
depgraph._serialize_tasks: fix libperl/perl order
In some cases, the asap_nodes code caused selection of a large runtime
cycle that was obviously sub-optimal. Now such cases are detected and
avoided.
Zac Medico [Fri, 10 Jun 2011 17:19:36 +0000 (10:19 -0700)]
fakedbapi: add myrepo args for portdbapi compat
Zac Medico [Fri, 10 Jun 2011 12:21:06 +0000 (05:21 -0700)]
bintree: handle pkgindex CHOST header like REPO
This allows an existing CHOST header entry to properly override our
default.
Zac Medico [Fri, 10 Jun 2011 12:04:17 +0000 (05:04 -0700)]
bintree: always populate pkgindex REPO header
The previous code would only populate it when there was no existing
index file. Now, the default will be populated even if the file exists
already. If an existing pkgindex header already defines these keys,
then they will appropriately override our defaults.
Zac Medico [Fri, 10 Jun 2011 01:10:51 +0000 (18:10 -0700)]
Fix some typoes in docs and comments.
Zac Medico [Thu, 9 Jun 2011 22:08:29 +0000 (15:08 -0700)]
portage.5: doc repo and wildcard atom extensions
Zac Medico [Thu, 9 Jun 2011 18:48:19 +0000 (11:48 -0700)]
useflag/dep_re: less strict if eapi None
When eapi is None then validation is not as strict, since we want the
same to work for multiple EAPIs that may have slightly different rules.
Zac Medico [Thu, 9 Jun 2011 18:19:38 +0000 (11:19 -0700)]
SubProcess: fix status for _set_returncode caller
These callers don't intend to make WIFSIGNALED return True, so they
need to shift their codes 8 bits to the left. This ensures that
commit
88f5bf84e2fd23125910b2ecaffc035971445696 behaves as intended.
Zac Medico [Thu, 9 Jun 2011 16:19:33 +0000 (09:19 -0700)]
AbstractEbuildProcess: handle kill by signal
This will fix bug #368817.
Zac Medico [Thu, 9 Jun 2011 16:07:54 +0000 (09:07 -0700)]
SubProcess: make returncode like Popen
Zac Medico [Thu, 9 Jun 2011 15:43:40 +0000 (08:43 -0700)]
lockfile: use hasattr() instead of dir()
Zac Medico [Thu, 9 Jun 2011 15:11:08 +0000 (08:11 -0700)]
ebuild.sh: fix libdir for ccache/distcc
This will fix bug #355283.
Jeremy Murphy [Thu, 9 Jun 2011 14:34:35 +0000 (07:34 -0700)]
ebuild.sh: don't hardcode distcc pump path
Zac Medico [Thu, 9 Jun 2011 14:28:14 +0000 (07:28 -0700)]
test_use_reduce: test empty parens (bug 370565)
Arfrever Frehtes Taifersar Arahesis [Thu, 9 Jun 2011 14:23:28 +0000 (07:23 -0700)]
use_reduce: disallow empty parens
This will fix bug #370565.
Zac Medico [Thu, 9 Jun 2011 13:58:37 +0000 (06:58 -0700)]
getmaskingstatus: fix keywords logic
This will fix bug #370477.
Zac Medico [Thu, 9 Jun 2011 13:13:32 +0000 (06:13 -0700)]
getmaskingreason: EAPI metadata safety
Return early since otherwise we might produce invalid results given
that the EAPI is not supported.
Zac Medico [Thu, 9 Jun 2011 13:03:30 +0000 (06:03 -0700)]
show_masked_packages: EAPI metadata safety
When masked by EAPI, metadata is mostly useless since it doesn't
contain essential things like SLOT.
Arfrever Frehtes Taifersar Arahesis [Thu, 9 Jun 2011 13:00:55 +0000 (15:00 +0200)]
Fix a typo and update a comment.
Zac Medico [Thu, 9 Jun 2011 12:56:42 +0000 (05:56 -0700)]
_show_unsatisfied_dep: fix logic for EAPI mask
This will fix bug #370465.
Zac Medico [Thu, 9 Jun 2011 10:59:08 +0000 (03:59 -0700)]
SpawnTestCase: check returncode
Zac Medico [Thu, 9 Jun 2011 10:39:37 +0000 (03:39 -0700)]
locks: use a private constant for fcntl.lockf
Zac Medico [Thu, 9 Jun 2011 00:32:56 +0000 (17:32 -0700)]
Test noblocking locks.
Zac Medico [Wed, 8 Jun 2011 20:24:26 +0000 (13:24 -0700)]
unmerge: show virtual in system unmerge warning
This is intended to clarify the messages shown in bug #370295, so that
it's obvious when a package is a member of the system set due to it
being a virtual provider.
Zac Medico [Wed, 8 Jun 2011 19:03:25 +0000 (12:03 -0700)]
Atom: avoid TypeError with PyPy
Our test cases pass in raw bytes here, which causes _atom_base.__init__
to raise TypeError with PyPy.
Zac Medico [Wed, 8 Jun 2011 17:30:43 +0000 (10:30 -0700)]
autounmask-write: prefer package.accept_keywords
Zac Medico [Wed, 8 Jun 2011 17:24:23 +0000 (10:24 -0700)]
extract_affecting_use: _get_useflag_re(eapi)
This is needed for EAPI="4-python" added in commit
586760f37fb9784327d8447182d49810662f4427.
Zac Medico [Wed, 8 Jun 2011 17:05:20 +0000 (10:05 -0700)]
autounmask-write: support package.accept_keywords
Arfrever Frehtes Taifersar Arahesis [Wed, 8 Jun 2011 16:10:23 +0000 (18:10 +0200)]
Add initial support for EAPI="4-python".
Arfrever Frehtes Taifersar Arahesis [Mon, 6 Jun 2011 16:00:40 +0000 (18:00 +0200)]
Fix some typos.
Zac Medico [Mon, 6 Jun 2011 11:51:54 +0000 (04:51 -0700)]
bintree: populate REPO header for empty pkgindex
Zac Medico [Mon, 6 Jun 2011 10:29:48 +0000 (03:29 -0700)]
getmaskingreason: assume myrepo arg is valid
Zac Medico [Mon, 6 Jun 2011 10:09:51 +0000 (03:09 -0700)]
config: add missing Package import
Zac Medico [Mon, 6 Jun 2011 10:03:58 +0000 (03:03 -0700)]
Use Package.UNKNOWN_REPO where appropriate.
Zac Medico [Mon, 6 Jun 2011 09:11:31 +0000 (02:11 -0700)]
getmaskingreason: add myrepo argument
Zac Medico [Mon, 6 Jun 2011 02:52:42 +0000 (19:52 -0700)]
portageq: support --version
Zac Medico [Mon, 6 Jun 2011 02:24:29 +0000 (19:24 -0700)]
Scheduler: init _fetch_log in constructor
This ensures that we account for EMERGE_LOG_DIR.
Zac Medico [Mon, 6 Jun 2011 02:01:02 +0000 (19:01 -0700)]
InternalPackageSet: default allow_repo=True
Repo atoms are allowed more often than not, so it makes sense for this
class to allow them by default. The Atom constructor and isvalidatom()
functions default to allow_repo=False, which is sufficient to ensure
that repo atoms are prohibited when necessary.
Zac Medico [Sun, 5 Jun 2011 16:31:33 +0000 (09:31 -0700)]
create_world_atom: fix slot/repo atom logic
Zac Medico [Sun, 5 Jun 2011 16:13:35 +0000 (09:13 -0700)]
Enable atom::repo in the @selected package set.
Zac Medico [Sun, 5 Jun 2011 15:12:18 +0000 (08:12 -0700)]
MergeListItem: fix "unknown repo" display
The Package class uses an UNKNOWN_REPO constant so that MergeListItem
can distinguish this case.
Zac Medico [Sun, 5 Jun 2011 09:15:54 +0000 (02:15 -0700)]
match-all-cpv-only: share match-all cache when ok
Zac Medico [Sun, 5 Jun 2011 08:59:49 +0000 (01:59 -0700)]
portdbapi.xmatch: remove redundant myval check
Zac Medico [Sun, 5 Jun 2011 08:55:27 +0000 (01:55 -0700)]
portdbapi.xmatch: always pass mytree to cp_list
Zac Medico [Sun, 5 Jun 2011 08:14:07 +0000 (01:14 -0700)]
dbapi._iter_match: remove redundant myrepo args
The myrepo arguments are redundant since the Atom.repo attribute
carries the same information.
Zac Medico [Sun, 5 Jun 2011 07:23:33 +0000 (00:23 -0700)]
dep_expand: fix orig_dep for previous commit
Zac Medico [Sun, 5 Jun 2011 07:10:17 +0000 (00:10 -0700)]
dep_expand: optimize away cpv_expand if possible
Zac Medico [Sun, 5 Jun 2011 00:08:08 +0000 (17:08 -0700)]
Uniformly check EAPI when avoiding setcpv calls.
Zac Medico [Sat, 4 Jun 2011 13:18:34 +0000 (06:18 -0700)]
--ask: show group warning before pretend prompt
Zac Medico [Sat, 4 Jun 2011 13:01:26 +0000 (06:01 -0700)]
autounmask: reference EMERGE_DEFAULT_OPTS in docs
Zac Medico [Sat, 4 Jun 2011 03:48:55 +0000 (20:48 -0700)]
Binpkg: cleanup PORTAGE_BINPKG_FILE code
Zac Medico [Sat, 4 Jun 2011 03:08:35 +0000 (20:08 -0700)]
Fix a typo in a comment.
Zac Medico [Sat, 4 Jun 2011 02:37:45 +0000 (19:37 -0700)]
autounmask: include comments from package.mask
This will fix bug #369985.
Zac Medico [Sat, 4 Jun 2011 02:31:20 +0000 (19:31 -0700)]
emergelog: tweak _disabled comment
Zac Medico [Sat, 4 Jun 2011 02:11:09 +0000 (19:11 -0700)]
emergelog: only enable when called by emerge
We disable emergelog by default, since it's called from dblink.merge()
and we don't want that to trigger log writes unless it's really called
via emerge.
Zac Medico [Sat, 4 Jun 2011 01:49:02 +0000 (18:49 -0700)]
Revert "dblink.merge: remove autoclean emergelog calls"
This reverts commit
352280549c9b72e7b916803dc6b03b959d0817e3.
I'm planning to fix this so the emergelog calls are only enabled when
emerge is the caller.
Zac Medico [Sat, 4 Jun 2011 01:38:40 +0000 (18:38 -0700)]
portdbapi: cleanup when base module is reloaded
This prevents memory leaks via portdbapi.portdbapi_instances when the
module is reloaded. Also, there's no need for ebuild(1) to call
close_portdbapi_caches() since it's now handled automatically during
the reload.
Zac Medico [Sat, 4 Jun 2011 00:10:41 +0000 (17:10 -0700)]
Update timestamps in headers of modified files.
Zac Medico [Sat, 4 Jun 2011 00:01:13 +0000 (17:01 -0700)]
Move pickle import out of base portage module.
Zac Medico [Fri, 3 Jun 2011 23:03:40 +0000 (16:03 -0700)]
--ask: prompt for --pretend mode when necessary
Zac Medico [Fri, 3 Jun 2011 22:27:24 +0000 (15:27 -0700)]
--autounmask: show note suggesting how to disable
Now that --autounmask is enabled by default, people are dealing with
local masks that trigger unsatisfied dependencies often complain about
--autounmask behavior being inappropriate for their situation.
Therefore, show a helpful note when the autounmask code is triggered
and --quiet is not enabled:
NOTE: This --autounmask behavior can be disabled by setting
EMERGE_DEFAULT_OPTS="--autounmask=n" in make.conf.
Zac Medico [Fri, 3 Jun 2011 21:47:55 +0000 (14:47 -0700)]
make_http_request: fix request arguments
This will fix "TypeError: must be string or buffer, not dict" with
python 2.7, as reported in bug #369913.
Zac Medico [Fri, 3 Jun 2011 11:20:27 +0000 (04:20 -0700)]
dblink.merge: remove autoclean emergelog calls
This logging is non-essential, and it's somewhat out of place to call
emergelog from dblink.merge since emerge is not the only caller of
this code.
Zac Medico [Fri, 3 Jun 2011 10:16:16 +0000 (03:16 -0700)]
dblink.merge: remove unused scheduler callbacks
Zac Medico [Fri, 3 Jun 2011 10:13:23 +0000 (03:13 -0700)]
dblink.unmerge: fix some background logic cases
Zac Medico [Fri, 3 Jun 2011 05:40:39 +0000 (22:40 -0700)]
autounmask-write: mention --ask in docs
Zac Medico [Fri, 3 Jun 2011 05:24:10 +0000 (22:24 -0700)]
etc-update: disable clear_term by default
Zac Medico [Fri, 3 Jun 2011 05:20:51 +0000 (22:20 -0700)]
autounmask-write: force configpro if non-existent
We want to force new_protect_filename to ensure that the user will see
all our changes via etc-update, even if file_to_write_to doesn't exist
yet.
Zac Medico [Fri, 3 Jun 2011 03:47:09 +0000 (20:47 -0700)]
add_pkg_dep_string: fix reversed inst_pkgs order
This code was intended to iterate over packages in descending order,
but match_pkgs() returns them in ascending order, so we need to
reverse it.
Zac Medico [Fri, 3 Jun 2011 03:31:02 +0000 (20:31 -0700)]
add_pkg_dep_string: remove unused root_slot var
Zac Medico [Fri, 3 Jun 2011 03:09:42 +0000 (20:09 -0700)]
Use bool(digraph) instead of empty()/is_empty().
Zac Medico [Fri, 3 Jun 2011 02:35:05 +0000 (19:35 -0700)]
dblink.unmerge: init log_path earlier, don't pop
There's no need to pop PORTAGE_LOG_FILE here, since
PORTAGE_BACKGROUND=subprocess disables logging when necessary.
Zac Medico [Fri, 3 Jun 2011 00:36:33 +0000 (17:36 -0700)]
repository/config: PORTDIR/overlay priority tweak
This ensures compatibility with previous portage versions for cases in
which the user has added PORTDIR to PORTDIR_OVERLAY as a means to modify its
priority relative to overlays when selecting ebuilds.
Zac Medico [Thu, 2 Jun 2011 21:55:14 +0000 (14:55 -0700)]
NEWS: FEATURES=parallel-install and ebuild-locks
Zac Medico [Thu, 2 Jun 2011 21:43:56 +0000 (14:43 -0700)]
NEW/RELEASE-NOTES: add items for portage-2.1.10
Zac Medico [Thu, 2 Jun 2011 21:02:46 +0000 (14:02 -0700)]
portageq: exclude expand_new_virt from commands
This is necessary since portage probes functions in globals() and
treats functions it finds as commands. Also, use lazy import to
minimize global scope imports.
Zac Medico [Thu, 2 Jun 2011 12:50:54 +0000 (05:50 -0700)]
portageq: add new expand_virtual function
Something like this was requested in bug #157357. Now that Gentoo has
migrated all virtuals to GLEP 37 new-style virtuals, this kind of
function may be helpful in order to resolve the currently installed
provider of a particular virtual in scripts like bootstrap.sh.
Usage:
portageq expand_virtual <root> <atom>
Returns a \n separated list of atoms expanded from a
given virtual atom, excluding blocker atoms. Satisfied
virtual atoms are not included in the output, since
they are expanded to real atoms which are displayed.
Unsatisfied virtual atoms are displayed without
any expansion. The "match" command can be used to
resolve the returned atoms to specific installed
packages.
Example input/output:
$ portageq expand_virtual / virtual/jre
=dev-java/sun-jdk-1.6.0*
$ portageq expand_virtual / virtual/jre:1.5
dev-java/gcj-jdk
$ portageq expand_virtual / virtual/package-manager
sys-apps/portage
$ portageq expand_virtual / virtual/libc
sys-libs/glibc:2.2
$ portageq expand_virtual / virtual/os-headers
sys-kernel/linux-headers:0
Zac Medico [Tue, 31 May 2011 22:22:02 +0000 (15:22 -0700)]
repoman: disallow EMERGE_FROM in EAPI 4
We already have the Eapi4GoneVars check for AA and KV which were
removed in EAPI 4, so we can re-use it to disallow EMERGE_FROM.
This will fix bug #368865.
Zac Medico [Tue, 31 May 2011 21:48:55 +0000 (14:48 -0700)]
etc-update: add clear_term config for bug #142508