public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Thomas Sachau" <tommy@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] proj/portage:multilib commit in: /
Date: Wed, 23 May 2018 12:23:21 +0000 (UTC)	[thread overview]
Message-ID: <1527078147.b74e878839a2b1e8d6148776d5a44019d8fffbc1.tommy@gentoo> (raw)

commit:     b74e878839a2b1e8d6148776d5a44019d8fffbc1
Author:     Thomas Sachau <tommy <AT> gentoo <DOT> org>
AuthorDate: Wed May 23 12:22:27 2018 +0000
Commit:     Thomas Sachau <tommy <AT> gentoo <DOT> org>
CommitDate: Wed May 23 12:22:27 2018 +0000
URL:        https://gitweb.gentoo.org/proj/portage.git/commit/?id=b74e8788

Merge portage-2.3.38

 .travis.yml                                        |   2 +
 NEWS                                               |   9 +
 RELEASE-NOTES                                      |  92 +++
 bin/eapi.sh                                        |  18 +-
 bin/ebuild                                         |   8 +-
 bin/ebuild-helpers/ecompressdir                    |   4 +-
 bin/ebuild-ipc.py                                  |  55 +-
 bin/ebuild.sh                                      |   3 +
 bin/egencache                                      |   5 +-
 bin/emaint                                         |   3 +
 bin/emerge                                         |   5 +
 bin/emirrordist                                    |   6 +-
 bin/estrip                                         |   3 +-
 bin/etc-update                                     |  31 +-
 bin/install-qa-check.d/10ignored-flags             |   2 +-
 bin/misc-functions.sh                              |   2 +-
 bin/phase-functions.sh                             |   9 +
 bin/phase-helpers.sh                               | 159 ++---
 bin/portageq                                       |   6 +-
 bin/quickpkg                                       |  14 +-
 cnf/repos.conf                                     |   3 +-
 man/ebuild.5                                       |   6 +
 man/emerge.1                                       |  38 +-
 man/portage.5                                      |  10 +-
 pym/_emerge/AbstractEbuildProcess.py               |  97 ++-
 pym/_emerge/AbstractPollTask.py                    |  87 +--
 pym/_emerge/AsynchronousLock.py                    |  76 +--
 pym/_emerge/AsynchronousTask.py                    |  60 +-
 pym/_emerge/Binpkg.py                              |  78 ++-
 pym/_emerge/BinpkgExtractorAsync.py                |  16 +-
 pym/_emerge/BinpkgFetcher.py                       | 104 ++-
 pym/_emerge/CompositeTask.py                       |  46 +-
 pym/_emerge/EbuildBuild.py                         |  99 ++-
 pym/_emerge/EbuildBuildDir.py                      | 172 +++--
 pym/_emerge/EbuildFetcher.py                       | 135 +++-
 pym/_emerge/EbuildIpcDaemon.py                     |  28 +-
 pym/_emerge/EbuildMerge.py                         |  26 +-
 pym/_emerge/EbuildMetadataPhase.py                 |  55 +-
 pym/_emerge/EbuildPhase.py                         |  22 +-
 pym/_emerge/FifoIpcDaemon.py                       |  32 +-
 pym/_emerge/MetadataRegen.py                       |  14 +-
 pym/_emerge/Package.py                             |  54 +-
 pym/_emerge/PackageUninstall.py                    |  37 +-
 pym/_emerge/PipeReader.py                          |  42 +-
 pym/_emerge/Scheduler.py                           | 106 ++--
 pym/_emerge/SpawnProcess.py                        |  23 +-
 pym/_emerge/SubProcess.py                          | 123 +---
 pym/_emerge/actions.py                             |  53 +-
 pym/_emerge/create_world_atom.py                   |   6 +-
 pym/_emerge/depgraph.py                            |  33 +-
 pym/_emerge/main.py                                |  13 +-
 pym/_emerge/resolver/DbapiProvidesIndex.py         |   3 +-
 pym/portage/__init__.py                            |   8 +-
 pym/portage/_emirrordist/FetchIterator.py          | 323 ++++++----
 pym/portage/_emirrordist/FetchTask.py              |   2 +-
 pym/portage/_emirrordist/MirrorDistTask.py         |  27 +-
 pym/portage/_legacy_globals.py                     |   3 +-
 pym/portage/const.py                               |   2 +-
 pym/portage/dbapi/IndexedVardb.py                  |   2 +-
 pym/portage/dbapi/_MergeProcess.py                 |  47 +-
 pym/portage/dbapi/__init__.py                      |  44 +-
 pym/portage/dbapi/bintree.py                       |  89 ++-
 pym/portage/dbapi/porttree.py                      | 153 ++++-
 pym/portage/dbapi/vartree.py                       |  10 +-
 pym/portage/dbapi/virtual.py                       |   4 +-
 pym/portage/eapi.py                                |  16 +-
 pym/portage/emaint/modules/binhost/binhost.py      |   1 +
 pym/portage/exception.py                           |   3 +
 .../package/ebuild/_config/LocationsManager.py     |  25 +-
 .../package/ebuild/_config/special_env_vars.py     |   8 +-
 pym/portage/package/ebuild/_ipc/QueryCommand.py    |   4 +-
 .../ebuild/_parallel_manifest/ManifestScheduler.py |  25 +-
 .../ebuild/_parallel_manifest/ManifestTask.py      |  24 +-
 pym/portage/package/ebuild/config.py               |  44 +-
 pym/portage/package/ebuild/doebuild.py             |  30 +-
 pym/portage/package/ebuild/profile_iuse.py         |  32 +
 pym/portage/process.py                             |  10 +
 pym/portage/sync/modules/rsync/rsync.py            |  42 +-
 pym/portage/tests/__init__.py                      |  20 +-
 pym/portage/tests/dbapi/test_portdb_cache.py       |   3 +-
 pym/portage/tests/ebuild/test_ipc_daemon.py        |   6 +-
 pym/portage/tests/emerge/test_simple.py            |  51 +-
 pym/portage/tests/locks/test_asynchronous_lock.py  |  22 +-
 pym/portage/tests/resolver/ResolverPlayground.py   |  10 +
 pym/portage/tests/resolver/test_autounmask.py      |  48 +-
 pym/portage/tests/resolver/test_eapi.py            |   2 +-
 pym/portage/tests/resolver/test_required_use.py    |   6 +-
 pym/portage/tests/resolver/test_slot_collisions.py |  20 +-
 .../tests/resolver/test_slot_operator_rebuild.py   |  45 +-
 pym/portage/tests/runTests.py                      |   6 +-
 .../util/futures/asyncio}/__init__.py              |   0
 .../{bin => util/futures/asyncio}/__test__.py      |   0
 .../util/futures/asyncio/test_child_watcher.py     |  50 ++
 .../futures/asyncio/test_event_loop_in_fork.py     |  65 ++
 .../tests/util/futures/asyncio/test_pipe_closed.py | 151 +++++
 .../asyncio/test_policy_wrapper_recursion.py       |  29 +
 .../futures/asyncio/test_run_until_complete.py     |  34 +
 .../util/futures/asyncio/test_subprocess_exec.py   | 236 +++++++
 .../tests/util/futures/test_iter_completed.py      |  40 +-
 pym/portage/tests/util/futures/test_retry.py       | 177 ++++--
 pym/portage/util/SlotObject.py                     |   9 +-
 pym/portage/util/_async/AsyncFunction.py           |   7 +-
 pym/portage/util/_async/AsyncScheduler.py          |  49 +-
 pym/portage/util/_async/AsyncTaskFuture.py         |   4 +-
 pym/portage/util/_async/FileDigester.py            |   7 +-
 pym/portage/util/_async/ForkProcess.py             |  10 +
 pym/portage/util/_async/PipeLogger.py              |  32 +-
 pym/portage/util/_async/PipeReaderBlockingIO.py    |  16 +-
 pym/portage/util/_async/PopenProcess.py            |  17 +-
 pym/portage/util/_async/SchedulerInterface.py      |  34 +-
 pym/portage/util/_eventloop/EventLoop.py           | 374 +++++++++--
 pym/portage/util/_eventloop/GlibEventLoop.py       |  23 -
 pym/portage/util/_eventloop/asyncio_event_loop.py  |  85 +++
 pym/portage/util/_eventloop/global_event_loop.py   |  11 +-
 pym/portage/util/elf/constants.py                  |   4 +-
 pym/portage/util/futures/__init__.py               |   8 +
 pym/portage/util/futures/_asyncio/__init__.py      | 185 ++++++
 .../util/futures/{wait.py => _asyncio/tasks.py}    |  19 +-
 pym/portage/util/futures/events.py                 | 191 ++++++
 pym/portage/util/futures/executor/fork.py          |   6 +-
 pym/portage/util/futures/futures.py                |   9 +-
 pym/portage/util/futures/iter_completed.py         | 138 +++-
 pym/portage/util/futures/retry.py                  |  13 +-
 pym/portage/util/futures/transports.py             |  90 +++
 pym/portage/util/futures/unix_events.py            | 705 +++++++++++++++++++++
 pym/portage/versions.py                            |   6 +-
 repoman/bin/repoman                                |   3 +
 repoman/cnf/qa_data/qa_data.yaml                   |   2 +-
 repoman/man/repoman.1                              |   2 +-
 .../modules/linechecks/assignment/assignment.py    |   9 +-
 .../modules/linechecks/deprecated/inherit.py       |   3 +
 .../repoman/modules/linechecks/quotes/quotes.py    |   3 +-
 repoman/pym/repoman/modules/scan/fetch/fetches.py  |   2 +-
 repoman/pym/repoman/modules/scan/module.py         |   2 +-
 repoman/pym/repoman/tests/__init__.py              |   3 +
 repoman/pym/repoman/tests/runTests.py              |   6 +-
 repoman/setup.py                                   |   3 +-
 setup.py                                           |   5 +-
 138 files changed, 4789 insertions(+), 1438 deletions(-)

