Anthony Basile [Fri, 21 Jun 2013 20:41:17 +0000 (13:41 -0700)]
install.py wrapper for xattrs, bug #465000
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.
Zac Medico [Thu, 20 Jun 2013 07:05:34 +0000 (00:05 -0700)]
chpathtool: fix mime_type TypeError, bug #473892
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.
Zac Medico [Thu, 20 Jun 2013 00:00:58 +0000 (17:00 -0700)]
Test cross-prefix best/has_version --host-root.
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.
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.
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).
Zac Medico [Wed, 19 Jun 2013 19:21:44 +0000 (12:21 -0700)]
RepoConfigLoader: fix last commit
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.
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.
Zac Medico [Wed, 19 Jun 2013 18:02:21 +0000 (11:02 -0700)]
RepoConfigLoader: handle invalid repos.conf more
Zac Medico [Wed, 19 Jun 2013 05:55:32 +0000 (22:55 -0700)]
RepoConfigLoader: initialize missing_repo_names
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.
Zac Medico [Wed, 19 Jun 2013 03:57:52 +0000 (20:57 -0700)]
RepoConfigLoader: handle configparser.Error
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.
Zac Medico [Wed, 19 Jun 2013 02:19:05 +0000 (19:19 -0700)]
RepoConfigLoader: refer to make.globals in comment
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.
Zac Medico [Tue, 18 Jun 2013 21:20:35 +0000 (14:20 -0700)]
RepoConfigLoader: main-repo priority before sort
Ruud Koolen [Mon, 17 Jun 2013 07:21:41 +0000 (09:21 +0200)]
Add cross-prefix support
This patch series adds support for using a portage installed in one prefix
to build packages with a different prefix.
The current portage has a single EPREFIX variable specifying both the prefix
of the portage installation, and the prefix of the packages portage is
building. This patch series splits it into two parts: the
portage.const.EPREFIX variable specifying the prefix of the portage
installation, used for constructing the PATH as well as the paths to files
belonging to a portage installation itself rather than a target root; and the
EPREFIX setting in config instances, specifying the prefix of the
to-be-built packages and being used for almost everything else.
The EPREFIX config setting defaults to const.EPREFIX, but can be overridden
by the EPREFIX environment variable, as well as the emerge --prefix option.
This allows one to install systems with different prefixes using
`EPREFIX=/foo emerge @system`, though some unrelated changes need to happen
elsewhere first in order to make that a reality.
Ruud Koolen (3):
Distinguish between portage prefix and package prefix
Based GLOBAL_CONFIG_PATH and DEPCACHE_PATH on portage prefix
Pick up EPREFIX environment variable
Zac Medico [Tue, 18 Jun 2013 17:57:20 +0000 (10:57 -0700)]
portage.5: repos.conf: document priority
Zac Medico [Tue, 18 Jun 2013 17:46:59 +0000 (10:46 -0700)]
RepoConfigLoader: fix main-repo priority default
This ensures that the main-repo default priority is set to -1000
in all cases where it's appropriate.
Zac Medico [Tue, 18 Jun 2013 16:35:23 +0000 (09:35 -0700)]
portage.5: repos.conf: document main-repo
Zac Medico [Tue, 18 Jun 2013 16:13:43 +0000 (09:13 -0700)]
RepoConfigLoader: delete repo if location missing
Zac Medico [Tue, 18 Jun 2013 15:48:16 +0000 (08:48 -0700)]
RootConfig.update: call delattr when appropriate
Zac Medico [Tue, 18 Jun 2013 14:58:52 +0000 (07:58 -0700)]
RootConfig: mtimedb AttributeError, bug #473710
Zac Medico [Mon, 17 Jun 2013 05:59:02 +0000 (22:59 -0700)]
action_build: remove useless --ask autoclean
This autoclean invocation would should have no effect anyway, unless
the vdb happens to be in an inconsistent state due to a previously
interrupted emerge (relatively rare).
Zac Medico [Sun, 16 Jun 2013 01:22:31 +0000 (18:22 -0700)]
Show blocker parents for non slot-conflict pkgs.
Show parents for packages involved in blocker conflicts but not
directly involved in slot conflicts, since this information may be
helpful for troubleshooting blocker conflicts. This information had
been hidded when there were unrelated simultaneous slot conflicts,
since commit
77b651300731ec007cd535a83b8ee9a898602783.
Zac Medico [Sat, 15 Jun 2013 23:33:36 +0000 (16:33 -0700)]
run_action: use emerge_config attrs, not locals
Zac Medico [Sat, 15 Jun 2013 00:11:50 +0000 (17:11 -0700)]
Show unevaluated atom in blocker parent display.
Zac Medico [Thu, 13 Jun 2013 18:53:57 +0000 (11:53 -0700)]
emerge --autounmask-write: chk_updated_cfg_files
Instead of suggesting to call dispatch-conf, call chk_updated_cfg_files
in order to display a config update message when appropriate.
Zac Medico [Thu, 13 Jun 2013 00:14:37 +0000 (17:14 -0700)]
man/make.conf.5: mention RSYNC_PROXY
Zac Medico [Mon, 10 Jun 2013 04:01:26 +0000 (21:01 -0700)]
_emerge_config: simplify __getitem__
Zac Medico [Mon, 10 Jun 2013 03:50:16 +0000 (20:50 -0700)]
_emerge_config: implement __iter__
Zac Medico [Mon, 10 Jun 2013 00:50:07 +0000 (17:50 -0700)]
dep_check: remove redundant list copy
There's no need to copy the list before calling dep_wordreduce, since
dep_wordreduce copies the list internally.
Zac Medico [Sun, 9 Jun 2013 23:29:09 +0000 (16:29 -0700)]
man/portage.5: remove /etc/make.conf references
Since /etc/portage/make.conf supersedes /etc/make.conf, there's no need
to mention /etc/make.conf here anymore (it's still mentioned in
make.conf(5) though).
Zac Medico [Sun, 9 Jun 2013 01:17:34 +0000 (18:17 -0700)]
emerge_main: call portdbapi destructors
Zac Medico [Sun, 9 Jun 2013 00:22:50 +0000 (17:22 -0700)]
match_from_list: =* op with revision, bug #467826
Zac Medico [Sat, 8 Jun 2013 20:45:25 +0000 (13:45 -0700)]
emerge_main: hold large objects in emerge_config
This allows emerge_main to avoid having direct local references to
large local objects (like "settings" and "trees"), making it easier to
ensure that stale objects can be garbage collected when other functions
refresh the config with calls to load_emerge_config(). This will be
much more flexible than the "gc_locals" approach that was introduce in
commit
e9fd283aedf54e2effc73f4157524fe9a26993c0.
Zac Medico [Sat, 8 Jun 2013 11:47:01 +0000 (04:47 -0700)]
emerge --metadata/regen: flush portdbapi cache
Zac Medico [Sat, 8 Jun 2013 11:08:47 +0000 (04:08 -0700)]
close_portdbapi_caches: portage.db atexit hook
The python interpreter does _not_ guarantee that destructors are
called for objects that remain when the interpreter exits, so we
use an atexit hook to call destructors for any global portdbapi
instances that may have been constructed.
Zac Medico [Sat, 8 Jun 2013 05:47:48 +0000 (22:47 -0700)]
porttree._dummy_list: fix infinite recursion
Zac Medico [Sat, 8 Jun 2013 02:48:51 +0000 (19:48 -0700)]
_iter_match_use: construct _pkg_str instances
Now _match_use does not have to construct them itself.
Zac Medico [Sat, 8 Jun 2013 01:32:01 +0000 (18:32 -0700)]
cache/template.py: call self.sync() from __del__
This allows portdbapi.portdbapi_instances to be eliminated, which is
nice because we no longer has to be so careful to avoid memory leaks
involving this variable. It was not just annoying for portage
internals, but also for any API consumers that needed to create/destroy
many portdbapi instances.
Arfrever Frehtes Taifersar Arahesis [Fri, 7 Jun 2013 20:41:28 +0000 (22:41 +0200)]
portage.dbapi.dbapi._match_use(): Use _emerge.Package.Package._iuse.get_real_flag().
It fixes support for USE aliases in:
best_version
has_version
emerge --keep-going
emerge --resume
Arfrever Frehtes Taifersar Arahesis [Fri, 7 Jun 2013 20:31:59 +0000 (22:31 +0200)]
portage.package.ebuild._config.UseManager.UseManager.getUseAliases(): Accept pkg argument of type str.
Zac Medico [Sun, 2 Jun 2013 22:42:38 +0000 (15:42 -0700)]
treewalk: skip CHOST warning for binary packages
The CHOST of a binary package does not necessarily match the make.conf
setting, especially if ACCEPT_CHOSTS is configured to match other CHOST
values.
Zac Medico [Sat, 1 Jun 2013 00:16:34 +0000 (17:16 -0700)]
depgraph.display(): handle reverse for --tree
This factors --tree logic out of the calling code, and allows
optimization of _show_merge_list to use reference comparison instead
of == comparison. Also, deprecate the unused depgraph.altlist()
"reversed" parameter, due to builtin name collision.
Zac Medico [Fri, 31 May 2013 23:24:32 +0000 (16:24 -0700)]
depgraph: tuple display list, avoid copies
TODO: Optimize _show_merge_list to use reference comparison more
instead of == comparison.
Zac Medico [Fri, 31 May 2013 22:43:07 +0000 (15:43 -0700)]
depgraph: buidpkgonly error earlier, bug #471910
Zac Medico [Fri, 24 May 2013 19:00:00 +0000 (12:00 -0700)]
repoman: deprecate mono.eclass, bug #471184
Zac Medico [Fri, 24 May 2013 18:12:23 +0000 (11:12 -0700)]
_find_bad_atoms: use insert_category_into_atom
This shares/aligns logic with is_valid_package_atom.
Zac Medico [Fri, 24 May 2013 18:02:22 +0000 (11:02 -0700)]
Atom: handle invalid */foo-version wildcard
Before, a wildcard atom could be treated as valid even though it
specified a version without an operator, as reported at here:
https://forums.gentoo.org/viewtopic-p-
7314746.html#
7314746
Zac Medico [Fri, 24 May 2013 04:43:11 +0000 (21:43 -0700)]
repoman: check for deprecated EAPIs, bug #470670
This adds support for repo.eapi.banned (fatal) and repo.eapi.deprecated
(warning) checks which are controlled by eapis-banned and
eapis-deprecated settings in a repository's metadata/layout.conf.
Zac Medico [Fri, 24 May 2013 02:23:17 +0000 (19:23 -0700)]
man/emerge.1: --resume uses mtimedb
Zac Medico [Fri, 24 May 2013 00:06:32 +0000 (17:06 -0700)]
fetch: correctly handle file name without scheme
Before, the file name would be passed directly to FETCHCOMMAND as
though it were a valid URI. Now, FETCHCOMMAND will only be called when
there is a valid URI or a mirror to try.
Zac Medico [Tue, 21 May 2013 21:37:13 +0000 (14:37 -0700)]
ecompressdir: indirect symlinks, bug #470916
Zac Medico [Mon, 20 May 2013 15:30:13 +0000 (08:30 -0700)]
*_DEFAULT_OPTS: shlex for embedded quotes
Zac Medico [Sun, 19 May 2013 17:25:21 +0000 (10:25 -0700)]
EMERGE_DEFAULT_OPTS: shlex for embedded quotes
Zac Medico [Sat, 18 May 2013 23:53:01 +0000 (16:53 -0700)]
test_getconfig: sync FETCHCOMMAND_SFTP/SSH
Zac Medico [Sat, 18 May 2013 23:24:58 +0000 (16:24 -0700)]
Fix RESTRICT=test message for bug #469332.
Zac Medico [Sat, 18 May 2013 22:24:05 +0000 (15:24 -0700)]
Support PORTAGE_SSH_OPTS, bug #470002.
Additional ssh options to be used when portage executes ssh or sftp.
This variable supports use of embedded quote characters to quote
whitespace or special shell characters within arguments (embedded
quotes must be escaped in make.conf settings).
Zac Medico [Sat, 18 May 2013 19:21:38 +0000 (12:21 -0700)]
RELEASE-NOTES: ACCEPT_RESTRICT in 2.1.12
Ryan Hill [Sat, 18 May 2013 18:57:28 +0000 (11:57 -0700)]
Flag -Wsizeof-pointer-memaccess warnings.
This will fix bug #470224.
Zac Medico [Sat, 18 May 2013 18:47:03 +0000 (11:47 -0700)]
docs: metadata/cache is now md5-cache bug #470154
Zac Medico [Sat, 18 May 2013 18:16:14 +0000 (11:16 -0700)]
JobStatusDisplay: fix tigetstr for pypy-2.0_beta2
This will fix bug #470258.
Zac Medico [Sat, 18 May 2013 12:29:20 +0000 (05:29 -0700)]
EbuildBuild: don't digest if fetch failed
Zac Medico [Sat, 18 May 2013 12:20:23 +0000 (05:20 -0700)]
Fix emerge --fetch --digest for bug #470238.
Zac Medico [Sat, 18 May 2013 11:34:01 +0000 (04:34 -0700)]
doebuild: fix emerge --fetchonly FEATURES=digest
This removes obsolete parallel-fetch code which is no longer needed,
since EbuildFetcher no longer calls doebuild.
tomboy64 [Fri, 17 May 2013 16:06:40 +0000 (09:06 -0700)]
man/make.conf.5: SYNC ssh examples, bug #470152
Zac Medico [Fri, 17 May 2013 02:06:41 +0000 (19:06 -0700)]
PORTAGE_BINHOST: sftp with FETCHCOMMAND_SFTP
Do not generate the sftp command for downloading the Packages file, and
simply use the FETCHCOMMAND_SFTP setting.
Zac Medico [Wed, 15 May 2013 22:27:38 +0000 (15:27 -0700)]
repoman: use FETCHCOMMAND for metadata.dtd
Zac Medico [Wed, 15 May 2013 21:23:09 +0000 (14:23 -0700)]
man/ebuild.5: note that PROVIDE is deprecated
Vladimir Romanov [Wed, 15 May 2013 20:21:16 +0000 (13:21 -0700)]
dispatch-conf: fix python2-style print call
Vladimir Romanov [Wed, 15 May 2013 20:16:21 +0000 (13:16 -0700)]
archive-conf: rename vars to avoid builtin names
Vladimir Romanov [Wed, 15 May 2013 18:01:05 +0000 (11:01 -0700)]
Remove unused imports, bug #469022
Zac Medico [Wed, 15 May 2013 17:31:31 +0000 (10:31 -0700)]
Default FEATURES=preserve-libs for portage-2.1.12
Zac Medico [Wed, 15 May 2013 07:39:47 +0000 (00:39 -0700)]
PORTAGE_BINHOST: https FETCHCOMMAND, bug #469888
Don't use urlopen for https, since it doesn't support
certificate/hostname verification (bug #469888).
Zac Medico [Tue, 14 May 2013 00:30:05 +0000 (17:30 -0700)]
env_update: ensure_dirs, encode filename
Mike Frysinger [Sat, 11 May 2013 19:31:48 +0000 (15:31 -0400)]
env-update: change prelink to use /etc/prelink.conf.d/portage.conf
Newer prelinks can support /etc/prelink.conf.d/ files. So that prelink
can install /etc/prelink.conf and manage it itself, have env-update only
write /etc/prelink.conf.d/portage.conf instead of clobbering the main
/etc/prelink.conf file.
This should be backwards compatible as portage will conditionally change
/etc/prelink.conf to use the new /etc/prelink.conf.d/ too.
URL: http://bugs.gentoo.org/266855
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Zac Medico [Sun, 12 May 2013 20:52:06 +0000 (13:52 -0700)]
dohtml: restore cwd for __helpers_die
Zac Medico [Sun, 12 May 2013 20:47:42 +0000 (13:47 -0700)]
dohtml: safe cwd, bug #469338
Zac Medico [Sun, 12 May 2013 20:21:38 +0000 (13:21 -0700)]
check-implicit-pointer-usage: safe cwd bug 469338
Zac Medico [Sun, 12 May 2013 20:11:50 +0000 (13:11 -0700)]
filter_readonly_variables: safe cwd, bug #469338
Zac Medico [Sun, 12 May 2013 19:47:46 +0000 (12:47 -0700)]
ebuild.sh: use PORTAGE_PYM_PATH as default cwd
Zac Medico [Sun, 12 May 2013 11:09:14 +0000 (04:09 -0700)]
ebuild-ipc: use safe cwd for import, bug #469338
Zac Medico [Fri, 10 May 2013 04:09:04 +0000 (21:09 -0700)]
metadata.dtd: update to latest
Zac Medico [Tue, 7 May 2013 03:49:12 +0000 (20:49 -0700)]
binarytree: evaluate RESTRICT conditionals
Zac Medico [Mon, 6 May 2013 08:18:06 +0000 (01:18 -0700)]
binarytree: index RESTRICT, for ACCEPT_RESTRICT
Zac Medico [Fri, 3 May 2013 03:45:39 +0000 (20:45 -0700)]
Support ACCEPT_RESTRICT for bug #467622.
Zac Medico [Fri, 3 May 2013 02:21:16 +0000 (19:21 -0700)]
_getMissingProperties: remove || support
PROPERTIES is not allowed to contain ||, according to PMS.
Zac Medico [Fri, 3 May 2013 01:52:23 +0000 (18:52 -0700)]
Silence embedded profile warning for bug #467142.
Zac Medico [Wed, 1 May 2013 23:44:18 +0000 (16:44 -0700)]
Support RESTRICT=preserve-libs, bug #364427
Note than when a package is merged, RESTRICT=preserve-libs applies if
*either* the new instance or the old instance sets
RESTRICT=preserve-libs.
Also note that when the user has preserve-libs enabled, the
--depclean-lib-check option may now kick in if one of the packages
selected for unmerge sets RESTRICT=preserve-libs.
Zac Medico [Wed, 1 May 2013 21:05:15 +0000 (14:05 -0700)]
man/emerge: clarify --rebuild-if-new-slot #467924
Zac Medico [Wed, 1 May 2013 04:00:52 +0000 (21:00 -0700)]
Use non-greedy findConsumers for bug #467896.
This fixes the preserve-libs display and @preserved-rebuild to omit
library consumers that are satisfied by alternative providers.
Zac Medico [Tue, 30 Apr 2013 05:06:40 +0000 (22:06 -0700)]
bin/misc-functions.sh: use pipe for find ${D}${D}
Zac Medico [Tue, 30 Apr 2013 04:53:49 +0000 (21:53 -0700)]
bin/misc-functions.sh: normalize ${D%/}${D} slash
This will fix bug #467886.
Zac Medico [Mon, 29 Apr 2013 04:26:45 +0000 (21:26 -0700)]
repoman: report --ignore/include-arches commits
Mike Frysinger [Mon, 29 Apr 2013 00:08:33 +0000 (20:08 -0400)]
tests: clean up style a bit (mostly poor/inconsistent spacing)
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Zac Medico [Sun, 28 Apr 2013 22:39:24 +0000 (15:39 -0700)]
get_open_fds: use /dev/fd or /proc/self/fd
Since /dev/fd is supposed to be a fairly standard unix feature, try
that first.