Ulrich Mueller [Sun, 29 Aug 2010 06:26:15 +0000 (08:26 +0200)]
Add canonicalize() function, replacement for "readlink -f".
Expand symlinks in prepcompress() completely, not only to the last
directory component.
Ulrich Mueller [Sun, 29 Aug 2010 06:24:26 +0000 (08:24 +0200)]
Change a comment in prepcompress().
Zac Medico [Sun, 29 Aug 2010 00:59:54 +0000 (17:59 -0700)]
Add a Scheduler._running_tasks() set in order to simplify the
_is_work_scheduled() method.
Zac Medico [Sun, 29 Aug 2010 00:10:46 +0000 (17:10 -0700)]
Inside Scheduler._dependent_on_scheduled_merges(), don't traverse children
of uninstall nodes since those aren't dependencies in the usual sense.
Zac Medico [Sat, 28 Aug 2010 23:27:54 +0000 (16:27 -0700)]
Bug #273633 - Add docompress docs from PMS.
Ulrich Mueller [Sat, 28 Aug 2010 07:21:43 +0000 (09:21 +0200)]
Update copyright headers.
Ulrich Mueller [Sat, 28 Aug 2010 07:20:23 +0000 (09:20 +0200)]
Implement controllable compression and docompress, bug #273633.
Zac Medico [Sat, 28 Aug 2010 22:51:37 +0000 (15:51 -0700)]
Make egencache --update-use-local-desc use codecs.open() to write to
use.local.desc (fixes possible unicode issues with python3).
Zac Medico [Sat, 28 Aug 2010 22:33:49 +0000 (15:33 -0700)]
For egencache --preserve-comments, probe comments in binary mode in
order to avoid potential character encoding issues (both in terms
of decoding and in calculating file position given variable-width
character encodings like UTF-8.
Zac Medico [Sat, 28 Aug 2010 22:04:01 +0000 (15:04 -0700)]
Simplify the empty USE conditional /var/db/pkg metadata code in
_post_src_install_uid_fix(), and handle one more case.
Michał Górny [Sat, 28 Aug 2010 21:59:34 +0000 (23:59 +0200)]
egencache: Add comment preserving to --update-use-local-desc.
Zac Medico [Sat, 28 Aug 2010 21:44:42 +0000 (14:44 -0700)]
When evaluating USE conditional metadata for /var/db/pkg inside
_post_src_install_uid_fix(), ensure non-empty entries are removed
if the evaluation results in an empty value.
Zac Medico [Sat, 28 Aug 2010 21:21:06 +0000 (14:21 -0700)]
If there are circular dependencies, and circular_dependency_handler
doesn't have a message, eliminate root nodes before calling
digraph.debug_print(). If --debug is enabled then do this even if
circular_dependency_handler has a message.
Zac Medico [Sat, 28 Aug 2010 20:39:44 +0000 (13:39 -0700)]
Bug #335055 - Fix "TypeError: argument of type 'NoneType' is not
iterable" raised from first call to VirtualsManager.get_virts_p()
when trying to expand the category for a package name.
Zac Medico [Sat, 28 Aug 2010 20:21:25 +0000 (13:21 -0700)]
In depgraph._show_unsatisfied_dep(), show some debug info if
Atom.violated_conditionals() raises InvalidAtom.
Zac Medico [Sat, 28 Aug 2010 14:49:54 +0000 (07:49 -0700)]
Add --use-local-desc-output to egencache man page.
Michał Górny [Sat, 28 Aug 2010 14:46:17 +0000 (16:46 +0200)]
Support specifying an alternate output file for --update-use-local-desc.
Zac Medico [Sat, 28 Aug 2010 06:51:41 +0000 (23:51 -0700)]
Bug #334935 - Fix broken reference to config.pmaskdict inside
getmaskingreason().
Zac Medico [Sat, 28 Aug 2010 02:15:50 +0000 (19:15 -0700)]
Use StopIteration to exit nested loops.
Zac Medico [Sat, 28 Aug 2010 02:09:30 +0000 (19:09 -0700)]
Add support for IUSE.missing checks in conditional USE dependencies.
Zac Medico [Fri, 27 Aug 2010 23:58:24 +0000 (16:58 -0700)]
Add the chflags and selinux values to SUPPORTED_FEATURES.
Zac Medico [Fri, 27 Aug 2010 23:41:20 +0000 (16:41 -0700)]
Define a cmp work-alike function for use in the egencache
--update-use-local-desc code, since it's ugly to have so
many repetitions of this construct.
Zac Medico [Fri, 27 Aug 2010 22:56:07 +0000 (15:56 -0700)]
Merge branch 'master' of git+ssh://git.overlays.gentoo.org/proj/portage
Zac Medico [Fri, 27 Aug 2010 22:54:10 +0000 (15:54 -0700)]
Fix breakage caused ignorance of /etc/portage/{arch.list,categories}
config overrides.
Arfrever Frehtes Taifersar Arahesis [Fri, 27 Aug 2010 22:08:51 +0000 (00:08 +0200)]
Fix some typos.
Zac Medico [Fri, 27 Aug 2010 21:57:58 +0000 (14:57 -0700)]
Fix _get_legacy_global() so that it does't pass in the target_root
parameter to create_trees() unless ROOT is set. This is required
for make.conf ROOT override to work with LocationsManager.
Zac Medico [Fri, 27 Aug 2010 21:39:39 +0000 (14:39 -0700)]
Fix the config constructor to pass missing parameters to the
LocationsManager constructor.
Zac Medico [Fri, 27 Aug 2010 21:15:32 +0000 (14:15 -0700)]
Bug #334817 - Make the make.conf.5 man page document the fact that
/etc/portage/make.conf overrides /etc/make.conf.
Zac Medico [Fri, 27 Aug 2010 20:37:00 +0000 (13:37 -0700)]
Fix Package._validate_deps() to pass matchall=True to use_reduce().
Zac Medico [Fri, 27 Aug 2010 20:19:31 +0000 (13:19 -0700)]
Add egencache --update-use-local-desc action to the man page.
Sebastian Luther [Fri, 27 Aug 2010 19:59:43 +0000 (21:59 +0200)]
config: Remove last traces of autouse
Zac Medico [Fri, 27 Aug 2010 19:28:01 +0000 (12:28 -0700)]
Use InvalidDependString import instead of
portage.exception.InvalidDependString.
Zac Medico [Fri, 27 Aug 2010 19:25:37 +0000 (12:25 -0700)]
Use InvalidDependString import instead of
portage.exception.InvalidDependString.
Zac Medico [Fri, 27 Aug 2010 19:22:37 +0000 (12:22 -0700)]
Use Package._metadata_exception() to handle invalid LICENSE, PROPERTIES,
PROVIDE, and RESTRICT, and generate IUSE.missing errors for repoman
when appropriate.
Zac Medico [Fri, 27 Aug 2010 17:48:39 +0000 (10:48 -0700)]
Fix breakage in egencache --update-use-local-desc code.
Zac Medico [Fri, 27 Aug 2010 17:00:43 +0000 (10:00 -0700)]
Use cmp_sort_key() for python3 compatibility.
Michał Górny [Fri, 27 Aug 2010 16:47:22 +0000 (18:47 +0200)]
Support returning multiple flag descriptions when restrict is used.
Return a dict of dicts in parse_metadata_use(), with second-level keys
being the restrict strings (or None when no restrict). When generating
use.local.desc, use the description from the possibly-highest-matching
atom.
Zac Medico [Fri, 27 Aug 2010 16:56:01 +0000 (09:56 -0700)]
Remove unused imports.
Zac Medico [Fri, 27 Aug 2010 16:52:33 +0000 (09:52 -0700)]
Bug #334817 - Make genconfig() warn about EISDIR instead of raising
a IOError.
Zac Medico [Fri, 27 Aug 2010 16:20:26 +0000 (09:20 -0700)]
Fix broken reference to config.pmaskdict for repoman --without-mask.
Sebastian Luther [Fri, 27 Aug 2010 15:57:43 +0000 (08:57 -0700)]
fix ppkg type handling in slot_conflict_handler
Jonathan Callen [Fri, 27 Aug 2010 15:51:31 +0000 (11:51 -0400)]
ecompressdir: use proper exit value
Sebastian Luther [Fri, 27 Aug 2010 14:16:44 +0000 (16:16 +0200)]
config: Add special_env_vars
Sebastian Luther [Fri, 27 Aug 2010 13:09:46 +0000 (15:09 +0200)]
config: Add LocationsManager
Sebastian Luther [Fri, 27 Aug 2010 10:43:44 +0000 (12:43 +0200)]
config: Add VirtualsManager
Sebastian Luther [Fri, 27 Aug 2010 07:33:40 +0000 (09:33 +0200)]
config: Add MaskManager
Sebastian Luther [Fri, 27 Aug 2010 07:02:50 +0000 (09:02 +0200)]
config: Avoid copying _license_manager
Strictly speaking _license_manager is not immutable. Users need to ensure that
extract_global_changes() is called right after __init__ (if at all).
It also has the mutable member _undef_lic_groups. It is used to track
undifiend license groups, to not display an error message for the same
group again and again. Because of this, it's useful to share it between
all LicenseManager instances.
Michał Górny [Fri, 27 Aug 2010 15:16:57 +0000 (17:16 +0200)]
repoman: Fix NameError on musedict when metadata is not available.
Zac Medico [Fri, 27 Aug 2010 05:43:31 +0000 (22:43 -0700)]
Add a IUSE.missing repoman category for packages that have a USE
conditional which references a flag that is not listed in IUSE.
Also split out a Package._metadata_exception() method to handle
IUSE.missing for *DEPEND and SRC_URI.
Zac Medico [Fri, 27 Aug 2010 03:40:15 +0000 (20:40 -0700)]
Bug #334365 - Selectively ignore invalid metadata of installed packages
in cases when it's irrelevant (should re-evaluate these when new EAPIs
are deployed):
* EAPI.incompatible IUSE defaults
* EAPI.incompatible *DEPEND
* *DEPEND conditionals missing from IUSE
* SRC_URI.syntax
Zac Medico [Fri, 27 Aug 2010 03:21:02 +0000 (20:21 -0700)]
Bug #334365 - When depgraph.display_problems() shows the message
about masked installed packages, customize the InvalidDependString
display to show the path of the *DEPEND file that contains the
invalid dependency.
Zac Medico [Fri, 27 Aug 2010 03:01:37 +0000 (20:01 -0700)]
Do not include the whole input string in the use_reduce()
InvalidDependString messages since the string is often extremely
long which makes it flood the terminal when displayed. Instead
we'll have to rely on the caller to display react appropriately
to the exception (perhaps displaying the whole input if
appropriate).
Zac Medico [Fri, 27 Aug 2010 02:28:45 +0000 (19:28 -0700)]
Fix breakage from previous commit.
Zac Medico [Fri, 27 Aug 2010 02:07:09 +0000 (19:07 -0700)]
Use Package.visible to simplify visibility checks for installed
packages, no that it accounts for invalid metadata.
Zac Medico [Fri, 27 Aug 2010 01:53:20 +0000 (18:53 -0700)]
Fix Package._visible() to mask installed packages with invalid metadata.
Zac Medico [Fri, 27 Aug 2010 01:46:38 +0000 (18:46 -0700)]
Use dict.__iter__() instead of keys().
Zac Medico [Fri, 27 Aug 2010 01:22:06 +0000 (18:22 -0700)]
Use shallow copy for more immutable config attributes.
Zac Medico [Fri, 27 Aug 2010 01:04:14 +0000 (18:04 -0700)]
Make LicenseManager.__deepcopy__() do a shallow copy of _license_groups
since internal policy ensures lack of mutation, and fix memo usage
for the other immutable attributes.
Zac Medico [Fri, 27 Aug 2010 00:46:11 +0000 (17:46 -0700)]
Implement LicenseManager.__deepcopy__(), using shallow copy for
immutable attributes.
Zac Medico [Fri, 27 Aug 2010 00:15:20 +0000 (17:15 -0700)]
Disable autouse support and add a deprecation warning to the autouse()
function.
Zac Medico [Fri, 27 Aug 2010 00:07:38 +0000 (17:07 -0700)]
Use frozenset for config.usemask and useforce attributes, so there's
no need to copy them during clone operations. Also, there's no need
to copy config.puse since its an immutable string.
Zac Medico [Thu, 26 Aug 2010 23:49:20 +0000 (16:49 -0700)]
Bug #334365 - Make dep_check() less strict with respect to EAPI
constraints for installed packages since previous validation will
have already marked them as invalid when necessary and now we're
more interested in evaluating dependencies so that things like
--depclean work as well as possible in spite of partial
invalidity. Also, remove obsolete EAPI atom validation code from
_expand_new_virtuals() since it's handled by use_reduce() and
the Atom constructor now.
Zac Medico [Thu, 26 Aug 2010 23:08:15 +0000 (16:08 -0700)]
Various parse_metadata_use() fixes:
* Allow empty descriptions (backward compatibility).
* Support multiple 'use' elements.
* If multiple 'flag' elements have the same name attribute, use
the first occurance.
Zac Medico [Thu, 26 Aug 2010 22:54:44 +0000 (15:54 -0700)]
Make parse_metadata_use() tolerate empty flag descriptions.
Zac Medico [Thu, 26 Aug 2010 22:21:09 +0000 (15:21 -0700)]
Make repoman ignore FEATURES=digest when in manifest-check mode.
Zac Medico [Thu, 26 Aug 2010 21:49:34 +0000 (14:49 -0700)]
Ensure SystemExit is never caught.
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.