Zac Medico [Tue, 10 Aug 2010 09:28:34 +0000 (02:28 -0700)]
Don't use os.getlogin() since apparently it's unreliable.
Zac Medico [Tue, 10 Aug 2010 09:20:33 +0000 (02:20 -0700)]
Pretend that the current user's uid/gid are the 'portage' uid/gid,
so things go smoothly regardless of the current user and global
user/group configuration.
Zac Medico [Tue, 10 Aug 2010 08:58:37 +0000 (01:58 -0700)]
Add suitable default PORTAGE_TMPDIR setting.
Zac Medico [Tue, 10 Aug 2010 08:41:37 +0000 (01:41 -0700)]
Try using _emerge.main.setconfig_fallback() to make tests pass
on the buildbot.
Sebastian Luther [Tue, 10 Aug 2010 08:10:58 +0000 (10:10 +0200)]
portage.dep.paren_reduce: Remove redundant brackets
Zac Medico [Tue, 10 Aug 2010 07:37:54 +0000 (00:37 -0700)]
When executing the 'depend' phase inside aux_get(), use the
EbuildMetadataPhase class, so we can eliminate redundant code.
Sebastian Luther [Tue, 10 Aug 2010 06:41:10 +0000 (08:41 +0200)]
portage.dep: Rewrite paren_reduce and add tests
Zac Medico [Tue, 10 Aug 2010 06:38:38 +0000 (23:38 -0700)]
Relocate attributes from AbstractEbuildProcess to subclasses that use
them, since EbuildSpawnProcess doesn't use the attributes.
Zac Medico [Tue, 10 Aug 2010 06:27:21 +0000 (23:27 -0700)]
Convert doebuild.spawn() to use the AsynchronousTask api, which
will be useful for ebuild IPC implementation.
Zac Medico [Tue, 10 Aug 2010 00:41:10 +0000 (17:41 -0700)]
In cp_list(), use basestring for ininstance check on the mytree
parameter, and assume it's iterable if it's not a string.
Brian Dolbec [Mon, 9 Aug 2010 08:05:03 +0000 (01:05 -0700)]
add optional list support for mytree to complinment the trees param in cp_list()
Zac Medico [Mon, 9 Aug 2010 10:35:45 +0000 (03:35 -0700)]
Fix /etc/portage/package.keywords handling so that more specific
atoms override less specific atoms.
Zac Medico [Mon, 9 Aug 2010 10:05:00 +0000 (03:05 -0700)]
Tweak the profile package.* atom specificity code to use
list.append() and finally list.reverse(), instead of a bunch
of list.insert() calls. This should be easier to read.
Zac Medico [Mon, 9 Aug 2010 08:57:41 +0000 (01:57 -0700)]
Call portage._disable_legacy_globals() in order to ensure that we
don't instantiate portage.settings, so that tests should work the
same regardless of global configuration file state/existence.
Zac Medico [Mon, 9 Aug 2010 03:43:16 +0000 (20:43 -0700)]
Detect if python xml support is enabled and bail out with an
appropriate when necessary.
Sebastian Luther [Sun, 8 Aug 2010 19:55:51 +0000 (21:55 +0200)]
Tests: dep/testAtom: add test for Atom.violated_conditionals()
Sebastian Luther [Sun, 8 Aug 2010 19:10:22 +0000 (21:10 +0200)]
portage.dep.Atom.violated_conditionals(): Fix "not / is None" bug
Sebastian Luther [Sun, 8 Aug 2010 20:52:50 +0000 (22:52 +0200)]
Tests: Let ./runTests take files as argument to run only the test in these files
Sebastian Luther [Sat, 7 Aug 2010 08:51:51 +0000 (10:51 +0200)]
autounmask: rename _needed_user_config_changes in _needed_unstable_keywords. Let the tests check for it.
Sebastian Luther [Sat, 7 Aug 2010 08:22:46 +0000 (10:22 +0200)]
Test: resolver/test_autounmask: Check the suggested use changes
Sebastian Luther [Sat, 7 Aug 2010 08:07:38 +0000 (10:07 +0200)]
Tests: resolver/test_autounmask: Remove test that don't test what they were supposed to
Sebastian Luther [Sat, 7 Aug 2010 08:07:13 +0000 (10:07 +0200)]
autounmask: Restart less often for use changes
Arfrever Frehtes Taifersar Arahesis [Sat, 7 Aug 2010 17:38:59 +0000 (19:38 +0200)]
Bug #308835: Support options in shebang and terminate 's' option of sed.
Zac Medico [Sat, 7 Aug 2010 05:04:25 +0000 (22:04 -0700)]
Ensure that _select_pkg_highest_available_imp() falls back to an
installed package if the autounmask path fails to select something.
Zac Medico [Sat, 7 Aug 2010 01:06:59 +0000 (18:06 -0700)]
Fix _getMissingProperties() package.properties handling so that settings
from more specific atoms override those of less specific atoms.
Zac Medico [Sat, 7 Aug 2010 01:00:30 +0000 (18:00 -0700)]
Fix _getMissingLicenses() package.license handling so that settings
from more specific atoms override those of less specific atoms.
Zac Medico [Sat, 7 Aug 2010 00:45:45 +0000 (17:45 -0700)]
Bug #331413 - Clarify the behavior of the =$CATEGORY/$PN-$VERSION* atom
operator some more. Thanks to Dennis Schridde <devurandom@gmx.net>.
Zac Medico [Sat, 7 Aug 2010 00:34:09 +0000 (17:34 -0700)]
Use ResolverPlayground for it's config instance, so that we don't
instantiate portage.settings.
Zac Medico [Sat, 7 Aug 2010 00:25:41 +0000 (17:25 -0700)]
Bug #331429 - Fix breakage in package.properties and package.license
handling due to behavior of ExtendedAtomDict.get(). We need to use
setdefault() when updating ExtendedAtomDict like this.
Zac Medico [Sat, 7 Aug 2010 00:16:09 +0000 (17:16 -0700)]
Implement ExtendedAtomDict.__len__().
Zac Medico [Sat, 7 Aug 2010 00:01:12 +0000 (17:01 -0700)]
Implement ExtendedAtomDict.__iter__().
Zac Medico [Fri, 6 Aug 2010 23:27:26 +0000 (16:27 -0700)]
Fix _select_pkg_highest_available_imp to reject installed packages
returned from _wrapped_select_pkg_highest_available_imp when
necessary.
Zac Medico [Fri, 6 Aug 2010 23:15:15 +0000 (16:15 -0700)]
Rename allow_missing_keywords to allow_unstable_keywords since that's
what it does.
Zac Medico [Fri, 6 Aug 2010 23:01:06 +0000 (16:01 -0700)]
Delay variable definitions in _pkg_visibility_check until
they are needed.
Zac Medico [Fri, 6 Aug 2010 22:38:21 +0000 (15:38 -0700)]
Make dep_check use depgraph._pkg_use_enabled to query USE settings of new-style virtuals when appropriate.
Zac Medico [Fri, 6 Aug 2010 22:53:26 +0000 (15:53 -0700)]
Use finally block for autounmask handling inside
_select_atoms_highest_available.
Sebastian Luther [Fri, 6 Aug 2010 19:14:21 +0000 (21:14 +0200)]
autounmask: Add ability to adjust USE
Arfrever Frehtes Taifersar Arahesis [Fri, 6 Aug 2010 16:37:43 +0000 (18:37 +0200)]
Fix typo in comment.
Zac Medico [Fri, 6 Aug 2010 12:49:28 +0000 (05:49 -0700)]
Add a _MaskReason.hint attribute that the --autounmask code can use
to simplify the 'unstable keyword' check.
Zac Medico [Fri, 6 Aug 2010 12:42:07 +0000 (05:42 -0700)]
Use _get_masking_status() for the --autounmaks KEYWORDS check.
Zac Medico [Fri, 6 Aug 2010 12:30:42 +0000 (05:30 -0700)]
* Split out a _get_masking_status() method that returns categorized
message objects instead of plain strings.
* Move masks to the "invalid" category.
Zac Medico [Fri, 6 Aug 2010 12:09:30 +0000 (05:09 -0700)]
Bug #331413 - Clarify valid $VERSION parts that may be used in
conjunction with the =$CATEGORY/$PN-$VERSION* atom operator.
Zac Medico [Fri, 6 Aug 2010 11:57:05 +0000 (04:57 -0700)]
Split out a _getmaskingstatus() method that returns categorized
message objects instead of plain strings.
Zac Medico [Fri, 6 Aug 2010 10:48:26 +0000 (03:48 -0700)]
Use a regular expression to simplify dblink.getcontents().
Zac Medico [Fri, 6 Aug 2010 08:21:47 +0000 (01:21 -0700)]
In action_unmerge(), create a Schuduler instance for calls to unmerge(),
in order to cause redirection of ebuild phase output to logs as required
for options such as --quiet.
Zac Medico [Fri, 6 Aug 2010 07:24:16 +0000 (00:24 -0700)]
Pass more parameters to the Package constructor.
Zac Medico [Fri, 6 Aug 2010 06:35:33 +0000 (23:35 -0700)]
Fix scope issue that could cause 'retval' variable to be undefined.
Zac Medico [Fri, 6 Aug 2010 02:35:37 +0000 (19:35 -0700)]
Bug #331271 - Fix USE_EXPAND wildcards so that the USE="linguas_*
-linguas_en_US" case is handled correctly.
Zac Medico [Thu, 5 Aug 2010 23:02:25 +0000 (16:02 -0700)]
Bug #331271 - Fix USE_EXPAND wildcards so that the USE="linguas_en_US
-linguas_*" case is handled correctly.
Zac Medico [Thu, 5 Aug 2010 22:22:53 +0000 (15:22 -0700)]
Use ValueError.args since direct indexing of ValueError is not
supported in python3, as reported in bug 241132, commment #4.
Zac Medico [Thu, 5 Aug 2010 22:11:24 +0000 (15:11 -0700)]
Add a test case for lazyimport._preload_portage_submodules().
Zac Medico [Thu, 5 Aug 2010 20:34:47 +0000 (13:34 -0700)]
Add a fake _test_ option to myopts that can be used for conditional test code.
Zac Medico [Thu, 5 Aug 2010 20:33:38 +0000 (13:33 -0700)]
Use a ResolverPlayground.cleanup() method to cleanup temporary directories.
Sebastian Luther [Thu, 5 Aug 2010 14:29:31 +0000 (16:29 +0200)]
Tests: Add resolver/test_eapi (2 tests disabled)
The resolver accepts EAPI-0 ebuilds with IUSE defaults and slot dependencies.
Sebastian Luther [Thu, 5 Aug 2010 13:47:00 +0000 (15:47 +0200)]
Tests: Add resolver/test_simple and the resolver test infrastructure
Sebastian Luther [Thu, 5 Aug 2010 13:45:22 +0000 (15:45 +0200)]
_emerge.depgraph: If "/" not in trees, treat target_root as running_root (needed for tests)
Arfrever Frehtes Taifersar Arahesis [Thu, 5 Aug 2010 20:06:02 +0000 (22:06 +0200)]
Make some variables local.
Arfrever Frehtes Taifersar Arahesis [Thu, 5 Aug 2010 19:28:25 +0000 (21:28 +0200)]
Bug #301915: Add QA check for byte-compiled Python modules.
Arfrever Frehtes Taifersar Arahesis [Thu, 5 Aug 2010 14:51:34 +0000 (16:51 +0200)]
EOFError can still be raised by array.fromfile() in Python >=2.6.6 and >=2.7.1.
Arfrever Frehtes Taifersar Arahesis [Thu, 5 Aug 2010 13:02:20 +0000 (15:02 +0200)]
Bug #330937: Handle IOError raised by remaining calls to array.fromfile().
Zac Medico [Thu, 5 Aug 2010 10:46:20 +0000 (03:46 -0700)]
Simplify passing of the backtracking parameters from one graph
to the next.
Zac Medico [Thu, 5 Aug 2010 09:45:29 +0000 (02:45 -0700)]
* Add a --autounmask[=n] option and for now leave it disable
by default in order to minimize the impact of any bugs.
* If _wrapped_select_pkg_highest_available_imp returns an installed
package when the user has not explicitly requested for this package
to be replaced (typically via an atom on the command line), reject
the installed package and try to unmask one.
Sebastian Luther [Thu, 5 Aug 2010 07:39:44 +0000 (09:39 +0200)]
_emerge.depgraph.get_backtrack_parameters(): Return a dict instead of a tuple
Sebastian Luther [Thu, 5 Aug 2010 07:23:32 +0000 (09:23 +0200)]
_emerge.depgraph: Keep _needed_user_config_changes during backtracking
Sebastian Luther [Thu, 5 Aug 2010 06:52:27 +0000 (08:52 +0200)]
_emerge.depgraph: Use _pkg_visibility_check() everywhere
Sebastian Luther [Wed, 4 Aug 2010 21:31:21 +0000 (23:31 +0200)]
Automatically take packages masked by ~arch if needed and inform the user
Zac Medico [Thu, 5 Aug 2010 06:18:52 +0000 (23:18 -0700)]
Bug #308835 - Make econf() use sed to substitute $CONFIG_SHELL in
the shebang of configure scripts when appropriate.
Zac Medico [Thu, 5 Aug 2010 05:32:52 +0000 (22:32 -0700)]
Bug #330179 - Ensure that depgraph._show_unsatisfied_dep() only shows
masked packages if one of them satisfies required IUSE.
Zac Medico [Thu, 5 Aug 2010 05:22:44 +0000 (22:22 -0700)]
Bug #330179 - Fix depgraph._show_unsatisfied_dep() to show a masked
package when possible, instead of 'Missing IUSE' message for an
unmasked package.
Zac Medico [Thu, 5 Aug 2010 05:06:59 +0000 (22:06 -0700)]
Bug #285191 - Add back the RDEPEND.implicit warning to detect the cases
where DEPEND is set and RDEPEND is unset in the ebuild, since this
triggers implicit RDEPEND=$DEPEND assignment (prior to EAPI 4) and is
forbidden by the QA team.
Sebastian Luther [Mon, 26 Jul 2010 19:16:58 +0000 (21:16 +0200)]
repoman: Check if the prefix.eclass is inherited if eprefixify is used. Thanks to Jeremy Olexa (darkside) for the initial patch.
Zac Medico [Wed, 4 Aug 2010 07:50:25 +0000 (00:50 -0700)]
Add a sanity check in _preload_portage_submodules() to ensure that the
loop always terminates.
Zac Medico [Wed, 4 Aug 2010 04:14:42 +0000 (21:14 -0700)]
Fix infinite loop in _preload_portage_submodules().
Zac Medico [Wed, 4 Aug 2010 03:51:18 +0000 (20:51 -0700)]
Fix typo in docstring.
Zac Medico [Wed, 4 Aug 2010 03:42:36 +0000 (20:42 -0700)]
Bug #330645 - Make _unregister_module_proxy() detect partially imported
modules (indicated when an AttributeError is caught) and handle them
appropriately.
Zac Medico [Wed, 4 Aug 2010 02:33:55 +0000 (19:33 -0700)]
Bug #330645 - Use more lazy imports for the portage.data module, in
order to avoid circular import triggered by missing 'portage' user
or group.
Zac Medico [Tue, 3 Aug 2010 18:46:45 +0000 (11:46 -0700)]
Remove code related to $DISTDIR/.locks since that directory is
actually unused.
Zac Medico [Tue, 3 Aug 2010 08:40:04 +0000 (01:40 -0700)]
Make ExtendedAtomDict.__getitem__() return the value directly from
self._extended when given a wildcard (rather than make an unnecessary
copy).
Zac Medico [Tue, 3 Aug 2010 08:34:10 +0000 (01:34 -0700)]
Move the */* code out of loops for greater efficiency.
Sebastian Luther [Tue, 3 Aug 2010 08:10:56 +0000 (10:10 +0200)]
Make the effect of */* atoms in package.{use,license,properties} show up in emerge --info
Zac Medico [Tue, 3 Aug 2010 04:14:41 +0000 (21:14 -0700)]
Only populate the binarytree for actions that need it (search or
install actions).
Arfrever Frehtes Taifersar Arahesis [Tue, 3 Aug 2010 01:37:02 +0000 (03:37 +0200)]
Bug #330937: Handle IOError raised by array.fromfile().
Zac Medico [Sun, 1 Aug 2010 09:33:08 +0000 (02:33 -0700)]
* Make _world_repo_match() try to match both atoms, so it still works
if the world file and vdb are slighly out of sync wrt package moves.
* Write world file updates at the earliest opportunity.
Zac Medico [Sun, 1 Aug 2010 08:14:51 +0000 (01:14 -0700)]
Make update_config_files() take a dict of {repo_name: list} since it's more
efficient this way, and this function can't be called separately for each
repo if /etc/portage is under CONFIG_PROTECT (because it would produce
separate updated files for each repo).
Zac Medico [Sun, 1 Aug 2010 08:11:41 +0000 (01:11 -0700)]
Fix NameError for ConfigProtect.
Zac Medico [Sun, 1 Aug 2010 05:34:03 +0000 (22:34 -0700)]
Just return boolean to indicate whether or not updates have been performed,
since that's all that the calling code currently needs.
Zac Medico [Sun, 1 Aug 2010 05:23:28 +0000 (22:23 -0700)]
Move the mtimedb timestamps code out of an unnecessary loop.
Zac Medico [Sun, 1 Aug 2010 04:45:18 +0000 (21:45 -0700)]
Always use shlex_split() to split CONFIG_PROTECT{,_MASK}.
Zac Medico [Thu, 29 Jul 2010 05:34:59 +0000 (22:34 -0700)]
Add a warning message to the --package-moves[=n] docs, noting that
should remain enabled under normal circumstances.
Zac Medico [Wed, 28 Jul 2010 15:14:34 +0000 (08:14 -0700)]
Add a --package-moves[=n] option that can be used to control the
"Performing Global Updates" routine. This option is enabled by
default.
Zac Medico [Wed, 28 Jul 2010 14:55:17 +0000 (07:55 -0700)]
Document --depclean-lib-check[=n].
Zac Medico [Wed, 28 Jul 2010 14:39:42 +0000 (07:39 -0700)]
Fix calc_depclean() to skip the topological sort code when there's
nothing selected for removal.
Zac Medico [Wed, 28 Jul 2010 04:30:45 +0000 (21:30 -0700)]
Tweak global updates handling so that updates from $PORTDIR are applied
for all of the following cases:
* package is missing repository metadata
* package has repository metadata, but the source repository does not
have a profiles/updates/ directory
* package has repository metadata, but the source repository is not
currently accessible via PORTDIR_OVERLAY
Zac Medico [Wed, 28 Jul 2010 01:05:01 +0000 (18:05 -0700)]
Fix UnboundLocalError for do_upgrade_packagesmessage.
Zac Medico [Wed, 28 Jul 2010 00:52:11 +0000 (17:52 -0700)]
Fix UnboundLocalError for timestamps variable.
Zac Medico [Wed, 28 Jul 2010 00:45:27 +0000 (17:45 -0700)]
Make dbapi.update_ents() take a dict of {repo_name: list}, since it's
most efficient to process all repos at once.
Michał Górny [Thu, 8 Jul 2010 10:58:01 +0000 (12:58 +0200)]
Fallback to updates from PORTDIR if repository has no 'updates' dir.
As a backwards-compatibility measure, if a particular repository doesn't
come with an 'updates' directory, fallback to updates from
dbapi.porttree_root.
Michał Górny [Thu, 8 Jul 2010 10:40:45 +0000 (12:40 +0200)]
Add repository-wide updates support to emaint.
Michał Górny [Thu, 8 Jul 2010 10:01:33 +0000 (12:01 +0200)]
Support repository-wide updates in FakeVartree.
Michał Górny [Thu, 8 Jul 2010 09:06:28 +0000 (11:06 +0200)]
Limit repository-wide dbentry updates.
Update dbentries only when the repository the package comes from matches
the repository update comes from.