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
Zac Medico [Sun, 4 Sep 2011 17:21:57 +0000 (10:21 -0700)]
tests/emerge: auto-disable sandbox if necessary
Zac Medico [Sun, 4 Sep 2011 00:22:25 +0000 (17:22 -0700)]
Fix repoman dependency.unknown to use xmatch.
This solves the issues discussed in bug #381087, comment #8.
Zac Medico [Sat, 3 Sep 2011 23:46:09 +0000 (16:46 -0700)]
Handle symlink content with bad encoding.
This will fix bug #381629. The case is tested in tests/emerge. During
forced charset conversion, 'ascii' codec is forced, since otherwise we
somehow end up with the wrongly encoded file names when running the
test with Python 3.2 (which causes encoding problems for quickpkg when
it calls tarfile.gettarinfo).
Zac Medico [Sat, 3 Sep 2011 23:32:50 +0000 (16:32 -0700)]
Join /var/log/emerge.log with EPREFIX.
Zac Medico [Sat, 3 Sep 2011 23:17:04 +0000 (16:17 -0700)]
elog/mod_save: join /var/log with os.sep too
Zac Medico [Sat, 3 Sep 2011 23:11:10 +0000 (16:11 -0700)]
elog/mod_echo: send all msg types to stdout
Zac Medico [Sat, 3 Sep 2011 22:59:38 +0000 (15:59 -0700)]
elog/mod_save: join /var/log with EPREFIX
Zac Medico [Sat, 3 Sep 2011 19:04:58 +0000 (12:04 -0700)]
Handle unpickle EOFError.
Zac Medico [Sat, 3 Sep 2011 18:39:05 +0000 (11:39 -0700)]
Handle unpickle AttributeError (bug #381705).
Zac Medico [Sat, 3 Sep 2011 18:05:57 +0000 (11:05 -0700)]
tests/emerge: add minimal herds.xml
This will allow src_test to trigger issues like bug #381657.
Zac Medico [Sat, 3 Sep 2011 17:09:01 +0000 (10:09 -0700)]
xml/metadata: handle py 3.1 cElementTree incompat
This will fix bug #381657.
Arfrever Frehtes Taifersar Arahesis [Fri, 2 Sep 2011 17:28:24 +0000 (19:28 +0200)]
Fix indentation.
Zac Medico [Fri, 2 Sep 2011 15:45:43 +0000 (08:45 -0700)]
xml/metadata: handle py 2.6 cElementTree incompat
Zac Medico [Fri, 2 Sep 2011 15:06:58 +0000 (08:06 -0700)]
vartree: add missing _merge_unicode_error import