Zac Medico [Thu, 26 Aug 2010 21:29:34 +0000 (14:29 -0700)]
Make the Atom class add 'EAPI.incompatible' category attributes to
InvalidAtom exceptions, make use_reduce() raise InvalidDependString
exceptions that encapsulate InvalidAtom exceptions, and make
Package._validate_deps() use the InvalidAtom categories when
recording the invalid metadata for use by repoman. Also, remove
the EAPI.incompatible code from repoman that's no longer used.
Zac Medico [Thu, 26 Aug 2010 20:29:13 +0000 (13:29 -0700)]
Make parse_metadata_use() emulate the Element.itertext() method from
python-2.7, so egencache --update-use-local-desc gets all of the inner
text.
Zac Medico [Thu, 26 Aug 2010 19:54:17 +0000 (12:54 -0700)]
Make egencache only show a warning about FEATURES=metata-transfer if the
--update option is given.
Zac Medico [Thu, 26 Aug 2010 19:46:35 +0000 (12:46 -0700)]
Fix up error handling for egencache --update-use-local-desc.
Michał Górny [Thu, 26 Aug 2010 19:25:43 +0000 (21:25 +0200)]
egencache: Introduce the --update-use-local-desc action.
Zac Medico [Thu, 26 Aug 2010 18:56:06 +0000 (11:56 -0700)]
Fix repoman's allvalid variable to account for more possibly invalid
ebuilds.
Zac Medico [Thu, 26 Aug 2010 18:29:37 +0000 (11:29 -0700)]
Fix breakage in use_reduce() calls where token_class=Atom is incorrect.
Zac Medico [Thu, 26 Aug 2010 18:17:56 +0000 (11:17 -0700)]
Remove unused max_parents variable.
Zac Medico [Thu, 26 Aug 2010 18:16:00 +0000 (11:16 -0700)]
Fix slot_conflict_handler breakage when calling
Atom.unevaluated_atom.violated_conditionals() since in this case
the parent_use argument is required.
Michał Górny [Thu, 26 Aug 2010 17:13:16 +0000 (19:13 +0200)]
egencache: introduce the preliminary support for multiple actions.
Regroup the options, splitting them into 'Actions', 'Common' and
action-specific options. Always check whether the 'update' action was
chosen. Support catching multiple return codes.
Michał Górny [Thu, 26 Aug 2010 16:51:14 +0000 (18:51 +0200)]
Parse flag descriptions in repoman.utilities.parse_metadata_use().
Grab the USE descriptions from metadata.xml within parse_metadata_use().
Instead of a plain flag list, return a dict containing both the flag
names and their descriptions.
Zac Medico [Thu, 26 Aug 2010 17:12:25 +0000 (10:12 -0700)]
Make use_reduce() call Atom.evaluate_conditionals() when matchall is False,
and pass token_class=Atom in use_reduce() calls so that external
Atom.evaluate_conditionals() calls can be eliminated.
Michał Górny [Thu, 26 Aug 2010 16:38:52 +0000 (18:38 +0200)]
Disable 'unused local USE-description' check if there are any invalids.
If any of the ebuilds is considered invalid, the used_useflags list may
not be complete. Thus, performing the test could cause a lot of useless
noise.
Zac Medico [Thu, 26 Aug 2010 16:18:12 +0000 (09:18 -0700)]
Remove unused myiuse variable in repoman.
Zac Medico [Thu, 26 Aug 2010 16:00:33 +0000 (09:00 -0700)]
In slot_conflict_handler(), never pass parent_use to
Atom.violated_conditionals since the USE conditionals should have been
evaluated in dep_check() and we don't want to accidentally pass a
DependencyArg instance into _pkg_use_enabled().
Zac Medico [Thu, 26 Aug 2010 15:42:28 +0000 (08:42 -0700)]
In slot_conflict_handler._prepare_conflict_msg_and_check_for_specificity()
don't pass parent_use to Atom.violated_conditionals() since these atoms
already have already been through use_reduce() with the parent's USE.
Zac Medico [Thu, 26 Aug 2010 15:35:25 +0000 (08:35 -0700)]
Fix slot_conflict_handler._prepare_conflict_msg_and_check_for_specificity()
so that it only passes Package instances (not DependencyArg instances) into
_pkg_use_enabled().
Zac Medico [Thu, 26 Aug 2010 15:26:28 +0000 (08:26 -0700)]
Add PORTAGE_SIGPIPE_STATUS to config._environ_whitelist.
Zac Medico [Thu, 26 Aug 2010 15:06:37 +0000 (08:06 -0700)]
Add code to dep_check(), borrowed from _expand_new_virtuals(), to pass
eapi to use_reduce() when available.
Sebastian Luther [Thu, 26 Aug 2010 07:53:10 +0000 (09:53 +0200)]
Let use_reduce and Atom do EAPI checks
Zac Medico [Thu, 26 Aug 2010 14:34:12 +0000 (07:34 -0700)]
Fix UnboundLocalError for y on line 177 in _expand_new_virtuals()
Zac Medico [Thu, 26 Aug 2010 06:47:18 +0000 (23:47 -0700)]
Remove obsolete TODO comment.
Zac Medico [Thu, 26 Aug 2010 06:16:37 +0000 (23:16 -0700)]
Tweak grammar for unknown-features-warn message.
Zac Medico [Thu, 26 Aug 2010 05:47:15 +0000 (22:47 -0700)]
Use EAPI.incompatible repoman category for REQUIRED_USE setting in
EAPI that does not support it.
Zac Medico [Thu, 26 Aug 2010 05:44:05 +0000 (22:44 -0700)]
Make Package._validate_deps() use check_required_use() to validate
REQUIRED_USE.
Zac Medico [Thu, 26 Aug 2010 05:20:43 +0000 (22:20 -0700)]
Just raise InvalidDependString in cases when it shouldn't happen since
the package is not installed and it should have been validated and masked
already if necessary.
Zac Medico [Thu, 26 Aug 2010 05:05:42 +0000 (22:05 -0700)]
Make _get_masking_status() return masking reasons for installed packages
with invalid metadata, and remove show_invalid_depstring_notice()
calls for installed packages since depgraph.display_problems() will
now show the invalid metadata masking reasons when it displays installed
packages that are masked.
Zac Medico [Thu, 26 Aug 2010 04:50:51 +0000 (21:50 -0700)]
Bug #334365 - Fix depgraph._wrapped_select_pkg_highest_available_imp()
to avoid invalid or masked installed packages when necessary. This is
especially important for invalid packages since they need be replaced
so that their dependencies can be parsed for --depclean operations.
Zac Medico [Thu, 26 Aug 2010 03:56:45 +0000 (20:56 -0700)]
Make Package._validate_deps() check USE conditionals in SRC_URI.
Zac Medico [Thu, 26 Aug 2010 03:12:13 +0000 (20:12 -0700)]
Bug #334365 - Mask packages with invalid metadata as early as possible,
so that the depgraph won't select them unless they are already installed
and there is no other choice. This should trigger automatic reinstallation
of installed packages that have invalid metadata.
Zac Medico [Thu, 26 Aug 2010 01:49:33 +0000 (18:49 -0700)]
Add ebuild(1) support for FEATURES=digest.
Zac Medico [Thu, 26 Aug 2010 01:26:15 +0000 (18:26 -0700)]
Use a PORTAGE_SIGPIPE_STATUS variable to export 128 + SIGPIPE to the
ebuild environment. SIGPIPE is typically 13, but its better not to
assume that.
Zac Medico [Thu, 26 Aug 2010 00:59:05 +0000 (17:59 -0700)]
Make save_ebuild_env() filter assert_sigpipe_ok().
Zac Medico [Thu, 26 Aug 2010 00:05:01 +0000 (17:05 -0700)]
Bug #334365 - When parsing dependencies of installed packages in
depgraph._add_pkg_deps(), ignore invalid USE conditionals, since
these are a common problem and it's practical to ignore them for
installed packages.
TODO: For installed package, save any InvalidDependString info in
dynamic_config and wait until display_problems() to show it. For
packages that aren't installed, we should validate and mask them
before they are selected.
Sebastian Luther [Wed, 25 Aug 2010 16:36:48 +0000 (18:36 +0200)]
show_invalid_depstring_notice: Don't repeat the dep string
Zac Medico [Wed, 25 Aug 2010 18:27:16 +0000 (11:27 -0700)]
Fix repoman to support FEATURES=digest (reportedly it used to work
but has stopped working since recent changes).
Zac Medico [Wed, 25 Aug 2010 18:21:07 +0000 (11:21 -0700)]
Mention repoman support in the FEATURES=digest docs.
Zac Medico [Wed, 25 Aug 2010 09:05:14 +0000 (02:05 -0700)]
Remove portage.usedefaults since it's broken by the previous commit.
Sebastian Luther [Wed, 25 Aug 2010 08:46:03 +0000 (10:46 +0200)]
config: Move handling of USE related config files into UseManager
Zac Medico [Wed, 25 Aug 2010 08:22:31 +0000 (01:22 -0700)]
Fix fragile sets config file path handling for for ResolverPlayground
and remove unecessary setconfig_fallback() usage.
Zac Medico [Wed, 25 Aug 2010 08:04:16 +0000 (01:04 -0700)]
Fix WorldSelectedSet.singleBuilder() to use EROOT.
Zac Medico [Wed, 25 Aug 2010 08:01:28 +0000 (01:01 -0700)]
Add EROOT support to setconfig_fallback().
Zac Medico [Wed, 25 Aug 2010 07:55:06 +0000 (00:55 -0700)]
Add EROOT support to the @module-rebuild package set.
Zac Medico [Wed, 25 Aug 2010 07:46:29 +0000 (00:46 -0700)]
Add EROOT support to regenworld.
Zac Medico [Wed, 25 Aug 2010 07:35:47 +0000 (00:35 -0700)]
Make regenworld write changes to a temporary file, and tell the user
to update the file manually if desired.
Zac Medico [Wed, 25 Aug 2010 06:31:57 +0000 (23:31 -0700)]
When parsing package.env, pass the same tolerant and allow_sourcing
arguments to getconfig() that are used when parsing make.conf.
Zac Medico [Tue, 24 Aug 2010 18:42:59 +0000 (11:42 -0700)]
Use deepcopy for LicenseManger, since I remove clone support from the
constructor.
Zac Medico [Tue, 24 Aug 2010 18:42:30 +0000 (11:42 -0700)]
Use open() instead of file(), for python3.
Sebastian Luther [Tue, 24 Aug 2010 18:31:15 +0000 (20:31 +0200)]
Tests: Add LicenseManager tests
Sebastian Luther [Tue, 24 Aug 2010 18:30:12 +0000 (20:30 +0200)]
ExtendedAtomDict: Add __eq__
Sebastian Luther [Tue, 24 Aug 2010 14:42:33 +0000 (16:42 +0200)]
ResolverPlayground: Add ability to create config files and sets
Zac Medico [Tue, 24 Aug 2010 18:24:28 +0000 (11:24 -0700)]
Remove LicenseManager.__deepcopy__() since the default implementation
seems to work fine.
Zac Medico [Tue, 24 Aug 2010 18:18:36 +0000 (11:18 -0700)]
Implement LicenseManager.__deepcopy__().
Zac Medico [Tue, 24 Aug 2010 18:05:59 +0000 (11:05 -0700)]
Fix imports in _config submodules.
Zac Medico [Tue, 24 Aug 2010 17:35:22 +0000 (10:35 -0700)]
Bug #334319 - Don't call config.backup_changes("FEATURES") because it's
no longer needed and it causes problems with environment overrides
of FEATURES.
Zac Medico [Tue, 24 Aug 2010 17:10:36 +0000 (10:10 -0700)]
* Make dblink instantiate the ConfigProtect object on demand instead of
in the constructor, since it triggers lots of stat calls and it's
wasteful for iter_owners.
* Fix dblink ConfigProtect construction to use EROOT.
Zac Medico [Tue, 24 Aug 2010 15:15:00 +0000 (08:15 -0700)]
Bug #334265 - Fix AttributeError triggered by empty herd element in
check_metadata_herds().
Sebastian Luther [Tue, 24 Aug 2010 12:14:43 +0000 (14:14 +0200)]
More _pkg_use_enabled fixes
Sebastian Luther [Tue, 24 Aug 2010 10:00:22 +0000 (12:00 +0200)]
Atom.violated_conditionals: Always treat deps as violated if the flag is not in IUSE
Zac Medico [Tue, 24 Aug 2010 13:37:40 +0000 (06:37 -0700)]
Bug #334253 - Fix breakage in FEATURES=test-fail-continue logic.
Sebastian Luther [Tue, 24 Aug 2010 08:49:48 +0000 (10:49 +0200)]
config: Move _prune_incremental to helper
Sebastian Luther [Tue, 24 Aug 2010 08:26:54 +0000 (10:26 +0200)]
config: Move features_set into its own file
Sebastian Luther [Tue, 24 Aug 2010 08:21:07 +0000 (10:21 +0200)]
config: Split out LicenseManager and helper
Sebastian Luther [Tue, 24 Aug 2010 08:19:17 +0000 (10:19 +0200)]
ExtendedAtomDict: Add __delitem__
Zac Medico [Tue, 24 Aug 2010 13:09:41 +0000 (06:09 -0700)]
Use Package.iuse.is_valid_flag() to account for implicit IUSE.
Sebastian Luther [Tue, 24 Aug 2010 09:04:25 +0000 (11:04 +0200)]
repoman: Let repoman check for flags missing from IUSE
Zac Medico [Tue, 24 Aug 2010 01:37:59 +0000 (18:37 -0700)]
Make config.setcpv() trigger regenerate() if the package from the
previous setcpv call had package.env settings which modified
FEATURES. This ensures that self.features is accurate (hopefully
solving the issue in bug #44796, comment #77).
Zac Medico [Tue, 24 Aug 2010 00:57:48 +0000 (17:57 -0700)]
Handle SIGPIPE when unpack() extracts tar files through a pipe (bug #309001).
When checking ${PIPESTATUS[@]} for extraction of tar files in unpack(),
use a new assert_sigpipe_ok() function which behaves the same as the
existing assert() function except that it tolerates pipe writers being
killed by SIGPIPE.
Zac Medico [Mon, 23 Aug 2010 18:34:46 +0000 (11:34 -0700)]
* Use iterators instead of keys() when possible.
* Use iterators instead of sets for set.intersection() calls.
* Use digraph.__iter__ and __contains__ as shortcuts to digraph.nodes
access.
Zac Medico [Mon, 23 Aug 2010 18:22:03 +0000 (11:22 -0700)]
In depgraph._select_pkg_highest_available_imp(), make sure
allow_unstable_keywords is True before adding a package to
_needed_unstable_keywords.
Zac Medico [Mon, 23 Aug 2010 17:38:49 +0000 (10:38 -0700)]
Pass a keyword hint from getmaskingstatus() to the autounmask code.
Sebastian Luther [Mon, 23 Aug 2010 16:24:10 +0000 (18:24 +0200)]
use_reduce: Give a hint to IUSE in the 'use flag '%s' is not referencable in conditional' error
Zac Medico [Mon, 23 Aug 2010 14:46:07 +0000 (07:46 -0700)]
Add 'candy' to SUPPORTED_FEATURES.
Zac Medico [Mon, 23 Aug 2010 07:23:15 +0000 (00:23 -0700)]
Make recursive grablines() ignore the same directories as
portage.listdir(), and do the same for update_config_files().
Zac Medico [Mon, 23 Aug 2010 04:51:49 +0000 (21:51 -0700)]
Bug #318241 - Include LICENSE file in release tarballs.
Zac Medico [Mon, 23 Aug 2010 04:36:10 +0000 (21:36 -0700)]
Bug #309907 - Update more config files for package moves:
package.accept_keywords, package.env, and package.properties.
Zac Medico [Mon, 23 Aug 2010 01:41:47 +0000 (18:41 -0700)]
Fix spelling in zlib.error message.
Zac Medico [Mon, 23 Aug 2010 01:28:08 +0000 (18:28 -0700)]
Handle zlib.error when reading compressed build logs via GzipFile.
Zac Medico [Mon, 23 Aug 2010 00:52:50 +0000 (17:52 -0700)]
Allow more time for natural exit of the ebuild process after it has
called the exit command via IPC.
Zac Medico [Sun, 22 Aug 2010 23:58:27 +0000 (16:58 -0700)]
Don't copy the src directory because it doesn't exist anymore.
Zac Medico [Sun, 22 Aug 2010 23:56:24 +0000 (16:56 -0700)]
Remove the python-missingos module since apparently nobody has needed
it for a long time.
Zac Medico [Sun, 22 Aug 2010 23:54:31 +0000 (16:54 -0700)]
Remove support for the missingos module since apparently nobody has needed
it for a long time.
Zac Medico [Sun, 22 Aug 2010 23:46:10 +0000 (16:46 -0700)]
Remove the bsd-chflags module since it hasn't been used for some time
(python as read support and we spawn binaries for any necessary
modifications).
Zac Medico [Sun, 22 Aug 2010 23:39:25 +0000 (16:39 -0700)]
Remove unused tbz2tool.c file. The latest stable ebuild doesn't
build/install it.
Zac Medico [Sun, 22 Aug 2010 23:18:33 +0000 (16:18 -0700)]
Add notes about package.env and package.accept_keywords.
Zac Medico [Sun, 22 Aug 2010 22:46:06 +0000 (15:46 -0700)]
Remove deprecated destroot argument from dblink.isowner() call.
Zac Medico [Sun, 22 Aug 2010 22:32:43 +0000 (15:32 -0700)]
Remove python-oriented checks from install_qa_check() since I'm unsure
about these policy decisions being included in portage. Besides, these
kinds of things could go in the python eclass.
Zac Medico [Sun, 22 Aug 2010 22:25:17 +0000 (15:25 -0700)]
During the post src_install QA checks, log to a temporary file
since the code we are running reads PORTAGE_LOG_FILE, and we
want to avoid annoying "gzip: unexpected end of file" messages
when FEATURES=compress-build-logs is enabled.
Zac Medico [Sun, 22 Aug 2010 21:15:04 +0000 (14:15 -0700)]
Make Binpkg call prepare_build_dirs() before trying to clean the old
log, so PORTAGE_LOG_FILE is initialized.
Zac Medico [Sun, 22 Aug 2010 20:52:39 +0000 (13:52 -0700)]
Add missing scheduler attribute to BinpkgVerifier (broken since the
the addition of FEATURES=compress-build-logs support).
Zac Medico [Sun, 22 Aug 2010 20:51:35 +0000 (13:51 -0700)]
Make EOutput.write() use writemsg() for special unicode handling.
Sebastian Luther [Sun, 22 Aug 2010 20:18:43 +0000 (22:18 +0200)]
_use_dep.{evaluate_conditionals,_eval_qa_conditionals,violated_conditionals}: Be faster and preserve token order
Zac Medico [Sun, 22 Aug 2010 20:16:21 +0000 (13:16 -0700)]
Fix broken logic in InheritDeprecated.
Zac Medico [Sun, 22 Aug 2010 20:08:04 +0000 (13:08 -0700)]
Make InheritDeprecated detect indirect inherits of deprecated eclasses,
and indicate the indirect nature in the error message.
Zac Medico [Sun, 22 Aug 2010 19:43:09 +0000 (12:43 -0700)]
Make InheritDeprecated check for direct inherits, and give line numbers
in error messages.
wired [Sat, 14 Aug 2010 22:56:40 +0000 (01:56 +0300)]
repoman: check for deprecated eclasses
compare the inherited eclasses to a list of deprecated eclasses.
print QA warnings for each deprecated eclass found and suggest an
alternative for those that have one.
Zac Medico [Sun, 22 Aug 2010 18:41:54 +0000 (11:41 -0700)]
Add back _conditionals_class.values() method in order to fix breakage
in circular_dependency_handler._find_suggestions().
Sebastian Luther [Sun, 22 Aug 2010 13:22:08 +0000 (15:22 +0200)]
portage.dep._use_dep: Rewrite the parser for better readability and speed
Using a regex leads to better readability, but no speed change.
Replacing slot_dict_class with a simple dict results in ~1/3 run time decrease in my tests.
Zac Medico [Sun, 22 Aug 2010 18:28:45 +0000 (11:28 -0700)]
Fix erroneoud reference to self.aux_get in bintree.move_ent().
Zac Medico [Sun, 22 Aug 2010 08:40:34 +0000 (01:40 -0700)]
Fix AttributeError for MetadataRegen._sched_iface.