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
Zac Medico [Fri, 2 Sep 2011 06:34:06 +0000 (23:34 -0700)]
tests/emerge: disable unmerge delays
Zac Medico [Fri, 2 Sep 2011 02:50:42 +0000 (19:50 -0700)]
tests/emerge: test binary packages and emaint
Zac Medico [Fri, 2 Sep 2011 02:10:51 +0000 (19:10 -0700)]
Use utf_8 encoding for merge when ascii is configured.
It probably won't hurt, and forced conversion to ascii encoding is
known to break some packages that install file names with utf_8
encoding (see bug #381509). The ascii aliases are borrowed from
python's encodings.aliases.aliases dict.
Zac Medico [Fri, 2 Sep 2011 01:43:31 +0000 (18:43 -0700)]
tests/emerge: enable arbitrary commands
This will allow us to throw in some test commands for various helpers
related to emerge (things like etc-update, dispatch-conf, quickpkg,
portageq, ebuild, and emaint).
Zac Medico [Fri, 2 Sep 2011 00:24:03 +0000 (17:24 -0700)]
Show merge list before "missed update" messages.
Zac Medico [Thu, 1 Sep 2011 08:43:03 +0000 (01:43 -0700)]
merge: start at correct EPREFIX offset
Zac Medico [Thu, 1 Sep 2011 07:17:36 +0000 (00:17 -0700)]
tests/emerge: install some files
Zac Medico [Thu, 1 Sep 2011 06:55:06 +0000 (23:55 -0700)]
tests/emerge: add some pkgs for depclean
Zac Medico [Thu, 1 Sep 2011 06:48:25 +0000 (23:48 -0700)]
doebuild_environment: include EPREFIX in ED
Zac Medico [Thu, 1 Sep 2011 06:45:01 +0000 (23:45 -0700)]
unmerge: never unmerge outside of EROOT
Zac Medico [Thu, 1 Sep 2011 02:52:58 +0000 (19:52 -0700)]
xml/metadata: implement XMLParser.doctype()
Avoid deprecation warnings again, like in commit
63035acd702ab0cdaac31e33676b5a20a91eae47.
Zac Medico [Thu, 1 Sep 2011 02:54:19 +0000 (19:54 -0700)]
Revert "xml/metadata: implement XMLParser.doctype()"
This reverts commit
ce501b36d7078db059c606d3b4f38637ad09528e.
This commit had lots of unintended changes included.
Zac Medico [Thu, 1 Sep 2011 02:52:58 +0000 (19:52 -0700)]
xml/metadata: implement XMLParser.doctype()
Avoid deprecation warnings again, like in commit
63035acd702ab0cdaac31e33676b5a20a91eae47.
Zac Medico [Thu, 1 Sep 2011 02:39:12 +0000 (19:39 -0700)]
Fix deprecated Element.getchildren() call.
Zac Medico [Wed, 31 Aug 2011 18:07:05 +0000 (11:07 -0700)]
make.conf.5: bump date stamp
Zac Medico [Wed, 31 Aug 2011 17:54:52 +0000 (10:54 -0700)]
Add FEATURES=clean-logs support.
Enable automatic execution of the command specified by the
PORT_LOGDIR_CLEAN variable. The default PORT_LOGDIR_CLEAN setting will
remove all files from PORT_LOGDIR that were last modified at least 7
days ago.
Zac Medico [Wed, 31 Aug 2011 03:04:17 +0000 (20:04 -0700)]
repoman: enable dependency.unknown for blockers
This will fix bug #381087.
Zac Medico [Wed, 31 Aug 2011 02:31:48 +0000 (19:31 -0700)]
Respect package.env buildpkg FEATURES settings.
This will fix bug #318897.
Zac Medico [Wed, 31 Aug 2011 00:49:28 +0000 (17:49 -0700)]
doebuild: only check .unpacked for porttree
Zac Medico [Tue, 30 Aug 2011 20:46:55 +0000 (13:46 -0700)]
tests/emerge: remove unneeded default_args
Zac Medico [Tue, 30 Aug 2011 19:40:53 +0000 (12:40 -0700)]
Fix typo in previous commit.
Zac Medico [Tue, 30 Aug 2011 19:39:51 +0000 (12:39 -0700)]
env_update: use ldsoconf_update var
This fixes an unintended change in behavior from commit
a37eb8ebd2fad3f8074490a061f067e2c637f05d, so that the ldconfig call
will not be skipped when ld.so.conf has been updated (though ldconfig
is still never called when makelinks=False).
Zac Medico [Tue, 30 Aug 2011 19:22:51 +0000 (12:22 -0700)]
Tweak failure msgs in emerge/repoman tests.
Zac Medico [Tue, 30 Aug 2011 18:27:24 +0000 (11:27 -0700)]
Tweak PYTHONPATH check in emerge/repoman tests.
Zac Medico [Tue, 30 Aug 2011 17:03:05 +0000 (10:03 -0700)]
doebuild: check distfiles digests less often
If the unpack phase is not going to be executed as a dependency, then
we can simply skip the distfiles digest checks if the unpack phase is
already marked complete via $PORTAGE_BUILDDIR/.unpacked.
Michał Górny [Tue, 30 Aug 2011 10:12:50 +0000 (12:12 +0200)]
repoman: discard STDERR output from CVS.
Fixes: https://bugs.gentoo.org/show_bug.cgi?id=373669
Zac Medico [Tue, 30 Aug 2011 02:13:21 +0000 (19:13 -0700)]
tests/emerge: add USE for installed pkgs
Zac Medico [Tue, 30 Aug 2011 02:09:13 +0000 (19:09 -0700)]
dblink.treewalk: remove dowgrade check
This code is unused since commit
a37eb8ebd2fad3f8074490a061f067e2c637f05d.
Zac Medico [Mon, 29 Aug 2011 18:24:15 +0000 (11:24 -0700)]
Fix PORTDIR in emerge tests.
Arfrever Frehtes Taifersar Arahesis [Mon, 29 Aug 2011 18:03:29 +0000 (20:03 +0200)]
Mark some messages for translation.
Zac Medico [Mon, 29 Aug 2011 16:22:17 +0000 (09:22 -0700)]
env_update: always respect makelinks=False
This ensures that the env-update --no-ldconfig option is always
respected. Also, in order to preserve behavior during downgrades for
an env_update call in vartree.py, remove the makelinks=False for
downgrades since it wasn't respected anyway when lib path mtimes had
changed, and we don't want it to behave differently in this case now
that makelinks=False is always respected. Note that the unconditional
use of the ldconfig -X option (from bug #373341) since commit
e1347f9c0dd5ef5ff1a50d6b136b0648efb8a6ca may also come into play for
downgrades.
Zac Medico [Mon, 29 Aug 2011 15:57:55 +0000 (08:57 -0700)]
env_update: fix breakage in last commit
Zac Medico [Mon, 29 Aug 2011 07:40:11 +0000 (00:40 -0700)]
env_update: fix CHOST/CBUILD ldconfig code
This code never worked (since it was added in commit
751893b0272561eb9274110a474d5436a7d2bc76) due to a name collision
between the env argument and another variable with the same name.
Zac Medico [Mon, 29 Aug 2011 07:23:13 +0000 (00:23 -0700)]
Fix env interference in emerge/repoman tests.
Zac Medico [Mon, 29 Aug 2011 06:50:16 +0000 (23:50 -0700)]
emerge: add simple unit tests
These tests are similar to the repoman tests, using a
__PORTAGE_TEST_EPREFIX environment variable to make emerge confine
itself to a testing prefix so that things like install and uninstall
operations can be performed.
Zac Medico [Mon, 29 Aug 2011 06:49:04 +0000 (23:49 -0700)]
Send "Recording in world" msg to stdout.
Zac Medico [Mon, 29 Aug 2011 06:18:08 +0000 (23:18 -0700)]
ResolverPlayground: fix to make emerge happy
Zac Medico [Mon, 29 Aug 2011 06:12:52 +0000 (23:12 -0700)]
env_update: add minimal EPREFIX support
This takes EPREFIX from the env argument and uses it when joining all
paths. Also, ldconfig calls are disabled when EPREFIX is non-empty,
since it's inappropriate to update the global /etc/ld.so.cache in this
case.
Zac Medico [Mon, 29 Aug 2011 05:20:49 +0000 (22:20 -0700)]
python3.2 fixes: ResourceWarning: unclosed file
Zac Medico [Mon, 29 Aug 2011 03:59:26 +0000 (20:59 -0700)]
test_poll: fix "ResourceWarning: unclosed file"
Zac Medico [Mon, 29 Aug 2011 02:59:01 +0000 (19:59 -0700)]
Sort test cases, for predictable order.
Zac Medico [Mon, 29 Aug 2011 00:04:47 +0000 (17:04 -0700)]
spawnebuild: skip previously executed phases
This simply checks of $PORTAGE_BUILDDIR/.${EBUILD_PHASE%e}ed and skips
the phase like ebuild.sh would. It preserves a special case for the
install phase with FEATURES=noauto, so that dyn_install in ebuild.sh
continues to work the same for this case.. Also, note that commit
ae9b6cb513c7b29376caecf3b4e52aac452e2b93 preserves the automatic
"recreating WORKDIR" behavior that used to be implemented in
dyn_unpack.
Zac Medico [Sun, 28 Aug 2011 23:29:49 +0000 (16:29 -0700)]
doebuild: avoid redundant distfiles checks
When the unpack phase is already marked as complete, it's wasteful to
check distfiles digests. In order to avoid this, we have to migrate the
distfiles/workdir timestamp comparisons from ebuild.sh to doebuild.py,
so that doebuild always knows when unpack will be triggered. This also
allows us to eliminate code in dyn_unpack that duplicated dyn_clean,
actually call dyn_clean instead.
Zac Medico [Sun, 28 Aug 2011 21:04:41 +0000 (14:04 -0700)]
Fix possible NameError in finally block.
Arfrever Frehtes Taifersar Arahesis [Sun, 28 Aug 2011 19:54:23 +0000 (21:54 +0200)]
Fix "ResourceWarning: unclosed file" with Python 3.2.
Arfrever Frehtes Taifersar Arahesis [Sat, 27 Aug 2011 20:16:14 +0000 (22:16 +0200)]
Fix "ResourceWarning: unclosed file" with Python 3.2.
Zac Medico [Sat, 27 Aug 2011 19:04:06 +0000 (12:04 -0700)]
egencache: don't require xml in global scope
Zac Medico [Sat, 27 Aug 2011 19:01:06 +0000 (12:01 -0700)]
egencache: implement XMLParser.doctype()
This is prevents "DeprecationWarning: This method of XMLParser is
deprecated. Define doctype() method on the TreeBuilder target."
warnings. The code is copied from repoman, commit
5a5e51a2737a0855bb562683f50c57cc31587460.
Zac Medico [Fri, 26 Aug 2011 19:53:55 +0000 (12:53 -0700)]
python3.2 fixes: ResourceWarning: unclosed file
David James [Mon, 22 Aug 2011 23:29:13 +0000 (16:29 -0700)]
Update --rebuild-if-* flags to rebuild when build dependencies are changed.
Right now, the --rebuild-if-* flags only rebuild packages that are used at
both run-time and build-time. This doesn't help for packages that are used
only at build-time (for example, static libaries).
Rebuilding packages whenever a build-time dependency is changed is easier to
understand and explain, and it handles all cases correctly.
BUG=chromium-os:15517
TEST=Run emerge test suite.
Change-Id: Iae8dab24e8acb6625bc1a0ce41862e90b232eb84
Zac Medico [Fri, 26 Aug 2011 16:52:04 +0000 (09:52 -0700)]
Fix EPREFIX/EROOT typo in repoman test.
Zac Medico [Fri, 26 Aug 2011 15:43:02 +0000 (08:43 -0700)]
python3.2 fixes: ResourceWarning: unclosed file
Zac Medico [Fri, 26 Aug 2011 15:12:47 +0000 (08:12 -0700)]
Add __test__ for repoman tests.
Zac Medico [Fri, 26 Aug 2011 06:12:27 +0000 (23:12 -0700)]
repoman: add a simple unit test
Zac Medico [Fri, 26 Aug 2011 06:07:39 +0000 (23:07 -0700)]
Add skipped test support (for python 2.6 compat)
Python supports skipped tests since 2.7, but we'll implement support
ourselves for python 2.6 compatibility. This is a simple extension of
the todo support that we have already implemented.
Zac Medico [Fri, 26 Aug 2011 05:47:45 +0000 (22:47 -0700)]
testLazyImport: fix PYTHONPATH setting
Zac Medico [Fri, 26 Aug 2011 03:44:58 +0000 (20:44 -0700)]
Add a copy of metadata.dtd, for repoman tests.
Since repoman uses metadata.dtd for metadata.xml checks, our sources
need to include a copy in order to test it.
Zac Medico [Thu, 25 Aug 2011 23:45:32 +0000 (16:45 -0700)]
python3.2 fixes: ResourceWarning: unclosed file
Zac Medico [Thu, 25 Aug 2011 22:35:53 +0000 (15:35 -0700)]
Enable -Wd for tests, so DeprecationWarning works
DeprecationWarning is suppressed by default since Python 2.7, so it's
a good idea to explicitly enable it for tests.
Zac Medico [Thu, 25 Aug 2011 22:10:52 +0000 (15:10 -0700)]
python3.2 fixes: ResourceWarning: unclosed file
Zac Medico [Thu, 25 Aug 2011 21:54:34 +0000 (14:54 -0700)]
TestCase: remove python 2.4 compat constructor
Zac Medico [Thu, 25 Aug 2011 21:48:45 +0000 (14:48 -0700)]
python3.2 fixes: ResourceWarning: unclosed file
Arfrever Frehtes Taifersar Arahesis [Thu, 25 Aug 2011 21:50:06 +0000 (23:50 +0200)]
Improve a comment.