portage.git
10 years agomake.conf-repatch.sh: Port to git and improve coding style.
Arfrever Frehtes Taifersar Arahesis [Sun, 21 Jul 2013 03:48:11 +0000 (05:48 +0200)]
make.conf-repatch.sh: Port to git and improve coding style.

10 years agoemerge --resume: reject atom or set arguments
Zac Medico [Thu, 18 Jul 2013 20:23:02 +0000 (13:23 -0700)]
emerge --resume: reject atom or set arguments

It is an error to provide atoms or sets as arguments to --resume, since
the arguments from the resumed command are used instead.

10 years agoemerge-webrsync and emerge-delta-webrsync: Stop using PORTDIR.
Arfrever Frehtes Taifersar Arahesis [Tue, 16 Jul 2013 22:09:37 +0000 (00:09 +0200)]
emerge-webrsync and emerge-delta-webrsync: Stop using PORTDIR.

10 years agodie(): Stop using PORTDIR and clean output.
Arfrever Frehtes Taifersar Arahesis [Tue, 16 Jul 2013 18:56:37 +0000 (20:56 +0200)]
die(): Stop using PORTDIR and clean output.

10 years agoStop using PORTDIR_OVERLAY in bash part of Portage.
Arfrever Frehtes Taifersar Arahesis [Tue, 16 Jul 2013 17:50:59 +0000 (19:50 +0200)]
Stop using PORTDIR_OVERLAY in bash part of Portage.

10 years agoportageq: Delete incorrect usage of uses_eroot decorator for pquery.
Arfrever Frehtes Taifersar Arahesis [Sun, 14 Jul 2013 18:55:26 +0000 (20:55 +0200)]
portageq: Delete incorrect usage of uses_eroot decorator for pquery.

10 years agoportageq: Use uses_eroot decorator.
Arfrever Frehtes Taifersar Arahesis [Sun, 14 Jul 2013 18:39:14 +0000 (20:39 +0200)]
portageq: Use uses_eroot decorator.

10 years agoconfig: add PORTDIR to expand_map
Zac Medico [Sun, 14 Jul 2013 18:13:01 +0000 (11:13 -0700)]
config: add PORTDIR to expand_map

Since commit a5dd8b59fbf253a435e5ca32c5fd0d128d1d8cfb, there was no
longer a default PORTDIR setting when loading make.conf. Now, the
default main-repo location will serve as the default PORTDIR setting,
for backward compatibility.

10 years agoportageq repositories_configuration: Require EROOT argument.
Arfrever Frehtes Taifersar Arahesis [Sun, 14 Jul 2013 18:01:52 +0000 (20:01 +0200)]
portageq repositories_configuration: Require EROOT argument.

10 years agoportageq: Support repositories_configuration command.
Arfrever Frehtes Taifersar Arahesis [Sun, 14 Jul 2013 08:38:25 +0000 (10:38 +0200)]
portageq: Support repositories_configuration command.

10 years agoportage.repository.config.RepoConfigLoader.config_string(): Rename a variable.
Arfrever Frehtes Taifersar Arahesis [Sun, 14 Jul 2013 07:57:14 +0000 (09:57 +0200)]
portage.repository.config.RepoConfigLoader.config_string(): Rename a variable.

10 years agoportage.settings.repositories.config_string(): Improve format of returned string.
Arfrever Frehtes Taifersar Arahesis [Sun, 14 Jul 2013 07:48:29 +0000 (09:48 +0200)]
portage.settings.repositories.config_string(): Improve format of returned string.

10 years agoportageq: avoid portdbapi instantiation
Zac Medico [Sat, 13 Jul 2013 18:19:27 +0000 (11:19 -0700)]
portageq: avoid portdbapi instantiation

The portdbapi takes time to instantiate, and for some commands we
really only need the  RepoConfig instance.

10 years agoUse consistent paths of repositories in test suite and clean some code.
Arfrever Frehtes Taifersar Arahesis [Sat, 13 Jul 2013 11:07:16 +0000 (13:07 +0200)]
Use consistent paths of repositories in test suite and clean some code.

