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.
Zac Medico [Sun, 25 Jul 2010 19:11:19 +0000 (12:11 -0700)]
Make extended_cp_match() cache regular expressions for re-use.
Zac Medico [Sun, 25 Jul 2010 18:23:28 +0000 (11:23 -0700)]
Add a gc.collect() call inside iter_owers(), since people are reporting
high memory usage there. We should really only use this function to search
for a small number of files. Larger numbers of files should use a different
algorithm that will ensure that each CONTENTS file is only parsed once.
Zac Medico [Sun, 25 Jul 2010 17:56:48 +0000 (10:56 -0700)]
Re-implement extended_cp_match() using regex, and only support cp (instead
of full atoms) since that all we need.
Zac Medico [Sun, 25 Jul 2010 17:21:11 +0000 (10:21 -0700)]
Fix description of FEATURES=fixlafiles.
Sebastian Luther [Sun, 25 Jul 2010 07:12:59 +0000 (09:12 +0200)]
FEATURES: Rename lafilefixing -> fixlafiles
Sebastian Luther [Sat, 24 Jul 2010 18:19:56 +0000 (20:19 +0200)]
extended atom syntax: Allow wildcards in all places
Zac Medico [Sat, 24 Jul 2010 20:52:44 +0000 (13:52 -0700)]
Handle UnicodeDecodeError from subprocess.getstatusoutput() calls, reported
with python3.1.
Sebastian Luther [Fri, 23 Jul 2010 19:12:07 +0000 (21:12 +0200)]
portage.dep._use_dep: better validation, enable all tests
Sebastian Luther [Fri, 23 Jul 2010 13:43:40 +0000 (15:43 +0200)]
portage.dep.isvalidatom(): Add support for atoms with wildcards
Sebastian Luther [Fri, 23 Jul 2010 13:21:05 +0000 (15:21 +0200)]
Test: Add dep/test_best_match_to_list
Sebastian Luther [Fri, 23 Jul 2010 12:53:57 +0000 (14:53 +0200)]
Tests: dep/test_match_from_list: Complete rewrite
Sebastian Luther [Fri, 23 Jul 2010 12:28:19 +0000 (14:28 +0200)]
Tests: Extend dep/testAtom.py and add test cases for wildcards Two failing tests disabled for now.
Sebastian Luther [Fri, 23 Jul 2010 12:25:11 +0000 (14:25 +0200)]
portage.tests.TestCase: Add assertRaisesMsg() from pkgcore
Sebastian Luther [Fri, 23 Jul 2010 11:05:42 +0000 (13:05 +0200)]
--exclude: Add support for atoms with wildcards
Sebastian Luther [Fri, 23 Jul 2010 10:56:55 +0000 (12:56 +0200)]
portage.sets: Add support for atoms with wildcards
Sebastian Luther [Fri, 23 Jul 2010 10:38:19 +0000 (12:38 +0200)]
Make atoms with wildcards work in package.properties
Sebastian Luther [Fri, 23 Jul 2010 10:36:08 +0000 (12:36 +0200)]
Make atoms with wildcards work in package.license
Sebastian Luther [Fri, 23 Jul 2010 10:26:13 +0000 (12:26 +0200)]
Make atoms with wildcards work in package.mask and package.unmask
Sebastian Luther [Fri, 23 Jul 2010 10:13:53 +0000 (12:13 +0200)]
Make atoms with wildcards in package.use work
Sebastian Luther [Fri, 23 Jul 2010 10:13:04 +0000 (12:13 +0200)]
portage.dep.{match_from_list,best_match_to_list}: Add support for wildcards in atoms
Sebastian Luther [Fri, 23 Jul 2010 07:54:41 +0000 (09:54 +0200)]
portage.ebuild.config: Allow wildcards in atoms in user configuration
Sebastian Luther [Fri, 23 Jul 2010 07:41:20 +0000 (09:41 +0200)]
portage.util.grab*(): Add optional parameter to allow wildscards in atoms
Sebastian Luther [Fri, 23 Jul 2010 07:36:31 +0000 (09:36 +0200)]
portage.dep.Atom: Add optional parameter to allow wildcards (*/*, cat/*, */pkg)
Zac Medico [Wed, 21 Jul 2010 01:38:20 +0000 (18:38 -0700)]
Move the mod_echo import to the top, so the module is pre-loaded.
Zac Medico [Wed, 21 Jul 2010 00:13:11 +0000 (17:13 -0700)]
Remove 'mysettings' arguments from finalize() functions since the
shouldn't be needed for backward compatibility anymore.
Zac Medico [Tue, 20 Jul 2010 13:12:49 +0000 (06:12 -0700)]
Bug #328935 - Document ${ACTION} substitution in PORTAGE_ELOG_MAILSUBJECT.
Zac Medico [Mon, 19 Jul 2010 22:49:05 +0000 (15:49 -0700)]
Bug #328317 - If libc is artifically promoted in the merge list
(for bug #303567), promote os-headers before it.
Mike Frysinger [Mon, 19 Jul 2010 21:19:46 +0000 (17:19 -0400)]
install_qa_check: catch more gcc warnings
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Zac Medico [Mon, 19 Jul 2010 18:04:17 +0000 (11:04 -0700)]
In portdbapi.getfetchsizes(), only split PORTAGE_RO_DISTDIRS when necessary.
Zac Medico [Mon, 19 Jul 2010 05:45:45 +0000 (22:45 -0700)]
Skip unecessary stat calls on PORTAGE_RO_DISTDIRS in
portdbapi.getfetchsizes().
Zac Medico [Mon, 19 Jul 2010 05:07:42 +0000 (22:07 -0700)]
Bug #305035 - Fix portdbapi.getfetchsizes() to account for
PORTAGE_RO_DISTDIRS.
Sebastian Luther [Sun, 18 Jul 2010 05:39:39 +0000 (07:39 +0200)]
lafilefixing: Use .replace() instead of the broken regex to update the contents
Zac Medico [Fri, 16 Jul 2010 18:37:51 +0000 (11:37 -0700)]
Fix broken reference to self._settings (from previous commit).
Zac Medico [Fri, 16 Jul 2010 18:17:08 +0000 (11:17 -0700)]
Bug #327883 - Make EbuildBuild call the pre-clean phase prior to
EbuildFetcher, in order to avoid re-use/removal of a build log
from a previously failed build. This involves moving the pre-clean
phase from EbuildExecuter to EbuildBuild, and moving build dir
handling from EbuildFetcher to EbuildBuild.
Zac Medico [Fri, 16 Jul 2010 07:22:17 +0000 (00:22 -0700)]
Make EbuildBuildDir.clean_log() do nothing when FEATURES=keepwork is
enabled.
Zac Medico [Fri, 16 Jul 2010 05:14:01 +0000 (22:14 -0700)]
Make prepare_build_dirs() respect FEATURES=keeptemp.
Michał Górny [Thu, 15 Jul 2010 09:33:03 +0000 (11:33 +0200)]
Remove 'filedir.missing' check info.
It is not used anywhere, and don't seem to be a useful check at all.
Zac Medico [Thu, 15 Jul 2010 03:32:33 +0000 (20:32 -0700)]
Use b'foo' instead of _unicode_encode() where appropriate.
Zac Medico [Thu, 15 Jul 2010 03:18:54 +0000 (20:18 -0700)]
Fix unicode handling in arguments and commit message handling (tested
with python2 and python3).
Michał Górny [Wed, 14 Jul 2010 21:17:07 +0000 (23:17 +0200)]
Combine the two 'file.executable' checks into a single one.
Instead of performing a single 'file.executable' check on auxiliary
files and then another one on ebuild files, use a single check for them.
This unifies the path output too.
Fabian Groffen [Wed, 14 Jul 2010 19:37:59 +0000 (21:37 +0200)]
Add forgotten trailing comma.
This caused Portage to wrongly claim some FEATURES not to be valid.
Michał Górny [Wed, 14 Jul 2010 09:32:31 +0000 (11:32 +0200)]
Add FindVCS() to __all__.
Michał Górny [Wed, 14 Jul 2010 09:12:08 +0000 (11:12 +0200)]
Drop deprecated self.eapi saving.
Michał Górny [Wed, 14 Jul 2010 09:13:01 +0000 (11:13 +0200)]
Retab.
Michał Górny [Wed, 14 Jul 2010 08:56:35 +0000 (10:56 +0200)]
Support BrE spelling 'licence' in UselessDodoc check.
Michał Górny [Wed, 14 Jul 2010 08:28:12 +0000 (10:28 +0200)]
Add EAPI 3-defined variables to the readonly check.
Michał Górny [Wed, 14 Jul 2010 08:16:14 +0000 (10:16 +0200)]
Make copyright/CVS header checks more strict.
Zac Medico [Wed, 14 Jul 2010 08:10:02 +0000 (01:10 -0700)]
* Add support for PORTAGE_USERNAME and PORTAGE_GRPNAME
environment variables, for use within the chromium-os
build environment.
* Add PORTAGE_USERNAME and PORTAGE_GRPNAME to the environment
whitelist and filter them from the saved environment.
Note: In order to support PORTAGE_USERNAME and PORTAGE_GRPNAME
settings in make.conf, the associated portage.data attributes
may be relocated to the config class in the future.
Zac Medico [Wed, 14 Jul 2010 02:31:41 +0000 (19:31 -0700)]
Use epytext markup in rewrite_lafile() docstring, and add note about
use of raw bytes.
Zac Medico [Wed, 14 Jul 2010 01:03:14 +0000 (18:03 -0700)]
Use _encodings['merge'] for *.la filenames.
Sebastian Luther [Tue, 13 Jul 2010 14:48:00 +0000 (07:48 -0700)]
Bug #328099 - Adjust ccache documentation
Sebastian Luther [Mon, 12 Jul 2010 19:40:00 +0000 (12:40 -0700)]
warn that ccache can trigger compilation failure
Michał Górny [Mon, 12 Jul 2010 12:24:00 +0000 (14:24 +0200)]
repoman: don't complain about stray Manifests.
As repoman regenerates and readds Manifests anyway, there's no reason to
complain when one hasn't been added yet.
Zac Medico [Mon, 12 Jul 2010 11:49:55 +0000 (04:49 -0700)]
Fix output handling for FEATURES="lafilefixing".
Zac Medico [Mon, 12 Jul 2010 10:49:13 +0000 (03:49 -0700)]
Fix writemsg to only use fd.buffer when it is stderr or stdout.
Zac Medico [Mon, 12 Jul 2010 10:24:03 +0000 (03:24 -0700)]
Make lafilefixer handle files in binary mode, in order to avoid potential
character encoding issues.
Sebastian Luther [Mon, 12 Jul 2010 08:41:32 +0000 (10:41 +0200)]
Let emerge fix .la files
Triggered by FEATURES="lafilefixing" (enabled by default)
Includes a QA warning for invalid .la files.