Zac Medico [Tue, 21 Jun 2011 01:31:17 +0000 (18:31 -0700)]
UseManager: avoid possible repo KeyErrors
Zac Medico [Tue, 21 Jun 2011 01:08:59 +0000 (18:08 -0700)]
config: repo-level make.defaults/package.use
This completes the implementation of bug #370693.
Zac Medico [Tue, 21 Jun 2011 00:43:13 +0000 (17:43 -0700)]
config: fix repositories attribute for clone
Zac Medico [Sun, 19 Jun 2011 19:44:21 +0000 (12:44 -0700)]
portage.5: document more repo-level config files
At the repository level, package.mask has been supported for some time.
Support for use.force, package.use.force, use.mask and package.use.mask
was recently added in commit
96ab7b436ceb3543f5158aab1fab48470c3f0b98.
Arfrever Frehtes Taifersar Arahesis [Sun, 19 Jun 2011 19:40:32 +0000 (21:40 +0200)]
Bug #370693: Handle package.use.force and package.use.mask files from master
repositories.
Arfrever Frehtes Taifersar Arahesis [Sun, 19 Jun 2011 16:37:56 +0000 (18:37 +0200)]
Bug #370693: Support use.force, package.use.force, use.mask and
package.use.mask files in ${repository}/profiles.
Zac Medico [Sat, 18 Jun 2011 22:09:07 +0000 (15:09 -0700)]
emaint binhost: add method for SIZE/MTIME checks
Zac Medico [Sat, 18 Jun 2011 19:51:12 +0000 (12:51 -0700)]
emaint binhost: check SIZE and MTIME
Zac Medico [Sat, 18 Jun 2011 17:53:42 +0000 (10:53 -0700)]
portageq: fix all_best_visible to fail early
This will fix bug #372193.
Zac Medico [Fri, 17 Jun 2011 22:35:29 +0000 (15:35 -0700)]
repoman: handle PermissionDenied from digestgen
This will fix bug #371987.
Zac Medico [Fri, 17 Jun 2011 21:58:37 +0000 (14:58 -0700)]
misspell-suggestions: filter the input cp
Obviously, we don't want to consider the input cp as a possible
suggestion, as reported in bug 372033.
Zac Medico [Fri, 17 Jun 2011 20:57:02 +0000 (13:57 -0700)]
treewalk: set REPLACING_VERSIONS later
Settings like this are better done after doebuild_environment, in case
doebuild_environment calls config.setcpv/reset. This avoids the need to
call backup_changes which is not really intended for per-package
settings since it tends to pollute the config instance with settings
that survive config.reset() calls.
Zac Medico [Fri, 17 Jun 2011 19:39:06 +0000 (12:39 -0700)]
doebuild: don't set REPLACING_VERSIONS for remove
Also, don't call backup_changes with this variable, since it's not
necessary and we don't want to pollute the config instance.
Zac Medico [Fri, 17 Jun 2011 19:25:31 +0000 (12:25 -0700)]
doebuild: export REPLACING_VERSIONS more
This is for api consumers like Sabayon's Entropy.
Zac Medico [Thu, 16 Jun 2011 20:03:43 +0000 (13:03 -0700)]
repoman: only report allmasked if ebuilds exist
Zac Medico [Thu, 16 Jun 2011 19:23:26 +0000 (12:23 -0700)]
prepare_build_dirs: skip FEATURES dirs more
We don't need to prepare ccache/distcc FEATURES dirs for pkg_info or
pkg_pretend phases. This will fix bug #371909.
Zac Medico [Thu, 16 Jun 2011 15:35:16 +0000 (08:35 -0700)]
expand_set_args: add root SetArg nodes to graph
This prevents get_dep_chain from triggering a KeyError some cases as
reported in bug #371767.
Zac Medico [Mon, 13 Jun 2011 22:13:17 +0000 (15:13 -0700)]
bintree: don't provide default VERSION header
We want to make sure that we know when the VERSION header is missing,
so we shouldn't provide a default value.
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.