10 years agoMove default configuration of repositories from /usr/share/portage/config/make.globals
Arfrever Frehtes Taifersar Arahesis [Sat, 13 Jul 2013 10:01:07 +0000 (12:01 +0200)]
Move default configuration of repositories from /usr/share/portage/config/make.globals
to /usr/share/portage/config/repos.conf.

10 years agoUse PORTAGE_REPOSITORIES in test suite.
Arfrever Frehtes Taifersar Arahesis [Sat, 13 Jul 2013 09:49:57 +0000 (11:49 +0200)]
Use PORTAGE_REPOSITORIES in test suite.

10 years agoegencache: Support --repositories-configuration option.
Arfrever Frehtes Taifersar Arahesis [Sat, 13 Jul 2013 09:35:18 +0000 (11:35 +0200)]
egencache: Support --repositories-configuration option.

10 years agoSet portage._working_copy bool variable.
Arfrever Frehtes Taifersar Arahesis [Sat, 13 Jul 2013 09:23:32 +0000 (11:23 +0200)]
Set portage._working_copy bool variable.

10 years agoSupport PORTAGE_REPOSITORIES environmental variable, which overrides
Arfrever Frehtes Taifersar Arahesis [Sat, 13 Jul 2013 05:30:39 +0000 (07:30 +0200)]
Support PORTAGE_REPOSITORIES environmental variable, which overrides
whole configuration of repositories (repos.conf, PORTDIR, PORTDIR_OVERLAY).
Format of PORTAGE_REPOSITORIES is identical to format of repos.conf.

10 years agoStop using config["PORTDIR"] in some tests.
Arfrever Frehtes Taifersar Arahesis [Sat, 13 Jul 2013 00:39:15 +0000 (02:39 +0200)]
Stop using config["PORTDIR"] in some tests.

10 years agoExclude system.nfs4_acl xattrs, bug #475496
Zac Medico [Fri, 12 Jul 2013 19:50:57 +0000 (12:50 -0700)]
Exclude system.nfs4_acl xattrs, bug #475496

10 years agoemerge-delta-webrsync: cleanup deltas
Zac Medico [Wed, 10 Jul 2013 20:15:45 +0000 (13:15 -0700)]
emerge-delta-webrsync: cleanup deltas

10 years agoemerge-delta-webrsync: rm empty file, bug #476416
Zac Medico [Wed, 10 Jul 2013 19:41:13 +0000 (12:41 -0700)]
emerge-delta-webrsync: rm empty file, bug #476416

10 years ago_job_delay: prevent accumlation of timeouts v2.2.0_alpha188
Zac Medico [Tue, 9 Jul 2013 21:20:05 +0000 (14:20 -0700)]
_job_delay: prevent accumlation of timeouts

10 years agoDelay for loadavg after SIGCONT, bug #476104
Zac Medico [Tue, 9 Jul 2013 20:52:02 +0000 (13:52 -0700)]
Delay for loadavg after SIGCONT, bug #476104

10 years agoEbuildPhase: fd_pipes NameError, bug #476312
Zac Medico [Tue, 9 Jul 2013 19:21:37 +0000 (12:21 -0700)]
EbuildPhase: fd_pipes NameError, bug #476312

10 years agotest_doebuild_fd_pipes: test qmerge v2.2.0_alpha187
Zac Medico [Sun, 7 Jul 2013 20:25:23 +0000 (13:25 -0700)]
test_doebuild_fd_pipes: test qmerge

10 years agotest_doebuild_fd_pipes: test pkg_info
Zac Medico [Sun, 7 Jul 2013 20:23:00 +0000 (13:23 -0700)]
test_doebuild_fd_pipes: test pkg_info

10 years agodoebuild: support 'nofetch' phase
Zac Medico [Sun, 7 Jul 2013 19:48:00 +0000 (12:48 -0700)]
doebuild: support 'nofetch' phase

10 years agodoebuild: handle tmpdir / returnpid interaction
Zac Medico [Sun, 7 Jul 2013 19:34:34 +0000 (12:34 -0700)]
doebuild: handle tmpdir / returnpid interaction

10 years agocalc_depclean: use runtime_slot_op priorities
Zac Medico [Sun, 7 Jul 2013 19:10:34 +0000 (12:10 -0700)]
calc_depclean: use runtime_slot_op priorities

