Sebastian Luther [Mon, 19 Sep 2011 13:07:08 +0000 (15:07 +0200)]
Reject inconsistent backtrack parameters
If backtracking masks a package that caused another package to
be masked, we declare this backtracking node as invalid. The
backtracker should be able to find another node that gives a
valid solution if one exists. This fixes bug 375573.
Zac Medico [Mon, 19 Sep 2011 16:03:24 +0000 (09:03 -0700)]
Document ** keyword for --autounmask-keep-masks.
Zac Medico [Mon, 19 Sep 2011 15:53:55 +0000 (08:53 -0700)]
Suggest --autounmask-keep-masks for ** keyword.
Sebastian Luther [Mon, 19 Sep 2011 11:05:23 +0000 (13:05 +0200)]
Suggest --autounmask-keep-masks instead of --autounmask=n
Currently emerge suggests --autounmask=n if any configuration
change is proposed. With this patch it will print a suggestion
only for mask changes, as these are the changes people complain
most about. It will suggest --autounmask-keep-masks in this case.
Sebastian Luther [Mon, 19 Sep 2011 14:32:08 +0000 (07:32 -0700)]
autounmask: Add --autounmask-keep-masks option
Disables creation of p.unmask entries to allow users
to insist on their masks and hope for another conflict
resolution (i.e. missed update). This fixes bug 372485.
Sebastian Luther [Mon, 19 Sep 2011 11:45:35 +0000 (13:45 +0200)]
autounmask: Add --autounmask-unrestricted-atoms option
The default behavior of --autounmask is now changed back to
the original one, namely to use '=' operators. The
--autounmask-unrestricted-atoms option allows the use of '>='
operators whenever possible. This addresses the issues raised
in bugs 372405, 374331 and 379333.
Zac Medico [Mon, 19 Sep 2011 03:17:44 +0000 (20:17 -0700)]
bin/ebuild: simplify PORTDIR_OVERLAY query
There's no need to query os.environ here, because portage.settings
will inherit the value automatically.
Zac Medico [Mon, 19 Sep 2011 03:05:35 +0000 (20:05 -0700)]
Test --prune with virtual slots.
Zac Medico [Sun, 18 Sep 2011 23:45:20 +0000 (16:45 -0700)]
env_update: add more vardbapi fallback code
For API consumers that call this function without the vardbapi
parameter, it whould continue to work correctly in all the cases
that worked before the vardbapi was added.
Zac Medico [Sun, 18 Sep 2011 22:47:45 +0000 (15:47 -0700)]
env_update: use global vardbapi as fallback
Zac Medico [Sun, 18 Sep 2011 21:57:08 +0000 (14:57 -0700)]
get_dep_chain: fix KeyError if start_node is root
Zac Medico [Sun, 18 Sep 2011 20:41:07 +0000 (13:41 -0700)]
install_qa_check: adjust "poor programming" msgs
Refer to "severe warnings" rather than "poor programming", in order to
be more politically correct, as discussed in bug #374233.
Sebastian Luther [Sun, 18 Sep 2011 20:00:57 +0000 (22:00 +0200)]
autounmask: Document where changes are writen
Sebastian Luther [Sun, 18 Sep 2011 19:30:46 +0000 (21:30 +0200)]
autounmask: Ensure a suitable parent is displayed in the dep chain
Fixes bug 375265.
Sebastian Luther [Sun, 18 Sep 2011 19:28:12 +0000 (21:28 +0200)]
ResolverPlayground: Add support for world sets
Zac Medico [Sun, 18 Sep 2011 19:42:38 +0000 (12:42 -0700)]
depclean: don't remove new virtual slots
This provides depclean symmetry with the change in update behavior
from commit
b95cbb6b78ad6d9b8e2d3edc5fafff122c3ce7c5, so that new
virtual slots won't be removed by depclean immediately after they
have been pulled in.
Zac Medico [Sat, 17 Sep 2011 18:06:48 +0000 (11:06 -0700)]
RepoConfigLoader: handle ValueError from shlex
This will handle the issue reported in bug #383269, comment #5.
Zac Medico [Sat, 17 Sep 2011 17:51:26 +0000 (10:51 -0700)]
_RepoDisplay: split PORTDIR_OVERLAY with shlex
This fixes the issue in bug #383269, comment #8.
Alon Bar-Lev [Sat, 17 Sep 2011 17:32:25 +0000 (10:32 -0700)]
emerge-webrsync: exit if "gpg binary not found"
This prevents an endless loop (bug #383375).
Zac Medico [Sat, 17 Sep 2011 05:50:36 +0000 (22:50 -0700)]
config: quote PORTDIR_OVERLAY paths more
This fixes the issue in bug #383269, comment #3.
Zac Medico [Sat, 17 Sep 2011 04:09:02 +0000 (21:09 -0700)]
repoman: quote paths in PORTDIR_OVERLAY
This will fix bug #383269.
Brian Harring [Thu, 15 Sep 2011 22:06:44 +0000 (15:06 -0700)]
move locking into env_update itself
Zac Medico [Thu, 15 Sep 2011 05:48:26 +0000 (22:48 -0700)]
Remove unused Manifest imports.
Zac Medico [Thu, 15 Sep 2011 05:34:38 +0000 (22:34 -0700)]
doebuild: avoid redundant distfiles checks
Zac Medico [Thu, 15 Sep 2011 05:30:46 +0000 (22:30 -0700)]
digestcheck: only show relevant msgs for thin
Zac Medico [Thu, 15 Sep 2011 05:09:04 +0000 (22:09 -0700)]
Fix multislot handling for depclean (bug #382823)
Zac Medico [Thu, 15 Sep 2011 04:15:39 +0000 (21:15 -0700)]
Test non-empty thin manifests.
Zac Medico [Thu, 15 Sep 2011 02:55:03 +0000 (19:55 -0700)]
Handle non-existent thin manifest in tests.
Zac Medico [Thu, 15 Sep 2011 02:44:28 +0000 (19:44 -0700)]
digestcheck: remove empty/missing Manifest checks
These checks never really needed, and they are not valid for thin
manifests or allow-missing-manifests.
Zac Medico [Thu, 15 Sep 2011 02:36:54 +0000 (19:36 -0700)]
Remove Manifest if it is not needed.
With thin manifest, there's no need to have a Manifest file if there
are no DIST entries.
Zac Medico [Thu, 15 Sep 2011 02:21:45 +0000 (19:21 -0700)]
Don't write empty (thin) Manifest files.
With thin manifest, there's no need to have a Manifest file if there
are no DIST entries.
Arfrever Frehtes Taifersar Arahesis [Wed, 14 Sep 2011 20:45:23 +0000 (22:45 +0200)]
Fix typos in comments.
Arfrever Frehtes Taifersar Arahesis [Wed, 14 Sep 2011 20:39:06 +0000 (22:39 +0200)]
Fix grammar in some messages.
Zac Medico [Wed, 14 Sep 2011 20:23:34 +0000 (13:23 -0700)]
repoman: use repodir more
Zac Medico [Wed, 14 Sep 2011 18:40:06 +0000 (11:40 -0700)]
repoman: test symlinked repo path
Zac Medico [Wed, 14 Sep 2011 18:34:19 +0000 (11:34 -0700)]
repoman: use the repodir variable more
Zac Medico [Wed, 14 Sep 2011 17:08:52 +0000 (10:08 -0700)]
digestgen: remove duplicate 'mytree' variables
Zac Medico [Wed, 14 Sep 2011 16:23:18 +0000 (09:23 -0700)]
digestgen: handle get_repo_for_location KeyError
Zac Medico [Wed, 14 Sep 2011 16:08:19 +0000 (09:08 -0700)]
repoman: fix KeyError from digestgen with symlink
Zac Medico [Wed, 14 Sep 2011 04:49:23 +0000 (21:49 -0700)]
Deprecate the manifest1_compat parameter.
Zac Medico [Wed, 14 Sep 2011 02:35:36 +0000 (19:35 -0700)]
manifest: remove unused 'pf is None' case
Zac Medico [Tue, 13 Sep 2011 06:06:50 +0000 (23:06 -0700)]
man/portage.5: layout.conf examples manifests
Zac Medico [Tue, 13 Sep 2011 05:48:36 +0000 (22:48 -0700)]
metadata/layout.conf: "sign-manifests = false"
This allows repos to disable manifest signatures, which is useful if
they want to prevent merge conflicts like those that thin-manifests is
designed to prevent.
Zac Medico [Tue, 13 Sep 2011 05:22:09 +0000 (22:22 -0700)]
ebuild(1): remove unneeded porttrees modification
This code should be unnecessary, as long as the repo is correctly
identified for all calls to portdbapi methods like aux_get and
findname. Notably, config.setcpv() must be called with a Package
instance in order to ensure that it gets the metadata from the correct
repository.
Zac Medico [Tue, 13 Sep 2011 05:01:08 +0000 (22:01 -0700)]
_validate_deps: pass myrepo to aux_get
Zac Medico [Tue, 13 Sep 2011 04:56:48 +0000 (21:56 -0700)]
ebuild(1): avoid "Location not set for repo" msgs
When overriding PORTDIR_OVERLAY, we can avoid "Location not set for
repository" messages if we include the original PORTDIR_OVERLAY paths
in the overridden setting.
Zac Medico [Tue, 13 Sep 2011 04:33:01 +0000 (21:33 -0700)]
doebuild: support allow-missing and thin manifest
Zac Medico [Tue, 13 Sep 2011 03:20:00 +0000 (20:20 -0700)]
repoman: don't sign thin manifests
Thin manifests imply reliance on the VCS for file integrity,
which implies that manifest signatures are not needed.
Sebastian Luther [Wed, 7 Sep 2011 06:13:59 +0000 (08:13 +0200)]
Add tests for thin manifests
Brian Harring [Thu, 1 Sep 2011 21:50:25 +0000 (14:50 -0700)]
add layout.conf awareness of thin-manifests
For any repo that wants thin (just src_uri digests), they just need to add
thin-manifests = true
to their layout.conf. Again, this should only be used in repositories
were the backing vcs provides checksums for the ebuild data.
Brian Harring [Thu, 1 Sep 2011 21:36:45 +0000 (14:36 -0700)]
add thin manifest support to the Manifest class
'thin' is just distfiles. This is primarily useful when the ebuild
lives in a vcs- git for example, which already has it's own checksums
to rely on.
Brian Harring [Thu, 1 Sep 2011 00:29:58 +0000 (17:29 -0700)]
Bind all manifest access through repoconfigs
This enables controling the behaviour (creation and validation) per
repo, and while mildly ugly, refactors in the right direction.
Brian Harring [Wed, 31 Aug 2011 23:42:34 +0000 (16:42 -0700)]
refactoring; unhide part of the parsing functionality
Zac Medico [Mon, 12 Sep 2011 20:37:32 +0000 (13:37 -0700)]
ebuild.sh: make use* return false for "depend"
This ensures that `use multislot` is false for the "depend" phase.
Zac Medico [Mon, 12 Sep 2011 03:06:27 +0000 (20:06 -0700)]
save-ebuild-env.sh: tweak PYTHONPATH cleansing
Zac Medico [Mon, 12 Sep 2011 01:38:06 +0000 (18:38 -0700)]
config: set USERLAND if unset
Zac Medico [Mon, 12 Sep 2011 01:24:48 +0000 (18:24 -0700)]
isolated-functions.sh: skip set_colors for depend
This avoids an unneeded stty call.
Zac Medico [Mon, 12 Sep 2011 01:09:44 +0000 (18:09 -0700)]
Move KV funcs to bashrc-functions.sh.
Zac Medico [Mon, 12 Sep 2011 00:56:57 +0000 (17:56 -0700)]
isolated-functions.sh: split save-ebuild-env.sh
Zac Medico [Mon, 12 Sep 2011 00:33:18 +0000 (17:33 -0700)]
ebuild.sh: setup PATH earlier
This avoids "uname: command not found" messages from
isolated-functions.sh.
Zac Medico [Mon, 12 Sep 2011 00:16:26 +0000 (17:16 -0700)]
ebuild.sh: source *.sh at the top
Zac Medico [Mon, 12 Sep 2011 00:01:50 +0000 (17:01 -0700)]
Move preprocess_ebuild_env to phase-functions.sh.
Zac Medico [Sun, 11 Sep 2011 23:39:10 +0000 (16:39 -0700)]
ebuild.sh: split out bashrc-functions.sh
Zac Medico [Sun, 11 Sep 2011 23:15:28 +0000 (16:15 -0700)]
ebuild.sh: move hasg* funcs into econf
Zac Medico [Sun, 11 Sep 2011 22:58:24 +0000 (15:58 -0700)]
ebuild.sh: remove unused lchown and lchgrp
Zac Medico [Sun, 11 Sep 2011 22:50:07 +0000 (15:50 -0700)]
build.sh: has/best_version to phase-helpers.sh
Zac Medico [Sun, 11 Sep 2011 22:17:09 +0000 (15:17 -0700)]
ebuild.sh: move ebuild_main to phase-functions.sh
Zac Medico [Sun, 11 Sep 2011 21:29:04 +0000 (14:29 -0700)]
ebuild.sh: move use* funcs to phase-helpers.sh
Zac Medico [Sun, 11 Sep 2011 21:16:23 +0000 (14:16 -0700)]
ebuild.sh: add dummy funcs for "depend" phase
Zac Medico [Sun, 11 Sep 2011 20:43:10 +0000 (13:43 -0700)]
depgraph: pull in new virtual slots with --update
This re-implements the fix from commit
21330075f07248765016e104b3ba8216903f1ecb, without introducing the
unwanted behavior reported in bug 382557. This involves checking the
direct dependencies of virtual slot updates to make sure they are all
visible, before pulling them in.
Zac Medico [Sun, 11 Sep 2011 18:49:36 +0000 (11:49 -0700)]
Add VirtualSlotResolverTestCase for bug #382557.
Zac Medico [Sun, 11 Sep 2011 17:30:56 +0000 (10:30 -0700)]
Revert virtual slot update code for bug 382557.
This reverts the behavior change from commit
21330075f07248765016e104b3ba8216903f1ecb, since it's too aggressive in
pulling in new virtual slots that may have masked dependencies.
Zac Medico [Sun, 11 Sep 2011 00:47:07 +0000 (17:47 -0700)]
ebuild.sh: split out phase-helpers.sh
This relocates phase helper functions that are needed for execution of
regular phases, but not for the "depend" phase. It reduces the size of
ebuild.sh by 25%, so there's less code to be sourced during the
"depend" phase.
Zac Medico [Sun, 11 Sep 2011 00:24:21 +0000 (17:24 -0700)]
ebuild.sh: split out phase-functions.sh
This relocates dyn_* and related functions that are needed for
execution of regular phases, but not for the "depend" phase. It
reduces the size of ebuild.sh by 23%, so there's less code to be
sourced during the "depend" phase.
Zac Medico [Sat, 10 Sep 2011 21:50:57 +0000 (14:50 -0700)]
depgraph: refactor virtual slot --update code
This re-implements the change from commit
21330075f07248765016e104b3ba8216903f1ecb in order to avoid executing
unnessary virtual slot expansion code when the given atom specifies a
slot or --update is enabled.
Zac Medico [Sat, 10 Sep 2011 19:42:51 +0000 (12:42 -0700)]
repoman: fix a typo in the file.executable desc
Michał Górny [Sat, 10 Sep 2011 18:13:45 +0000 (20:13 +0200)]
Add repoman warning about bash-completion deprecation.
Zac Medico [Sat, 10 Sep 2011 14:31:10 +0000 (07:31 -0700)]
depgraph: use Atom.with_slot() to match virtuals
This ensures that USE deps and repo deps are preserved here.
Zac Medico [Sat, 10 Sep 2011 14:25:19 +0000 (07:25 -0700)]
Atom: add a with_slot method for adding a slot
Zac Medico [Sat, 10 Sep 2011 03:22:29 +0000 (20:22 -0700)]
depgraph: use _iter_match_pkgs_any where possible
Zac Medico [Fri, 9 Sep 2011 20:47:30 +0000 (13:47 -0700)]
Use utf_8 'merge' encoding for all locales.
Previously, we used sys.getfilesystemencoding() for the 'merge'
encoding, but that had various problems:
1) If the locale is ever changed then it can cause orphan files due
to changed character set translation.
2) Ebuilds typically install files with utf_8 encoded file names,
and then portage would be forced to rename those files to match
sys.getfilesystemencoding(), possibly breaking things.
3) Automatic translation between encodings can lead to nonsensical
file names when the source encoding is unknown by portage.
4) It's inconvenient for ebuilds to convert the encodings of file
names themselves, and upstreams typically encode file names with
utf_8 encoding.
So, instead of relying on sys.getfilesystemencoding(), we avoid the above
problems by using a constant utf_8 'merge' encoding for all locales, as
discussed in bug #382199 and bug #381509.
Zac Medico [Fri, 9 Sep 2011 19:58:27 +0000 (12:58 -0700)]
depgraph: pull in new virtual slots with --update
Previously, the virtual cost minimization code from bug #141118 would
prevent virtual dependencies from pulling in new slots. That behavior
was not desired for --update, so now it's fixed to pull in the latest
slot available. This allows virtual/jdk-1.7.0 to be pulled in by
dependencies when --update is enabled.
Zac Medico [Fri, 9 Sep 2011 04:05:58 +0000 (21:05 -0700)]
getbinpkg: fix old binhost protocol for python3
This will fix bug #382233.
Zac Medico [Wed, 7 Sep 2011 18:01:14 +0000 (11:01 -0700)]
egencache: tweak cache dir write access check
Zac Medico [Wed, 7 Sep 2011 17:49:46 +0000 (10:49 -0700)]
egencache: remove metadata-transfer warning
It should be enough that the automatic use of metadata-transfer is
documented in the man page, and allows us to avoid showing a useless
warning in common usage scenarios.
Zac Medico [Wed, 7 Sep 2011 17:36:37 +0000 (10:36 -0700)]
pordbapi: add unshared cache mode for egencache
Zac Medico [Wed, 7 Sep 2011 16:29:48 +0000 (09:29 -0700)]
egencache: validate cache dir more
Zac Medico [Wed, 7 Sep 2011 15:56:15 +0000 (08:56 -0700)]
cache/volatile: fix __iter__ and __contains__
Special methods can't be assigned in the constructor.
Zac Medico [Tue, 6 Sep 2011 19:15:06 +0000 (12:15 -0700)]
abssymlink: fix inverted logic from last commit
Zac Medico [Tue, 6 Sep 2011 18:34:57 +0000 (11:34 -0700)]
merge: avoid abssymlink readlink call
This will avoid the "OSError: [Errno 2] No such file or directory" that
is triggered inside abssymlink if the merge encoding is not ascii or
utf_8, as shown in bug #382021.
Zac Medico [Mon, 5 Sep 2011 23:26:05 +0000 (16:26 -0700)]
tests/emerge: test regenworld
Zac Medico [Mon, 5 Sep 2011 23:22:11 +0000 (16:22 -0700)]
tests/emerge: test fixpackages
Zac Medico [Mon, 5 Sep 2011 23:16:01 +0000 (16:16 -0700)]
tests/emerge: test env-update
Zac Medico [Mon, 5 Sep 2011 23:06:44 +0000 (16:06 -0700)]
tests/emerge: test portageq
Zac Medico [Mon, 5 Sep 2011 22:44:40 +0000 (15:44 -0700)]
ResolverPlayground: make.profile in /etc/portage
Zac Medico [Mon, 5 Sep 2011 22:35:02 +0000 (15:35 -0700)]
tests/emerge: test egencache
This tests --update in any case, and --update-use-local-desc only if
python xml support is detected.
Zac Medico [Mon, 5 Sep 2011 21:43:42 +0000 (14:43 -0700)]
tests/emerge: add a debug mode that shows stdout
Zac Medico [Mon, 5 Sep 2011 21:27:35 +0000 (14:27 -0700)]
tests/emerge: test directory with latin-1 enc
Zac Medico [Mon, 5 Sep 2011 00:58:44 +0000 (17:58 -0700)]
Update unread news items in --pretend mode.
This has been disabled since commit
c7faa634369e61b87a40172ceb0a5cb9494fd518, but the only reason cited
was to avoid permissions issues. So, go ahead and enable it, and handle
PermissionDenied just in case. NOTE: The NewsManager typically handles
permission errors by returning silently, so PermissionDenied won't
necessarily be raised even if we do trigger a permission error.
Zac Medico [Sun, 4 Sep 2011 19:05:48 +0000 (12:05 -0700)]
test_pty_eof: add SKIP msg for unsupported plat