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.
Zac Medico [Sat, 21 Aug 2010 23:05:51 +0000 (16:05 -0700)]
* By default, disable the calc_prelink parameter to perform_md5() for
merge and unmerge.
* Add FEATURES=prelink-checksums in order to trigger the old behavior.
Zac Medico [Sat, 21 Aug 2010 22:16:10 +0000 (15:16 -0700)]
Fix UnboundLocalError for catdir inside dblink.unmerge().
Zac Medico [Sat, 21 Aug 2010 21:19:54 +0000 (14:19 -0700)]
Bug #292083 - Support package.accept_keywords in profiles.
Zac Medico [Sat, 21 Aug 2010 20:43:49 +0000 (13:43 -0700)]
Add EPREFIX support to load_default_config().
Zac Medico [Sat, 21 Aug 2010 20:05:24 +0000 (13:05 -0700)]
Fix broken writemsg call in depgraph._resolve() that triggers this error:
TypeError: writemsg() got an unexpected keyword argument 'file'
Zac Medico [Sat, 21 Aug 2010 19:58:50 +0000 (12:58 -0700)]
Omit non-existent files from the config._pkeywords_list
stack (stores data for profile package.keywords). This isn't
feasible for package.use (among other package.* files such
as package.use.mask) since it is stacked in layers with
make.defaults USE, and the layer indices need to align.
Zac Medico [Sat, 21 Aug 2010 19:27:05 +0000 (12:27 -0700)]
Move default ACCEPT_KEYWORDS handling for package.keywords out of
an unnecessary loop.
Zac Medico [Sat, 21 Aug 2010 19:00:04 +0000 (12:00 -0700)]
Revert back to using ROOT for env_update(), since that's how the
prefix branch does it.
Zac Medico [Sat, 21 Aug 2010 18:37:50 +0000 (11:37 -0700)]
Fix env_update() calls to use EROOT.
Zac Medico [Sat, 21 Aug 2010 18:18:40 +0000 (11:18 -0700)]
Bug #324191 - Add support for FEATURES=compress-build-logs. The causes
all build logs to be compressed while they are being written. Log file
names have an extension that is appropriate for the compression type.
Currently, only gzip(1) compression is supported, so build logs will
have a '.gz' extension when this feature is enabled.
Zac Medico [Sat, 21 Aug 2010 14:18:47 +0000 (07:18 -0700)]
When accessing pkgsettings.features inside Scheduler._generate_digests(),
ensure that we are using global features settings rather than those
from package.env.
Zac Medico [Sat, 21 Aug 2010 13:46:56 +0000 (06:46 -0700)]
Add a deprecation warning to FetchlistDict.has_key().
Zac Medico [Sat, 21 Aug 2010 13:38:59 +0000 (06:38 -0700)]
Add a deprecation warning for the unused justmanifest parameter of
digestcheck().
Zac Medico [Sat, 21 Aug 2010 13:31:18 +0000 (06:31 -0700)]
Quote arrays in QA_PREBUILT handling.
Zac Medico [Sat, 21 Aug 2010 13:24:50 +0000 (06:24 -0700)]
Add support for a QA_PREBUILT variable should contain a list of
pre-built binaries. Paths listed here will be appended to each of
the other QA_* variables. Thanks to Diego Pettenò <flameeyes@g.o>
for the suggestion.
Zac Medico [Sat, 21 Aug 2010 11:30:29 +0000 (04:30 -0700)]
Add upstream.workaround warning for addpredict calls. Thanks to
Diego Pettenò <flameeyes@g.o> for the suggestion.
Zac Medico [Sat, 21 Aug 2010 11:20:22 +0000 (04:20 -0700)]
Fix broken reference to portage._validate_cache_for_unsupported_eapis.
Zac Medico [Sat, 21 Aug 2010 11:13:09 +0000 (04:13 -0700)]
Add a wrapper around config.features that provides the following
enhancements:
* The FEATURES variable is automatically synchronized upon modification.
* Modifications result in a permanent override that will cause the change
to propagate to the incremental stacking mechanism in config.regenerate().
This eliminates the need to call config.backup_changes() when FEATURES
is modified, since any overrides are guaranteed to persist despite calls
to config.reset().
This allows cleanup of all code that overrides FEATURES, and also allows
config.regenerate() to stack FEATURES such that special cases are not
needed for package.env handling inside config.setcpv().
Zac Medico [Sat, 21 Aug 2010 09:24:47 +0000 (02:24 -0700)]
When stacking incrementals in config.regenerate(), use a set to avoid
relatively inefficient __contains__ and remove operations on a list.
Zac Medico [Sat, 21 Aug 2010 01:21:00 +0000 (18:21 -0700)]
Fix config.setcpv() so it only calls _grab_pkg_env when there are
relevant package.env settings.
Zac Medico [Sat, 21 Aug 2010 00:44:56 +0000 (17:44 -0700)]
Remove duplicate realpath call for PORTAGE_TMPDIR.
Zac Medico [Sat, 21 Aug 2010 00:31:08 +0000 (17:31 -0700)]
At some point we may want to stop exporting FEATURES to the ebuild
environment, in order to prevent ebuilds from abusing it. In
preparation for that, export it as PORTAGE_FEATURES so that bashrc
users will be able to migrate any FEATURES conditional code to
use this alternative variable.
Zac Medico [Sat, 21 Aug 2010 00:11:38 +0000 (17:11 -0700)]
Bug #44796 - Add support for /etc/portage/package.env. As documented in
man/portage.5:
Per-package environment variable settings. Entries refer to environment
files that are placed in the /etc/portage/env/ directory and have the
same format as make.conf(5).
Format:
- comment lines begin with # (no inline comments)
- one DEPEND atom per line followed by name(s) of environment file(s)
Example:
sys-libs/glibc glibc.conf
Zac Medico [Fri, 20 Aug 2010 22:32:13 +0000 (15:32 -0700)]
Make varexpand() create a new empty dict for variable expansions in
case one is not passed in. This will prevent some potentially
confusing behavior.
Zac Medico [Fri, 20 Aug 2010 18:23:24 +0000 (11:23 -0700)]
Split out a _ordered_by_atom_specificity() in order to eliminate
duplicate code from the package.* config file handling.
Zac Medico [Fri, 20 Aug 2010 17:20:59 +0000 (10:20 -0700)]
Make DEPCACHE_PATH relative to EPREFIX, and comment about similarity
to make.globals handling.
Zac Medico [Fri, 20 Aug 2010 16:41:21 +0000 (09:41 -0700)]
* Make dblink._linkmap_rebuild() return early if preserve-libs is disabled
and the preserve-libs registry is empty.
* Make dblink._find_unused_preserved_libs() return early if the
preserve-libs registry is empty.
Zac Medico [Fri, 20 Aug 2010 16:09:39 +0000 (09:09 -0700)]
Stop using the myroot arguments to the dblink constructor, merge(),
and unmerge(). Use settings['ROOT'] instead. This helps avoid confusion
given support for EROOT.
Zac Medico [Fri, 20 Aug 2010 15:21:16 +0000 (08:21 -0700)]
* Fix EROOT handling in various places in vartree.py. It should be
all fixed now, but needs testing.
* Remove unused root parameter in calls to dblink.isowner() and
_match_contents().
* Make doebuild_environment() and prepare_build_dirs() take keyword
arguments, and ignore unused parameters. Especially don't use
myroot parameters since they are confusing given EROOT support.
Zac Medico [Fri, 20 Aug 2010 14:04:13 +0000 (07:04 -0700)]
Fix LinkageMap to use vardbapi._eroot instead of _root.
Zac Medico [Fri, 20 Aug 2010 14:02:32 +0000 (07:02 -0700)]
Don't pass the myroot parameter to *counter_tick* methods since it's
ignored anyway.
Zac Medico [Fri, 20 Aug 2010 13:43:16 +0000 (06:43 -0700)]
Make the portagetree.root attribute a property that generates a
DeprecationWarning on access.
Zac Medico [Fri, 20 Aug 2010 13:22:42 +0000 (06:22 -0700)]
Remove unused clone paramter from vartree constructor (support and
deprecation warning were already removed in commit
c0ee69585bf87e09c237668531127e79e0cd1c46).
Zac Medico [Fri, 20 Aug 2010 12:50:45 +0000 (05:50 -0700)]
Fix typo in comment.
Sebastian Luther [Fri, 20 Aug 2010 10:54:05 +0000 (12:54 +0200)]
--autounmask: If we can't do a change because of REQUIRED_USE, give at least a good error message
Sebastian Luther [Fri, 20 Aug 2010 10:17:19 +0000 (12:17 +0200)]
--autounmask: Don't do use changes if they violate REQUIRED_USE
This also fixes some pkg.use.enabled / _pkg_use_enabled(pkg) bugs
Sebastian Luther [Fri, 20 Aug 2010 08:34:05 +0000 (10:34 +0200)]
slot collision handler: Drop solutions that violate REQUIRED_USE
Sebastian Luther [Fri, 20 Aug 2010 07:54:19 +0000 (09:54 +0200)]
slot collision handler: Work correctly with --autounmask
Sebastian Luther [Fri, 20 Aug 2010 07:24:46 +0000 (09:24 +0200)]
circular dependency handler: Add support for REQUIRED_USE
Sebastian Luther [Fri, 20 Aug 2010 07:19:17 +0000 (09:19 +0200)]
Add portage.dep.get_required_use_flags to extract the use flags used in a REQUIRED_USE string
Sebastian Luther [Fri, 20 Aug 2010 06:24:05 +0000 (08:24 +0200)]
circular dependency handler: Small code clean ups
Zac Medico [Fri, 20 Aug 2010 05:56:26 +0000 (22:56 -0700)]
Make the make.globals path relative to EPREFIX, and add comments possible
alternative behavior for target systems.
Zac Medico [Fri, 20 Aug 2010 04:52:58 +0000 (21:52 -0700)]
Fix BinTestCase instances to stop leaving orphan temp dirs.
Zac Medico [Fri, 20 Aug 2010 04:28:10 +0000 (21:28 -0700)]
Add experimental EPREFIX/EROOT support to the config and vartree
classes, and use it in ResolverPlayground to emulate a prefix-like
environment. This fixes ResolverPlayground so that it doesn't have
to abuse the --root and --root-deps options in order to create a
testing environment. Instead it simply creates a temporary EPREFIX.
WARNING: EPREFIX/EROOT support is experimental and may be incomplete
for cases in which EPREFIX is non-empty.
Zac Medico [Fri, 20 Aug 2010 01:46:12 +0000 (18:46 -0700)]
Stop trying to read /etc/make.globals because it's been a symlink to
/usr/share/portage/config/make.globals since portage-2.1.6.
Zac Medico [Fri, 20 Aug 2010 01:42:24 +0000 (18:42 -0700)]
Update docs, comments, and messages to refer to make.globals in
/usr/share/portage/config/ instead of /etc/make.globals.