10 years agoUse sys.__std* streams for fileno().
Zac Medico [Sun, 7 Jul 2013 18:14:09 +0000 (11:14 -0700)]
Use sys.__std* streams for fileno().

10 years agoMergeProcess: flush stderr for traceback
Zac Medico [Sun, 7 Jul 2013 03:22:50 +0000 (20:22 -0700)]
MergeProcess: flush stderr for traceback

10 years agoDoebuildFdPipesTestCase: fix docstring
Zac Medico [Sun, 7 Jul 2013 02:48:38 +0000 (19:48 -0700)]
DoebuildFdPipesTestCase: fix docstring

10 years agodoebuild: fix fd_pipes support, bug #475812
Zac Medico [Sun, 7 Jul 2013 02:41:37 +0000 (19:41 -0700)]
doebuild: fix fd_pipes support, bug #475812

The fd_pipes was previously unsupported with returnpid=False. Now it's
fixed to pass fd_pipes down to the appropriate places.

10 years agoForkProcess: flush stderr for traceback
Zac Medico [Sun, 7 Jul 2013 02:16:56 +0000 (19:16 -0700)]
ForkProcess: flush stderr for traceback

10 years agodoebuild: deprecate returnpid
Zac Medico [Sat, 6 Jul 2013 22:06:28 +0000 (15:06 -0700)]
doebuild: deprecate returnpid

This case is not supported, since it bypasses the EbuildPhase class
which implements important functionality (including post phase hooks
and IPC for things like best/has_version and die).

10 years ago_ignore_satisfied_buildtime: tweak optional
Zac Medico [Sat, 6 Jul 2013 21:52:09 +0000 (14:52 -0700)]
_ignore_satisfied_buildtime: tweak optional

10 years agodepgraph: tweak slot-operator merge order
Zac Medico [Sat, 6 Jul 2013 21:45:04 +0000 (14:45 -0700)]
depgraph: tweak slot-operator merge order

This handles circular DEPEND/RDEPEND with one := operator, so that when
both deps are already satisfied by installed packages, the := dep is
given higher priority in merge order.

10 years agoman/portage.5: clarify package.provided virtuals
Zac Medico [Sat, 6 Jul 2013 19:23:45 +0000 (12:23 -0700)]
man/portage.5: clarify package.provided virtuals

10 years agodoebuild: cleanup returnpid support, bug #475812
Zac Medico [Sat, 6 Jul 2013 01:41:01 +0000 (18:41 -0700)]
doebuild: cleanup returnpid support, bug #475812

The returnpid parameter is no longer deprecated, since it's useful for
API consumers that wish to use the fd_pipes parameter (the fd_pipes
parameter is only respected when returnpid is True).

10 years agoDisable global spawned_pids (avoid memory leak)
Zac Medico [Sat, 6 Jul 2013 00:09:30 +0000 (17:09 -0700)]
Disable global spawned_pids (avoid memory leak)

It used to be necessary for API consumers to remove pids from the
global spawned_pids, since otherwise it would accumulate a pids
endlessly. Now, spawned_pids is just an empty dummy list, so for
backward compatibility, ignore ValueError for removal on non-existent
items.

10 years agoemerge --info: KeyError with ROOT, bug #475778
Zac Medico [Fri, 5 Jul 2013 05:33:52 +0000 (22:33 -0700)]
emerge --info: KeyError with ROOT, bug #475778

The KeyError was triggered when calling vardbapi.aux_get() on a
vardbapi instance from the wrong ROOT.

10 years ago_copyxattr: report attribute name in error
Zac Medico [Tue, 2 Jul 2013 17:15:18 +0000 (10:15 -0700)]
_copyxattr: report attribute name in error

The specific attribute name is often relevant. For example, an issue
with system.nfs4_acl was reported in bug #475496.

10 years agorepoman: fix PORTDIR{,_OVERLAY} interference v2.2.0_alpha186
Zac Medico [Sat, 29 Jun 2013 04:21:38 +0000 (21:21 -0700)]
repoman: fix PORTDIR{,_OVERLAY} interference

Ensure that the repository corresponding to $PWD overrides a
repository of the same name referenced by the existing PORTDIR
or PORTDIR_OVERLAY settings (broken since commit
eab5b86c2d45765ea718e1e9488dde43c9bbac7e).

10 years agoRepoConfigLoader: support repos.conf directory
Zac Medico [Fri, 28 Jun 2013 01:54:20 +0000 (18:54 -0700)]
RepoConfigLoader: support repos.conf directory

10 years agogetconfig: share recursion code with grablines
Zac Medico [Fri, 28 Jun 2013 01:45:42 +0000 (18:45 -0700)]
getconfig: share recursion code with grablines

10 years agoutil.listir: simplify and optimize
Zac Medico [Thu, 27 Jun 2013 21:31:49 +0000 (14:31 -0700)]
util.listir: simplify and optimize

Use zip() to simplify, and fix "list = list + foo" usage to use
list.extend() or equivalent.

10 years agocacheddir: disable cache (avoid memory leak)
Zac Medico [Thu, 27 Jun 2013 19:38:39 +0000 (12:38 -0700)]
cacheddir: disable cache (avoid memory leak)

The global dircache is no longer supported, since it could
be a memory leak for API consumers. Any cacheddir callers
should use higher-level caches instead, when necessary.

10 years agoUpdate comments.
Arfrever Frehtes Taifersar Arahesis [Wed, 26 Jun 2013 03:31:43 +0000 (05:31 +0200)]
Update comments.

10 years agorepoman: simplify repo location comparison
Zac Medico [Tue, 25 Jun 2013 19:24:40 +0000 (12:24 -0700)]
repoman: simplify repo location comparison

10 years agorepoman: canonical path for repo location compare
Zac Medico [Tue, 25 Jun 2013 18:50:01 +0000 (11:50 -0700)]
repoman: canonical path for repo location compare

10 years agoUse /proc/self/fd for solaris compat, bug #474536
Zac Medico [Tue, 25 Jun 2013 07:48:18 +0000 (00:48 -0700)]
Use /proc/self/fd for solaris compat, bug #474536

10 years agorepoman: dedent generated repos.conf
Zac Medico [Tue, 25 Jun 2013 03:29:10 +0000 (20:29 -0700)]
repoman: dedent generated repos.conf

This fixes a "File contains no section headers" error raised by
configparser with Python 2.

10 years agorepoman: samefile for repo location comparison
Zac Medico [Tue, 25 Jun 2013 03:26:15 +0000 (20:26 -0700)]
repoman: samefile for repo location comparison

This ensures correct behavior with symlinks.

10 years agoStop setting PORTDIR / PORTDIR_OVERLAY in repoman.
Arfrever Frehtes Taifersar Arahesis [Tue, 25 Jun 2013 02:21:07 +0000 (04:21 +0200)]
Stop setting PORTDIR / PORTDIR_OVERLAY in repoman.

10 years agoportage.repository.config.RepoConfigLoader: Support io.StringIO in paths argument.
Arfrever Frehtes Taifersar Arahesis [Mon, 24 Jun 2013 23:42:37 +0000 (01:42 +0200)]
portage.repository.config.RepoConfigLoader: Support io.StringIO in paths argument.

10 years agoportage.repository.config.RepoConfigLoader: Add __contains__().
Arfrever Frehtes Taifersar Arahesis [Mon, 24 Jun 2013 22:02:39 +0000 (00:02 +0200)]
portage.repository.config.RepoConfigLoader: Add __contains__().

10 years agoportage.repository.config.RepoConfigLoader: Fix __delitem__() and unimplement __setit...
Arfrever Frehtes Taifersar Arahesis [Mon, 24 Jun 2013 21:45:31 +0000 (23:45 +0200)]
portage.repository.config.RepoConfigLoader: Fix __delitem__() and unimplement __setitem__().

10 years agorepoman: re-use repoman_settings.repositories v2.2.0_alpha185
Zac Medico [Mon, 24 Jun 2013 21:21:18 +0000 (14:21 -0700)]
repoman: re-use repoman_settings.repositories

This avoids constructing a separate instance for each profile.

10 years agoportage.package.ebuild.config.config(): Add repositories parametre.
Arfrever Frehtes Taifersar Arahesis [Mon, 24 Jun 2013 20:00:15 +0000 (22:00 +0200)]
portage.package.ebuild.config.config(): Add repositories parametre.

10 years agoportage.repository.config.RepoConfigLoader: Add __setitem__() and __delitem__().
Arfrever Frehtes Taifersar Arahesis [Mon, 24 Jun 2013 19:44:30 +0000 (21:44 +0200)]
portage.repository.config.RepoConfigLoader: Add __setitem__() and __delitem__().

10 years agoImprove portage.repository.config.RepoConfig.__repr__() for location of DEFAULT repos...
Arfrever Frehtes Taifersar Arahesis [Mon, 24 Jun 2013 19:37:48 +0000 (21:37 +0200)]
Improve portage.repository.config.RepoConfig.__repr__() for location of DEFAULT repository.

10 years agoRepoConfigLoader: fix bug #474578
Zac Medico [Mon, 24 Jun 2013 19:24:39 +0000 (12:24 -0700)]
RepoConfigLoader: fix bug #474578

10 years agoAdd man/ru/color.map.5
Vladimir Romanov [Mon, 24 Jun 2013 19:09:24 +0000 (12:09 -0700)]
Add man/ru/color.map.5

10 years agoRepoConfigLoader: don't use ValueError to warn
Zac Medico [Mon, 24 Jun 2013 18:56:44 +0000 (11:56 -0700)]
RepoConfigLoader: don't use ValueError to warn

Handling ValueError can hide tracebacks from unexpected bugs,
so avoid it.

10 years agoPrint error when section name set in repos.conf differs from name set inside repository.
Arfrever Frehtes Taifersar Arahesis [Mon, 24 Jun 2013 17:04:14 +0000 (19:04 +0200)]
Print error when section name set in repos.conf differs from name set inside repository.

10 years agoUpdate notes about aliases, eclass-overrides and masters attributes in repos.conf...
Arfrever Frehtes Taifersar Arahesis [Mon, 24 Jun 2013 09:28:11 +0000 (11:28 +0200)]
Update notes about aliases, eclass-overrides and masters attributes in repos.conf and layout.conf.

10 years agoutil/__init__.py: enable unicode_literals
Zac Medico [Mon, 24 Jun 2013 04:29:25 +0000 (21:29 -0700)]
util/__init__.py: enable unicode_literals

Unicode literals are nice for uniformity, but in this file it's more
complex than usual, since Python 2's shlex does not support unicode.
So, use _native_string() for compatibility in this case.

10 years agogetconfig: convert source IOError to ParseError
Zac Medico [Mon, 24 Jun 2013 02:27:37 +0000 (19:27 -0700)]
getconfig: convert source IOError to ParseError

10 years agoUse /proc/<pid>/fd for solaris compat, bug 474536
Zac Medico [Sun, 23 Jun 2013 22:56:58 +0000 (15:56 -0700)]
Use /proc/<pid>/fd for solaris compat, bug 474536

10 years agoPython 3.1: pass bytes to Popen
Zac Medico [Sat, 22 Jun 2013 19:33:50 +0000 (12:33 -0700)]
Python 3.1: pass bytes to Popen

