From: "Thomas Sachau" <tommy@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] proj/portage:multilib commit in: /
Date: Sat, 1 Sep 2018 11:03:03 +0000 (UTC) [thread overview]
Message-ID: <1535794248.cb6737033d90f57168ed12e4b0cec8711b311b36.tommy@gentoo> (raw)
commit: cb6737033d90f57168ed12e4b0cec8711b311b36
Author: Thomas Sachau <tommy <AT> gentoo <DOT> org>
AuthorDate: Sat Sep 1 09:30:48 2018 +0000
Commit: Thomas Sachau <tommy <AT> gentoo <DOT> org>
CommitDate: Sat Sep 1 09:30:48 2018 +0000
URL: https://gitweb.gentoo.org/proj/portage.git/commit/?id=cb673703
Merge portage-2.3.48
.gitignore | 1 +
.travis.yml | 28 +--
NEWS | 10 +
README | 4 +-
RELEASE-NOTES | 98 +++++++++
TEST-NOTES | 6 +-
bin/archive-conf | 2 +-
bin/binhost-snapshot | 2 +-
bin/clean_locks | 2 +-
bin/dispatch-conf | 2 +-
bin/ebuild | 10 +-
bin/ebuild-ipc.py | 2 +-
bin/ebuild.sh | 2 +-
bin/egencache | 2 +-
bin/emaint | 2 +-
bin/emerge | 2 +-
bin/emerge-webrsync | 23 +-
bin/env-update | 2 +-
bin/etc-update | 18 +-
bin/fixpackages | 2 +-
bin/glsa-check | 2 +-
bin/install-qa-check.d/10executable-issues | 6 +-
bin/install-qa-check.d/10ignored-flags | 6 +-
bin/install-qa-check.d/60pngfix | 14 +-
bin/install-qa-check.d/90bad-bin-group-write | 55 +++++
bin/install-qa-check.d/90bad-bin-owner | 48 +++++
bin/isolated-functions.sh | 6 +-
bin/misc-functions.sh | 8 +-
bin/phase-functions.sh | 7 +-
bin/portageq | 2 +-
bin/quickpkg | 2 +-
bin/regenworld | 2 +-
cnf/make.conf.example | 8 +-
cnf/make.conf.example.arm64.diff | 37 ++++
cnf/make.globals | 2 +-
{pym => lib}/_emerge/AbstractDepPriority.py | 0
{pym => lib}/_emerge/AbstractEbuildProcess.py | 15 +-
{pym => lib}/_emerge/AbstractPollTask.py | 12 +-
{pym => lib}/_emerge/AsynchronousLock.py | 0
{pym => lib}/_emerge/AsynchronousTask.py | 0
{pym => lib}/_emerge/AtomArg.py | 0
{pym => lib}/_emerge/Binpkg.py | 10 +-
{pym => lib}/_emerge/BinpkgEnvExtractor.py | 0
{pym => lib}/_emerge/BinpkgExtractorAsync.py | 0
{pym => lib}/_emerge/BinpkgFetcher.py | 8 +
{pym => lib}/_emerge/BinpkgPrefetcher.py | 0
{pym => lib}/_emerge/BinpkgVerifier.py | 0
{pym => lib}/_emerge/Blocker.py | 0
{pym => lib}/_emerge/BlockerCache.py | 0
{pym => lib}/_emerge/BlockerDB.py | 0
{pym => lib}/_emerge/BlockerDepPriority.py | 0
{pym => lib}/_emerge/CompositeTask.py | 1 +
{pym => lib}/_emerge/DepPriority.py | 0
{pym => lib}/_emerge/DepPriorityNormalRange.py | 0
{pym => lib}/_emerge/DepPrioritySatisfiedRange.py | 0
{pym => lib}/_emerge/Dependency.py | 0
{pym => lib}/_emerge/DependencyArg.py | 0
{pym => lib}/_emerge/EbuildBinpkg.py | 0
{pym => lib}/_emerge/EbuildBuild.py | 34 ++-
{pym => lib}/_emerge/EbuildBuildDir.py | 0
{pym => lib}/_emerge/EbuildExecuter.py | 0
{pym => lib}/_emerge/EbuildFetcher.py | 12 ++
{pym => lib}/_emerge/EbuildFetchonly.py | 5 +-
{pym => lib}/_emerge/EbuildIpcDaemon.py | 0
{pym => lib}/_emerge/EbuildMerge.py | 0
{pym => lib}/_emerge/EbuildMetadataPhase.py | 0
{pym => lib}/_emerge/EbuildPhase.py | 34 ++-
{pym => lib}/_emerge/EbuildProcess.py | 0
{pym => lib}/_emerge/EbuildSpawnProcess.py | 0
{pym => lib}/_emerge/FakeVartree.py | 0
{pym => lib}/_emerge/FifoIpcDaemon.py | 0
{pym => lib}/_emerge/JobStatusDisplay.py | 0
{pym => lib}/_emerge/MergeListItem.py | 0
{pym => lib}/_emerge/MetadataRegen.py | 0
{pym => lib}/_emerge/MiscFunctionsProcess.py | 6 +-
{pym => lib}/_emerge/Package.py | 5 +-
{pym => lib}/_emerge/PackageArg.py | 0
{pym => lib}/_emerge/PackageMerge.py | 0
{pym => lib}/_emerge/PackagePhase.py | 0
{pym => lib}/_emerge/PackageUninstall.py | 10 +-
{pym => lib}/_emerge/PackageVirtualDbapi.py | 0
{pym => lib}/_emerge/PipeReader.py | 19 +-
{pym => lib}/_emerge/PollScheduler.py | 0
{pym => lib}/_emerge/ProgressHandler.py | 0
{pym => lib}/_emerge/RootConfig.py | 0
{pym => lib}/_emerge/Scheduler.py | 3 +
{pym => lib}/_emerge/SequentialTaskQueue.py | 0
{pym => lib}/_emerge/SetArg.py | 0
{pym => lib}/_emerge/SpawnProcess.py | 3 +
{pym => lib}/_emerge/SubProcess.py | 0
{pym => lib}/_emerge/Task.py | 0
{pym => lib}/_emerge/TaskSequence.py | 0
{pym => lib}/_emerge/UninstallFailure.py | 0
{pym => lib}/_emerge/UnmergeDepPriority.py | 0
{pym => lib}/_emerge/UseFlagDisplay.py | 0
{pym => lib}/_emerge/UserQuery.py | 0
{pym => lib}/_emerge/__init__.py | 0
.../_emerge/_find_deep_system_runtime_deps.py | 0
{pym => lib}/_emerge/_flush_elog_mod_echo.py | 0
{pym => lib}/_emerge/actions.py | 19 +-
{pym => lib}/_emerge/chk_updated_cfg_files.py | 0
{pym => lib}/_emerge/clear_caches.py | 0
{pym => lib}/_emerge/countdown.py | 0
{pym => lib}/_emerge/create_depgraph_params.py | 2 +-
{pym => lib}/_emerge/create_world_atom.py | 2 +-
{pym => lib}/_emerge/depgraph.py | 16 +-
{pym => lib}/_emerge/emergelog.py | 0
{pym => lib}/_emerge/getloadavg.py | 0
{pym => lib}/_emerge/help.py | 0
{pym => lib}/_emerge/is_valid_package_atom.py | 0
{pym => lib}/_emerge/main.py | 0
{pym => lib}/_emerge/post_emerge.py | 0
.../_emerge/resolver/DbapiProvidesIndex.py | 0
{pym => lib}/_emerge/resolver/__init__.py | 0
{pym => lib}/_emerge/resolver/backtracking.py | 0
.../_emerge/resolver/circular_dependency.py | 0
{pym => lib}/_emerge/resolver/output.py | 0
{pym => lib}/_emerge/resolver/output_helpers.py | 0
{pym => lib}/_emerge/resolver/package_tracker.py | 0
{pym => lib}/_emerge/resolver/slot_collision.py | 0
{pym => lib}/_emerge/search.py | 2 +-
.../_emerge/show_invalid_depstring_notice.py | 0
{pym => lib}/_emerge/stdout_spinner.py | 0
{pym => lib}/_emerge/unmerge.py | 0
{pym => lib}/portage/__init__.py | 2 +-
{pym => lib}/portage/_emirrordist/Config.py | 0
.../portage/_emirrordist/DeletionIterator.py | 0
{pym => lib}/portage/_emirrordist/DeletionTask.py | 0
{pym => lib}/portage/_emirrordist/FetchIterator.py | 10 +
{pym => lib}/portage/_emirrordist/FetchTask.py | 0
.../portage/_emirrordist/MirrorDistTask.py | 0
{pym => lib}/portage/_emirrordist/__init__.py | 0
{pym => lib}/portage/_emirrordist/main.py | 0
{pym => lib}/portage/_global_updates.py | 2 +-
{pym => lib}/portage/_legacy_globals.py | 0
{pym => lib}/portage/_selinux.py | 0
{pym => lib}/portage/_sets/ProfilePackageSet.py | 0
{pym => lib}/portage/_sets/__init__.py | 0
{pym => lib}/portage/_sets/base.py | 0
{pym => lib}/portage/_sets/dbapi.py | 0
{pym => lib}/portage/_sets/files.py | 0
{pym => lib}/portage/_sets/libs.py | 0
{pym => lib}/portage/_sets/profiles.py | 0
{pym => lib}/portage/_sets/security.py | 0
{pym => lib}/portage/_sets/shell.py | 0
{pym => lib}/portage/cache/__init__.py | 0
{pym => lib}/portage/cache/anydbm.py | 0
{pym => lib}/portage/cache/cache_errors.py | 0
{pym => lib}/portage/cache/ebuild_xattr.py | 0
{pym => lib}/portage/cache/flat_hash.py | 0
{pym => lib}/portage/cache/fs_template.py | 0
.../portage/cache/index/IndexStreamIterator.py | 0
{pym => lib}/portage/cache/index/__init__.py | 0
{pym => lib}/portage/cache/index/pkg_desc_index.py | 0
{pym => lib}/portage/cache/mappings.py | 0
{pym => lib}/portage/cache/metadata.py | 0
{pym => lib}/portage/cache/sql_template.py | 0
{pym => lib}/portage/cache/sqlite.py | 0
{pym => lib}/portage/cache/template.py | 0
{pym => lib}/portage/cache/volatile.py | 0
{pym => lib}/portage/checksum.py | 0
{pym => lib}/portage/const.py | 0
{pym => lib}/portage/cvstree.py | 0
{pym => lib}/portage/data.py | 0
{pym => lib}/portage/dbapi/DummyTree.py | 0
{pym => lib}/portage/dbapi/IndexedPortdb.py | 0
{pym => lib}/portage/dbapi/IndexedVardb.py | 0
.../dbapi/_ContentsCaseSensitivityManager.py | 0
{pym => lib}/portage/dbapi/_MergeProcess.py | 0
{pym => lib}/portage/dbapi/_SyncfsProcess.py | 0
{pym => lib}/portage/dbapi/_VdbMetadataDelta.py | 0
{pym => lib}/portage/dbapi/__init__.py | 12 ++
{pym => lib}/portage/dbapi/_expand_new_virt.py | 0
{pym => lib}/portage/dbapi/_similar_name_search.py | 0
{pym => lib}/portage/dbapi/bintree.py | 4 +-
{pym => lib}/portage/dbapi/cpv_expand.py | 0
{pym => lib}/portage/dbapi/dep_expand.py | 0
{pym => lib}/portage/dbapi/porttree.py | 83 +++++---
{pym => lib}/portage/dbapi/vartree.py | 27 ++-
{pym => lib}/portage/dbapi/virtual.py | 0
{pym => lib}/portage/debug.py | 2 +-
{pym => lib}/portage/dep/__init__.py | 0
{pym => lib}/portage/dep/_dnf.py | 0
{pym => lib}/portage/dep/_slot_operator.py | 0
{pym => lib}/portage/dep/dep_check.py | 0
{pym => lib}/portage/dep/soname/SonameAtom.py | 0
{pym => lib}/portage/dep/soname/__init__.py | 0
.../portage/dep/soname/multilib_category.py | 0
{pym => lib}/portage/dep/soname/parse.py | 0
{pym => lib}/portage/dispatch_conf.py | 0
{pym => lib}/portage/eapi.py | 2 +-
{pym => lib}/portage/eclass_cache.py | 0
{pym => lib}/portage/elog/__init__.py | 0
{pym => lib}/portage/elog/filtering.py | 0
{pym => lib}/portage/elog/messages.py | 0
{pym => lib}/portage/elog/mod_custom.py | 0
{pym => lib}/portage/elog/mod_echo.py | 0
{pym => lib}/portage/elog/mod_mail.py | 0
{pym => lib}/portage/elog/mod_mail_summary.py | 0
{pym => lib}/portage/elog/mod_save.py | 0
{pym => lib}/portage/elog/mod_save_summary.py | 0
{pym => lib}/portage/elog/mod_syslog.py | 0
{pym => lib}/portage/emaint/__init__.py | 0
{pym => lib}/portage/emaint/defaults.py | 0
{pym => lib}/portage/emaint/main.py | 0
{pym => lib}/portage/emaint/modules/__init__.py | 0
.../portage/emaint/modules/binhost/__init__.py | 0
.../portage/emaint/modules/binhost/binhost.py | 0
.../portage/emaint/modules/config/__init__.py | 0
.../portage/emaint/modules/config/config.py | 0
.../portage/emaint/modules/logs/__init__.py | 0
{pym => lib}/portage/emaint/modules/logs/logs.py | 0
.../portage/emaint/modules/merges/__init__.py | 0
.../portage/emaint/modules/merges/merges.py | 2 +-
.../portage/emaint/modules/move/__init__.py | 0
{pym => lib}/portage/emaint/modules/move/move.py | 0
.../portage/emaint/modules/resume/__init__.py | 0
.../portage/emaint/modules/resume/resume.py | 0
.../portage/emaint/modules/sync/__init__.py | 0
{pym => lib}/portage/emaint/modules/sync/sync.py | 0
.../portage/emaint/modules/world/__init__.py | 0
{pym => lib}/portage/emaint/modules/world/world.py | 0
{pym => lib}/portage/env/__init__.py | 0
{pym => lib}/portage/env/config.py | 0
{pym => lib}/portage/env/loaders.py | 0
{pym => lib}/portage/env/validators.py | 0
{pym => lib}/portage/exception.py | 0
{pym => lib}/portage/getbinpkg.py | 0
{pym => lib}/portage/glsa.py | 0
{pym => lib}/portage/localization.py | 0
{pym => lib}/portage/locks.py | 0
{pym => lib}/portage/mail.py | 0
{pym => lib}/portage/manifest.py | 0
{pym => lib}/portage/metadata.py | 6 +-
{pym => lib}/portage/module.py | 0
{pym => lib}/portage/news.py | 2 +-
{pym => lib}/portage/output.py | 0
{pym => lib}/portage/package/__init__.py | 0
{pym => lib}/portage/package/ebuild/__init__.py | 0
.../package/ebuild/_config/KeywordsManager.py | 0
.../package/ebuild/_config/LicenseManager.py | 0
.../package/ebuild/_config/LocationsManager.py | 5 +-
.../portage/package/ebuild/_config/MaskManager.py | 0
.../portage/package/ebuild/_config/UseManager.py | 0
.../package/ebuild/_config/VirtualsManager.py | 0
.../portage/package/ebuild/_config/__init__.py | 0
.../package/ebuild/_config/env_var_validation.py | 0
.../portage/package/ebuild/_config/features_set.py | 0
.../portage/package/ebuild/_config/helper.py | 0
.../package/ebuild/_config/special_env_vars.py | 0
.../package/ebuild/_config/unpack_dependencies.py | 0
.../portage/package/ebuild/_ipc/ExitCommand.py | 0
.../portage/package/ebuild/_ipc/IpcCommand.py | 0
.../portage/package/ebuild/_ipc/QueryCommand.py | 0
.../portage/package/ebuild/_ipc/__init__.py | 0
.../portage/package/ebuild/_metadata_invalid.py | 0
.../ebuild/_parallel_manifest/ManifestProcess.py | 0
.../ebuild/_parallel_manifest/ManifestScheduler.py | 0
.../ebuild/_parallel_manifest/ManifestTask.py | 0
.../package/ebuild/_parallel_manifest/__init__.py | 0
.../portage/package/ebuild/_spawn_nofetch.py | 0
{pym => lib}/portage/package/ebuild/config.py | 145 ++++++++-----
.../package/ebuild/deprecated_profile_check.py | 0
{pym => lib}/portage/package/ebuild/digestcheck.py | 0
{pym => lib}/portage/package/ebuild/digestgen.py | 0
{pym => lib}/portage/package/ebuild/doebuild.py | 73 ++++---
{pym => lib}/portage/package/ebuild/fetch.py | 0
.../portage/package/ebuild/getmaskingreason.py | 0
.../portage/package/ebuild/getmaskingstatus.py | 0
.../portage/package/ebuild/prepare_build_dirs.py | 5 +-
.../portage/package/ebuild/profile_iuse.py | 0
{pym => lib}/portage/process.py | 0
{pym => lib}/portage/progress.py | 0
{pym => lib}/portage/proxy/__init__.py | 0
{pym => lib}/portage/proxy/lazyimport.py | 0
{pym => lib}/portage/proxy/objectproxy.py | 0
{pym => lib}/portage/repository/__init__.py | 0
{pym => lib}/portage/repository/config.py | 16 +-
{pym => lib}/portage/sync/__init__.py | 0
{pym => lib}/portage/sync/config_checks.py | 0
{pym => lib}/portage/sync/controller.py | 0
{pym => lib}/portage/sync/getaddrinfo_validate.py | 0
{pym => lib}/portage/sync/modules/__init__.py | 0
{pym => lib}/portage/sync/modules/cvs/__init__.py | 0
{pym => lib}/portage/sync/modules/cvs/cvs.py | 0
{pym => lib}/portage/sync/modules/git/__init__.py | 0
{pym => lib}/portage/sync/modules/git/git.py | 72 ++++++-
.../portage/sync/modules/rsync/__init__.py | 0
{pym => lib}/portage/sync/modules/rsync/rsync.py | 122 +++++++----
{pym => lib}/portage/sync/modules/svn/__init__.py | 0
{pym => lib}/portage/sync/modules/svn/svn.py | 0
.../portage/sync/modules/webrsync/__init__.py | 6 +-
lib/portage/sync/modules/webrsync/webrsync.py | 136 ++++++++++++
{pym => lib}/portage/sync/old_tree_timestamp.py | 0
{pym => lib}/portage/sync/syncbase.py | 41 ++++
{pym => lib}/portage/tests/__init__.py | 0
{pym => lib}/portage/tests/bin/__init__.py | 0
{pym => lib}/portage/tests/bin/__test__.py | 0
{pym => lib}/portage/tests/bin/setup_env.py | 0
{pym => lib}/portage/tests/bin/test_dobin.py | 0
{pym => lib}/portage/tests/bin/test_dodir.py | 0
{pym => lib}/portage/tests/bin/test_doins.py | 0
.../portage/tests/bin/test_eapi7_ver_funcs.py | 0
.../portage/tests/bin/test_filter_bash_env.py | 0
{pym => lib}/portage/tests/dbapi/__init__.py | 0
{pym => lib}/portage/tests/dbapi/__test__.py | 0
{pym => lib}/portage/tests/dbapi/test_fakedbapi.py | 0
.../portage/tests/dbapi/test_portdb_cache.py | 0
{pym => lib}/portage/tests/dep/__init__.py | 0
{pym => lib}/portage/tests/dep/__test__.py | 0
{pym => lib}/portage/tests/dep/testAtom.py | 0
.../portage/tests/dep/testCheckRequiredUse.py | 0
.../portage/tests/dep/testExtendedAtomDict.py | 0
.../portage/tests/dep/testExtractAffectingUSE.py | 0
{pym => lib}/portage/tests/dep/testStandalone.py | 0
.../portage/tests/dep/test_best_match_to_list.py | 0
{pym => lib}/portage/tests/dep/test_dep_getcpv.py | 0
{pym => lib}/portage/tests/dep/test_dep_getrepo.py | 0
{pym => lib}/portage/tests/dep/test_dep_getslot.py | 0
.../portage/tests/dep/test_dep_getusedeps.py | 0
{pym => lib}/portage/tests/dep/test_dnf_convert.py | 0
.../portage/tests/dep/test_get_operator.py | 0
.../tests/dep/test_get_required_use_flags.py | 0
{pym => lib}/portage/tests/dep/test_isjustname.py | 0
{pym => lib}/portage/tests/dep/test_isvalidatom.py | 0
.../portage/tests/dep/test_match_from_list.py | 0
{pym => lib}/portage/tests/dep/test_overlap_dnf.py | 0
.../portage/tests/dep/test_paren_reduce.py | 0
{pym => lib}/portage/tests/dep/test_use_reduce.py | 0
{pym => lib}/portage/tests/ebuild/__init__.py | 0
{pym => lib}/portage/tests/ebuild/__test__.py | 0
.../tests/ebuild/test_array_fromfile_eof.py | 0
{pym => lib}/portage/tests/ebuild/test_config.py | 0
.../portage/tests/ebuild/test_doebuild_fd_pipes.py | 0
.../portage/tests/ebuild/test_doebuild_spawn.py | 0
.../portage/tests/ebuild/test_ipc_daemon.py | 0
{pym => lib}/portage/tests/ebuild/test_spawn.py | 0
.../tests/ebuild/test_use_expand_incremental.py | 0
{pym => lib}/portage/tests/emerge/__init__.py | 0
{pym => lib}/portage/tests/emerge/__test__.py | 0
.../portage/tests/emerge/test_config_protect.py | 0
.../emerge/test_emerge_blocker_file_collision.py | 0
.../portage/tests/emerge/test_emerge_slot_abi.py | 0
.../portage/tests/emerge/test_global_updates.py | 0
{pym => lib}/portage/tests/emerge/test_simple.py | 0
{pym => lib}/portage/tests/env/__init__.py | 0
{pym => lib}/portage/tests/env/__test__.py | 0
{pym => lib}/portage/tests/env/config/__init__.py | 0
{pym => lib}/portage/tests/env/config/__test__.py | 0
.../tests/env/config/test_PackageKeywordsFile.py | 0
.../tests/env/config/test_PackageMaskFile.py | 0
.../tests/env/config/test_PackageUseFile.py | 0
.../tests/env/config/test_PortageModulesFile.py | 0
{pym => lib}/portage/tests/glsa/__init__.py | 0
{pym => lib}/portage/tests/glsa/__test__.py | 0
.../portage/tests/glsa/test_security_set.py | 0
{pym => lib}/portage/tests/lafilefixer/__init__.py | 0
{pym => lib}/portage/tests/lafilefixer/__test__.py | 0
.../portage/tests/lafilefixer/test_lafilefixer.py | 0
{pym => lib}/portage/tests/lazyimport/__init__.py | 0
{pym => lib}/portage/tests/lazyimport/__test__.py | 0
.../test_lazy_import_portage_baseline.py | 0
.../lazyimport/test_preload_portage_submodules.py | 0
{pym => lib}/portage/tests/lint/__init__.py | 0
{pym => lib}/portage/tests/lint/__test__.py | 0
{pym => lib}/portage/tests/lint/metadata.py | 0
.../portage/tests/lint/test_bash_syntax.py | 0
.../portage/tests/lint/test_compile_modules.py | 0
.../portage/tests/lint/test_import_modules.py | 0
{pym => lib}/portage/tests/locks/__init__.py | 0
{pym => lib}/portage/tests/locks/__test__.py | 0
.../portage/tests/locks/test_asynchronous_lock.py | 0
.../portage/tests/locks/test_lock_nonblock.py | 0
{pym => lib}/portage/tests/news/__init__.py | 0
{pym => lib}/portage/tests/news/__test__.py | 0
{pym => lib}/portage/tests/news/test_NewsItem.py | 0
{pym => lib}/portage/tests/process/__init__.py | 0
{pym => lib}/portage/tests/process/__test__.py | 0
.../portage/tests/process/test_PopenProcess.py | 0
.../tests/process/test_PopenProcessBlockingIO.py | 0
{pym => lib}/portage/tests/process/test_poll.py | 75 ++++---
.../portage/tests/resolver/ResolverPlayground.py | 0
{pym => lib}/portage/tests/resolver/__init__.py | 0
{pym => lib}/portage/tests/resolver/__test__.py | 0
.../resolver/binpkg_multi_instance/__init__.py | 0
.../resolver/binpkg_multi_instance/__test__.py | 0
.../test_build_id_profile_format.py | 0
.../binpkg_multi_instance/test_rebuilt_binaries.py | 0
.../portage/tests/resolver/soname/__init__.py | 0
.../portage/tests/resolver/soname/__test__.py | 0
.../tests/resolver/soname/test_autounmask.py | 0
.../portage/tests/resolver/soname/test_depclean.py | 0
.../tests/resolver/soname/test_downgrade.py | 0
.../tests/resolver/soname/test_or_choices.py | 0
.../tests/resolver/soname/test_reinstall.py | 0
.../tests/resolver/soname/test_skip_update.py | 0
.../soname/test_slot_conflict_reinstall.py | 0
.../resolver/soname/test_slot_conflict_update.py | 0
.../tests/resolver/soname/test_soname_provided.py | 0
.../tests/resolver/soname/test_unsatisfiable.py | 0
.../tests/resolver/soname/test_unsatisfied.py | 0
.../portage/tests/resolver/test_autounmask.py | 0
.../tests/resolver/test_autounmask_binpkg_use.py | 0
.../resolver/test_autounmask_keep_keywords.py | 0
.../tests/resolver/test_autounmask_multilib_use.py | 0
.../tests/resolver/test_autounmask_parent.py | 0
.../resolver/test_autounmask_use_backtrack.py | 0
.../tests/resolver/test_autounmask_use_breakage.py | 0
.../portage/tests/resolver/test_backtracking.py | 0
{pym => lib}/portage/tests/resolver/test_bdeps.py | 0
.../resolver/test_binary_pkg_ebuild_visibility.py | 0
.../portage/tests/resolver/test_blocker.py | 0
.../portage/tests/resolver/test_changed_deps.py | 0
.../tests/resolver/test_circular_choices.py | 0
.../tests/resolver/test_circular_dependencies.py | 0
.../portage/tests/resolver/test_complete_graph.py | 0
...test_complete_if_new_subslot_without_revbump.py | 0
.../portage/tests/resolver/test_depclean.py | 0
.../portage/tests/resolver/test_depclean_order.py | 0
.../resolver/test_depclean_slot_unavailable.py | 0
{pym => lib}/portage/tests/resolver/test_depth.py | 0
.../resolver/test_disjunctive_depend_order.py | 0
{pym => lib}/portage/tests/resolver/test_eapi.py | 0
.../tests/resolver/test_features_test_use.py | 88 ++++++++
.../resolver/test_imagemagick_graphicsmagick.py | 0
.../portage/tests/resolver/test_keywords.py | 0
.../portage/tests/resolver/test_merge_order.py | 0
.../test_missing_iuse_and_evaluated_atoms.py | 0
.../portage/tests/resolver/test_multirepo.py | 0
.../portage/tests/resolver/test_multislot.py | 0
.../tests/resolver/test_old_dep_chain_display.py | 0
.../portage/tests/resolver/test_onlydeps.py | 0
.../tests/resolver/test_onlydeps_circular.py | 0
.../tests/resolver/test_onlydeps_minimal.py | 0
.../portage/tests/resolver/test_or_choices.py | 0
.../tests/resolver/test_or_downgrade_installed.py | 0
.../tests/resolver/test_or_upgrade_installed.py | 0
{pym => lib}/portage/tests/resolver/test_output.py | 0
.../portage/tests/resolver/test_package_tracker.py | 0
.../tests/resolver/test_profile_default_eapi.py | 0
.../tests/resolver/test_profile_package_set.py | 0
.../portage/tests/resolver/test_rebuild.py | 0
.../test_regular_slot_change_without_revbump.py | 0
.../portage/tests/resolver/test_required_use.py | 0
.../resolver/test_runtime_cycle_merge_order.py | 0
{pym => lib}/portage/tests/resolver/test_simple.py | 0
.../portage/tests/resolver/test_slot_abi.py | 0
.../tests/resolver/test_slot_abi_downgrade.py | 0
.../resolver/test_slot_change_without_revbump.py | 0
.../portage/tests/resolver/test_slot_collisions.py | 0
.../resolver/test_slot_conflict_force_rebuild.py | 0
.../resolver/test_slot_conflict_mask_update.py | 0
.../tests/resolver/test_slot_conflict_rebuild.py | 0
.../test_slot_conflict_unsatisfied_deep_deps.py | 0
.../tests/resolver/test_slot_conflict_update.py | 0
.../resolver/test_slot_operator_autounmask.py | 0
.../resolver/test_slot_operator_complete_graph.py | 0
.../resolver/test_slot_operator_exclusive_slots.py | 0
.../tests/resolver/test_slot_operator_rebuild.py | 0
.../resolver/test_slot_operator_required_use.py | 0
.../resolver/test_slot_operator_reverse_deps.py | 0
.../test_slot_operator_runtime_pkg_mask.py | 0
.../resolver/test_slot_operator_unsatisfied.py | 0
.../tests/resolver/test_slot_operator_unsolved.py | 0
..._slot_operator_update_probe_parent_downgrade.py | 0
.../test_solve_non_slot_operator_slot_conflicts.py | 0
.../portage/tests/resolver/test_targetroot.py | 0
.../tests/resolver/test_unpack_dependencies.py | 0
.../portage/tests/resolver/test_use_aliases.py | 0
.../tests/resolver/test_use_dep_defaults.py | 0
.../portage/tests/resolver/test_useflags.py | 0
.../resolver/test_virtual_minimize_children.py | 0
.../portage/tests/resolver/test_virtual_slot.py | 0
.../portage/tests/resolver/test_with_test_deps.py | 0
{pym => lib}/portage/tests/runTests.py | 0
{pym => lib}/portage/tests/sets/__init__.py | 0
{pym => lib}/portage/tests/sets/__test__.py | 0
{pym => lib}/portage/tests/sets/base/__init__.py | 0
{pym => lib}/portage/tests/sets/base/__test__.py | 0
.../tests/sets/base/testInternalPackageSet.py | 0
{pym => lib}/portage/tests/sets/files/__init__.py | 0
{pym => lib}/portage/tests/sets/files/__test__.py | 0
.../portage/tests/sets/files/testConfigFileSet.py | 0
.../portage/tests/sets/files/testStaticFileSet.py | 0
{pym => lib}/portage/tests/sets/shell/__init__.py | 0
{pym => lib}/portage/tests/sets/shell/__test__.py | 0
{pym => lib}/portage/tests/sets/shell/testShell.py | 0
{pym => lib}/portage/tests/sync/__init__.py | 0
{pym => lib}/portage/tests/sync/__test__.py | 0
{pym => lib}/portage/tests/sync/test_sync_local.py | 15 +-
{pym => lib}/portage/tests/unicode/__init__.py | 0
{pym => lib}/portage/tests/unicode/__test__.py | 0
.../portage/tests/unicode/test_string_format.py | 0
{pym => lib}/portage/tests/update/__init__.py | 0
{pym => lib}/portage/tests/update/__test__.py | 0
{pym => lib}/portage/tests/update/test_move_ent.py | 0
.../portage/tests/update/test_move_slot_ent.py | 0
.../portage/tests/update/test_update_dbentry.py | 0
{pym => lib}/portage/tests/util/__init__.py | 0
{pym => lib}/portage/tests/util/__test__.py | 0
.../portage/tests/util/dyn_libs}/__init__.py | 0
.../portage/tests/util/dyn_libs}/__test__.py | 0
.../tests/util/dyn_libs/test_soname_deps.py | 34 +++
.../portage/tests/util/eventloop}/__init__.py | 0
.../portage/tests/util/eventloop}/__test__.py | 0
.../tests/util/eventloop/test_call_soon_fifo.py | 0
.../portage/tests/util/file_copy}/__init__.py | 0
.../portage/tests/util/file_copy}/__test__.py | 0
.../portage/tests/util/file_copy/test_copyfile.py | 0
.../portage/tests/util/futures}/__init__.py | 0
.../portage/tests/util/futures}/__test__.py | 0
.../tests/util/futures/asyncio}/__init__.py | 0
.../tests/util/futures/asyncio}/__test__.py | 0
.../util/futures/asyncio/test_child_watcher.py | 0
.../futures/asyncio/test_event_loop_in_fork.py | 0
.../tests/util/futures/asyncio/test_pipe_closed.py | 0
.../asyncio/test_policy_wrapper_recursion.py | 0
.../futures/asyncio/test_run_until_complete.py | 0
.../util/futures/asyncio/test_subprocess_exec.py | 160 ++++++++++++++
.../util/futures/asyncio/test_wakeup_fd_sigchld.py | 76 +++++++
.../tests/util/futures/test_compat_coroutine.py | 159 ++++++++++++++
.../tests/util/futures/test_done_callback.py | 0
.../tests/util/futures/test_iter_completed.py | 0
.../portage/tests/util/futures/test_retry.py | 0
{pym => lib}/portage/tests/util/test_checksum.py | 0
{pym => lib}/portage/tests/util/test_digraph.py | 0
{pym => lib}/portage/tests/util/test_getconfig.py | 0
{pym => lib}/portage/tests/util/test_grabdict.py | 0
lib/portage/tests/util/test_install_mask.py | 129 +++++++++++
.../portage/tests/util/test_normalizedPath.py | 0
.../portage/tests/util/test_stackDictList.py | 0
{pym => lib}/portage/tests/util/test_stackDicts.py | 0
{pym => lib}/portage/tests/util/test_stackLists.py | 0
.../portage/tests/util/test_uniqueArray.py | 0
{pym => lib}/portage/tests/util/test_varExpand.py | 0
{pym => lib}/portage/tests/util/test_whirlpool.py | 0
{pym => lib}/portage/tests/util/test_xattr.py | 0
{pym => lib}/portage/tests/versions/__init__.py | 0
.../portage/tests/versions}/__test__.py | 0
.../portage/tests/versions/test_cpv_sort_key.py | 0
{pym => lib}/portage/tests/versions/test_vercmp.py | 0
{pym => lib}/portage/tests/xpak/__init__.py | 0
.../tests => lib/portage/tests/xpak}/__test__.py | 0
{pym => lib}/portage/tests/xpak/test_decodeint.py | 0
{pym => lib}/portage/update.py | 0
{pym => lib}/portage/util/ExtractKernelVersion.py | 0
{pym => lib}/portage/util/SlotObject.py | 0
{pym => lib}/portage/util/_ShelveUnicodeWrapper.py | 0
{pym => lib}/portage/util/__init__.py | 0
{pym => lib}/portage/util/_async/AsyncFunction.py | 0
{pym => lib}/portage/util/_async/AsyncScheduler.py | 0
.../portage/util/_async/AsyncTaskFuture.py | 0
{pym => lib}/portage/util/_async/FileCopier.py | 0
{pym => lib}/portage/util/_async/FileDigester.py | 0
{pym => lib}/portage/util/_async/ForkProcess.py | 0
{pym => lib}/portage/util/_async/PipeLogger.py | 0
.../portage/util/_async/PipeReaderBlockingIO.py | 0
{pym => lib}/portage/util/_async/PopenProcess.py | 0
.../portage/util/_async/SchedulerInterface.py | 0
{pym => lib}/portage/util/_async/TaskScheduler.py | 0
{pym => lib}/portage/util/_async/__init__.py | 0
.../portage/util/_async/run_main_scheduler.py | 0
{pym => lib}/portage/util/_ctypes.py | 0
{pym => lib}/portage/util/_desktop_entry.py | 0
.../portage/util/_dyn_libs/LinkageMapELF.py | 0
{pym => lib}/portage/util/_dyn_libs/NeededEntry.py | 0
.../util/_dyn_libs/PreservedLibsRegistry.py | 0
{pym => lib}/portage/util/_dyn_libs/__init__.py | 0
.../util/_dyn_libs/display_preserved_libs.py | 0
{pym => lib}/portage/util/_dyn_libs/soname_deps.py | 42 +++-
{pym => lib}/portage/util/_eventloop/EventLoop.py | 52 ++++-
.../portage/util/_eventloop/PollConstants.py | 0
.../portage/util/_eventloop/PollSelectAdapter.py | 0
{pym => lib}/portage/util/_eventloop/__init__.py | 0
.../portage/util/_eventloop/asyncio_event_loop.py | 66 +++++-
.../portage/util/_eventloop/global_event_loop.py | 0
{pym => lib}/portage/util/_get_vm_info.py | 0
{pym => lib}/portage/util/_info_files.py | 0
{pym => lib}/portage/util/_path.py | 0
{pym => lib}/portage/util/_pty.py | 0
{pym => lib}/portage/util/_urlopen.py | 0
{pym => lib}/portage/util/_xattr.py | 0
{pym => lib}/portage/util/backoff.py | 0
{pym => lib}/portage/util/changelog.py | 0
{pym => lib}/portage/util/compression_probe.py | 2 +-
{pym => lib}/portage/util/configparser.py | 0
{pym => lib}/portage/util/cpuinfo.py | 0
{pym => lib}/portage/util/digraph.py | 0
{pym => lib}/portage/util/elf/__init__.py | 0
{pym => lib}/portage/util/elf/constants.py | 0
{pym => lib}/portage/util/elf/header.py | 0
{pym => lib}/portage/util/endian/__init__.py | 0
{pym => lib}/portage/util/endian/decode.py | 0
{pym => lib}/portage/util/env_update.py | 0
{pym => lib}/portage/util/file_copy/__init__.py | 0
{pym => lib}/portage/util/formatter.py | 0
{pym => lib}/portage/util/futures/__init__.py | 0
.../portage/util/futures/_asyncio/__init__.py | 53 +++++
lib/portage/util/futures/_asyncio/process.py | 107 ++++++++++
lib/portage/util/futures/_asyncio/streams.py | 96 +++++++++
.../portage/util/futures/_asyncio/tasks.py | 0
lib/portage/util/futures/compat_coroutine.py | 116 ++++++++++
{pym => lib}/portage/util/futures/events.py | 0
.../portage/util/futures/executor}/__init__.py | 0
{pym => lib}/portage/util/futures/executor/fork.py | 0
.../portage/util/futures/extendedfutures.py | 0
{pym => lib}/portage/util/futures/futures.py | 0
.../portage/util/futures/iter_completed.py | 0
{pym => lib}/portage/util/futures/retry.py | 0
{pym => lib}/portage/util/futures/transports.py | 0
{pym => lib}/portage/util/futures/unix_events.py | 0
{pym => lib}/portage/util/install_mask.py | 7 +-
.../portage/util/iterators/MultiIterGroupBy.py | 0
{pym => lib}/portage/util/iterators/__init__.py | 0
{pym => lib}/portage/util/lafilefixer.py | 0
{pym => lib}/portage/util/listdir.py | 0
{pym => lib}/portage/util/locale.py | 0
{pym => lib}/portage/util/monotonic.py | 0
{pym => lib}/portage/util/movefile.py | 0
{pym => lib}/portage/util/mtimedb.py | 0
{pym => lib}/portage/util/path.py | 0
{pym => lib}/portage/util/socks5.py | 0
{pym => lib}/portage/util/whirlpool.py | 0
{pym => lib}/portage/util/writeable_check.py | 0
{pym => lib}/portage/versions.py | 0
{pym => lib}/portage/xml/__init__.py | 0
{pym => lib}/portage/xml/metadata.py | 0
{pym => lib}/portage/xpak.py | 0
man/color.map.5 | 2 +-
man/emerge.1 | 10 +-
man/make.conf.5 | 8 +-
man/portage.5 | 29 ++-
man/ru/color.map.5 | 2 +-
misc/emerge-delta-webrsync | 26 ++-
pym/portage/sync/modules/webrsync/webrsync.py | 70 ------
.../tests/resolver/test_features_test_use.py | 68 ------
.../util/futures/asyncio/test_subprocess_exec.py | 236 ---------------------
repoman/README | 2 +-
repoman/RELEASE-NOTES | 7 +
repoman/TEST-NOTES | 6 +-
repoman/bin/repoman | 4 +-
repoman/cnf/qa_data/qa_data.yaml | 2 +
repoman/cnf/repository/qa_data.yaml | 2 +
repoman/{pym => lib}/repoman/__init__.py | 2 +-
repoman/{pym => lib}/repoman/_portage.py | 0
repoman/{pym => lib}/repoman/_subprocess.py | 0
repoman/{pym => lib}/repoman/actions.py | 0
repoman/{pym => lib}/repoman/argparser.py | 0
repoman/{pym => lib}/repoman/check_missingslot.py | 0
.../herds => lib/repoman/checks}/__init__.py | 0
repoman/{pym => lib}/repoman/config.py | 8 +-
repoman/{pym => lib}/repoman/copyrights.py | 0
repoman/{pym => lib}/repoman/errors.py | 0
repoman/{pym => lib}/repoman/gpg.py | 0
repoman/{pym => lib}/repoman/main.py | 0
repoman/{pym => lib}/repoman/metadata.py | 0
repoman/{pym => lib}/repoman/modules/__init__.py | 0
.../repoman/modules/commit/__init__.py | 0
.../repoman/modules/commit/manifest.py | 0
.../repoman/modules/commit/repochecks.py | 0
.../repoman/modules/linechecks/__init__.py | 0
.../modules/linechecks/assignment/__init__.py | 0
.../modules/linechecks/assignment/assignment.py | 0
.../repoman/modules/linechecks/base.py | 0
.../repoman/modules/linechecks/config.py | 0
.../repoman/modules/linechecks/controller.py | 0
.../repoman/modules/linechecks/depend/__init__.py | 0
.../repoman/modules/linechecks/depend/implicit.py | 0
.../modules/linechecks/deprecated/__init__.py | 0
.../modules/linechecks/deprecated/deprecated.py | 0
.../modules/linechecks/deprecated/inherit.py | 0
.../repoman/modules/linechecks/do/__init__.py | 0
.../repoman/modules/linechecks/do/dosym.py | 0
.../repoman/modules/linechecks/eapi/__init__.py | 0
.../repoman/modules/linechecks/eapi/checks.py | 0
.../repoman/modules/linechecks/eapi/definition.py | 0
.../repoman/modules/linechecks/emake/__init__.py | 0
.../repoman/modules/linechecks/emake/emake.py | 0
.../modules/linechecks/gentoo_header/__init__.py | 0
.../modules/linechecks/gentoo_header/header.py | 0
.../repoman/modules/linechecks/helpers/__init__.py | 0
.../repoman/modules/linechecks/helpers/offset.py | 0
.../repoman/modules/linechecks/nested/__init__.py | 0
.../repoman/modules/linechecks/nested/nested.py | 0
.../repoman/modules/linechecks/nested/nesteddie.py | 0
.../repoman/modules/linechecks/patches/__init__.py | 0
.../repoman/modules/linechecks/patches/patches.py | 0
.../repoman/modules/linechecks/phases/__init__.py | 0
.../repoman/modules/linechecks/phases/phase.py | 0
.../repoman/modules/linechecks/portage/__init__.py | 0
.../repoman/modules/linechecks/portage/internal.py | 0
.../repoman/modules/linechecks/quotes/__init__.py | 0
.../repoman/modules/linechecks/quotes/quoteda.py | 0
.../repoman/modules/linechecks/quotes/quotes.py | 0
.../repoman/modules/linechecks/uri/__init__.py | 0
.../repoman/modules/linechecks/uri/uri.py | 0
.../repoman/modules/linechecks/use/__init__.py | 0
.../repoman/modules/linechecks/use/builtwith.py | 0
.../repoman/modules/linechecks/useless/__init__.py | 0
.../repoman/modules/linechecks/useless/cd.py | 0
.../repoman/modules/linechecks/useless/dodoc.py | 0
.../modules/linechecks/whitespace/__init__.py | 0
.../repoman/modules/linechecks/whitespace/blank.py | 0
.../modules/linechecks/whitespace/whitespace.py | 0
.../modules/linechecks/workaround/__init__.py | 0
.../modules/linechecks/workaround/workarounds.py | 0
.../{pym => lib}/repoman/modules/scan/__init__.py | 0
.../repoman/modules/scan/depend/__init__.py | 0
.../repoman/modules/scan/depend/_depend_checks.py | 9 +
.../repoman/modules/scan/depend/_gen_arches.py | 0
.../repoman/modules/scan/depend/profile.py | 36 ++++
.../repoman/modules/scan/directories/__init__.py | 0
.../repoman/modules/scan/directories/files.py | 0
.../repoman/modules/scan/directories/mtime.py | 0
.../repoman/modules/scan/eapi/__init__.py | 0
.../{pym => lib}/repoman/modules/scan/eapi/eapi.py | 0
.../repoman/modules/scan/ebuild/__init__.py | 0
.../repoman/modules/scan/ebuild/ebuild.py | 0
.../repoman/modules/scan/ebuild/multicheck.py | 0
.../repoman/modules/scan/eclasses/__init__.py | 0
.../repoman/modules/scan/eclasses/live.py | 0
.../repoman/modules/scan/eclasses/ruby.py | 0
.../repoman/modules/scan/fetch/__init__.py | 0
.../repoman/modules/scan/fetch/fetches.py | 0
.../repoman/modules/scan/keywords/__init__.py | 0
.../repoman/modules/scan/keywords/keywords.py | 21 ++
.../repoman/modules/scan/manifest/__init__.py | 0
.../repoman/modules/scan/manifest/manifests.py | 0
.../repoman/modules/scan/metadata/__init__.py | 0
.../repoman/modules/scan/metadata/description.py | 0
.../modules/scan/metadata/ebuild_metadata.py | 0
.../repoman/modules/scan/metadata/pkgmetadata.py | 0
.../repoman/modules/scan/metadata/restrict.py | 0
.../repoman/modules/scan/metadata/use_flags.py | 0
.../{pym => lib}/repoman/modules/scan/module.py | 0
.../repoman/modules/scan/options/__init__.py | 0
.../repoman/modules/scan/options/options.py | 0
repoman/{pym => lib}/repoman/modules/scan/scan.py | 0
.../{pym => lib}/repoman/modules/scan/scanbase.py | 0
.../repoman/modules/vcs/None/__init__.py | 0
.../repoman/modules/vcs/None/changes.py | 0
.../repoman/modules/vcs/None/status.py | 0
.../{pym => lib}/repoman/modules/vcs/__init__.py | 0
.../repoman/modules/vcs/bzr/__init__.py | 0
.../repoman/modules/vcs/bzr/changes.py | 0
.../{pym => lib}/repoman/modules/vcs/bzr/status.py | 0
.../{pym => lib}/repoman/modules/vcs/changes.py | 0
.../repoman/modules/vcs/cvs/__init__.py | 0
.../repoman/modules/vcs/cvs/changes.py | 0
.../{pym => lib}/repoman/modules/vcs/cvs/status.py | 0
.../repoman/modules/vcs/git/__init__.py | 0
.../repoman/modules/vcs/git/changes.py | 0
.../{pym => lib}/repoman/modules/vcs/git/status.py | 0
.../repoman/modules/vcs/hg/__init__.py | 0
.../{pym => lib}/repoman/modules/vcs/hg/changes.py | 0
.../{pym => lib}/repoman/modules/vcs/hg/status.py | 0
.../{pym => lib}/repoman/modules/vcs/settings.py | 0
.../repoman/modules/vcs/svn/__init__.py | 0
.../repoman/modules/vcs/svn/changes.py | 0
.../{pym => lib}/repoman/modules/vcs/svn/status.py | 0
repoman/{pym => lib}/repoman/modules/vcs/vcs.py | 0
repoman/{pym => lib}/repoman/profile.py | 0
repoman/{pym => lib}/repoman/qa_data.py | 0
repoman/{pym => lib}/repoman/qa_tracker.py | 0
repoman/{pym => lib}/repoman/repos.py | 0
repoman/{pym => lib}/repoman/scanner.py | 0
repoman/{pym => lib}/repoman/tests/__init__.py | 0
.../changelog => lib/repoman/tests}/__test__.py | 0
.../repoman/tests/changelog/__init__.py | 0
.../lib/repoman/tests/changelog}/__test__.py | 0
.../repoman/tests/changelog/test_echangelog.py | 0
.../{pym => lib}/repoman/tests/commit/__init__.py | 0
.../{pym => lib}/repoman/tests/commit/__test__.py | 0
.../repoman/tests/commit/test_commitmsg.py | 0
repoman/{pym => lib}/repoman/tests/runTests.py | 2 +-
.../{pym => lib}/repoman/tests/simple/__init__.py | 0
.../{pym => lib}/repoman/tests/simple/__test__.py | 0
.../repoman/tests/simple/test_simple.py | 0
repoman/{pym => lib}/repoman/utilities.py | 2 +-
repoman/man/repoman.1 | 5 +-
repoman/pym/repoman/checks/herds/herdbase.py | 135 ------------
repoman/pym/repoman/checks/herds/metadata.py | 26 ---
repoman/runtests | 4 +-
repoman/setup.py | 24 +--
runtests | 4 +-
setup.py | 8 +-
testpath | 4 +-
tox.ini | 16 ++
788 files changed, 2521 insertions(+), 954 deletions(-)
diff --cc lib/_emerge/Package.py
index e73c9d9d1,5f34f3d27..ed4bd2277
--- a/lib/_emerge/Package.py
+++ b/lib/_emerge/Package.py
@@@ -93,13 -93,10 +93,16 @@@ class Package(Task)
# sync metadata with validated repo (may be UNKNOWN_REPO)
self._metadata['repository'] = self.cpv.repo
- implicit_match = db._iuse_implicit_cnstr(self.cpv, self._metadata)
+ if self.root_config.settings.local_config:
+ implicit_match = db._iuse_implicit_cnstr(self.cpv, self._metadata)
+ else:
+ implicit_match = db._repoman_iuse_implicit_cnstr(self.cpv, self._metadata)
+ if 'force-multilib' in self.root_config.settings.features:
+ iuse = self._metadata["IUSE"]
+ for multilib_abis in self.root_config.settings.get("MULTILIB_ABIS", '').split():
+ iuse += " multilib_abi_" + multilib_abis
+ iuse += " abiwrapper"
+ self._metadata["IUSE"] = iuse
usealiases = self.root_config.settings._use_manager.getUseAliases(self)
self.iuse = self._iuse(self, self._metadata["IUSE"].split(),
implicit_match, usealiases, self.eapi)
diff --cc lib/portage/package/ebuild/config.py
index 1f1158d33,a68df5807..14a2193ef
--- a/lib/portage/package/ebuild/config.py
+++ b/lib/portage/package/ebuild/config.py
@@@ -952,14 -962,15 +962,22 @@@ class config(object)
# initialize self.features
self.regenerate()
+ feature_use = []
+ if "test" in self.features:
+ feature_use.append("test")
+ self.configdict["features"]["USE"] = self._default_features_use = " ".join(feature_use)
+ if feature_use:
+ # Regenerate USE so that the initial "test" flag state is
+ # correct for evaluation of !test? conditionals in RESTRICT.
+ self.regenerate()
+ if 'force-multilib' in self.features:
+ #add multilib_abi internally to list of USE_EXPANDed vars
+ self["USE_EXPAND"] = "MULTILIB_ABI" + " " + self.get("USE_EXPAND", "")
+ self.backup_changes("USE_EXPAND")
+ default_abi = self.configdict["defaults"].get('DEFAULT_ABI', '').strip()
+ if default_abi:
+ self.configdict["defaults"]["USE"] = self.configdict["defaults"].get("USE", "") + " multilib_abi_" + default_abi
if unprivileged:
self.features.add('unprivileged')
@@@ -1906,16 -1938,6 +1947,10 @@@
iuse_implicit.add("build")
iuse_implicit.add("bootstrap")
- # Controlled by FEATURES=test. Make this implicit, so handling
- # of FEATURES=test is consistent regardless of explicit IUSE.
- # Users may use use.mask/package.use.mask to control
- # FEATURES=test for all ebuilds, regardless of explicit IUSE.
- iuse_implicit.add("test")
-
+ if 'force-multilib' in self.features:
+ for multilib_abis in self.get('MULTILIB_ABIS', '').split():
+ iuse_implicit.add("multilib_abi_" + multilib_abis)
+
return iuse_implicit
def _getUseMask(self, pkg, stable=None):
next reply other threads:[~2018-09-01 11:03 UTC|newest]
Thread overview: 192+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-09-01 11:03 Thomas Sachau [this message]
-- strict thread matches above, loose matches on Subject: below --
2022-03-21 11:57 [gentoo-commits] proj/portage:multilib commit in: / Thomas Sachau
2022-03-21 11:43 Thomas Sachau
2022-03-21 11:34 Thomas Sachau
2022-03-21 11:33 Thomas Sachau
2022-03-21 11:27 Thomas Sachau
2022-03-21 11:26 Thomas Sachau
2022-03-21 10:01 Thomas Sachau
2021-10-30 9:44 Thomas Sachau
2021-10-30 9:44 Thomas Sachau
2021-07-25 11:43 Thomas Sachau
2021-07-25 11:43 Thomas Sachau
2021-07-25 11:43 Thomas Sachau
2021-04-03 8:28 Thomas Sachau
2021-04-03 8:28 Thomas Sachau
2021-04-03 8:28 Thomas Sachau
2021-04-03 8:28 Thomas Sachau
2021-01-23 9:52 Thomas Sachau
2021-01-15 16:20 Thomas Sachau
2021-01-15 16:20 Thomas Sachau
2021-01-15 16:20 Thomas Sachau
2021-01-15 16:20 Thomas Sachau
2021-01-15 16:20 Thomas Sachau
2020-10-30 10:29 Thomas Sachau
2020-08-23 12:22 Thomas Sachau
2020-07-05 17:57 Thomas Sachau
2019-12-26 11:56 Thomas Sachau
2019-03-17 11:35 Thomas Sachau
2019-03-09 9:56 Thomas Sachau
2018-05-23 12:23 Thomas Sachau
2018-04-14 12:16 Thomas Sachau
2018-03-03 15:18 Thomas Sachau
2018-01-07 10:43 Thomas Sachau
2018-01-07 10:43 Thomas Sachau
2018-01-07 10:43 Thomas Sachau
2018-01-07 10:43 Thomas Sachau
2018-01-07 10:43 Thomas Sachau
2018-01-07 10:43 Thomas Sachau
2018-01-07 10:43 Thomas Sachau
2018-01-07 10:43 Thomas Sachau
2018-01-07 10:43 Thomas Sachau
2018-01-07 10:43 Thomas Sachau
2018-01-07 10:43 Thomas Sachau
2018-01-07 10:38 Thomas Sachau
2018-01-07 10:33 Thomas Sachau
2018-01-07 10:33 Thomas Sachau
2018-01-07 10:33 Thomas Sachau
2018-01-07 10:33 Thomas Sachau
2018-01-07 10:33 Thomas Sachau
2018-01-07 10:30 Thomas Sachau
2018-01-07 10:09 Thomas Sachau
2018-01-07 9:50 Thomas Sachau
2018-01-07 9:39 Thomas Sachau
2016-02-28 12:37 Thomas Sachau
2016-02-28 12:37 Thomas Sachau
2016-02-28 12:37 Thomas Sachau
2016-02-28 12:37 Thomas Sachau
2016-02-28 12:37 Thomas Sachau
2016-02-28 12:37 Thomas Sachau
2015-10-04 11:38 Thomas Sachau
2015-10-04 11:38 Thomas Sachau
2015-10-04 11:38 Thomas Sachau
2015-10-04 11:38 Thomas Sachau
2015-10-04 11:38 Thomas Sachau
2015-05-05 11:29 Thomas Sachau
2014-12-12 20:23 Thomas Sachau
2014-12-12 20:23 Thomas Sachau
2014-12-12 20:23 Thomas Sachau
2014-12-12 20:23 Thomas Sachau
2014-12-12 20:23 Thomas Sachau
2014-06-02 20:00 Thomas Sachau
2013-09-15 20:54 Thomas Sachau
2013-09-15 11:39 Thomas Sachau
2013-09-15 11:06 Thomas Sachau
2013-09-10 16:53 Thomas Sachau
2013-08-25 19:50 Thomas Sachau
2013-08-18 20:55 Thomas Sachau
2013-08-04 11:19 Thomas Sachau
2013-08-04 11:19 Thomas Sachau
2013-05-31 12:16 Thomas Sachau
2013-05-20 10:41 Thomas Sachau
2013-05-10 8:01 Thomas Sachau
2013-04-14 13:20 Thomas Sachau
2013-04-03 11:51 Thomas Sachau
2013-03-28 19:31 Thomas Sachau
2013-03-23 16:24 Thomas Sachau
2013-03-08 17:46 Thomas Sachau
2013-03-03 13:44 Thomas Sachau
2013-02-16 18:47 Thomas Sachau
2013-01-26 17:19 Thomas Sachau
2013-01-26 17:19 Thomas Sachau
2013-01-26 17:19 Thomas Sachau
2013-01-26 17:19 Thomas Sachau
2013-01-26 17:19 Thomas Sachau
2013-01-26 17:19 Thomas Sachau
2013-01-26 17:19 Thomas Sachau
2013-01-26 17:19 Thomas Sachau
2013-01-26 17:19 Thomas Sachau
2013-01-26 17:19 Thomas Sachau
2013-01-12 11:21 Thomas Sachau
2012-12-16 10:49 Thomas Sachau
2012-12-14 20:16 Thomas Sachau
2012-12-14 20:14 Thomas Sachau
2012-12-09 10:54 Thomas Sachau
2012-12-07 22:24 Thomas Sachau
2012-11-30 16:44 Thomas Sachau
2012-10-29 12:23 Thomas Sachau
2012-10-22 8:57 Thomas Sachau
2012-10-14 9:35 Thomas Sachau
2012-10-06 11:34 Thomas Sachau
2012-09-29 12:51 Thomas Sachau
2012-09-24 20:38 Thomas Sachau
2012-09-22 15:33 Thomas Sachau
2012-09-22 15:23 Thomas Sachau
2012-09-17 17:07 Thomas Sachau
2012-09-08 12:55 Thomas Sachau
2012-09-08 12:55 Thomas Sachau
2012-09-08 12:55 Thomas Sachau
2012-09-08 12:55 Thomas Sachau
2012-09-08 12:55 Thomas Sachau
2012-09-08 12:55 Thomas Sachau
2012-09-08 12:55 Thomas Sachau
2012-09-08 12:55 Thomas Sachau
2012-07-08 10:03 Thomas Sachau
2012-07-01 12:01 Thomas Sachau
2012-06-10 12:42 Thomas Sachau
2012-06-03 12:33 Thomas Sachau
2012-05-28 10:19 Thomas Sachau
2012-05-17 10:00 Thomas Sachau
2012-05-12 7:57 Thomas Sachau
2012-05-11 20:38 Thomas Sachau
2012-04-24 21:26 Thomas Sachau
2012-04-06 11:50 Thomas Sachau
2012-04-04 12:42 Thomas Sachau
2012-04-01 22:00 Thomas Sachau
2012-03-30 18:55 Thomas Sachau
2012-03-24 10:51 Thomas Sachau
2012-03-23 14:42 Thomas Sachau
2012-03-21 18:50 Thomas Sachau
2012-03-18 15:29 Thomas Sachau
2012-03-06 18:21 Thomas Sachau
2012-02-26 16:27 Thomas Sachau
2012-02-25 12:04 Thomas Sachau
2012-02-23 19:08 Thomas Sachau
2012-02-18 15:52 Thomas Sachau
2012-02-06 19:38 Thomas Sachau
2011-12-28 13:33 Thomas Sachau
2011-12-24 14:16 Thomas Sachau
2011-12-16 16:30 Thomas Sachau
2011-12-07 21:31 Thomas Sachau
2011-11-26 14:03 Thomas Sachau
2011-11-19 14:25 Thomas Sachau
2011-11-18 23:27 Thomas Sachau
2011-11-11 22:52 Thomas Sachau
2011-10-31 19:53 Thomas Sachau
2011-10-24 18:54 Thomas Sachau
2011-10-23 11:05 Thomas Sachau
2011-10-23 11:05 Thomas Sachau
2011-10-21 13:57 Thomas Sachau
2011-10-12 16:28 Thomas Sachau
2011-10-09 10:33 Thomas Sachau
2011-10-08 8:34 Thomas Sachau
2011-10-07 12:41 Thomas Sachau
2011-10-01 13:56 Thomas Sachau
2011-10-01 13:56 Thomas Sachau
2011-09-11 14:33 Thomas Sachau
2011-09-09 13:03 Thomas Sachau
2011-08-16 12:20 Thomas Sachau
2011-08-05 12:29 Thomas Sachau
2011-08-01 16:53 Thomas Sachau
2011-07-28 17:07 Thomas Sachau
2011-07-21 19:18 Thomas Sachau
2011-07-15 13:24 Thomas Sachau
2011-07-05 17:34 Thomas Sachau
2011-06-16 16:54 Thomas Sachau
2011-06-07 15:44 Thomas Sachau
2011-05-28 13:14 Thomas Sachau
2011-05-26 17:55 Thomas Sachau
2011-05-22 9:42 Thomas Sachau
2011-05-14 9:59 Thomas Sachau
2011-05-07 18:38 Thomas Sachau
2011-04-16 10:17 Thomas Sachau
2011-04-16 10:17 Thomas Sachau
2011-03-28 17:24 Thomas Sachau
2011-03-19 19:39 Thomas Sachau
2011-03-17 17:58 Thomas Sachau
2011-03-03 19:53 Thomas Sachau
2011-02-25 13:45 Thomas Sachau
2011-02-16 20:15 Thomas Sachau
2011-02-10 18:12 Thomas Sachau
2011-02-08 18:12 Thomas Sachau
2011-02-06 13:10 Thomas Sachau
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1535794248.cb6737033d90f57168ed12e4b0cec8711b311b36.tommy@gentoo \
--to=tommy@gentoo.org \
--cc=gentoo-commits@lists.gentoo.org \
--cc=gentoo-dev@lists.gentoo.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox