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.
Zac Medico [Fri, 20 Aug 2010 00:05:53 +0000 (17:05 -0700)]
Rename the bdeps_root variable to depend_root, since it's used to control
DEPEND and in the future we may have separate build-time dep types for
host and target.
Zac Medico [Fri, 20 Aug 2010 00:01:16 +0000 (17:01 -0700)]
Eliminate the bdeps_optional variables inside depgraph._add_pkg_deps(),
and use the pkg.built attribute instead.
Sebastian Luther [Thu, 19 Aug 2010 22:56:27 +0000 (00:56 +0200)]
Tests: Properly test the circular dep handler
Sebastian Luther [Thu, 19 Aug 2010 22:55:46 +0000 (00:55 +0200)]
Tests: ResolverPlayground: Support checking the suggestions given by the circular dep handler.
Sebastian Luther [Thu, 19 Aug 2010 22:54:34 +0000 (00:54 +0200)]
Move the clever parts of depgraph._show_circular_deps into its own module.
This also fixes some bugs related to autounmask.
Sebastian Luther [Thu, 19 Aug 2010 13:10:40 +0000 (15:10 +0200)]
cycle-finder: Don't try to change flags that are in use.{make,focrce}
Zac Medico [Thu, 19 Aug 2010 08:58:27 +0000 (01:58 -0700)]
Move code from EbuildProcess to EbuildPhase.
Zac Medico [Thu, 19 Aug 2010 08:54:16 +0000 (01:54 -0700)]
Raise ValueError if fromlist contains an extra comma.
Zac Medico [Thu, 19 Aug 2010 07:34:36 +0000 (00:34 -0700)]
Remove duplicate attributes from __slots__.
Zac Medico [Thu, 19 Aug 2010 06:31:49 +0000 (23:31 -0700)]
* In helpers_die arguments, display ${0##*/} instead of $0 since $0
is needlessly long.
* When calling helpers_die from a function, use ${FUNCNAME[0]} in
arguments instead of $0.
Zac Medico [Thu, 19 Aug 2010 00:52:10 +0000 (17:52 -0700)]
Use doebuild_environment() to ensure proper environment initialization
for clean/cleanrm phases, and use the simpler _spawn_phase() function
instead of doebuild to spawn the phases.
Zac Medico [Thu, 19 Aug 2010 00:26:23 +0000 (17:26 -0700)]
Use simpler _spawn_phase() instead of doebuild() since
doebuild_environment() already done the env setup.
Zac Medico [Thu, 19 Aug 2010 00:08:59 +0000 (17:08 -0700)]
Move the code from _prepare_env_file() to a new BinpkgEnvExtractor
class.
Zac Medico [Wed, 18 Aug 2010 22:42:58 +0000 (15:42 -0700)]
Remove unnecessary call to _prepare_env_file(), since it only makes
sense for binary or installed packages.
Zac Medico [Wed, 18 Aug 2010 22:31:29 +0000 (15:31 -0700)]
Move environment sanity check to the Scheduler and do it if there
are any source packages in the merge list.
Zac Medico [Wed, 18 Aug 2010 21:53:44 +0000 (14:53 -0700)]
When suggesting solutions inside _show_circular_deps(), ignore solutions
that involve changes to use.mask or use.force settings.