For Python 3.1, it's possible to pass bytes to Popen as long as the
executable has an absolute path, since otherwise we would trigger a
TypeError in os._execvp (see http://bugs.python.org/issue8513).

Note that Python <=3.1.3 produces the following message:

  TypeError: expected an object with the buffer interface

Later 3.1.x releases produce a different message:

  TypeError: startswith first arg must be bytes or a tuple of bytes, not str

The difference in messages is due to os.path.join() implementation
changes, but both errors are triggered by the same underlying bug in
os._execvp() which was fixed by using fsencode() in this hunk:

--- a/Lib/os.py
+++ b/Lib/os.py
@@ -355,7 +355,11 @@ def _execvpe(file, args, env=None):
         return
     last_exc = saved_exc = None
     saved_tb = None
-    for dir in get_exec_path(env):
+    path_list = get_exec_path(env)
+    if name != 'nt':
+        file = fsencode(file)
+        path_list = map(fsencode, path_list)
+    for dir in path_list:
         fullname = path.join(dir, file)

10 years agofind_binary: return bytes when input is bytes
Zac Medico [Sat, 22 Jun 2013 17:49:36 +0000 (10:49 -0700)]
find_binary: return bytes when input is bytes

10 years agoemerge-webrsync: fetch_file rm absolute path
Zac Medico [Sat, 22 Jun 2013 06:37:12 +0000 (23:37 -0700)]
emerge-webrsync: fetch_file rm absolute path

10 years agoemerge-delta-webrsync: clean TMPDIR more v2.2.0_alpha184
Zac Medico [Sat, 22 Jun 2013 06:14:35 +0000 (23:14 -0700)]
emerge-delta-webrsync: clean TMPDIR more

10 years agoemerge-delta-webrsync: check full snapshot sig
Zac Medico [Sat, 22 Jun 2013 05:53:41 +0000 (22:53 -0700)]
emerge-delta-webrsync: check full snapshot sig

This patch merges a lot of code from emerge-webrsync, so that the same
code is used when it's necessary to download a full snapshot and check
the signature. This will fix bug #286373.

10 years agoFEATURES=xattr: wrap install binary, bug #465000
Zac Medico [Sat, 22 Jun 2013 01:15:36 +0000 (18:15 -0700)]
FEATURES=xattr: wrap install binary, bug #465000

The install wrapper is added to PATH only when FEATURES=xattr is
enabled, and the wrapper respects PORTAGE_XATTR_EXCLUDE.

10 years agoinstall.py: add bash wrapper for python script
Zac Medico [Sat, 22 Jun 2013 00:29:42 +0000 (17:29 -0700)]
install.py: add bash wrapper for python script

The wrapper is needed in order to support the PORTAGE_PYTHON variable,
and also safe python imports (see bug #469338).

10 years agoinstall.py: use surrogateescape for Python >=3.2
Zac Medico [Fri, 21 Jun 2013 23:07:31 +0000 (16:07 -0700)]
install.py: use surrogateescape for Python >=3.2

We can't trust that the filesystem encoding (locale dependent)
correctly matches the arguments, so use surrogateescape to
pass through the original argv bytes for Python 3.
Since Python <3.2 does not support bytes in Popen args, trust
the locale in that case.

10 years agoNormalize EPREFIX more.
Zac Medico [Fri, 21 Jun 2013 22:23:32 +0000 (15:23 -0700)]
Normalize EPREFIX more.

10 years agoinstall.py: add note about parse_known_args
Zac Medico [Fri, 21 Jun 2013 22:09:52 +0000 (15:09 -0700)]
install.py: add note about parse_known_args

10 years agoinstall.py: Python 2.6 and 3.1 optparse compat
Zac Medico [Fri, 21 Jun 2013 21:24:36 +0000 (14:24 -0700)]
install.py: Python 2.6 and 3.1 optparse compat

10 years agoinstall.py wrapper for xattrs, bug #465000
Anthony Basile [Fri, 21 Jun 2013 20:41:17 +0000 (13:41 -0700)]
install.py wrapper for xattrs, bug #465000

10 years agoDecode sys.argv with surrogateescape for Python 3
Zac Medico [Thu, 20 Jun 2013 10:11:37 +0000 (03:11 -0700)]
Decode sys.argv with surrogateescape for Python 3

With Python 3, the surrogateescape encoding error handler makes it
possible to access the original argv bytes, which can be useful
if their actual encoding does no match the filesystem encoding.

10 years agochpathtool: fix mime_type TypeError, bug #473892 v2.2.0_alpha183
Zac Medico [Thu, 20 Jun 2013 07:05:34 +0000 (00:05 -0700)]
chpathtool: fix mime_type TypeError, bug #473892

10 years agoemirrordist: wget --no-check-certificate
Zac Medico [Thu, 20 Jun 2013 01:23:21 +0000 (18:23 -0700)]
emirrordist: wget --no-check-certificate

Use --no-check-certificate since Manifest digests should provide
enough security, and certificates can be self-signed or whatnot.

10 years agoTest cross-prefix best/has_version --host-root. v2.2.0_alpha182
Zac Medico [Thu, 20 Jun 2013 00:00:58 +0000 (17:00 -0700)]
Test cross-prefix best/has_version --host-root.

10 years agoFix cross-prefix bugs, and test.
Zac Medico [Wed, 19 Jun 2013 23:41:12 +0000 (16:41 -0700)]
Fix cross-prefix bugs, and test.

* Fix create_trees to correctly handle the case where ROOT=/ for two
  different EPREFIX offsets.
* For best/has_version, handle the case where ROOT=/ for bug prefixes,
  though each has a different EPREFIX offset.
* Use portage.const.EPREFIX for default EMERGE_LOG_DIR offset, which
  is analogous to existing un-prefixed behavior.
* Use portage.const.EPREFIX for default PORTAGE_CONFIGROOT, which is
  analogous to existing un-prefixed behavior.
* Add cross-prefix cases to emerge tests, including chpathtool for
  binpkgs.

10 years agodepgraph: fix installed/newuse logic more
Zac Medico [Wed, 19 Jun 2013 21:07:17 +0000 (14:07 -0700)]
depgraph: fix installed/newuse logic more

The matched_pkgs_ignore_use logic, introduced in commit
dc8d70479dfb54a1f2561ba3fe82d7a62d97964f, is questionable because we
need to ensure that an installed package can be selected if there are
no other available packages that match a given USE-dep.

10 years agodepgraph: fix --exclude/--newuse interaction
Zac Medico [Wed, 19 Jun 2013 20:05:28 +0000 (13:05 -0700)]
depgraph: fix --exclude/--newuse interaction

This fixes a case where an installed package could possibly be rejected
due to --newuse, even though it was selected by --exclude. The problem
may have been triggered randomly by differences in graph traversal
order, which may have been affected by hash randomization (enabled by
default since Python 3.3).

10 years agoRepoConfigLoader: fix last commit
Zac Medico [Wed, 19 Jun 2013 19:21:44 +0000 (12:21 -0700)]
RepoConfigLoader: fix last commit

10 years agoRepoConfigLoader: handle equal priorities
Zac Medico [Wed, 19 Jun 2013 19:10:48 +0000 (12:10 -0700)]
RepoConfigLoader: handle equal priorities

Include repo.name in sort key, for predictable sorting even when
priorities are equal.

10 years agoRepoConfig: safe config for repoman/egencache
Zac Medico [Wed, 19 Jun 2013 18:51:34 +0000 (11:51 -0700)]
RepoConfig: safe config for repoman/egencache

For repoman/egencache, omit local configuration overrides involving
aliases, eclass-overrides, and masters.

10 years agoRepoConfigLoader: handle invalid repos.conf more
Zac Medico [Wed, 19 Jun 2013 18:02:21 +0000 (11:02 -0700)]
RepoConfigLoader: handle invalid repos.conf more

10 years agoRepoConfigLoader: initialize missing_repo_names
Zac Medico [Wed, 19 Jun 2013 05:55:32 +0000 (22:55 -0700)]
RepoConfigLoader: initialize missing_repo_names

10 years agoRepoConfigLoader: return early for parse error
Zac Medico [Wed, 19 Jun 2013 04:49:36 +0000 (21:49 -0700)]
RepoConfigLoader: return early for parse error

The configparser state is unreliable (prone to odd quirky exceptions)
after is has thrown an error, so just return early.

10 years agoRepoConfigLoader: handle configparser.Error
Zac Medico [Wed, 19 Jun 2013 03:57:52 +0000 (20:57 -0700)]
RepoConfigLoader: handle configparser.Error

10 years agoRepoConfigLoader: pass source arg to read_file
Zac Medico [Wed, 19 Jun 2013 03:42:33 +0000 (20:42 -0700)]
RepoConfigLoader: pass source arg to read_file

The 'source' keyword argument is needed since otherwise ConfigParser
may throw a TypeError because it assumes f.name is a native string
rather than binary when constructing error messages.

10 years agoRepoConfigLoader: refer to make.globals in comment
Zac Medico [Wed, 19 Jun 2013 02:19:05 +0000 (19:19 -0700)]
RepoConfigLoader: refer to make.globals in comment

10 years agoRepoConfigLoader: suppress /usr/portage warning
Zac Medico [Wed, 19 Jun 2013 01:58:15 +0000 (18:58 -0700)]
RepoConfigLoader: suppress /usr/portage warning

Suppress warnings for the make.defaults PORTDIR setting if we have an
existing main-repo defined in repos.conf.