diff --cc pym/_emerge/Package.py
index 5d86c9635,a7ce00bc9..2be526471
--- a/pym/_emerge/Package.py
+++ b/pym/_emerge/Package.py
@@@ -82,24 -93,10 +93,16 @@@ class Package(Task)
  		# sync metadata with validated repo (may be UNKNOWN_REPO)
  		self._metadata['repository'] = self.cpv.repo
  
- 		if eapi_attrs.iuse_effective:
- 			implicit_match = self.root_config.settings._iuse_effective_match
- 			if self.built:
- 				implicit_match = functools.partial(
- 					self._built_iuse_effective_match,
- 					implicit_match, frozenset(self._metadata['USE'].split()))
- 		else:
- 			implicit_match = self.root_config.settings._iuse_implicit_match
- 		iuse = self._metadata["IUSE"]
+ 		implicit_match = db._iuse_implicit_cnstr(self.cpv, self._metadata)
 +		if 'force-multilib' in self.root_config.settings.features:
 +			if self.built is False:
 +				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, iuse.split(), implicit_match,
- 			usealiases, self.eapi)
+ 		self.iuse = self._iuse(self, self._metadata["IUSE"].split(),
+ 			implicit_match, usealiases, self.eapi)
  
  		if (self.iuse.enabled or self.iuse.disabled) and \
  			not eapi_attrs.iuse_defaults:
