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.
Michał Górny [Mon, 5 Jul 2010 09:21:23 +0000 (11:21 +0200)]
Support repository-wide updates.
Support reading repository-wide update files. Apply them as long as the
'repository' for vardb entry matches the repository update is
originating from. For world and configuration files, use the best vardb
match.
Zac Medico [Tue, 27 Jul 2010 20:19:00 +0000 (13:19 -0700)]
Make the world-candidate package set attribute default to False, since
[usersets] is the only one for which it is True in the default config.
Sebastian Luther [Tue, 27 Jul 2010 11:46:09 +0000 (13:46 +0200)]
extended atom syntax: Add comment to make.conf man page
Sebastian Luther [Tue, 27 Jul 2010 09:32:22 +0000 (11:32 +0200)]
Tests: add sets/base/testInternalPackageSet
Sebastian Luther [Tue, 27 Jul 2010 08:55:46 +0000 (10:55 +0200)]
portage.sets: Don't allow extended atoms unless explicitly told to
Michał Górny [Tue, 27 Jul 2010 07:31:47 +0000 (09:31 +0200)]
Use a directory for the default set configuration.
Expect /usr/share/portage/config/sets to be a directory containing any
number of set configuration files. The default Portage sets.conf should
be now installed as sets/portage.conf, and other ebuilds are free to
install their own set configuration files there.
Zac Medico [Tue, 27 Jul 2010 07:10:15 +0000 (00:10 -0700)]
Fix PackageSet._updateAtomMap() to use ExtendedAtomDict.setdefault()
since ExtendedAtomDict__getitem__ doesn't allow modification of
items.
David James [Wed, 21 Jul 2010 01:28:54 +0000 (01:28 +0000)]
Fix race condition in Portage symlink creation.
Zac Medico [Tue, 27 Jul 2010 05:47:23 +0000 (22:47 -0700)]
Fix ExtendedAtomDict so get() and __getitem__() behave consistently,
since otherwise it can be quite confusing.
Zac Medico [Tue, 27 Jul 2010 05:08:52 +0000 (22:08 -0700)]
Make ExtendedAtomDict inherit from MutableMapping, and fix __getitem__
to raise KeyError if given a non-string argument.
Zac Medico [Mon, 26 Jul 2010 09:26:58 +0000 (02:26 -0700)]
Allow the --depclean library consumer check to be disabled by
--depclean-lib-check=n.
Zac Medico [Mon, 26 Jul 2010 08:16:33 +0000 (01:16 -0700)]
If more than 20 file collisions occur, only look up the first 20 since
get_owners is slow for large numbers of files.
Zac Medico [Mon, 26 Jul 2010 08:02:56 +0000 (01:02 -0700)]
When the iter_owners dblink cache becomes full, do not finish processing
the current path, and go directly to the low-memory implemention.
Zac Medico [Sun, 25 Jul 2010 21:59:56 +0000 (14:59 -0700)]
Make extended_cp_match() use re.escape() for safety, and since the result is
cached here anyway.
Zac Medico [Sun, 25 Jul 2010 21:45:32 +0000 (14:45 -0700)]
Bug #329159 - If there are merge collisions are detected, only search for
owners if either collision-protect or protect-owned is enabled.
Zac Medico [Sun, 25 Jul 2010 21:31:09 +0000 (14:31 -0700)]
Make iter_owners() switch to a slower but lower-memory mode if the number
of given files > 10 or dynamically if the dblink_cache grows to 20
instances.
Sebastian Luther [Sun, 25 Jul 2010 19:42:00 +0000 (12:42 -0700)]
Bug #329803 - Make unmerge() show a machine-readable list of selected packages.