From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: <gentoo-commits+bounces-1040285-garchives=archives.gentoo.org@lists.gentoo.org> Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id 80A2C138334 for <garchives@archives.gentoo.org>; Sat, 4 Aug 2018 06:56:32 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 94D9AE07C7; Sat, 4 Aug 2018 06:56:31 +0000 (UTC) Received: from smtp.gentoo.org (dev.gentoo.org [IPv6:2001:470:ea4a:1:5054:ff:fec7:86e4]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id 582DBE07C7 for <gentoo-commits@lists.gentoo.org>; Sat, 4 Aug 2018 06:56:31 +0000 (UTC) Received: from oystercatcher.gentoo.org (unknown [IPv6:2a01:4f8:202:4333:225:90ff:fed9:fc84]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id 1575E335CCB for <gentoo-commits@lists.gentoo.org>; Sat, 4 Aug 2018 06:56:30 +0000 (UTC) Received: from localhost.localdomain (localhost [IPv6:::1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id 111B2389 for <gentoo-commits@lists.gentoo.org>; Sat, 4 Aug 2018 06:56:28 +0000 (UTC) From: "Fabian Groffen" <grobian@gentoo.org> To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Fabian Groffen" <grobian@gentoo.org> Message-ID: <1533365746.7930d48e80624f600fd96effbf1f509e12964678.grobian@gentoo> Subject: [gentoo-commits] proj/portage:prefix commit in: / X-VCS-Repository: proj/portage X-VCS-Committer: grobian X-VCS-Committer-Name: Fabian Groffen X-VCS-Revision: 7930d48e80624f600fd96effbf1f509e12964678 X-VCS-Branch: prefix Date: Sat, 4 Aug 2018 06:56:28 +0000 (UTC) Precedence: bulk List-Post: <mailto:gentoo-commits@lists.gentoo.org> List-Help: <mailto:gentoo-commits+help@lists.gentoo.org> List-Unsubscribe: <mailto:gentoo-commits+unsubscribe@lists.gentoo.org> List-Subscribe: <mailto:gentoo-commits+subscribe@lists.gentoo.org> List-Id: Gentoo Linux mail <gentoo-commits.gentoo.org> X-BeenThere: gentoo-commits@lists.gentoo.org X-Archives-Salt: f6840ee7-a822-4eda-8644-1f482fd6cbb2 X-Archives-Hash: bd4ced03fb7a7c137d0d1dcc6f849473 commit: 7930d48e80624f600fd96effbf1f509e12964678 Author: Fabian Groffen <grobian <AT> gentoo <DOT> org> AuthorDate: Sat Aug 4 06:55:46 2018 +0000 Commit: Fabian Groffen <grobian <AT> gentoo <DOT> org> CommitDate: Sat Aug 4 06:55:46 2018 +0000 URL: https://gitweb.gentoo.org/proj/portage.git/commit/?id=7930d48e Merge remote-tracking branch 'overlays-gentoo-org/master' into prefix .gitignore | 1 + .travis.yml | 28 +--- NEWS | 10 ++ RELEASE-NOTES | 50 +++++++ TEST-NOTES | 6 +- bin/archive-conf | 2 +- bin/binhost-snapshot | 2 +- bin/clean_locks | 2 +- bin/dispatch-conf | 2 +- bin/ebuild | 2 +- bin/ebuild-ipc.py | 2 +- bin/egencache | 2 +- bin/emaint | 2 +- bin/emerge | 2 +- bin/emerge-webrsync | 23 ++- bin/env-update | 2 +- bin/etc-update | 2 +- bin/fixpackages | 2 +- bin/glsa-check | 2 +- bin/install-qa-check.d/10executable-issues | 4 +- bin/install-qa-check.d/10ignored-flags | 6 +- bin/install-qa-check.d/60pngfix | 14 +- bin/misc-functions.sh | 2 +- bin/portageq | 8 +- bin/quickpkg | 2 +- bin/regenworld | 2 +- cnf/make.globals | 2 +- {pym => lib}/Makefile.in | 0 {pym => lib}/_emerge/AbstractDepPriority.py | 0 {pym => lib}/_emerge/AbstractEbuildProcess.py | 0 {pym => lib}/_emerge/AbstractPollTask.py | 0 {pym => lib}/_emerge/AsynchronousLock.py | 0 {pym => lib}/_emerge/AsynchronousTask.py | 0 {pym => lib}/_emerge/AtomArg.py | 0 {pym => lib}/_emerge/Binpkg.py | 0 {pym => lib}/_emerge/BinpkgEnvExtractor.py | 0 {pym => lib}/_emerge/BinpkgExtractorAsync.py | 0 {pym => lib}/_emerge/BinpkgFetcher.py | 0 {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 | 0 {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 | 0 {pym => lib}/_emerge/EbuildBuildDir.py | 0 {pym => lib}/_emerge/EbuildExecuter.py | 0 {pym => lib}/_emerge/EbuildFetcher.py | 0 {pym => lib}/_emerge/EbuildFetchonly.py | 0 {pym => lib}/_emerge/EbuildIpcDaemon.py | 0 {pym => lib}/_emerge/EbuildMerge.py | 0 {pym => lib}/_emerge/EbuildMetadataPhase.py | 0 {pym => lib}/_emerge/EbuildPhase.py | 0 {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 | 0 {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 | 0 {pym => lib}/_emerge/PackageVirtualDbapi.py | 0 {pym => lib}/_emerge/PipeReader.py | 0 {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 | 0 {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 | 0 {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 | 0 {pym => lib}/_emerge/create_world_atom.py | 0 {pym => lib}/_emerge/depgraph.py | 14 +- {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 | 0 .../_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 | 0 {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 | 0 {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 | 0 {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/const_autotool.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 | 81 +++++++---- {pym => lib}/portage/dbapi/vartree.py | 25 +++- {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 | 0 .../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 | 0 {pym => lib}/portage/module.py | 0 {pym => lib}/portage/news.py | 0 {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 | 0 .../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 | 65 +++++---- .../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 | 2 +- {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 | 0 .../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 | 120 ++++++++++------ {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 | 0 .../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 | 0 .../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 .../portage/tests/util/futures/asyncio/__init__.py | 0 .../portage/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 | 0 .../util/futures/asyncio/test_wakeup_fd_sigchld.py | 0 .../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 {pym => lib}/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 {pym => 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 .../portage/util/_dyn_libs/LinkageMapMachO.py | 0 .../portage/util/_dyn_libs/LinkageMapPeCoff.py | 0 .../portage/util/_dyn_libs/LinkageMapXCoff.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 | 0 {pym => lib}/portage/util/_eventloop/EventLoop.py | 50 ++++++- .../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 | 31 ++++ .../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 | 0 {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 | 0 .../portage/util/futures/_asyncio/tasks.py | 0 lib/portage/util/futures/compat_coroutine.py | 112 +++++++++++++++ {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/make.conf.5 | 6 +- man/portage.5 | 23 ++- 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 --------- 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 | 0 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 repoman/{pym => lib}/repoman/checks/__init__.py | 0 .../{pym => lib}/repoman/checks/herds/__init__.py | 0 .../{pym => lib}/repoman/checks/herds/herdbase.py | 0 .../{pym => lib}/repoman/checks/herds/metadata.py | 0 repoman/{pym => lib}/repoman/config.py | 0 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 repoman/{pym => lib}/repoman/tests/__test__.py | 0 .../repoman/tests/changelog/__init__.py | 0 .../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 | 0 repoman/man/repoman.1 | 3 + repoman/runtests | 4 +- repoman/setup.py | 24 +--- runtests | 4 +- setup.py | 8 +- testpath | 4 +- tox.ini | 16 +++ 781 files changed, 1354 insertions(+), 376 deletions(-) diff --cc .travis.yml index b13d8295e,846308e08..27c1c78d4 --- a/.travis.yml +++ b/.travis.yml @@@ -23,30 -12,10 +12,25 @@@ install script: - printf "[build_ext]\nportage-ext-modules=true" >> setup.cfg + - find . -type f -exec + sed -e "s|@PORTAGE_EPREFIX@||" + -e "s|@PORTAGE_BASE@|${PWD}|" + -e "s|@PORTAGE_MV@|$(type -P mv)|" + -e "s|@PORTAGE_BASH@|$(type -P bash)|" + -e "s|@PREFIX_PORTAGE_PYTHON@|$(type -P python)|" + -e "s|@DEFAULT_PATH@|/usr/bin:/bin|" + -e "s|@EXTRA_PATH@|/usr/sbin:/sbin|" + -e "s|@portagegroup@|$(id -gn)|" + -e "s|@portageuser@|$(id -un)|" + -e "s|@rootuser@|$(id -un)|" + -e "s|@rootuid@|$(id -u)|" + -e "s|@rootgid@|$(id -g)|" + -e "s|@sysconfdir@|/etc|" + -i '{}' + - ./setup.py test - ./setup.py install --root=/tmp/install-root - # prevent repoman tests from trying to fetch metadata.xsd - - mkdir -p /tmp/install-root/usr/lib/portage/cnf - - cp repoman/cnf/metadata.xsd /tmp/install-root/usr/lib/portage/cnf/ - - sudo rsync -a /tmp/install-root/. / - - python -b -Wd -m portage.tests.runTests - # repoman test block - - repoman/setup.py test - - repoman/setup.py install --root=/tmp/install-root - - sudo rsync -a /tmp/install-root/. / - - python -b -Wd -m repoman.tests.runTests + - if [[ ${TRAVIS_PYTHON_VERSION} == ?.? ]]; then + tox -e py${TRAVIS_PYTHON_VERSION/./}; + else + tox -e ${TRAVIS_PYTHON_VERSION}; + fi diff --cc bin/portageq index 7b9addb67,c63591a77..327ef3057 --- a/bin/portageq +++ b/bin/portageq @@@ -24,14 -24,12 +24,12 @@@ except KeyboardInterrupt import os import types - # for an explanation on this logic, see pym/_emerge/__init__.py - # this differs from master, we need to revisit this when we can install - # using distutils, like master - if os.environ.__contains__("PORTAGE_PYTHONPATH"): - pym_paths = [ os.environ["PORTAGE_PYTHONPATH"] ] + if os.path.isfile(os.path.join(os.path.dirname(os.path.dirname(os.path.realpath(__file__))), ".portage_not_installed")): + pym_paths = [os.path.join(os.path.dirname(os.path.dirname(os.path.realpath(__file__))), "lib")] + sys.path.insert(0, pym_paths[0]) else: - import distutils.sysconfig - pym_paths = [os.path.join(distutils.sysconfig.get_python_lib(), x) for x in ("_emerge", "portage")] + pym_paths = [ os.path.join(os.path.dirname( + os.path.dirname(os.path.realpath(__file__))), "pym") ] # Avoid sandbox violations after Python upgrade. if os.environ.get("SANDBOX_ON") == "1": sandbox_write = os.environ.get("SANDBOX_WRITE", "").split(":") diff --cc cnf/make.globals index 131c5076d,04a708af8..49a09f664 --- a/cnf/make.globals +++ b/cnf/make.globals @@@ -112,26 -107,8 +112,26 @@@ CONFIG_PROTECT="/etc CONFIG_PROTECT_MASK="/etc/env.d" # Disable auto-use - USE_ORDER="env:pkg:conf:defaults:pkginternal:repo:env.d" + USE_ORDER="env:pkg:conf:defaults:pkginternal:features:repo:env.d" +# Default portage user/group +PORTAGE_USER='@portageuser@' +PORTAGE_GROUP='@portagegroup@' +PORTAGE_ROOT_USER='@rootuser@' + +# Default ownership of installed files. +PORTAGE_INST_UID="@rootuid@" +PORTAGE_INST_GID="@rootgid@" + +# Default PATH for ebuild env +DEFAULT_PATH="@DEFAULT_PATH@" +# Any extra PATHs to add to the ebuild environment's PATH (if any) +EXTRA_PATH="@EXTRA_PATH@" + +# The offset prefix this Portage was configured with (not used by +# Portage itself) +CONFIGURE_EPREFIX="@PORTAGE_EPREFIX@" + # Mode bits for ${WORKDIR} (see ebuild.5). PORTAGE_WORKDIR_MODE="0700" diff --cc lib/Makefile.in index a32b219d6,000000000..a32b219d6 mode 100644,000000..100644 --- a/lib/Makefile.in +++ b/lib/Makefile.in diff --cc lib/portage/const_autotool.py index d12003c46,000000000..d12003c46 mode 100644,000000..100644 --- a/lib/portage/const_autotool.py +++ b/lib/portage/const_autotool.py diff --cc lib/portage/util/_dyn_libs/LinkageMapPeCoff.py index fd0ab6ee8,000000000..fd0ab6ee8 mode 100644,000000..100644 --- a/lib/portage/util/_dyn_libs/LinkageMapPeCoff.py +++ b/lib/portage/util/_dyn_libs/LinkageMapPeCoff.py diff --cc lib/portage/util/_dyn_libs/LinkageMapXCoff.py index 6c4c994b5,000000000..6c4c994b5 mode 100644,000000..100644 --- a/lib/portage/util/_dyn_libs/LinkageMapXCoff.py +++ b/lib/portage/util/_dyn_libs/LinkageMapXCoff.py