diff --cc pym/_emerge/actions.py
index 966b4421b,70fb8d3b4..f53c33b46
--- a/pym/_emerge/actions.py
+++ b/pym/_emerge/actions.py
@@@ -2868,16 -2882,29 +2882,36 @@@ def run_action(emerge_config)
  			"--usepkg", "--usepkgonly"):
  			emerge_config.opts.pop(opt, None)
  
+ 	# Populate the bintree with current --getbinpkg setting.
+ 	# This needs to happen before:
+ 	# * expand_set_arguments, in case any sets use the bintree
+ 	# * adjust_configs and profile_check, in order to propagate settings
+ 	#   implicit IUSE and USE_EXPAND settings from the binhost(s)
+ 	if (emerge_config.action in ('search', None) and
+ 		'--usepkg' in emerge_config.opts):
+ 		for mytrees in emerge_config.trees.values():
+ 			try:
+ 				mytrees['bintree'].populate(
+ 					getbinpkgs='--getbinpkg' in emerge_config.opts)
+ 			except ParseError as e:
+ 				writemsg('\n\n!!!%s.\nSee make.conf(5) for more info.\n'
+ 						 % (e,), noiselevel=-1)
+ 				return 1
+ 
  	adjust_configs(emerge_config.opts, emerge_config.trees)
+ 
+ 	if profile_check(emerge_config.trees, emerge_config.action) != os.EX_OK:
+ 		return 1
+ 
  	apply_priorities(emerge_config.target_config.settings)
  
 +	if 'force-multilib' in emerge_config.target_config.settings.features:
 +		if emerge_config.target_config.settings.get("NO_AUTO_FLAG", "") is "":
 +			writemsg_level(bad("!!! Failed to find vars from extra profile") + "\n",level=logging.ERROR, noiselevel=-1)
 +			writemsg_level(bad("!!! Please make sure that you did follow the instructions and included the extra profile\n"),level=logging.ERROR, noiselevel=-1)
 +			writemsg_level(bad("!!! http://git.overlays.gentoo.org/gitweb/?p=proj/multilib-portage.git;a=blob;f=doc/portage-multilib-instructions\n"),level=logging.ERROR, noiselevel=-1)
 +			writemsg_level(bad("!!! has some basic instructions for the setup\n"),level=logging.ERROR, noiselevel=-1)
 +			return 1
  	if ("--autounmask-continue" in emerge_config.opts and
  		emerge_config.opts.get("--autounmask") == "n"):
  		writemsg_level(


             reply	other threads:[~2018-05-23 12:23 UTC|newest]

Thread overview: 192+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-05-23 12:23 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-09-01 11:03 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=1527078147.b74e878839a2b1e8d6148776d5a44019d8fffbc1.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