commit e465dbc4a726034a173407f3edfffc56e9ad8639
Author: Zac Medico <zmedico@gentoo.org>
Date:   Mon Feb 20 03:01:12 2012 -0800

    Scheduler: hang in _schedule_tasks, bug 404995

    This is triggered whenever emerge bails out while parallel-fetch is
    running in the background.

commit 9ed6365f4c6e65f5c38f23505fe704ac5f81feaa
Author: Zac Medico <zmedico@gentoo.org>
Date:   Fri Feb 17 20:03:41 2012 -0800

    _eventloop: use explicit relative imports

commit 848da97a64b2d3d13c3fbc794c57dae714009854
Author: Zac Medico <zmedico@gentoo.org>
Date:   Fri Feb 17 19:40:03 2012 -0800

    MtimeDB: add JSON read/write

    Support serialization as JSON instead of pickle, so that
    /var/cache/edb/mtimedb is human readable/writable, for those rare cases
    where it may be useful. Currently, pickle is still used for writes. The
    plan is to migrate to JSON after JSON read has been supported for
    some time.

commit 557134066e5a8e4a1b0522fe94d931a2688f98f7
Author: Zac Medico <zmedico@gentoo.org>
Date:   Fri Feb 17 18:41:27 2012 -0800

    MtimeDB._load: explicitly close file

commit 4c8d1060304a4e793c5d813a1d925e7cf1fcccbd
Author: Zac Medico <zmedico@gentoo.org>
Date:   Fri Feb 17 18:01:27 2012 -0800

    PreservedLibsRegistry: add JSON read/write

    Support serialization as JSON instead of pickle, so that
    /var/lib/portage/preserved_libs_registry is human readable/writable,
    for those rare cases where it may be useful. Currently, pickle is still
    used for writes. The plan is to migrate to JSON after JSON read has been
    supported for some time.

commit ce20cdf1e868e8628b541abec9b99f3527ca22a1
Author: Zac Medico <zmedico@gentoo.org>
Date:   Fri Feb 17 15:56:56 2012 -0800

    repoman: make virtual.oldstyle an error

    Also, add "allow-provide-virtuals = true" setting for metadata/layout.conf
    which reduces it to a warning.

commit ea3c8864c19a5ef0d337f8a1314128faad4977aa
Author: Zac Medico <zmedico@gentoo.org>
Date:   Fri Feb 17 15:33:35 2012 -0800

    portage.5: layout.conf manifest-hashes example

commit 52ec1135694dca47662ed066f747b945b71e3177
Author: Zac Medico <zmedico@gentoo.org>
Date:   Fri Feb 17 15:23:39 2012 -0800

    PollSelectAdapter: don't inherit PollConstants

commit c37684d037834a51b036d861ee37890edded366e
Author: Zac Medico <zmedico@gentoo.org>
Date:   Fri Feb 17 14:56:21 2012 -0800

    Move Poll{Constants,SelectAdapter} to _eventloop.

commit 6e6ef6f87f8cb2d51a53b2d4417c4b370f7ca495
Author: Zac Medico <zmedico@gentoo.org>
Date:   Fri Feb 17 14:49:36 2012 -0800

    Move _emerge.SlotObject to portage.util.

commit 17f1186cb6788c8978b8d231393a03736edc2dfd
Author: Zac Medico <zmedico@gentoo.org>
Date:   Fri Feb 17 14:31:37 2012 -0800

    SlotObject: validate __slots__ and keyword args

commit 4d4e590947553d7d57cc7d303d5d6a9a2edfd948
Author: Zac Medico <zmedico@gentoo.org>
Date:   Fri Feb 17 14:18:05 2012 -0800

    Remove redundant inherited __slots__ values.

commit d6081e461bc6d14fb8d63e6346fdfda7fc0cc188
Author: Zac Medico <zmedico@gentoo.org>
Date:   Fri Feb 17 14:16:59 2012 -0800

    EventLoop: fix _io_handler_class "f" attribute

commit 28ae573f075d718389146f78f293a2120ce65157
Author: Arfrever Frehtes Taifersar Arahesis <Arfrever@Apache.Org>
Date:   Fri Feb 17 22:33:13 2012 +0100

    portage.package.ebuild.fetch.fetch(): Fix ResourceWarning with Python 3.2.

commit 4a858889202448e93cb43ec2559e9f66c30b09c9
Author: Zac Medico <zmedico@gentoo.org>
Date:   Fri Feb 17 02:20:35 2012 -0800

    EventLoop.iteration: run timeouts last

    Run timeouts last, in order to minimize latency in termination of
    iteration loops that they may control.

commit 8c6f5e6c2d341953ea5574974cecf906ddb67e71
Author: Zac Medico <zmedico@gentoo.org>
Date:   Fri Feb 17 02:04:28 2012 -0800

    SubProcess._waitpid_cb: fix args for glib compat

commit f9b33e065f2065c900c978b4515a52f9869e89f1
Author: Zac Medico <zmedico@gentoo.org>
Date:   Fri Feb 17 01:29:15 2012 -0800

    EventLoop: prune obsolete code

commit 8dd6814bd387ddfba484bf22c429103b885a58c6
Author: Zac Medico <zmedico@gentoo.org>
Date:   Thu Feb 16 22:29:17 2012 -0800

    EventLoop.iteration: poll for blocking, not sleep

    The effect is be mostly the same, but it's more conistent to use _do_poll
    for all blocking, plus it has EINTR handling.

commit ed9125487af39181bf3a00ba46a2bda7ea1d68d2
Author: Zac Medico <zmedico@gentoo.org>
Date:   Thu Feb 16 22:03:30 2012 -0800

    EventLoop.child_watch_add: dynamic IO watch

    The IO watch is dynamically registered and unregistered as needed,
    since we don't want to consider it as a valid source of events when
    there are no child listeners. It's important to distinguish when there
    are no valid sources of IO events, in order to avoid an endless poll
    call if there's no timeout. This fixes possbible endless poll calls
    since commit 1979a6cdfcd8c6bae4565982d82d862be07ba5be.

commit bbcfd4e2ad7f9d97ee7bb027b5345c2d5bbb3997
Author: Zac Medico <zmedico@gentoo.org>
Date:   Thu Feb 16 19:08:07 2012 -0800

    EventLoop: wakeup poll loop to receive sigchild

    TODO: Find out why SIGCHLD signals aren't delivered during poll calls,
    forcing us to wakeup in order to receive them. This fixes random hangs
    in poll calls since commit 1979a6cdfcd8c6bae4565982d82d862be07ba5be.

commit f5e04fa4d74fc404cb067ecedf1adb7e5fc8846f
Author: Zac Medico <zmedico@gentoo.org>
Date:   Thu Feb 16 13:42:59 2012 -0800

    EventLoop: fix signal race in _sigchld_init

commit 47cfc4f2bf1a72ff1ab7ec3178c927a2975aa0c5
Author: Zac Medico <zmedico@gentoo.org>
Date:   Thu Feb 16 13:35:23 2012 -0800

    EventLoop: fix _sigchld_io_cb to return True

    This fixes an infinite loop since commit
    1979a6cdfcd8c6bae4565982d82d862be07ba5be.

commit 1979a6cdfcd8c6bae4565982d82d862be07ba5be
Author: Zac Medico <zmedico@gentoo.org>
Date:   Thu Feb 16 12:58:29 2012 -0800

    SubProcess: use child_watch_add

    This fixes performance issues introduced by commit
    9c664779a16f6cbca8a5ffe7f6b0c68572819723.

commit 0166ba48b976f7e7262f59df0b3d0b499d0f2a63
Author: Zac Medico <zmedico@gentoo.org>
Date:   Thu Feb 16 12:56:50 2012 -0800

    EventLoop: implement child_watch_add

commit dec82cb8c449e833e4b9934d56927c2ba682b0d9
Author: Arfrever Frehtes Taifersar Arahesis <Arfrever@Apache.Org>
Date:   Thu Feb 16 20:43:00 2012 +0100

    portage.update.fixdbentries(): Fix ResourceWarnings with Python 3.2.

commit 9c664779a16f6cbca8a5ffe7f6b0c68572819723
Author: Zac Medico <zmedico@gentoo.org>
Date:   Wed Feb 15 21:13:38 2012 -0800

    SubProcess: use non-blocking waitpid

    This ensures that the EventLoop will not stop due to a waitpid call
    blocking forever.

commit 5697972e9f2a3021ca6ed99b24e23e32f7515bf9
Author: Zac Medico <zmedico@gentoo.org>
Date:   Wed Feb 15 20:58:10 2012 -0800

    EventLoop.iteration: sleep if no IO handlers

    Sleep so that we don't waste cpu time by looping too quickly. This
    makes EventLoop useful for code that needs to wait for timeout callbacks
    regardless of whether or not any IO handlers are currently registered.

commit 611ec3edf3695453639f2436049d0005f6e6f769
Author: Zac Medico <zmedico@gentoo.org>
Date:   Wed Feb 15 20:41:16 2012 -0800

    EventLoop.timeout_add: fix inverted min interval

commit 46107423f4a039af6528d14cb86123a05a67f85f
Author: Zac Medico <zmedico@gentoo.org>
Date:   Wed Feb 15 16:33:10 2012 -0800

    Comment about _setup_pipes / PyPy GC interaction.

commit 4862a0c5627e13cb3618779b41ef0fe0edae148b
Author: Zac Medico <zmedico@gentoo.org>
Date:   Wed Feb 15 16:25:31 2012 -0800

    SpawnProcess: use os.open for /dev/null input

commit b39ff144bd47952ee06bba0b549069c635d31a31
Author: Zac Medico <zmedico@gentoo.org>
Date:   Wed Feb 15 14:28:41 2012 -0800

    MergeProcess: inherit stdin for use with pdb

commit fb89e5a829dfe0083b921c8c3958a3341d055cf8
Author: Zac Medico <zmedico@gentoo.org>
Date:   Wed Feb 15 14:17:38 2012 -0800

    treewalk: handle EAGAIN from listdir for PyPy 1.8

commit a979c180b5c8ce98231d7e3c20f2d38d272f7b45
Author: Zac Medico <zmedico@gentoo.org>
Date:   Wed Feb 15 01:32:40 2012 -0800

    get_open_fds: handle EAGAIN for PyPy 1.8

commit a16c54c0d5b891655bce89e5779e6b9221131ba7
Author: Zac Medico <zmedico@gentoo.org>
Date:   Tue Feb 14 19:01:16 2012 -0800

    Scheduler: PyPy WeakValueDictionary.pop KeyError

    KeyError observed from WeakValueDictionary.pop() with PyPy 1.8, despite
    None given as default. Note that PyPy 1.8 has the same WeakValueDictionary
    code as CPython 2.7, so it may be possible for CPython to raise KeyError
    here as well.

commit b1adb04939ce95ed522934e81c064046f6047c84
Author: Zac Medico <zmedico@gentoo.org>
Date:   Tue Feb 14 17:17:04 2012 -0800

    SpawnProcess: for stdout use os.write, not fdopen

commit 2854a67644252fa1133f7f2720b1811b2c3f10fb
Author: Zac Medico <zmedico@gentoo.org>
Date:   Tue Feb 14 16:04:34 2012 -0800

    repoman: fix ebuild.badheader for bug #403705

commit 174da53469886a2d42e55326377d59e453b696c2
Author: Zac Medico <zmedico@gentoo.org>
Date:   Tue Feb 14 15:51:22 2012 -0800

    SubProcess._wait: add debug code for bug #403697

commit 11937db0fb2e25a30d855b084417f8d52547ff54
Author: Zac Medico <zmedico@gentoo.org>
Date:   Tue Feb 14 15:39:57 2012 -0800

    Assert that fork returns int for bug 403697.

    These cases should have been included with commit
    6a94a074aa0475173a51f3f726377d4c407e986b.

commit c7bf6ba4f18952ad903036234082e784aa29d43e
Author: Zac Medico <zmedico@gentoo.org>
Date:   Tue Feb 14 15:25:21 2012 -0800

    AsynchronousTask: skip cancelled check in _start

    These checks should be irrelevant, since the cancel() method is never
    called on anything that hasn't been started already.

commit 608c76a4eb76b88221ba24ca1765765bef827fe1
Author: Zac Medico <zmedico@gentoo.org>
Date:   Tue Feb 14 08:27:01 2012 -0800

    EventLoop: allow IO event handler re-entrance

    IO event handlers may be re-entrant, in case something like
    AbstractPollTask._wait_loop(), needs to be called inside a handler for
    some reason.

commit a75341bf3a66f75edd68d1a8bc5efdb51c0c0740
Author: Zac Medico <zmedico@gentoo.org>
Date:   Tue Feb 14 04:29:02 2012 -0800

    After python fork, don't close fds for PyPy 1.8.

    If we close all open file descriptors after a fork, with PyPy 1.8
    it triggers "[Errno 9] Bad file descriptor" later in the subprocess.
    Apparently it is holding references to file descriptors and closing them
    after they've already been closed and re-opened for other purposes. As
    a workaround, we don't close the file descriptors, so that they won't be
    re-used and therefore we won't be vulnerable to this kind of interference.

    The obvious caveat of not closing the fds is that the subprocess can
    hold locks that belonged to the parent process, even after the parent
    process has released the locks. Hopefully this won't be a major problem
    though, since the subprocess has to exit at release the lock eventually,
    when the EbuildFetcher or _MergeProcess task is complete.

commit fe3960b69c326bc779bdf5ec34d56630b3e188ae
Author: Zac Medico <zmedico@gentoo.org>
Date:   Mon Feb 13 19:06:29 2012 -0800

    EventLoop._do_poll: tweak EINTR handling

    Silently handle EINTR, which is normal when we have received a signal such
    as SIGINT. Also, raise StopIteration in order to break out of our current
    iteration and respond appropriately to the signal as soon as possible.

commit 07823ba56f63309da9547e02e96b043005932be0
Author: Zac Medico <zmedico@gentoo.org>
Date:   Mon Feb 13 18:35:03 2012 -0800

    AsynchronousTask: don't wait for exit status

    Synchronous waiting for status is not supported, since it would be
    vulnerable to hitting the recursion limit when a large number of tasks
    need to be terminated simultaneously, like in bug #402335.

commit 6afd0e508eaf1f9040a20ed670cd6cf7a3a07517
Author: Zac Medico <zmedico@gentoo.org>
Date:   Mon Feb 13 17:22:56 2012 -0800

    EventLoop: make _poll/_run_timeouts re-entrant

    This fixes infinite loops triggered by Ctrl-C, where timeout calls
    would exhaust the poll event queue because _poll was not re-entrant.
    Now, re-entrance is only prohibited for individual callback functions,
    in order to protect against infinite recursion.

commit d806b859e0a7181c30bd13a7714cd47e5a582314
Author: Zac Medico <zmedico@gentoo.org>
Date:   Mon Feb 13 16:41:38 2012 -0800

    runtests.sh: test PyPy 1.8, and support prefix

commit 6d2a73d7f78dac986539c0c6b841cc499c2088e6
Author: Zac Medico <zmedico@gentoo.org>
Date:   Mon Feb 13 15:38:41 2012 -0800

    Handle missing os.setgroups for PyPy.

    See https://bugs.pypy.org/issue833 for details.

commit 36883148297f4ff96c404ab23d75739dd21de31c
Author: Zac Medico <zmedico@gentoo.org>
Date:   Mon Feb 13 13:57:31 2012 -0800

    checksum.py: remove PyPy 1.7 workarounds

    The corresponding hashlib issues are fixed in PyPy 1.8:

    	https://bugs.pypy.org/issue957

commit 8346a62a08c91de8b7672faa0ebfb91d0e647fa0
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sun Feb 12 22:43:46 2012 -0800

    PollScheduler: use idle_add to check termination

    This fixes a regression in termination signal handling since commit
    8c1fcf5a9ba9fa4d406a4d0cc284fe73a84f5a63, which cause termination signals
    to be ignored until a running job had exited. This regression is not
    really noticeable for Ctrl-C handling, since in that case the SIGINT
    propagets to subprocesses, causing them to exit and trigger a _schedule()
    call whichtriggers a termination check.

commit 9997bb9c81e0742060dc795e4e0397db4cbfb5c2
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sun Feb 12 15:32:12 2012 -0800

    repoman: check for env-update, bug #402339

commit cb941c1a7567d42441340b57cbc4ed8c5ae38f71
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sat Feb 11 22:16:57 2012 -0800

    Scheduler: simplify _sched_iface construction

commit c36768027d04f10f7af4402f642e93144d1b353b
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sat Feb 11 21:36:18 2012 -0800

    EbuildIpcDaemon: handle POLLHUP, bug #401919

commit fc42d39d0ac9043b7a480d914b12fa679e4e2785
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sat Feb 11 20:08:59 2012 -0800

    AbstractPollTask: merge _wait from subclass

commit b3cfb2065ccbeb8f769d630ff997c0327fb2eb35
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sat Feb 11 19:39:10 2012 -0800

    xpak.unpackinfo: validate paths, bug #403149

commit 71b3466c9bc7c00835bf4665765d05b14c2c5c49
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sat Feb 11 16:05:14 2012 -0800

    QueueScheduler: tweak run loop logic

commit ea8cb012d563bdce3eeeec6f85874503b0048928
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sat Feb 11 15:56:07 2012 -0800

    EventLoop.iteration: handle _poll StopIteration

commit 33d82be6f57cb845ae957309be9a4ab4303de0de
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sat Feb 11 15:01:55 2012 -0800

    MetadataRegen: use porttrees

commit 7f605a874487e42b856d9a2ffd30fc0e587bae3f
Author: Arfrever Frehtes Taifersar Arahesis <Arfrever@Apache.Org>
Date:   Sat Feb 11 23:14:43 2012 +0100

    _emerge.MetadataRegen.MetadataRegen._iter_metadata_processes(): Regenerate
    metadata for given cpv in each repository.

commit f406dba6540a6873a08c331bd4040d6a33cd3538
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sat Feb 11 13:41:18 2012 -0800

    EventLoop: remove obsolete timeout_add comment

commit 517b791999843b1749c1c8d84c5908634524dc5c
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sat Feb 11 13:11:10 2012 -0800

    EventLoop.iteration: run timeouts if no fds

commit 0f55a5a75c410d73779f7090784d06e40e03a1c9
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sat Feb 11 12:05:17 2012 -0800

    PollScheduler: return None from _schedule_tasks

    The _keep_scheduling() template method is used instead.

commit 78ccc379fb914d7604603e08ca4ac9fc30fcfc26
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sat Feb 11 11:48:05 2012 -0800

    QueueScheduler: timeout compat for GlibEventLoop

    Raising StopIteration doesn't work with GlibEventLoop, since
    it catches all exceptions and logs them. So, just use a boolean
    expression to terminate the while loop. This depends on commit
    dcb9fab8463996542d06d29bc383f5933bf0d677 so that IpcDaemonTestCase
    timeouts work correctly with both EventLoop and GlibEventLoop.

commit dcb9fab8463996542d06d29bc383f5933bf0d677
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sat Feb 11 11:34:36 2012 -0800

    EventLoop: shorten iteration poll if timeouts

    This fixes EventLoop.iteration() so that it doesn't poll too long when
    there are timeouts registered, since it's not nice to spend a long time
    polling for an IO event that might never arrive even though a timeout
    may have changed some state that would terminate a timeout loop like
    in QueueScheduler.run() or AbstractPollTask._wait_loop(). This makes
    EventLoop.iteration() behave more like GlibEventLoop.iteration().

commit a7071bd82676ffdf3020b2f71effa2512ed803d4
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sat Feb 11 10:46:00 2012 -0800

    Fix FEATURES=no{doc,info,man} for bug #403181

    This has been broken since commit 93b654199a32fc3df1299b030317720b9294b0c3.

commit e96a703a6d1e27681b0982c05d8d1389a035254d
Author: Zac Medico <zmedico@gentoo.org>
Date:   Fri Feb 10 21:42:57 2012 -0800

    repoman: no ChangeLog for Manifest-only commit

    Use --echangelog=force to force ChangeLog generation in this case.
    See bug #398009.

commit 2d08e6c4520556e5acc0055cdb3d68028eed3243
Author: Zac Medico <zmedico@gentoo.org>
Date:   Fri Feb 10 19:18:57 2012 -0800

    display_autounmask: highlight config changes

    As suggested here:

    http://archives.gentoo.org/gentoo-dev/msg_06a47ad55977f4d16bfe18769c6c38b8.xml

commit a79b320609b56ee222eca71b1bd45a203333f6d0
Author: Zac Medico <zmedico@gentoo.org>
Date:   Fri Feb 10 18:55:19 2012 -0800

    GlibEventLoop: use gi.repository.GLib

commit 613486a70464ca8c6bd2fdbf68514168e3014b47
Author: Zac Medico <zmedico@gentoo.org>
Date:   Fri Feb 10 18:10:07 2012 -0800

    PollScheduler: add generic _main_loop()

commit 4abd7ee534a78b78bcec8ebfdcbc023e5ba30bd3
Author: Zac Medico <zmedico@gentoo.org>
Date:   Fri Feb 10 15:19:06 2012 -0800

    repoman: support PORTAGE_CONFIGROOT, bug 402577

commit b92ed5bbd7c90b532019e197a17ba2e698740759
Author: Zac Medico <zmedico@gentoo.org>
Date:   Fri Feb 10 15:13:49 2012 -0800

    repoman: remove redundant config constructor

commit 8384ee6a6116a9055601fe7729026af2024f4fa0
Author: Zac Medico <zmedico@gentoo.org>
Date:   Fri Feb 10 13:58:17 2012 -0800

    Scheduler: cleanup timeout after _main_loop

    The way we don't leave an leak a reference to the Scheduler instance in
    the global EventLoop instance.

commit 57a1219ba81b8f7d9c9beecf27ed500da6239b3a
Author: Zac Medico <zmedico@gentoo.org>
Date:   Fri Feb 10 11:47:38 2012 -0800

    EbuildMerge: add exit_hook to unlock build dir

    This is needed since commit 7a6c34cc6bd6eb20a97e05347f87a0157f4ae58a in
    order to ensure that the build dir is unlocked before exit listeners
    are called. It fixes failures in catalyst stage 1 builds where two
    instances of the same package, built sequentially for separate roots,
    interfere with eachother's build dir lock.

commit c85b1d7149f09e64b5ed4f5e45742b6e5a9df38b
Author: Zac Medico <zmedico@gentoo.org>
Date:   Thu Feb 9 17:27:13 2012 -0800

    Use IO_* constants where appropriate.

commit 963fa653fc0d7aff25bb4756df8398b88193547c
Author: Zac Medico <zmedico@gentoo.org>
Date:   Thu Feb 9 16:41:14 2012 -0800

    EventLoop: name poll constants like glib's

    It's conceivable the constants could be implementation dependent, so
    use glib's generic IO_* names rather than the POLL* names which are
    associated specifically with python's select.poll object.

commit 067138de6e4c5ca5890969b2f0681b0b178a24ed
Author: Zac Medico <zmedico@gentoo.org>
Date:   Thu Feb 9 16:20:31 2012 -0800

    EventLoop: inherit PollConstants

commit 56337b00ea46d96037037816d7b5c7904825b8a9
Author: Zac Medico <zmedico@gentoo.org>
Date:   Thu Feb 9 12:04:42 2012 -0800

    Add global_event_loop() and GlibEventLoop.

    This causes all PollScheduler instances within a given process to share
    a singleton EventLoop instance, and also makes it possible to swap in
    glib's main loop for all portage event loops in the main process.

commit 7a6c34cc6bd6eb20a97e05347f87a0157f4ae58a
Author: Zac Medico <zmedico@gentoo.org>
Date:   Thu Feb 9 01:12:40 2012 -0800

    AsynchronousTask: exit listeners reverse order

    This should fix a Scheduler hang which is triggered when that merge
    queue, a SequentialTaskQueue, doesn't decrement its merge count until
    after other exit listeners have already run.

commit 31fc2c97563eaa57ebf890d728f45f859c5520bf
Author: Zac Medico <zmedico@gentoo.org>
Date:   Thu Feb 9 00:21:24 2012 -0800

    QueueScheduler: fix for IpcDaemonTestCase

    Use a StopIteration exception to jump out of EventLoop.iterate() before
    the poll loop.

commit e6cf0c2689b219ce894d1b18be4e514acac508a7
Author: Zac Medico <zmedico@gentoo.org>
Date:   Wed Feb 8 23:25:09 2012 -0800

    EventLoop: fix inverted may_block logic

    This caused emerge to consume 100% cpu.

commit 66297ac1f870ffddd15308892f8d0b6a5289d25f
Author: Zac Medico <zmedico@gentoo.org>
Date:   Wed Feb 8 22:45:14 2012 -0800

    Move EventLoop to a separate file.

commit c45bcf6145fe0a0a0bbc047a0739c3e9f6619d9a
Author: Zac Medico <zmedico@gentoo.org>
Date:   Wed Feb 8 22:23:32 2012 -0800

    Use AbstractPollTask._wait_loop() more.

commit 7092cf7fcbd1c51bd739110baaea9da011c5ebf5
Author: Zac Medico <zmedico@gentoo.org>
Date:   Wed Feb 8 21:17:18 2012 -0800

    MergeProcess: handle POLLHUP from elog pipe

commit 6823977b783a7205154af5f4234fe02982c62666
Author: Zac Medico <zmedico@gentoo.org>
Date:   Wed Feb 8 20:04:09 2012 -0800

    PollScheduler: remove _poll_loop

    We can use iteration() instead, and _poll_loop's exit behavior doesn't
    seem practical to emulate with glib.MainLoop.

commit c2538626bf1267d2c4fe968ec252d3a7e3d58f9f
Author: Zac Medico <zmedico@gentoo.org>
Date:   Wed Feb 8 19:51:24 2012 -0800

    test_poll: use TaskScheduler

commit cda8009b77feda580ee57f576d6fcaadc9ca65fc
Author: Zac Medico <zmedico@gentoo.org>
Date:   Wed Feb 8 18:10:38 2012 -0800

    PollScheduler: remove EventLoop._schedule hook

    PollScheduler and subclasses be should already be calling self._schedule()
    when necessary.

commit e414834041d39f14211ede7df8ec5ff527673967
Author: Zac Medico <zmedico@gentoo.org>
Date:   Wed Feb 8 17:58:28 2012 -0800

    Scheduler: tweak _add_prefetchers

    Since commit 4620d6aba1c5c10344e311585516ee43819b703c, the first prefetcher
    is started as soon as it's added to the task queue.

commit 3ea7f3dc381ea2b61604e6cedb82b4847537317c
Author: Zac Medico <zmedico@gentoo.org>
Date:   Wed Feb 8 17:49:56 2012 -0800

    SequentialTaskQueue: use finally for _scheduling

    Also, remove unecessary _dirty flag.

commit 6b0101ea37ad9e7db3866d3ccfe8e398529f7f29
Author: Zac Medico <zmedico@gentoo.org>
Date:   Wed Feb 8 16:46:02 2012 -0800

    IpcDaemonTestCase: init start_time earlier

    Since commit 4620d6aba1c5c10344e311585516ee43819b703c, the
    SequentialTaskQueue.add() method starts the task immediately, so initialize
    start_time before that happens.

commit 4620d6aba1c5c10344e311585516ee43819b703c
Author: Zac Medico <zmedico@gentoo.org>
Date:   Wed Feb 8 16:33:14 2012 -0800

    SequentialTaskQueue: schedule automatically

    This is needed to compensate for the removal of _idle_schedule in commit
    8c1fcf5a9ba9fa4d406a4d0cc284fe73a84f5a63, so that the Scheduler's task
    queues operate without needing their schedule methods called inside
    Scheduler._schedule_tasks().

commit 8c1fcf5a9ba9fa4d406a4d0cc284fe73a84f5a63
Author: Zac Medico <zmedico@gentoo.org>
Date:   Wed Feb 8 15:43:50 2012 -0800

    Scheduler: remove _idle_schedule

    This shouldn't be needed, since _schedule() should already be called
    automatically when there are any relevant state changes.

commit b003b7e2374051fa050e6a05f1defec6a6c67252
Author: Zac Medico <zmedico@gentoo.org>
Date:   Wed Feb 8 13:20:06 2012 -0800

    EventLoop: use same method names as glib

commit 49c4585425ee161cf82805f28fb497167856cc01
Author: Zac Medico <zmedico@gentoo.org>
Date:   Wed Feb 8 13:04:33 2012 -0800

    PollScheduler: don't inherit EventLoop

commit b41e88203cb308eb79f15961a0508b86209e2dfb
Author: Zac Medico <zmedico@gentoo.org>
Date:   Wed Feb 8 12:24:22 2012 -0800

    PollScheduler: split out EventLoop base class

commit 3e8e27667bce754914935fe858a9dd3441d44653
Author: Zac Medico <zmedico@gentoo.org>
Date:   Wed Feb 8 08:38:27 2012 -0800

    repoman: make SRC_URI.mirror fatal

    Thanks to Christian Ruppert <idl0r@gentoo.org> for the suggestion.

commit 4d4b444be9e89ac25f6919e95b3d7c775e1af212
Author: Zac Medico <zmedico@gentoo.org>
Date:   Wed Feb 8 08:35:50 2012 -0800

    repoman: normalize thirdpartymirrors trailing /

commit 7e38a0253bdc1a25b54f0783c0bb2a72239fdb05
Author: Zac Medico <zmedico@gentoo.org>
Date:   Tue Feb 7 21:16:51 2012 -0800

    AbstractPollTask: use timeout_add

commit c02b0e535a4cfe4dc0a3c3d07124b8dfa5d4f9a5
Author: Zac Medico <zmedico@gentoo.org>
Date:   Tue Feb 7 21:03:32 2012 -0800

    QueueScheduler: tweak timeout handling

commit 618ad1f92b6f768e5cc2f783cd1756ffe65b3fef
Author: Zac Medico <zmedico@gentoo.org>
Date:   Tue Feb 7 20:35:36 2012 -0800

    PollScheduler: remove _schedule_wait

commit 20a5f9cb0c9fec433df7256617bd8fe09892fafa
Author: Zac Medico <zmedico@gentoo.org>
Date:   Tue Feb 7 20:24:47 2012 -0800

    QueueScheduler: use timeout_add

commit f17ff92635818620ea0df156dee4796c353d954a
Author: Zac Medico <zmedico@gentoo.org>
Date:   Tue Feb 7 19:58:48 2012 -0800

    AbstractPollTask: add _wait_loop method

commit 082c908cd82426dfd45a2bf0ca9741213a7c7d5f
Author: Zac Medico <zmedico@gentoo.org>
Date:   Tue Feb 7 19:26:21 2012 -0800

    Use PollScheduler iteration method.

commit 334c911923af24a7a7d977b28b24a09686e9906d
Author: Zac Medico <zmedico@gentoo.org>
Date:   Tue Feb 7 19:21:58 2012 -0800

    PollScheduler: add iteration method

commit 73dc0ef7c678b7e95ab7e70a07f72efe7590b8d4
Author: Zac Medico <zmedico@gentoo.org>
Date:   Tue Feb 7 18:00:52 2012 -0800

    Scheduler: use idle_add, not _poll override

commit 32e3bffa19329a848633a7fcefbf4fe3761dbfef
Author: Zac Medico <zmedico@gentoo.org>
Date:   Tue Feb 7 17:59:12 2012 -0800

    PollScheduler: implement idle_add

commit 610831146c27d46256df45f127474d509c9a7d31
Author: Zac Medico <zmedico@gentoo.org>
Date:   Tue Feb 7 16:36:32 2012 -0800

    PollScheduler: glib.io_add_watch() compatibility

commit a3162633773ce5efd3b1cc459df147c93877d953
Author: Zac Medico <zmedico@gentoo.org>
Date:   Tue Feb 7 11:40:55 2012 -0800

    PollScheduler: timeouts regardless of IO events

    Now PollScheduler will execute timeouts predictably, even when there no
    IO events being generated. This allows the Scheduler's display updates
    to be handled via timeout_add.

commit 445a6ea22c132f4c06c2cc7c48ec6e7af7116962
Author: Zac Medico <zmedico@gentoo.org>
Date:   Mon Feb 6 18:58:51 2012 -0800

    Use timeout_add to avoid recursion, bug #402335.

commit 839f369f259a7c019c1f544bf4c153058355f6d4
Author: Zac Medico <zmedico@gentoo.org>
Date:   Mon Feb 6 18:52:32 2012 -0800

    AsynchronousTask: merge _waiting from subclass

commit e9d1125f6730c85c4b384a580da55da68338acf1
Author: Zac Medico <zmedico@gentoo.org>
Date:   Tue Feb 7 11:11:50 2012 -0800

    PollScheduler: add timeout_add like glib's

    This will be useful as a substitute for recursion, in order to avoid
    hitting the recursion limit for bug #402335.

commit 6a94a074aa0475173a51f3f726377d4c407e986b
Author: Zac Medico <zmedico@gentoo.org>
Date:   Mon Feb 6 09:20:05 2012 -0800

    spawn: assert that fork returns int type

commit df19c66809165cebd9e2f0ca047e1a128a09681c
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sat Feb 4 06:47:48 2012 -0800

    Remove portage.const._ENABLE_XATTR.

commit 1d6850f3ac839326c5596db5a570bc7832bb394e
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sat Feb 4 06:26:12 2012 -0800

    repoman: support git commit --gpg-sign

    In order to sign commits with git, you will need Git >=1.7.9 and your
    key will have to be configured by `git config user.signingkey key_id`.
    Also, the repository will need to have "sign-commits = true" in
    metadata/layout.conf. This will fix bug #333687.

commit 9ad263416ec282d8c6cf007ca84bf716c49c4f69
Author: Daniel Hornung <daniel.hornung@gmx.de>
Date:   Fri Feb 3 14:33:35 2012 -0800

    Honor repos.conf for overlay priority, bug 402099

    Signed-off-by: Zac Medico <zmedico@gentoo.org>

commit 9e4b06838cef9a10468a6e3d220cc4f2154939e1
Author: Zac Medico <zmedico@gentoo.org>
Date:   Wed Feb 1 10:52:11 2012 -0800

    install_qa_check: handle info dir rm failure

    This will fix bug #400679.

commit 972866403e8adc992625d2ff5e608c028b08bf30
Author: Zac Medico <zmedico@gentoo.org>
Date:   Tue Jan 31 18:04:11 2012 -0800

    LinkageMapELF: handle null bytes in NEEDED.ELF.2

    This avoids an error from os.stat:
      TypeError: must be encoded string without NULL bytes, not str

commit 45e9d6db3e1af8303ba724e3b857b3e461f705fc
Author: Arfrever Frehtes Taifersar Arahesis <Arfrever@Gentoo.Org>
Date:   Sat Jan 28 03:20:25 2012 +0100

    Use consistent indentation in output of `emerge -p --columns ${package}`
    regardless of ROOT.

commit 7a0f34a7c2e8c4d7e14674171aefef1576d767dd
Author: Arfrever Frehtes Taifersar Arahesis <Arfrever@Gentoo.Org>
Date:   Sat Jan 28 02:50:11 2012 +0100

    Delete needless parentheses.

commit 1014a357ecd63e72f03d148634eeb7ef05cc44a1
Author: Arfrever Frehtes Taifersar Arahesis <Arfrever@Gentoo.Org>
Date:   Sat Jan 28 02:38:24 2012 +0100

    Don't print ::${repository} for main repository in output of `emerge
    -pv ${package}` by default. Add --verbose-main-repo-display option,
    which enables printing ::${repository} for main repository.

commit 02522e5755ab369c2d9a9f712bb0c1e7b882ad98
Author: Brian Harring <ferringb@chromium.org>
Date:   Fri Jan 27 10:23:02 2012 -0800

    Apply INSTALL_MASK prior to reading the tree

    If this isn't done, collision-protect uses the old cached filelist,
    leading to it complaining about things that INSTALL_MASK sorted already.

    BUGS=chromium-os:25060 TEST=emerge sudo && emerge chromeos-base

commit be009d82d552740843d703fcde33112dcd698a9e
Author: Zac Medico <zmedico@gentoo.org>
Date:   Tue Jan 24 21:34:27 2012 -0800

    phase-helpers.sh: set -x when emulating yes

    This avoids displaying a bunch of garbage in debug mode.

commit b0f0f253ac206a0ae0800777fca97375107458a9
Author: Arfrever Frehtes Taifersar Arahesis <Arfrever@Gentoo.Org>
Date:   Mon Jan 23 18:07:40 2012 +0100

    Fix display of installed version for packages, which have multiple slots
    installed. Follow-up to commit 8118be36842a2db2eb72538e21a3b343773b3365.

commit 47f16923b2f90ed589f21f44cf04abf5663b76f6
Author: Arfrever Frehtes Taifersar Arahesis <Arfrever@Gentoo.Org>
Date:   Sun Jan 22 04:53:59 2012 +0100

    Make the second part of_emerge.resolver.output.Display.verbose_size()
    conditional on self.quiet_repo_display instead of earlier returning if
    self.quiet_repo_display is False. No functional changes.

commit 8118be36842a2db2eb72538e21a3b343773b3365
Author: Arfrever Frehtes Taifersar Arahesis <Arfrever@Gentoo.Org>
Date:   Sun Jan 22 04:43:03 2012 +0100

    Print [${old_version}::${old_repository}] in output of `emerge -pv
    ${package}` when ${old_version} is the same as ${new_version}, but
    ${old_repository} is different than ${new_repository}.

commit e3ab6f288110602d59c7e8fee8ee8c514c7a4329
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sat Jan 21 13:32:59 2012 -0800

    ecompress: don't rename dir symlink, bug #399595

commit 025a3667810e3a17d16f2e1c2248edf6ecef23f4
Author: Zac Medico <zmedico@gentoo.org>
Date:   Fri Jan 20 20:00:55 2012 -0800

    document --quiet-repo-display

commit 95d6ed5e34d59b5ba42d36cfc3554296007d060b
Author: Arfrever Frehtes Taifersar Arahesis <Arfrever@Gentoo.Org>
Date:   Sat Jan 21 00:40:52 2012 +0100

    Print ::${repository} in output of `emerge -pv ${package}` by default.
    Add --quiet-repo-display option, which enables previous, more quiet output.

commit a77292d37e3c2604479514abed2dda64dabace25
Author: Zac Medico <zmedico@gentoo.org>
Date:   Fri Jan 20 12:29:31 2012 -0800

    Fix --changed-use interaction with bug 297549.

    The automatic --binpkg-respect-use code (from bug #297549) was
    inappropriately overriding --changed-use and triggering behavior like
    --newuse, as reported here:

    http://archives.gentoo.org/gentoo-dev/msg_6070ab87737d7e16a5cec2a72c9111fd.xml

commit b6c51afdaa69eb648cd71e07c880051bf734b8cd
Author: Zac Medico <zmedico@gentoo.org>
Date:   Thu Jan 19 20:46:37 2012 -0800

    man/emerge.1: reference --exclude from --newuse

commit 2dfb8f9290ad3468d3b7e5f7b249a720cc0bc90a
Author: Zac Medico <zmedico@gentoo.org>
Date:   Tue Jan 17 13:40:28 2012 -0800

    fix comment garbage from last commit

commit 53dac055613c8627f5c79d9cc6ebb0596c2c7b2c
Author: Zac Medico <zmedico@gentoo.org>
Date:   Tue Jan 17 13:13:00 2012 -0800

    xml/metadata.py: handle ExpatError

commit fcb2aafbbd9d4f62c07942560005b6053eff8a9f
Author: Zac Medico <zmedico@gentoo.org>
Date:   Tue Jan 17 12:39:00 2012 -0800

    remove stray 'fi' from last commit

commit e738400f07fbe369af0d6179fb8761ff22c95f39
Author: Zac Medico <zmedico@gentoo.org>
Date:   Tue Jan 17 07:30:11 2012 -0800

    _eapi0_src_test: remove redundant FEATURES checks

commit caf67ac8df3528382ff960b2de4cf853a14a0141
Author: Arfrever Frehtes Taifersar Arahesis <Arfrever@Gentoo.Org>
Date:   Mon Jan 16 00:53:04 2012 +0100

    Support repository dependencies in EAPI="4-python".

commit 99e5562e09a481a9d484302ad84c380bcf291efc
Author: Arfrever Frehtes Taifersar Arahesis <Arfrever@Gentoo.Org>
Date:   Sun Jan 15 22:44:17 2012 +0100

    portageq metadata: Support repository dependencies.

commit fb6020862e1b609f3006584d018221312bfbe581
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sun Jan 15 09:59:37 2012 -0800

    create_world_atom: multi-repo portdbapi aux_get

    This handles a KeyError raised from portdbapi.aux_get() when one of the
    repositories has a corrupt ebuild.

commit 3ae079dc5650e5af73516198b429d56d9131d637
Author: Mike Frysinger <vapier@gentoo.org>
Date:   Fri Jan 13 14:34:58 2012 -0500

    add support for compressing debug sections to save space

    Since binutils/gdb can compress the .debug* sections with zlib into
    .zdebug*, we should be able to save quite a bit of space -- on my system,
    I saw /usr/lib/debug/ go from ~20GB to ~7.5GB.

    This requires binutils/gdb to be built with USE=zlib which is why this
    defaults to off.

    Signed-off-by: Mike Frysinger <vapier@gentoo.org>

commit ac263977391643f1c147d7e767b5b804ac095d55
Author: Mike Frysinger <vapier@gentoo.org>
Date:   Fri Jan 13 14:29:06 2012 -0500

    prepstrip: add writable workaround for everyone

    The writable issue shows up when using `ebuild` as non-root users in
    non-prefix setups.	So always do it.

    Signed-off-by: Mike Frysinger <vapier@gentoo.org>

commit 5690ca2b8114ae352c97aefeb2a7b240204e078f
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sat Jan 14 09:10:10 2012 -0800

    egencache: escape newline instead of lstrip

commit ee42bbb989cb31b0af76b6ae53ab238954a6f14e
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sat Jan 14 09:01:38 2012 -0800

    egencache: use textwrap.dedent

commit 93b654199a32fc3df1299b030317720b9294b0c3
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sat Jan 14 07:29:08 2012 -0800

    Apply INSTALL_MASK prior to collision-protect.

    It may be useful to avoid collisions in some scenarios.

commit c978b14d9a400c30616f27b63d8aa2d6d0522c0f
Author: Zac Medico <zmedico@gentoo.org>
Date:   Fri Jan 13 08:21:31 2012 -0800

    dyn_install: skip copy if possible

    Also, fix EPREFIX breakage since commit
    5d5364e982820fda56db5a40884e1c5f8e784b96.

commit 9ea603a611ddf4a8575ba73edc63b85213d7e701
Author: Zac Medico <zmedico@gentoo.org>
Date:   Fri Jan 13 08:06:20 2012 -0800

    dyn_package: portable cp args by Mike Frysinger

commit 850931b76f62509df1b55ff3f4151393da0b3807
Author: Zac Medico <zmedico@gentoo.org>
Date:   Fri Jan 13 06:14:12 2012 -0800

    dyn_package: remove stale PROOT if necessary

commit 5d5364e982820fda56db5a40884e1c5f8e784b96
Author: Brian Harring <ferringb@chromium.org>
Date:   Fri Jan 13 04:18:48 2012 -0800

    Modify PKG_INSTALL_MASK to apply only to binpkg creation.

    Primarily useful for certain cases where cros needs to suppress debug
    symbols being included for specific pkgs, and/or suppressing binpkgs
    from carrying sensitive configuration data, but we still wish for it to
    be installed.

    BUG=chromium-os:25060 TEST=set PKG_INSTALL_MASK, check ${D} vs what's
    in the binpkg

    Change-Id: I0f81a9e394b7b0b64dbbcbe8d189876cb8421dfa

commit 7ab1ca09de0421b574df1ff9aa8ef5077e16b9ea
Author: Zac Medico <zmedico@gentoo.org>
Date:   Thu Jan 12 18:46:24 2012 -0800

    test_config: fix AttributeError: 'str'

commit 5438bb29c996d777b6343515995176912a7c137f
Author: Zac Medico <zmedico@gentoo.org>
Date:   Thu Jan 12 08:59:40 2012 -0800

    depgraph: account for unevaluated_atom in cache

commit eb97b85501583129e1f31039a443632633d5d887
Author: Zac Medico <zmedico@gentoo.org>
Date:   Thu Jan 12 08:32:53 2012 -0800

    depgraph: unevaluated parent atom in debug output

commit ecf347fe2bde0f285b04070a13a170accdf73838
Author: Zac Medico <zmedico@gentoo.org>
Date:   Thu Jan 12 03:26:13 2012 -0800

    Add --human-readable to rsync opts for bug 269410

commit 31b4d0cb3a183e29fe0d745187470ded37ffd433
Author: Zac Medico <zmedico@gentoo.org>
Date:   Wed Jan 11 17:34:49 2012 -0800

    read_corresponding_eapi_file: unicode, bug 398587

commit 0dd5593f6754f92657c8c7331f66f812d10eeb44
Author: Zac Medico <zmedico@gentoo.org>
Date:   Wed Jan 11 08:02:26 2012 -0800

    quickpkg: add leading ./ to names for bug 398543

commit 48ae5a4d10657efc8a05fb6f91d0a9584891cec2
Author: Zac Medico <zmedico@gentoo.org>
Date:   Wed Jan 11 04:38:07 2012 -0800

    DEVELOPING: add "Dependencies" section

commit a7d81d56245f47cc62b6ce8e54481a2592aa20e1
Author: Zac Medico <zmedico@gentoo.org>
Date:   Wed Jan 11 04:28:56 2012 -0800

    DEVELOPING: add "Python Version" section

commit 93bff8841e53b7a47dedc0509d4986e79b4e71a3
Author: Zac Medico <zmedico@gentoo.org>
Date:   Wed Jan 11 04:18:20 2012 -0800

    DEVELOPING: remove section about string module

    The module no longer exists since Python 2.7, so by now it should be
    obvious that it's obsolete.

commit 93db7e12b01cde9f29cc404a9ca8886143f3e988
Author: Arfrever Frehtes Taifersar Arahesis <Arfrever@Gentoo.Org>
Date:   Wed Jan 11 04:57:23 2012 +0100

    portage.debug.trace_handler.__init__(): Fix compatibility with Python 3.

commit 5be279c9b406c44b82ffa6015dbdb45263124f84
Author: Zac Medico <zmedico@gentoo.org>
Date:   Tue Jan 10 10:41:29 2012 -0800

    ExtendedAtomDict: fix for python-trace

commit b7b0e36986a90311e671e23c8ad16e10bcbb860f
Author: Zac Medico <zmedico@gentoo.org>
Date:   Mon Jan 9 16:37:28 2012 -0800

    env_update: ldsoconf_update flag not reliable

    The ldsoconf_update flag was not a reliable indicator of whether or
    not ldconfig needs to be called, since ld.so.conf can have lines like
    "include ld.so.conf.d/*.conf" that pull in outside content which may
    have changed without being detected.

commit 727eb7f91b3a0b599e577d95e3b3eeb5a2398b68
Author: Arfrever Frehtes Taifersar Arahesis <Arfrever@Gentoo.Org>
Date:   Sun Jan 8 07:43:06 2012 +0100

    Update documentation of EAPI="4-python".

commit 0d9ea2752aa7819e5b26b47920c09218d9f5b7c2
Author: Arfrever Frehtes Taifersar Arahesis <Arfrever@Gentoo.Org>
Date:   Sun Jan 8 07:19:06 2012 +0100

    Set REPOSITORY variable in ebuild environment in EAPI="4-python".

commit d933ef603595ef43128065cf1791be97c5515578
Author: Arfrever Frehtes Taifersar Arahesis <Arfrever@Gentoo.Org>
Date:   Sun Jan 8 07:06:33 2012 +0100

    Fix location of a comment.

commit 440acc06b175f642de305f063fbf63805cdce3d8
Author: Arfrever Frehtes Taifersar Arahesis <Arfrever@Gentoo.Org>
Date:   Sun Jan 8 04:06:31 2012 +0100

    Set portage-1 as default profile format for repositories using
    EAPI="4-python".

commit 951c9b40cd45ba03daadbce94dfa87cda78675b0
Author: Arfrever Frehtes Taifersar Arahesis <Arfrever@Gentoo.Org>
Date:   Sun Jan 8 04:00:07 2012 +0100

    Set eapi attribute on portage.repository.config.RepoConfig objects.

commit f132600314270f5fbbd168d941566d0fd877eb18
Author: Zac Medico <zmedico@gentoo.org>
Date:   Tue Jan 3 13:59:25 2012 -0800

    getlibpaths: regex for include

commit bce4fd1520fed9f35c8004f98ef3ed489efaa5db
Author: Michał Górny <mgorny@gentoo.org>
Date:   Tue Jan 3 22:28:47 2012 +0100

    Support include directives in ld.so.conf.

commit 45ad6be3512e98791c3c0d28c6ec55c6298cfb9d
Author: Gavin Pryke <gavinlee303@googlemail.com>
Date:   Mon Jan 2 15:01:30 2012 -0800

    ebuild.5: fix REQUIRED_USE sample for bug #397415

commit 2fce72c6af32d2d1ffc92684e810f221185cdda8
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sun Jan 1 23:48:07 2012 -0800

    repoman: remove ebuild.allmasked check

    This check it pretty useless, since there packages don't necessarily need
    to have any stable keywords, and nobody relies on this check to decide
    when to keyword something. Also, remove references to the ebuild.nostable
    which doesn't seem to exist anymore.

commit bbd0a415c33d46c168f38a59bf1bc031a586c5e2
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sun Jan 1 23:34:30 2012 -0800

    repoman: discard xmatch caches from previous pkgs

    This should help prevent repoman from consuming too much memory when
    checking multiple packages or the whole tree.

commit e2f5b48cd9533eea83b02c97cbab9e0df86e78e8
Author: Zac Medico <zmedico@gentoo.org>
Date:   Wed Dec 28 00:15:58 2011 -0800

    RepoConfigLoader: don't mix duplicate repo config

    RepoConfig.update() was being used to copy attributes from one instance
    to another, possibly leading to inappropriate mixing of layout.conf
    attributes from separate copies of the same repo. This is common with
    repoman, for example, when temporarily overriding an rsync repo with
    another copy of the same repo from CVS.

commit e626628a338aa90f9cf321ec89789da72f67a9e0
Author: Zac Medico <zmedico@gentoo.org>
Date:   Tue Dec 27 23:13:41 2011 -0800

    RepoConfig.update(): copy more attributes

    This fixes a regression since commit
    10246cd535f909dda8bd05de617c32d2b8a56b4a which caused layout.conf
    settings such as thin-manifests to be ignored for repositories that
    had repos.conf settings that did not specify the repository location.
    In order to trigger this case, ResolverPlayground has been modified to omit
    the location of each repository in the repos.conf file that it generates.

commit 656562dd40ea1487dd93a565f8f2f87040555b42
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sun Dec 25 12:05:08 2011 -0800

    repoman: later --ask prompt for bug #395995

commit 4cfa78b9406d9a8f94b3eae23631b2bb430bc533
Author: Arfrever Frehtes Taifersar Arahesis <Arfrever@Gentoo.Org>
Date:   Sun Dec 25 20:40:40 2011 +0100

    portage.repository.config.RepoConfigLoader: Rename _add_overlays()
    to _add_repositories().

commit 84260c2aadbe3fe416d0e2fb428cc1ea07404930
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sat Dec 24 03:52:56 2011 -0800

    Tweak CFLAGS scanelf loop.

commit 38fca9ab1960f9a38c5d29183224a77694337205
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sat Dec 24 03:30:30 2011 -0800

    Update date headers in man pages.

commit 770bb7ae204643be1968f0fd0379706b6ce017c0
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sat Dec 24 03:17:26 2011 -0800

    Add FEATURES=config-protect-if-modified support.

    This causes the CONFIG_PROTECT behavior to be skipped for files that
    have not been modified since they were installed.

commit 9446ae1efbbac8a42654007109c94dc3f161f430
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sat Dec 24 02:23:30 2011 -0800

    FakeVartree: implement self.dbapi._aux_cache_keys

    This will fix bug #395879.

commit dfe2afc9549e596a438a322feb35240d52ca26b5
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sat Dec 24 02:13:32 2011 -0800

    Don't check .GCC.command.line for kernel modules.

    Linux kernel modules trigger the following warning when compiled with
    -frecord-gcc-switches:

    WARNING: mod.o (.GCC.command.line): unexpected non-allocatable section.

commit b91754cb94e3f3d2db50768ec7cad47314d806ce
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sat Dec 24 01:07:39 2011 -0800

    Do CFLAGS check before strip for bug #395877.

commit 27905e596eeba6e76370561e63f3184d5a8d7a26
Author: Arfrever Frehtes Taifersar Arahesis <Arfrever@Gentoo.Org>
Date:   Sat Dec 24 02:28:50 2011 +0100

    Fix a typo in a doc string.

commit f7f35fe13abfb038f4ac38e3ec6d56b55c58abc8
Author: Zac Medico <zmedico@gentoo.org>
Date:   Fri Dec 23 10:07:35 2011 -0800

    AbstractPollTask: note PipeReaderArrayTestCase

commit 1ad30a09a9beeb5ddb4b508c0698dea665be50d5
Author: Zac Medico <zmedico@gentoo.org>
Date:   Fri Dec 23 02:15:46 2011 -0800

    depgraph.py: remove unused variables

commit 3bbbe6b190079e943bbfda598f9dd0d45661c0e0
Author: Zac Medico <zmedico@gentoo.org>
Date:   Thu Dec 22 16:26:56 2011 -0800

    QA_FLAGS_IGNORED: include QA_PREBUILT

    Also, QA_DT_HASH doesn't need to include QA_PREBUILT anymore, since it's
    merged with QA_FLAGS_IGNORED.

commit 1abc862c0998de0994a75484cb915daff26cfc65
Author: Arfrever Frehtes Taifersar Arahesis <Arfrever@Gentoo.Org>
Date:   Fri Dec 23 00:56:37 2011 +0100

    Fix description of QA_FLAGS_IGNORED.

commit bbe1a2f0a2e4f6f611db015b17d81d6b8083e36c
Author: Zac Medico <zmedico@gentoo.org>
Date:   Thu Dec 22 15:42:06 2011 -0800

    Share variables for CFLAGS and LDFLAGS checks.

    The rationale is that any exceptions to either of these checks will
    probably apply to both checks. So, QA_CFLAGS_IGNORED and QA_DT_HASH
    are merged into QA_FLAGS_IGNORED, and QA_STRICT_CFLAGS_IGNORED and
    QA_STRICT_DT_HASH are merged into QA_STRICT_FLAGS_IGNORED.

commit e20df85cf8579aaa9cf07d59efc453d5837a7598
Author: Zac Medico <zmedico@gentoo.org>
Date:   Thu Dec 22 14:15:43 2011 -0800

    ebuild-helpers/new*: QA warn for extra args

commit 28992a12fea60af70285db931f4a41c932f31ae3
Author: Zac Medico <zmedico@gentoo.org>
Date:   Thu Dec 22 13:36:40 2011 -0800

    _pty.py: remove unused _tested_pty variable

commit 22be2988af6d8425d5c4cf66d92b8b8657bdbc5a
Author: Zac Medico <zmedico@gentoo.org>
Date:   Thu Dec 22 13:34:17 2011 -0800

    _pty.py: remove _test_pty_eof()

    If array.fromfile() is not used, then _test_pty_eof() is useless.
    This function was for runtime detection of python issue 5380:

       http://bugs.python.org/issue5380

    However, array.fromfile() use has since been abandoned due to bugs that
    exist in all known versions of Python (including Python 2.7 and Python
    3.2). See PipeReaderArrayTestCase, for example.

commit 9ef18c2a97bee1ff94163b77573aea72d7a3b01b
Author: Zac Medico <zmedico@gentoo.org>
Date:   Thu Dec 22 12:06:45 2011 -0800

    config.setcpv(): use dbapi._aux_cache_keys

    This helps to avoid triggering the environment.bz2 extraction in
    vardbapi.aux_get().

commit 08e4be7fa43c99b9acbfe30982d51ef6f881c000
Author: Zac Medico <zmedico@gentoo.org>
Date:   Thu Dec 22 11:43:11 2011 -0800

    _aux_env_search: decode unicode more

commit 8d524638e4e664a684d781181a09eee3de12319c
Author: Zac Medico <zmedico@gentoo.org>
Date:   Thu Dec 22 11:39:32 2011 -0800

    filter_readonly_variables: refactor binpkg logic

commit a34586a73724d6075a556f82a05fc16893db31e0
Author: Zac Medico <zmedico@gentoo.org>
Date:   Thu Dec 22 11:10:18 2011 -0800

    fetch: don't apply permissions to symlinks

    We don't want to modify anything outside of the primary DISTDIR, and
    symlinks typically point to PORTAGE_RO_DISTDIRS. This will fix bug #395705.

commit c3a50a9a2c8116c95c8b2f89d570a89c299ddea3
Author: Zac Medico <zmedico@gentoo.org>
Date:   Wed Dec 21 21:43:51 2011 -0800

    filter_readonly_variables: don't trust binpkg var

commit 9164879113f6ac42bdec498739fbae2ce6af9ae3
Author: Zac Medico <zmedico@gentoo.org>
Date:   Wed Dec 21 20:29:51 2011 -0800

    make.globals: don't define TMPDIR with EPREFIX

    Same reason as commit e1c6bba8c26525cca498894237c6421f86c98dfb.

commit e1c6bba8c26525cca498894237c6421f86c98dfb
Author: Zac Medico <zmedico@gentoo.org>
Date:   Wed Dec 21 20:22:18 2011 -0800

    make.globals: don't define PORTDIR with EPREFIX

    We want make.globals defaults to evaluate the same, regardless of the
    current prefix that we're using it for (bug #395633).

commit 7ae2254d1e8db0e3976b82c65a8640cfc99cedb1
Author: Zac Medico <zmedico@gentoo.org>
Date:   Wed Dec 21 20:06:36 2011 -0800

    filter_readonly_variables: preserve binpkg vars

commit 0cb2523bca051aa06e73169d647d2ad3278fa25f
Author: Zac Medico <zmedico@gentoo.org>
Date:   Wed Dec 21 16:44:37 2011 -0800

    search.py: use _aux_cache_keys more

    This helps to avoid triggering the environment.bz2 extraction in
    vardbapi.aux_get().

commit 6b5ffa8fc0d01647d123fe62686c724f3c832b20
Author: Zac Medico <zmedico@gentoo.org>
Date:   Wed Dec 21 16:32:48 2011 -0800

    vardbapi._aux_get: unicode EAPI key

commit e8ea1bcb31db5929e19dac0392922994a9577bdd
Author: Zac Medico <zmedico@gentoo.org>
Date:   Wed Dec 21 16:29:30 2011 -0800

    vardbapi._aux_get: search environment in one pass

commit 0472c8083ea647de8973504f60563aa08e4ef576
Author: Zac Medico <zmedico@gentoo.org>
Date:   Wed Dec 21 15:16:13 2011 -0800

    vardbapi._aux_get: account for _aux_cache_keys_re

commit 9ec7e9fd222849e1fbe6311bb6973867957a9d81
Author: Zac Medico <zmedico@gentoo.org>
Date:   Wed Dec 21 14:58:41 2011 -0800

    vardbapi.aux_get: search environment, bug 395463

commit ca73a3a6e6fe386d90068e0fb5187c395e8ae0ed
Author: Zac Medico <zmedico@gentoo.org>
Date:   Wed Dec 21 13:45:24 2011 -0800

    cnf/make.conf: fix ia64 and s390 diffs

commit 1de36ad91237651277b9e4b7e0db819efb5e6997
Author: Zac Medico <zmedico@gentoo.org>
Date:   Wed Dec 21 13:28:47 2011 -0800

    Use *FLAGS for CFLAGS ignorance checks.

    Current *FLAGS variables include CFLAGS, CXXFLAGS, FFLAGS, and FCFLAGS.
    Not that this check is only enabled if every one of these variables
    contains -frecord-gcc-switches, since otherwise the check could result
    in false positive results.

commit 962f4d5387aa19b2a9a4cf41370000c849ff587d
Author: Zac Medico <zmedico@gentoo.org>
Date:   Wed Dec 21 12:55:56 2011 -0800

    data.py: stat EROOT for PORTAGE_GRPNAME/USERNAME

    The config class has equivalent code, but we also need to do it here if
    _disable_legacy_globals() has been called.

commit f8c9c0075097c5457a9c69315bce4ea898924451
Author: Zac Medico <zmedico@gentoo.org>
Date:   Wed Dec 21 12:07:37 2011 -0800

    s/QA_STRICT_DT_SWITCHES/QA_STRICT_CFLAGS_IGNORED/

commit a164fd421a445bb12c1b2f127600d915cb4df057
Author: Zac Medico <zmedico@gentoo.org>
Date:   Wed Dec 21 12:03:45 2011 -0800

    s/QA_DT_SWITCHES/QA_CFLAGS_IGNORED/

commit e1fa7120dffb4b2a603a38b40269a1cc28fcd39a
Author: Michał Górny <mgorny@gentoo.org>
Date:   Sun Oct 23 11:16:15 2011 +0200

    --ask is fine for --depclean as well.

commit a192ba876959823534ebfbe2fcb7989a02f68810
Author: Zac Medico <zmedico@gentoo.org>
Date:   Wed Dec 21 11:36:31 2011 -0800

    install_qa_check: more RESTRICT=binchecks

commit 4e3a6eb60d48edddbe6a279f02b0cfc561394841
Author: Michał Górny <mgorny@gentoo.org>
Date:   Wed Dec 21 17:20:38 2011 +0100

    Strip .GCC.command.line from output files as well.

commit b03273772744b263ae5c06de8034ec2200245964
Author: Michał Górny <mgorny@gentoo.org>
Date:   Wed Dec 21 17:10:17 2011 +0100

    Support checking for ignored CFLAGS using -frecord-gcc-switches.

commit 73ae5b670836e389949d085ad394a0b9061caf13
Author: Zac Medico <zmedico@gentoo.org>
Date:   Tue Dec 20 15:26:54 2011 -0800

    hashed_path: implement __repr__

commit 3c36110f7c30fe866764dd1d20a65a273e0ecc6e
Author: Zac Medico <zmedico@gentoo.org>
Date:   Tue Dec 20 12:26:48 2011 -0800

    Silently allow missing /var/cache/edb/counter.

    Files under /var/cache/ are allowed to disappear.

commit 287a6a91b3736b5cf732f848efcafa8014413b1a
Author: Zac Medico <zmedico@gentoo.org>
Date:   Tue Dec 20 12:14:05 2011 -0800

    Add some EAPI 4-python docs.

commit 5f5f54b524b22e85c14539a9bb2ce52c7a4e312b
Author: Zac Medico <zmedico@gentoo.org>
Date:   Mon Dec 19 23:24:38 2011 -0800

    Force COLUMNS > 0 for bug #394091.

commit b135c01eff4ea89d16ae711271cc215388d08d17
Author: Zac Medico <zmedico@gentoo.org>
Date:   Mon Dec 19 16:00:38 2011 -0800

    prepstrip: merge diff from prefix branch

    NOTE: Debug files must be installed in ${EPREFIX}/usr/lib/debug/${EPREFIX}
    (note that ${EPREFIX} occurs twice in this path) in order for gdb's
    debug-file-directory lookup to work correctly.

commit a323da487a2380484e6c23514cc1f75b8e8ceaaf
Author: Zac Medico <zmedico@gentoo.org>
Date:   Mon Dec 19 12:44:47 2011 -0800

    Display EROOT when ROOT != "/".

    Since commit a715b65f7bd36409c1283e6911265d1f4405ab7a, the Package.root
    and RootConfig.root attributes refer to EROOT instead of ROOT.  Therefore,
    adjust display code so that EROOT is only displayed when ROOT != "/".

commit 2ea565e1af3416ab5743c4b7181476d9a6734123
Author: Arfrever Frehtes Taifersar Arahesis <Arfrever@Gentoo.Org>
Date:   Mon Dec 19 02:33:27 2011 +0100

    Disallow some functions in global scope in EAPI="4-python".

commit 7a0a0a1dc02487b08f47fef129a29e18f7c226a0
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sun Dec 18 16:12:57 2011 -0800

    _run_pkg_pretend: doebuild_environment for clean

commit af7d4ecf7e939818df2f2a210a376d91dd41291d
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sun Dec 18 14:13:30 2011 -0800

    set_colors(): suppress "/dev/tty: No such device"

commit 4c91ad25d42202f66930853295eddcabea34fb8f
Author: Arfrever Frehtes Taifersar Arahesis <Arfrever@Gentoo.Org>
Date:   Sun Dec 18 22:55:58 2011 +0100

    Define portage.repository.config.RepoConfig.__repr__().

commit 33f63675eec4274842e118ed0490bc98dd83fe77
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sun Dec 18 13:47:07 2011 -0800

    test_poll: separate classes for pipe vs. pty

    Also, generate appropriate SKIP message if pty is not acquired.

commit 7e2fa62211bacd0eec259578ff3448ab86384323
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sun Dec 18 13:28:17 2011 -0800

    PipeReaderArrayTestCase: sleep for fast computers

    Allows reliable triggering of the failure mode on fast computers.

commit 3427c50559cba9b488580f0b742fa2059a06e101
Author: Arfrever Frehtes Taifersar Arahesis <Arfrever@Gentoo.Org>
Date:   Sun Dec 18 22:25:07 2011 +0100

    RepoConfigLoader._add_overlays(): Rename a variable and add a comment.

commit 3360b046e0cb7f23e6edba23dbef6d0ccd558834
Author: Arfrever Frehtes Taifersar Arahesis <Arfrever@Gentoo.Org>
Date:   Sun Dec 18 22:14:00 2011 +0100

    Optimize RepoConfigLoader._add_overlays().

commit 35a87e80937d06eab3b605dc038b48da590fe88e
Author: Arfrever Frehtes Taifersar Arahesis <Arfrever@Gentoo.Org>
Date:   Sun Dec 18 21:43:51 2011 +0100

    set_colors(): Redirect input to `stty size` to make it work after commit
    a3797a63a30579be3ba5418aad7e76fd520f9aee.

commit aae7d871ba564c188a16eff96dac302ba74aade1
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sun Dec 18 12:18:38 2011 -0800

    environment: don't save COLUMNS

commit 53ab2996f3cb76e0aa5cd5b09d70833f263ff90a
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sun Dec 18 12:15:13 2011 -0800

    whitelist COLUMNS

commit 762bc57aa21263a49cabe80ca905f33bede57d2c
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sun Dec 18 10:19:09 2011 -0800

    RELEASE-NOTES: revert --quiet-build default

    See commit 028f0b0e223861826747b531824319520ef26ddd.

commit 10246cd535f909dda8bd05de617c32d2b8a56b4a
Author: Arfrever Frehtes Taifersar Arahesis <Arfrever@Gentoo.Org>
Date:   Sun Dec 18 04:01:31 2011 +0100

    Parse layout.conf files in portage.repository.config.RepoConfig.__init__()
    instead of portage.repository.config.RepoConfigLoader.__init__().

commit d1672181743ed2a4a62b542f197fc1321a699d17
Author: Arfrever Frehtes Taifersar Arahesis <Arfrever@Gentoo.Org>
Date:   Sun Dec 18 03:06:38 2011 +0100

    Fix some warnings found by pylint.

commit 36a6673199602796bf1626a4bd4110b99e590e5c
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sat Dec 17 11:32:59 2011 -0800

    _show_unsatisfied_dep: avoid invalid, bug #394995

commit bbb61dae0317ddd49c7db550e87f5231d60fdb7e
Author: Zac Medico <zmedico@gentoo.org>
Date:   Fri Dec 16 15:29:24 2011 -0800

    tests/emerge: PORTAGE_GRPNAME/USERNAME make.conf

commit 9f84f1333bb1b6ee32083fba39da5ce616f2657c
Author: Zac Medico <zmedico@gentoo.org>
Date:   Fri Dec 16 14:37:37 2011 -0800

    _test_pty_eof: use os.read, not array.fromfile

    We have abandoned array.fromfile() due to bugs that exist in all
    known versions of Python (including Python 2.7 and Python 3.2). See
    PipeReaderArrayTestCase, for example.

commit 071c65bb4abac3c251f335bde20e13368349c55d
Author: Zac Medico <zmedico@gentoo.org>
Date:   Fri Dec 16 14:26:01 2011 -0800

    test_poll: add note about unbuffered fdopen

commit 47247149a48d8b4267ad849ff10924e7b6a6f3e2
Author: Zac Medico <zmedico@gentoo.org>
Date:   Fri Dec 16 13:56:03 2011 -0800

    test_poll: fix array test

    Since SpawnProcess no longer uses array, add conditional array support
    to PipeReader and use that for tests.

commit d33a45eba7c2ee8dab019908593d213e9c727314
Author: Zac Medico <zmedico@gentoo.org>
Date:   Fri Dec 16 12:55:08 2011 -0800

    emerge.1: --changed-use/--selective interaction

    Also, swap all instances of --reinstall=changed-use with --changed-use.

commit 2eea0db1855009c3407ba6eae1dc095297769989
Author: Zac Medico <zmedico@gentoo.org>
Date:   Fri Dec 16 11:56:01 2011 -0800

    PipeReader: use AbstractPollTask._read_buf()

commit f1ec68632ff22b72b25c0d70cc2f2c137f957a91
Author: Zac Medico <zmedico@gentoo.org>
Date:   Fri Dec 16 11:32:39 2011 -0800

    SpawnProcess/AbstractPollTask: eliminate array

    Since commit 30d2d0a9db486c5a70848ad5d27b37a3ec48f271, we use os.read()
    due to bugs in array.fromfile(). So, eliminate array usage entirely.

commit f75fc7375ea902da2e96825ca27c8b7f5031a491
Author: Zac Medico <zmedico@gentoo.org>
Date:   Fri Dec 16 11:18:20 2011 -0800

    SpawnProcess: remove obsolete fdopen

    Since commit 30d2d0a9db486c5a70848ad5d27b37a3ec48f271, we use os.read()
    due to bugs in array.fromfile(), so there's no need to use fdopen.

commit 36632047bebbd435610944ad9e7850163b260645
Author: Zac Medico <zmedico@gentoo.org>
Date:   Fri Dec 16 10:58:35 2011 -0800

    Fix EIO handling for PollSelectAdapter.

    In PipeReader and AbstractPollTask, we have to treat EIO as EOF,
    in order to terminate the select loop at the correct time when
    using PollSelectAdapter. This fixes a regression in EIO handling
    since commits 915348ce34fc499ac295b8f0ffee9f0829803542 adn
    30d2d0a9db486c5a70848ad5d27b37a3ec48f271.

commit 11cf001c20d94eb477e8a9b253e657716702b845
Author: Zac Medico <zmedico@gentoo.org>
Date:   Thu Dec 15 19:23:38 2011 -0800

    PtyEofFdopenUnBufferedTestCase: PyPy TODO

      https://bugs.pypy.org/issue956

commit b7aa8acf8f353c11e622692a863716966eacad6f
Author: Zac Medico <zmedico@gentoo.org>
Date:   Thu Dec 15 19:11:53 2011 -0800

    data.py: tweak getgrnam call for PyPy

    This makes it unnecessary to explicitly call portage.data._init() in
    runTests, and fixes some other cases that trigger the same issue.

commit 9c2990c593d739f19e85415b841273c74e54911d
Author: Zac Medico <zmedico@gentoo.org>
Date:   Thu Dec 15 18:41:45 2011 -0800

    runTests: initialize portage.data for PyPy

commit 30d2d0a9db486c5a70848ad5d27b37a3ec48f271
Author: Zac Medico <zmedico@gentoo.org>
Date:   Thu Dec 15 18:02:32 2011 -0800

    SpawnProcess: work around array.fromfile() bugs

    When I extended test_poll to test SpawnProcess array.fromfile() usage, it
    exposed bugs in array.fromfile() that I couldn't find a way to handle. So,
    use os.read() instead.

commit 915348ce34fc499ac295b8f0ffee9f0829803542
Author: Zac Medico <zmedico@gentoo.org>
Date:   Thu Dec 15 15:55:42 2011 -0800

    test_poll: test different sizes, and pty too

commit 085cc0ad1b2b05a350b96cc1654a9cfb913a8640
Author: Zac Medico <zmedico@gentoo.org>
Date:   Thu Dec 15 10:49:00 2011 -0800

    emerge.1: enumerate more --selective=n overrides

commit d454665c0421a617d49d5f765180d598b67060d7
Author: Zac Medico <zmedico@gentoo.org>
Date:   Thu Dec 15 10:04:47 2011 -0800

    make.conf.5: it's -> its

commit d2afde1fa696d9c47c893f868606cfeb66e6c067
Author: Arfrever Frehtes Taifersar Arahesis <Arfrever@Gentoo.Org>
Date:   Wed Dec 14 21:13:54 2011 +0100

    Fix a typo in a comment.

commit 85587655d47737be31415d36e8e6a0c9ff0f298f
Author: Zac Medico <zmedico@gentoo.org>
Date:   Wed Dec 14 09:54:22 2011 -0800

    create_trees: pass __PORTAGE_TEST_HARDLINK_LOCKS

    This allows testing of stage builds with __PORTAGE_TEST_HARDLINK_LOCKS
    set in the environment, since __PORTAGE_TEST_HARDLINK_LOCKS needs to
    propagate to childs processes for all ROOTs.

commit 32a5e5531d6fa0520478ff831953702365ca6cd9
Author: Zac Medico <zmedico@gentoo.org>
Date:   Wed Dec 14 01:42:56 2011 -0800

    Filter __PORTAGE_TEST_HARDLINK_LOCKS from env.

commit b898440e35aa96cd50c74b13d26d5924d2d708ed
Author: Zac Medico <zmedico@gentoo.org>
Date:   Wed Dec 14 01:17:16 2011 -0800

    tests/locks: save/restore global env state

    This ensures that global __PORTAGE_TEST_HARDLINK_LOCKS overrides work
    correctly for all tests.

commit 2dbb9bb3bdb826a7da41ba1ccd89f4f8c8ee529c
Author: Zac Medico <zmedico@gentoo.org>
Date:   Wed Dec 14 01:11:07 2011 -0800

    hardlink_lockfile: preserve existing permissions

commit 29315ffe4d5c0d4030252ed25ecd81905654d534
Author: Zac Medico <zmedico@gentoo.org>
Date:   Tue Dec 13 23:33:28 2011 -0800

    lockfile: deprecate file object or fd parameters

    Support for file object or integer file descriptor parameters is deprecated
    due to ambiguity in whether or not it's safe to close the file descriptor,
    making it prone to "Bad file descriptor" errors or file descriptor leaks.

commit 7de863659d624468830ebc342806f255f245b4af
Author: Zac Medico <zmedico@gentoo.org>
Date:   Tue Dec 13 23:31:43 2011 -0800

    emergelog: pass path to lockfile, not file object

commit 1a26bf9e433abff5f0b68f2a3b546eac732a359b
Author: Zac Medico <zmedico@gentoo.org>
Date:   Tue Dec 13 22:30:19 2011 -0800

    SpawnProcess: use /dev/null fd from subclass

commit 3bcbe6b069687855fa3cc8f0e39be6c240ee3e3e
Author: Zac Medico <zmedico@gentoo.org>
Date:   Tue Dec 13 21:59:59 2011 -0800

    hardlink_lockfile: optimize away most link calls

    If fstat shows more than one hardlink, then it's extremely unlikely
    that the following link call will result in a lock, so optimize away
    the wasteful link call and sleep or raise TryAgain.

commit 7bcb8e14d52c51904d42ccb1df49f481df2be9dd
Author: Zac Medico <zmedico@gentoo.org>
Date:   Tue Dec 13 21:32:32 2011 -0800

    ebuild-ipc.py: return 2 when forked child crashes

commit cdb992758a3120ff18254039c9ac9a61d1c15489
Author: Zac Medico <zmedico@gentoo.org>
Date:   Tue Dec 13 21:26:17 2011 -0800

    hardlink_is_mine: return False, never None

commit 028f0b0e223861826747b531824319520ef26ddd
Author: Zac Medico <zmedico@gentoo.org>
Date:   Tue Dec 13 20:47:22 2011 -0800

    emerge: disable --quiet-build by default

    This reverts the behavior change from commit
    0cc174b6fc28feb26ea151d76f794e0ff2c2fa39, since Gentoo's council has voted
    to revert it in their 20111213 meeting, as requested on the gentoo-project
    mailing list:

    http://archives.gentoo.org/gentoo-project/msg_4e282bb4e6ac2611de2a39171a803c48.xml

commit 89bcc67e2930a841e1120492634ebc20530bc1d7
Author: Zac Medico <zmedico@gentoo.org>
Date:   Tue Dec 13 20:24:35 2011 -0800

    locks.py: fix hardlink locks for bug #394195

    This updates the hardlink locking code to support the non-blocking,
    lockfile(wantnewlockfile=False), and lockfile(file_object) behaviors
    which are used by portage code.

commit 9fa915eef028c96b8cde3876fb8bb299c03f9a62
Author: Zac Medico <zmedico@gentoo.org>
Date:   Tue Dec 13 20:06:10 2011 -0800

    ebuils-ipc.py: _exit in finally block after fork

commit c11b7c487c518f9a2aceaddbe119a70877053cf5
Author: Zac Medico <zmedico@gentoo.org>
Date:   Tue Dec 13 18:02:23 2011 -0800

    locks.py: make hardlink lock files hidden

    This is for consistency with the behavior for normal lock files, since
    commit ce44ea3e914098a52bc0d1d995e71661659e77ca (bug #142369).

commit 84dc400e53a715294615942021b8d0816e68e699
Author: Zac Medico <zmedico@gentoo.org>
Date:   Tue Dec 13 14:19:05 2011 -0800

    RepoConfigLoader: masters eclass override order

    Only append the current repo to eclass_locations if it's not there
    already. This allows masters to have more control over eclass
    override order, which may be useful for scenarios in which there is
    a plan to migrate eclasses to a master repo. Thanks to Brian Harring
    <ferringb@gentoo.org) for suggesting this behavior.

commit 4d9c153df82200d76684b6a9de69994c5f325971
Author: Zac Medico <zmedico@gentoo.org>
Date:   Tue Dec 13 12:01:23 2011 -0800

    FifoIpcDaemon: use plain fd instead of fdopen

commit a628147b632ad8b33296f5698d30410854cf1d75
Author: Zac Medico <zmedico@gentoo.org>
Date:   Tue Dec 13 10:35:19 2011 -0800

    AbstractEbuildProcess: interactive pkg_config

commit a3797a63a30579be3ba5418aad7e76fd520f9aee
Author: Zac Medico <zmedico@gentoo.org>
Date:   Tue Dec 13 09:27:38 2011 -0800

    AbstractEbuildProcess: null in if not interactive

commit 70d7c7bfb20dec3fa66b0e6c1d9729ac87cab577
Author: Zac Medico <zmedico@gentoo.org>
Date:   Tue Dec 13 09:00:21 2011 -0800

    config: use frozenset for _constant_keys lookup

commit bffe72d567e2d4d4235ad45177fbec04da5260fa
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sun Dec 11 13:00:28 2011 -0800

    Don't nest sandbox in emerge/repoman tests.

commit 0654d66ccead49eb7d5edf2df189bfe77773b89e
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sun Dec 11 00:15:16 2011 -0800

    data._init(): use 'portage' default in first call

commit d67d11c82338a6d9ee073eab18bd0e24cd846c77
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sat Dec 10 23:49:40 2011 -0800

    load_emerge_config: change order of code back

    A couple of recent commits touched this function, and code got moved
    around unnecessarily.

commit 975fccbf19e5208e5b64f97980b4d7a6b91e4e28
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sat Dec 10 23:24:12 2011 -0800

    PORTAGE_OVERRIDE_EPREFIX: alphabetize vars

commit c1edb7a9bb5162b0781cfbebd475a65562aa6dd7
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sat Dec 10 22:51:56 2011 -0800

    Remove _SANDBOX_COMPAT_LEVEL.

commit da0831b24be79e008939f8507f9d457367e533ee
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sat Dec 10 22:41:01 2011 -0800

    Add _ENABLE_XATTR constant for the stable branch.

commit 2b51a74bc093e476ece19d0a2194104585e4c903
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sat Dec 10 16:19:34 2011 -0800

    ResolverPlayground: don't nest sandbox

commit 54e4ab36340f1ef3ffa250132bc5458e3d77ab6d
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sat Dec 10 15:49:21 2011 -0800

    data.py: avoid portage.settings when possible

commit 56d11b736c2702b77466d3b7bbb59516b9f90835
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sat Dec 10 15:39:16 2011 -0800

    lock-helper.py: disable_legacy_globals

    This prevents the portage.data module from accessing portage.settings.

commit 98031d249cf328a397eac507a289743d2ce719f2
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sat Dec 10 14:40:21 2011 -0800

    data.py: rename var to _portage_username

commit b5f17cb8bcdf5df5784add95fe7079cea64d4461
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sat Dec 10 14:33:42 2011 -0800

    config: init data/output modules in constructor

    The first constructed config object initializes these modules, and
    subsequent calls to the _init() functions have no effect.

commit e51bcea18af2d08b2b608bb70e9e81f9f4ca16e9
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sat Dec 10 14:19:31 2011 -0800

    config: skip unneeded constructor code for clones

commit 981cefdae6bc70c98b518b059558e295269490bf
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sat Dec 10 14:01:55 2011 -0800

    const.py: fix spelling of a comment

commit 1a6c6c29d1046f56c7661fb5f970597554349838
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sat Dec 10 13:46:58 2011 -0800

    Make eprefix=None params map to const.EPREFIX

commit 495c0ce534af794456a0a21f213f8f996bce0186
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sat Dec 10 13:37:15 2011 -0800

    actions.py: fix grammar in comment

commit 01d85ae3b72022cda50830d6aff61f92b48a19fc
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sat Dec 10 13:13:08 2011 -0800

    Binpkg: move imports to top

commit 6163432c090c5e4959d8b09d7e6cf8a3bfc415eb
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sat Dec 10 12:52:07 2011 -0800

    repoman: eliminate eclass_db variable

commit cc567a89c6813341913055a8250c241fa737be84
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sat Dec 10 12:05:38 2011 -0800

    Use portage.shutil for safer unicode handling.

commit 4735e8a0ef6e3182b05c9e9d0e27202d19db619a
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sat Dec 10 11:41:18 2011 -0800

    vartree.py: lazy movefile import

commit 8dfb0b16b1fb25012c3ec0189509af3048db562c
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sat Dec 10 11:41:07 2011 -0800

    movefile.py: open /dev/null in binary mode

commit 93c60fc277e37109a4ead36f69a6a50b7f72b229
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sat Dec 10 11:13:28 2011 -0800

    get_term_size: all values >= 0 for bug #394091

commit c37d0c55ac3f70586afcad86636973de35eabe4e
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sat Dec 10 10:45:20 2011 -0800

    Remove redundant eprefix in config constructors.

    Since commit 11a7448f1d5a0bfb38f8de9d66a8fa8d7118c877, the config
    constructor uses portage.const.EPREFIX by default.

commit cacbbe33b839737fecff2b81fc638bb40f08686c
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sat Dec 10 09:49:33 2011 -0800

    config.environ: allow prefix vars if no EAPI

    This allows access to EPREFIX inside things like post_sync hooks, where
    EAPI is undefined.

commit d43e3f0b3c72b40bcb88e98fd445316d61d71ff6
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sat Dec 10 09:40:19 2011 -0800

    doebuild: disable noauto for binpkgs later

    This is safer since doebuild_environment() can modify FEATURES if setcpv
    isn't called before.

commit 6081171d9920c6902aced768ce19af94ed3c7320
Author: Zac Medico <zmedico@gentoo.org>
Date:   Fri Dec 9 23:08:00 2011 -0800

    emerge: allow search when profile is missing

commit 716ad204d2107092704e4188f3a73736ec836d44
Author: Zac Medico <zmedico@gentoo.org>
Date:   Fri Dec 9 23:04:24 2011 -0800

    Make portdbapi.eclassdb a property.

commit e295b46dfaf9ecf1ba3bcfa8038132053fd1cbd0
Author: Zac Medico <zmedico@gentoo.org>
Date:   Fri Dec 9 22:40:14 2011 -0800

    config: set PORTAGE_OVERRIDE_EPREFIX for subprocs

commit ce1e80852ace9779a1bb70d16465b7fd73e705b4
Author: Zac Medico <zmedico@gentoo.org>
Date:   Fri Dec 9 22:32:44 2011 -0800

    Rename override var to PORTAGE_OVERRIDE_EPREFIX.

commit 1a171bdd8936fb3b5291dc143e141dfebcee8d9f
Author: Zac Medico <zmedico@gentoo.org>
Date:   Fri Dec 9 22:23:04 2011 -0800

    create_trees: add public eprefix parameter

commit b8a22d672a309976fcdc856269921a32414fdac5
Author: Zac Medico <zmedico@gentoo.org>
Date:   Fri Dec 9 22:13:29 2011 -0800

    config: make eprefix constructor parameter public

commit 11a7448f1d5a0bfb38f8de9d66a8fa8d7118c877
Author: Zac Medico <zmedico@gentoo.org>
Date:   Fri Dec 9 22:07:07 2011 -0800

    config: constructor default portage.const.EPREFIX

commit bd8514843e2dac56c59a566b335c89d486ad894b
Author: Zac Medico <zmedico@gentoo.org>
Date:   Fri Dec 9 22:02:01 2011 -0800

    Use portage.const.EPREFIX more.

commit 49689816166eee3d4fd4d2b1b9932398f3835341
Author: Arfrever Frehtes Taifersar Arahesis <Arfrever@Gentoo.Org>
Date:   Sat Dec 10 06:27:18 2011 +0100

    portage.util.movefile._copyxattr(): Print more informative exception
    when target filesystem does not support extended attributes.

commit 5dfa6ccea15ae4b71756a7cb581a5a83392fc33a
Author: Arfrever Frehtes Taifersar Arahesis <Arfrever@Gentoo.Org>
Date:   Sat Dec 10 06:26:32 2011 +0100

    Add portage.exception.OperationNotSupported exception.

commit 41a920fa8ef79707a573e95704c6bccf2fee044f
Author: Zac Medico <zmedico@gentoo.org>
Date:   Fri Dec 9 19:58:47 2011 -0800

    Binpkg: ensure $ED exists after extraction

commit 7c0ba941760c32d123dc225fe797f509195831cb
Author: Zac Medico <zmedico@gentoo.org>
Date:   Fri Dec 9 19:55:36 2011 -0800

    Binpkg: handle missing dir after chpathtool

commit d4b19ee8e8f7039d146ed85af2f264cf9b93dae1
Author: Zac Medico <zmedico@gentoo.org>
Date:   Fri Dec 9 19:31:20 2011 -0800

    Binpkg: fix os.path.dirname() usage

    It doesn't behave as intended for $ED which has a trailing slash.

commit 0b32a054ea5e30f127addf7246e0f8dfafbab091
Author: Zac Medico <zmedico@gentoo.org>
Date:   Fri Dec 9 19:21:44 2011 -0800

    Binpkg: add chpathtool support for prefix

    This uses a python-based chpathtool implementation which is intended to
    be compatible with the C-based implemenation that the prefix branch uses.

commit 2168e6e712e671afc0845de41fc1f81a7046750c
Author: Zac Medico <zmedico@gentoo.org>
Date:   Fri Dec 9 19:03:15 2011 -0800

    BinpkgEnvExtractor: fix PORTAGE_LOG_FILE spelling

commit 9f090f6397574e83198d6929b24561949aff8802
Author: Zac Medico <zmedico@gentoo.org>
Date:   Fri Dec 9 16:47:52 2011 -0800

    Support FEATURES=xattr.

commit 4df21a13440d36a94e34ba421d1fb8bc77d35be0
Author: Arfrever Frehtes Taifersar Arahesis <Arfrever@Gentoo.Org>
Date:   Sat Dec 10 01:01:46 2011 +0100

    portage.util.movefile._copyxattr(): Support usage of xattr module from
    dev-python/pyxattr.

commit b5b277f1c03ceee6b00577a693e8c3f0b42d32aa
Author: Arfrever Frehtes Taifersar Arahesis <Arfrever@Gentoo.Org>
Date:   Sat Dec 10 00:51:31 2011 +0100

    portage.util.movefile._copyxattr(): Support usage of getfattr and
    setfattr executables.

commit 10689f11f50a5452dc7f2ead53aef998657a2917
Author: Zac Medico <zmedico@gentoo.org>
Date:   Fri Dec 9 15:23:16 2011 -0800

    data.py: grp/pwd struct attrs, not indexes

commit 9ba122ee2242369aed344e3756d29c9b153bdbc8
Author: Zac Medico <zmedico@gentoo.org>
Date:   Fri Dec 9 15:16:08 2011 -0800

    Auto-generate PORTAGE_GRP/USERNAME for prefix.

    For prefix environments, default to the UID and GID of the top-level
    EROOT directory. This allows us to avoid using hardcoded defaults. It's
    still possible to override these variables via make.conf.

commit 0c217d51685bde5085607a8b54e8507b3624c36e
Author: Zac Medico <zmedico@gentoo.org>
Date:   Fri Dec 9 14:36:12 2011 -0800

    Auto-generate PORTAGE_INST_GID/UID for prefix.

    For prefix environments, default to the UID and GID of the top-level
    EROOT directory. This allows us to avoid using hardcoded defaults. It's
    still possible to override these variables via make.conf.

commit 174ffd8336ec9914f85f871b7ce78506574d3d9b
Author: Zac Medico <zmedico@gentoo.org>
Date:   Fri Dec 9 10:54:04 2011 -0800

    portageq: get_repo* uses_root

commit 611268630be4349727b3bf39a1249953f04e3b7f
Author: Arfrever Frehtes Taifersar Arahesis <Arfrever@Gentoo.Org>
Date:   Fri Dec 9 06:51:26 2011 +0100

    Delete portage.dbapi.porttree._repo_info class and _repo_info attribute of
    portage.dbapi.porttree.portdbapi objects. Migrate consumers to repositories
    attribute of portage.dbapi.porttree.portdbapi objects.

commit 12f18ab6ae8d732a39924536f585dc5ab7af8bbd
Author: Zac Medico <zmedico@gentoo.org>
Date:   Thu Dec 8 20:58:33 2011 -0800

    tests/bin: sanitize env

    This fixes interference from FEATURES=force-prefix in the env.

commit 4e87ba4eb94c0ad1615c9926650a8925d5688393
Author: Arfrever Frehtes Taifersar Arahesis <Arfrever@Gentoo.Org>
Date:   Fri Dec 9 05:43:20 2011 +0100

    Add eclass_db attribute in portage.repository.config.RepoConfig objects.

commit d5700b8579a9a8756b0a0e4b1ae801322593d28b
Author: Zac Medico <zmedico@gentoo.org>
Date:   Thu Dec 8 19:21:13 2011 -0800

    load_emerge_config: init portage.data earlier

    The portage_uid initialization here must to happend before the _init_dirs()
    calls.

commit b9b1c642065220aaf857a6ab221756be60519448
Author: Zac Medico <zmedico@gentoo.org>
Date:   Thu Dec 8 18:54:41 2011 -0800

    Enable PORTAGE_GRPNAME/USERNAME in make.conf.

    This is handy for prefix installs, since it allows these variables
    to be set in make.conf rather than having them hardcoded. Eventually,
    the corresponding portage.data constants may be deprecated in favor of
    config attributes, since it's conceivable that multiple configurations
    with different constants could be used simultaneously.

commit 9fd2fbb571fccae2e1f58daeeef348a91023cde5
Author: Zac Medico <zmedico@gentoo.org>
Date:   Thu Dec 8 13:15:55 2011 -0800

    Add portage.const.EPREFIX, for prefix installs.

    The EPREFIX for the current install is hardcoded here, but access to this
    constant should be minimal, in favor of access via the EPREFIX setting
    of a config instance (since it's possible to contruct a config instance
    with a different EPREFIX).

commit 4b4ad3579e83fc59be55a1304d483fbbbc95f6f4
Author: Zac Medico <zmedico@gentoo.org>
Date:   Thu Dec 8 12:20:54 2011 -0800

    dispatch-conf: substitute ${EPREFIX} archive-dir

    This allows prefix installs to avoid hardcoding archive-dir.

commit b79dd09c523764f95be882fe1a5afde71cbab81c
Author: Zac Medico <zmedico@gentoo.org>
Date:   Thu Dec 8 11:51:06 2011 -0800

    etc-update: use PORTAGE_INST_UID/GID

commit 9805fc263d785a93ea4a8a6571b73a7b53e85bba
Author: Zac Medico <zmedico@gentoo.org>
Date:   Thu Dec 8 11:39:16 2011 -0800

    make.globals: use ${EPREFIX} for PORTDIR, etc...

commit 2f0a800ef2de88feadec7ab060580fac5fde1ad9
Author: Zac Medico <zmedico@gentoo.org>
Date:   Thu Dec 8 10:21:04 2011 -0800

    Use 'wget' instead of /usr/bin/wget everywhere.

    This reduces the amount of patching needed for prefix installs.

commit f38e5fced3cf96c086093314f5227bc024c20d9b
Author: Zac Medico <zmedico@gentoo.org>
Date:   Thu Dec 8 10:03:00 2011 -0800

    etc-update: experimental prefix support

commit 721965014e863a7f385576a919b4e10abf5ce9d5
Author: Zac Medico <zmedico@gentoo.org>
Date:   Thu Dec 8 09:57:00 2011 -0800

    Whitelist/filter __PORTAGE_TEST_EPREFIX.

commit 3bd94dbffd4cf338de8cc786f60525b0a84d2562
Author: Zac Medico <zmedico@gentoo.org>
Date:   Thu Dec 8 09:46:55 2011 -0800

    Support FEATURES=force-prefix.

    This adjusts the logic from commit ff52f9dc31004becb8022e6437088d01917f413c
    to use FEATURES=force-prefix instead of USE=prefix. This has the advantage
    that we don't have to make any assumptions about the USE=prefix.

commit c281c323adf14ece439b98dcf35531666266a0a5
Author: Zac Medico <zmedico@gentoo.org>
Date:   Wed Dec 7 23:26:02 2011 -0800

    dispatch-conf: experimental prefix support

commit 5cd61be51c5d6c9e4714e65db77ad9c27b2fb9a7
Author: Zac Medico <zmedico@gentoo.org>
Date:   Wed Dec 7 22:43:06 2011 -0800

    Save EPREFIX in vdb when appropriate.

    The prefix branch already does this since it makes it easy to use
    chpathtool to adjust the content of a binary package so that it will
    work in a different EPREFIX from the one is was built for.

commit ff52f9dc31004becb8022e6437088d01917f413c
Author: Zac Medico <zmedico@gentoo.org>
Date:   Wed Dec 7 22:22:31 2011 -0800

    Make USE=prefix enable EPREFIX in all EAPIs.

    This is safe because the prefix flag should be masked in all non-prefix
    profiles, and older EAPIs would otherwise be useless with prefix
    configurations. This brings compatibility with the prefix branch of
    portage, which also supports EPREFIX for all EAPIs (for obvious reasons).

commit c93a46851c43f7e8539a67b2376dc8f55af41789
Author: Zac Medico <zmedico@gentoo.org>
Date:   Wed Dec 7 11:20:39 2011 -0800

    man: document fixpackages for bug #393517

commit 97bb245fd38673d562ade9b4b23d3ec95f167045
Author: Zac Medico <zmedico@gentoo.org>
Date:   Tue Dec 6 14:21:03 2011 -0800

    sets.docbook: fix 'strictly' spelling

commit a2a7a4c55c314d132bfd956c27d1c9f31926c357
Author: Zac Medico <zmedico@gentoo.org>
Date:   Tue Dec 6 13:57:34 2011 -0800

    ebuild.sh: don't export inherit E_* vars

commit eec5c751f20295b2573e509988aa0eede91fc616
Author: Zac Medico <zmedico@gentoo.org>
Date:   Tue Dec 6 11:06:24 2011 -0800

    emerge-webrsync: use --quiet with --check-news

    This suppresses output if there are no relevant items.

commit a26868215843b35038110bfedf57c1107f65aa70
Author: Zac Medico <zmedico@gentoo.org>
Date:   Tue Dec 6 11:01:10 2011 -0800

    emerge-webrsync: call emerge --check-news

commit 96a8b44c8a1fddfa82424ad3c86b6a380ad863a2
Author: Zac Medico <zmedico@gentoo.org>
Date:   Tue Dec 6 10:52:50 2011 -0800

    action_sync: fix git_sync_timestamps KeyError

    This fixes the case where $PORTDIR doesn't exist prior to sync.

commit 6bdc8c114a60727a4a5c77344b5c89379463b693
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sun Dec 4 18:28:03 2011 -0800

    ebuild.sh: add note about quoting export ${FOO}=

commit d15c3ac976b7d95d5b1cd29c3ae0e51ab9971022
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sun Dec 4 17:52:37 2011 -0800

    ebuild.sh: quote sandbox export args

commit 49795425003ada6457a780ecef599ae6e507ad79
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sun Dec 4 15:55:49 2011 -0800

    fix logic from last commit

commit 3faeebbed6a3613d501c6892e3b6b03d9779fd22
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sun Dec 4 15:43:36 2011 -0800

    depgraph: fix case insensitive search for unsat

    This fixes an interaction between the code from
    commits 9ce6da43ab90c4dab97ebf3b8339e5dbc113a0a8 and
    cbe44d92ff13b8a22f5b4215b73078ce600c6bf4, so that we don't discard
    matches that are identical except for differnces in upper/lower case.

commit 0ac299616c5cb22befdd9fcd4091d80ca889ef19
Author: Zac Medico <zmedico@gentoo.org>
Date:   Fri Dec 2 10:30:25 2011 -0800

    action_depclean: fix return code

    The fixes some cases where emerge.log would show that depclean was
    unsuccessful when it was really successful but there was nothing to remove.

commit c6c71eefb9532af0d4505de70e58f45ad8e8fe0a
Author: Zac Medico <zmedico@gentoo.org>
Date:   Thu Dec 1 22:14:13 2011 -0800

    Handle OSError from os.read and loop if needed.

    Looping fixes EbuildMetadataPhase failures for ebuilds that
    produce more than 4096 bytes of metadata, broken since commit
    b432a1b3051d91546649e8f3190675767461d8e8.

commit caea9ee807eba03118564030a166f9856d4439de
Author: Zac Medico <zmedico@gentoo.org>
Date:   Thu Dec 1 19:24:10 2011 -0800

    process._exec: tweak opt_name for PyPy

    PyPy 1.7 will die due to "libary path not found" if argv[0] does not
    contain the full path of the binary.

commit 6b9a29652474f1139dc088322cf68f22f37e5fed
Author: Zac Medico <zmedico@gentoo.org>
Date:   Thu Dec 1 18:34:08 2011 -0800

    PipeReader: use os.read/write

commit 1776d5db74e7065b409b7e2d521323e8d7ea2bb5
Author: Zac Medico <zmedico@gentoo.org>
Date:   Thu Dec 1 18:07:21 2011 -0800

    test_uniqueArray.py: fix 'is' usage PyPy incompat

commit 27b6a21bd8b4f9372c328b979ee0ba0a8020a2b9
Author: Zac Medico <zmedico@gentoo.org>
Date:   Thu Dec 1 17:43:57 2011 -0800

    AsynchronousLock: use os.read/write

    Similar to commit b432a1b3051d91546649e8f3190675767461d8e8, don't
    use unecessary file objects. It also happens that these changes fix
    compatibility issues with PyPy.

commit e7a0179ed39f707a42b8c15157bdb3f0aa45dd13
Author: Zac Medico <zmedico@gentoo.org>
Date:   Thu Dec 1 15:25:31 2011 -0800

    checksum.py: detect PyPy crashes in hashlib

    Use a fork to try and PyPy by digesting random data with hashlib
    functions. It doesn't look like a bug has been reported upstream for
    this yet, so it may or may not be reproducible by others. Anyway, this
    allows me to avoid crashing the main PyPy process until I find a real fix.

commit b432a1b3051d91546649e8f3190675767461d8e8
Author: Zac Medico <zmedico@gentoo.org>
Date:   Thu Dec 1 13:22:00 2011 -0800

    _emerge/EbuildMetadataPhase.py: use os.read()

    There's no need for a file object, and file objects introduce complexity
    that can lead to bugs as mentioned in bug 337465 comment 31, so use
    os.read() directly on the file descriptor.

commit b573f6f81c4500af9a4d08d58746d59c2b95f67c
Author: Zac Medico <zmedico@gentoo.org>
Date:   Thu Dec 1 13:05:24 2011 -0800

    _emerge/SubProcess.py: support int fd in _files

commit d365eb3a6187ffcfccd1e68e637698d52e02070b
Author: Zac Medico <zmedico@gentoo.org>
Date:   Thu Dec 1 12:34:52 2011 -0800

    MergeProcess: check if _elog_reader_fd is None

    It seems saner to check for None, given that _elog_reader_fd is an int,
    even though it will probably never be zero.

commit af013a2de5a2dc7069de5e95c7474556cf9208ab
Author: Zac Medico <zmedico@gentoo.org>
Date:   Thu Dec 1 09:52:23 2011 -0800

    locks.py: use flock with PyPy for issue 747

commit 3da4b9c384502092bf7f0fcdf47ce497907544dc
Author: Mike Frysinger <vapier@gentoo.org>
Date:   Wed Nov 30 15:23:36 2011 -0500

    make.conf(5): clarify "repo" and "defaults" sources for USE_ORDER

    Signed-off-by: Mike Frysinger <vapier@gentoo.org>

commit 10017a62b227558ed446419a2133c1584676c01c
Author: Zac Medico <zmedico@gentoo.org>
Date:   Tue Nov 29 08:24:06 2011 -0800

    doebuild: disable noauto for binary packages

commit d5ab84724a9a9a39546bc962cc31e694a8634436
Author: Zac Medico <zmedico@gentoo.org>
Date:   Mon Nov 28 20:52:41 2011 -0800

    movefile: tweak unicode handling

commit ee59f1c63ecc54ad286c82c0adb2ae74011de69e
Author: Zac Medico <zmedico@gentoo.org>
Date:   Mon Nov 28 20:25:54 2011 -0800

    movefile: chown/mod before rename

commit 9a353d3759f70043023eb36491ece0b9a8cdba6b
Author: Zac Medico <zmedico@gentoo.org>
Date:   Mon Nov 28 19:09:10 2011 -0800

    movefile: avoid redundant string concatenations

commit 3c1111c248b11972f5d2316e6d8455b7fa11ccc4
Author: Zac Medico <zmedico@gentoo.org>
Date:   Mon Nov 28 19:00:15 2011 -0800

    movefile: remove unused lchown

commit ddc9dbc832b3424da722f7442cf33327423735a6
Author: Arfrever Frehtes Taifersar Arahesis <Arfrever@Gentoo.Org>
Date:   Tue Nov 29 02:26:04 2011 +0100

    Preserve extended attributes on regular files when using Python >=3.3.

commit 7c5b170d47ab054bc3f8a7778dd3f8139c1239c6
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sun Nov 27 12:53:55 2011 -0800

    Revert "dblink.mergeme(): Merge files in alphabetic order."

    This reverts commit 1d4ac47c28706094230cb2c4e6ee1c1c71629aa0.  As discussed
    on the gentoo-portage-dev mailing list, if we don't have a compelling
    reason to sort here then it's just a waste:

    http://archives.gentoo.org/gentoo-portage-dev/msg_67b08fcd7a1b832b347caf1b19362cbb.xml

commit ee441f2c5358656f2f404f65f8e4d4972ac6daf8
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sun Nov 27 12:52:04 2011 -0800

    _get_dep_chain: fix KeyError, bug #392059

    This fixes a regression since commit
    57cc4e3e8991e7c4394d1dff7698aa62ed2a286b, which make a faulty assumption
    that the digraph contained all of the edges contained in parent_atoms.

commit 917e70d1009727115afbe90e297711d54b7e5374
Author: Zac Medico <zmedico@gentoo.org>
Date:   Fri Nov 25 18:56:54 2011 -0800

    config: fix make.defaults inherit of make.globals

    Since commit e544ee13527a0568de2b556510280ed96fc1b3ff, make.defaults
    inheritance of variables from make.globals has been broke, since that
    commit excluded make.globals from expand_map. This broke settings like
    PORTAGE_ELOG_CLASSES="${PORTAGE_ELOG_CLASSES} qa" from the developer
    profile, as reported in bug #391323, comment #4.

commit 1d4ac47c28706094230cb2c4e6ee1c1c71629aa0
Author: Arfrever Frehtes Taifersar Arahesis <Arfrever@Gentoo.Org>
Date:   Sat Nov 26 02:52:49 2011 +0100

    dblink.mergeme(): Merge files in alphabetic order.

commit 9e6364fe049b5cc59e8cb54f683bbd11d45a7504
Author: Zac Medico <zmedico@gentoo.org>
Date:   Fri Nov 25 11:35:32 2011 -0800

    elog/mod_syslog: fix 1 char msgs, bug #390965

commit abfc6238532ea237bfc36a73de73969d37542de7
Author: Zac Medico <zmedico@gentoo.org>
Date:   Thu Nov 24 21:28:58 2011 -0800

    emerge-webrsync: new gpg key, bug #331537

commit 77f3354b73f386ee874c742e449924fac1ffd1e2
Author: Zac Medico <zmedico@gentoo.org>
Date:   Mon Nov 21 09:12:32 2011 -0800

    repoman: fix svn "abiguous workdir", bug #391199

commit 3d6472165f306344b768367982758f1a3d33e921
Author: Zac Medico <zmedico@gentoo.org>
Date:   Mon Nov 21 06:59:57 2011 -0800

    man/emerge.1: note that --jobs redirects output

commit a858b16b4d7905597156f512a8055127e2c7249a
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sun Nov 20 10:54:19 2011 -0800

    emerge --help: show --quiet-build

commit c170578a89c2354a595f34b68ab55622dd942252
Author: Zac Medico <zmedico@gentoo.org>
Date:   Fri Nov 18 13:11:05 2011 -0800

    _prepare_self_update: detect if already called

    This is should never be triggered by portage, but it's possible that an
    API consumer might trigger it somehow.

commit 0a0670ed7e600d9dbdb2fc77d6f1f5da741f2592
Author: Zac Medico <zmedico@gentoo.org>
Date:   Fri Nov 18 11:40:48 2011 -0800

    Schduler: _check_temp_dir in _handle_self_update

commit 935694debc955a18a6a93af923f3f98caacf3f74
Author: Zac Medico <zmedico@gentoo.org>
Date:   Fri Nov 18 10:20:21 2011 -0800

    collect_ebuild_messages: handle \r, bug #390833

commit d47f28881fcdd57d239e9b6e57ccb2755855d4ca
Author: Zac Medico <zmedico@gentoo.org>
Date:   Thu Nov 17 21:57:58 2011 -0800

    resolver/output: unused imports

commit 6917ef66abadfc957da41d69a7dd63289bf4014f
Author: Zac Medico <zmedico@gentoo.org>
Date:   Thu Nov 17 21:33:37 2011 -0800

    _make_msgfunction: convert to class

commit fcb918d19bfd96dbafcacb67d54977aa9e471013
Author: Zac Medico <zmedico@gentoo.org>
Date:   Thu Nov 17 21:15:53 2011 -0800

    config: tweak mapping implementation more

commit 2793d2259c34e32bc3f208f5c6f402ebd71e1077
Author: Zac Medico <zmedico@gentoo.org>
Date:   Thu Nov 17 19:26:18 2011 -0800

    config: centralize mapping impl in _getitem/pop

commit 87cd5dba474f758e291b87a39366bd7edd748bf7
Author: Zac Medico <zmedico@gentoo.org>
Date:   Thu Nov 17 18:55:28 2011 -0800

    collect_ebuild_messages: validate msg type

    This will handle invalid message types like the one that triggers the
    KeyError in dblink._elog_process for bug #390833. It will also output
    the content of the line in order to help diagnose the source of corruption.

commit 3a60d4637ce9c69936f977a79d636c51257cc886
Author: Zac Medico <zmedico@gentoo.org>
Date:   Thu Nov 17 17:43:20 2011 -0800

    emerge --changelog: omit entry for current ver

    This is a regression from commit 69d7f169ba2e27cf56746791331c63a019357100,
    reported in bug #390893.

commit 458ce208ed25f2d17666926585e14da6166eb9d7
Author: Zac Medico <zmedico@gentoo.org>
Date:   Thu Nov 17 17:26:01 2011 -0800

    depgraph: don't merge portage asap

    There's no need to do this anymore, because we don't restart since commit
    d3f704a425a50b5cfa997a25866929b30f1b7d0f.

commit d032f01ae3333fa5383aec25878b0eadd95f208b
Author: Zac Medico <zmedico@gentoo.org>
Date:   Thu Nov 17 15:25:03 2011 -0800

    Tweak the last commit.

commit d3f704a425a50b5cfa997a25866929b30f1b7d0f
Author: Zac Medico <zmedico@gentoo.org>
Date:   Thu Nov 17 15:10:13 2011 -0800

    Skip the "resume after portage update" routine.

    Instead, finish the whole job using a copy of the currently running
    instance. This allows us to avoid the complexities of emerge --resume,
    such as the differences in option handling between different portage
    versions, as reported in bug #390819.

commit c2b1353843af26ffbad8b9f95533e4c691c93443
Author: Zac Medico <zmedico@gentoo.org>
Date:   Thu Nov 17 05:44:41 2011 -0800

    Show action as --action in emerge.log arg list.

commit e0d5d620659397ff0c005f2aadf75a43835818d6
Author: Zac Medico <zmedico@gentoo.org>
Date:   Thu Nov 17 05:39:02 2011 -0800

    Show option arguments in emerge.log arg list.

commit 39dfd5bf7b0c26c05b568c4538fc85bb9fe3b116
Author: Zac Medico <zmedico@gentoo.org>
Date:   Wed Nov 16 21:15:00 2011 -0800

    pkg_pretend: handle interruption more

commit b552912a54d0240325c1b3b8bef744ea04a513f8
Author: Zac Medico <zmedico@gentoo.org>
Date:   Wed Nov 16 19:43:00 2011 -0800

    pkg_pretend: tweak final cleanup logic

    This ensures that the clean phase will not run if the user interrupts
    emerge before the build dir is locked.

commit c8beeac6f90b60d093e6ff5800744e45b632e2fa
Author: Zac Medico <zmedico@gentoo.org>
Date:   Wed Nov 16 18:09:10 2011 -0800

    Scheduler.py: remove unused vars (pyflakes)

commit 957b1dcdde637338cdcef625b9c820bbfe50ae5f
Author: Zac Medico <zmedico@gentoo.org>
Date:   Wed Nov 16 17:38:48 2011 -0800

    Tweak emerge --quiet-build default handling.

    Since --quiet-build is enabled be default, there's no need to have it
    in the options dict except when it is enabled.

commit dbe8e6593b927f67a4213317c4eab1d10bba88bf
Author: Zac Medico <zmedico@gentoo.org>
Date:   Wed Nov 16 17:25:21 2011 -0800

    pkg_pretend: lock before unpacking binpkg xpak

    This fixes a regression from the previous commit.

commit 001970d23ff76b451a60ecdc9075344ee8e3c7d5
Author: Zac Medico <zmedico@gentoo.org>
Date:   Wed Nov 16 13:14:42 2011 -0800

    pkg_pretend: clean first for bug #390711

commit 72f9ddefe49ab1b24196161a07587aac3cdfdd04
Author: Zac Medico <zmedico@gentoo.org>
Date:   Wed Nov 16 10:43:51 2011 -0800

    emerge --quiet-build: don't set PORTAGE_QUIET

    The PORTAGE_QUIET controls lots of stuff that really should only be
    controlled by --quiet, especially now that --quiet-build is enabled by
    default. For example, PORTAGE_QUIET supresses the successful checksum
    display that is produced by emerge --fetchonly.

commit 5a75056fdf9d875359b85b13388a93bdc713b815
Author: Zac Medico <zmedico@gentoo.org>
Date:   Wed Nov 16 10:24:34 2011 -0800

    xterm title HOSTNAME support, bug #390699

commit e1a671011993a7ebb73845b3ac12fea80bfc2074
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sun Nov 13 12:33:43 2011 -0800

    checksum.py: handle pycrypto breakage

commit 57dca075caa03d701b02da68e894e2aec9606db2
Author: Zac Medico <zmedico@gentoo.org>
Date:   Fri Nov 11 13:23:46 2011 -0800

    make.conf: sync PORTAGE_ELOG_SYSTEM example

    Synchronize the PORTAGE_ELOG_SYSTEM example with the default make.globals
    setting.

commit 0cc174b6fc28feb26ea151d76f794e0ff2c2fa39
Author: Zac Medico <zmedico@gentoo.org>
Date:   Fri Nov 11 07:42:11 2011 -0800

    Enable emerge --quiet-build by default.

    See discussion on the gentoo-dev mailing list:

    http://archives.gentoo.org/gentoo-dev/msg_4f0401066abe2dc04458a952ac2a17bd.xml

commit 68e467790f02ea8330a8efd5e3b55ebac3dd3462
Author: Zac Medico <zmedico@gentoo.org>
Date:   Wed Nov 9 19:11:35 2011 -0800

    Move ccache/distcc PATH code to doebuild_env.

commit f75d02eb630c5595127faded4a048268ff59ac17
Author: Zac Medico <zmedico@gentoo.org>
Date:   Wed Nov 9 10:48:36 2011 -0800

    Use local EPREFIX for uniformity.

    The EPREFIX variable is not readonly in EAPI 0, 1, and 2, so we can
    declare EPREFIX as a local variable. We must be careful not to let this
    variable leak into the environment of ebuild/eclass functions that we
    call, since bash propagates local variables to nested function calls.

commit 27a9aec2a725066bd4585baab252eae5110f6b58
Author: Zac Medico <zmedico@gentoo.org>
Date:   Wed Nov 9 10:42:00 2011 -0800

    Use local ED for uniformity.

    The ED variable is not readonly in EAPI 0, 1, and 2, so we can declare
    ED as a local variable. We must be careful not to let this variable leak
    into the environment of ebuild/eclass functions that we call, since bash
    propagates local variables to nested function calls.

commit f363a020a74df08d46dd4fa8b43a5fab85034951
Author: Zac Medico <zmedico@gentoo.org>
Date:   Wed Nov 9 10:13:17 2011 -0800

    Use get(REQUIRED_USE) for emphasis.

    None of these cases should raise KeyError, but use get(REQUIRED_USE)
    anyway to emphasize that care must be taken.

commit 6245e82305818d36eaa0a5392cb78de791f5e00a
Author: Zac Medico <zmedico@gentoo.org>
Date:   Tue Nov 8 19:23:22 2011 -0800

    depgraph: fix possible REQUIRED_USE KeyError

    This goes with commit a0961708ced50c90497811058eda6f4513d2986d.

commit 2019a225ad017927ac333a047947fd6897edd256
Author: Zac Medico <zmedico@gentoo.org>
Date:   Tue Nov 8 18:41:16 2011 -0800

    _doebuild_path: fix EAPI 3 helpers PATH

commit d6b008760c6e04bd3640e71ae1f3e599947cfbec
Author: Zac Medico <zmedico@gentoo.org>
Date:   Tue Nov 8 18:36:24 2011 -0800

    phase-functions.sh: remove stray echo

commit 75768ea8c922c0266829458025e4b2d35ff49804
Author: Zac Medico <zmedico@gentoo.org>
Date:   Tue Nov 8 16:21:07 2011 -0800

    Include EPREFIX directories in PATH.

    This relocates the PATH generation code from ebuild.sh to
    doebuild_environment, which helps to eliminate duplicate code.

commit 62a402337c6d43c448ff0b5657ada26ff004d421
Author: Zac Medico <zmedico@gentoo.org>
Date:   Tue Nov 8 11:28:02 2011 -0800

    has/best_version: fix grammar in docs

commit 46f565d32b46b073103c9ed045326ecd9d3f2859
Author: Zac Medico <zmedico@gentoo.org>
Date:   Tue Nov 8 11:24:35 2011 -0800

    ecompressdir: remove 'continue' from loop logic

    Hopefully this helps us avoid errors in loop logic like bug #389047.

commit 450711a0d78a8ccc4d837cb39b85c2871d17ccf2
Author: Zac Medico <zmedico@gentoo.org>
Date:   Tue Nov 8 08:13:32 2011 -0800

    tests/emerge: best/has_version with prefix EAPI

commit 8a9c4c6a84511c40b91a4dd7dcb9f80f909211de
Author: Zac Medico <zmedico@gentoo.org>
Date:   Mon Nov 7 13:38:33 2011 -0800

    test_multislot: fix EAPI

commit 7d70300bf7feb9c89470f6bb83c7324dee1074d4
Author: Arfrever Frehtes Taifersar Arahesis <Arfrever@Gentoo.Org>
Date:   Mon Nov 7 22:14:39 2011 +0100

    depgraph._queue_disjunctive_deps(): Pass EAPI to portage.dep.Atom().

commit 19a890a63ab15603fccba89c69ab939ec16aefb5
Author: Zac Medico <zmedico@gentoo.org>
Date:   Mon Nov 7 12:42:28 2011 -0800

    best/has_version: fix eroot assignment

commit d00e6b124b8709269de1c66d889c79bd8f91fa88
Author: Zac Medico <zmedico@gentoo.org>
Date:   Mon Nov 7 12:19:53 2011 -0800

    Only support ROOT override for best/has_version.

    In the context of ebuilds, ROOT=/ override is the only common case,
    so it makes sense to only support ROOT overrides.

commit 36bdacd2807d0ab6cfecc590426df52c7b1c29d8
Author: Arfrever Frehtes Taifersar Arahesis <Arfrever@Gentoo.Org>
Date:   Mon Nov 7 21:11:31 2011 +0100

    Allow repository dependencies in command line arguments for --config
    and --info actions.

commit b58e5fd407c8726fd2ffe674444255aab9ae0010
Author: Zac Medico <zmedico@gentoo.org>
Date:   Mon Nov 7 11:16:09 2011 -0800

    Fix best/has_version ROOT override for EAPI 3-4.

    This has been broken since commit
    ab484dc9a2612aa6709fad3ff926c8589a706637. In order to support prefix,
    callers will have to override EROOT instead.

commit c88e394bfeafa16ac5dc75232b9b9b139f76e59c
Author: Zac Medico <zmedico@gentoo.org>
Date:   Mon Nov 7 10:33:47 2011 -0800

    Fix breakage from last commit.

commit 1a2b3bdd4791533a424279b806373b1797b090ad
Author: Arfrever Frehtes Taifersar Arahesis <Arfrever@Gentoo.Org>
Date:   Mon Nov 7 19:28:05 2011 +0100

    Avoid initial spaces in some variables.

commit a0961708ced50c90497811058eda6f4513d2986d
Author: Zac Medico <zmedico@gentoo.org>
Date:   Mon Nov 7 07:27:23 2011 -0800

    REQUIRED_USE: don't save in built packages

    It should be safe to assume that REQUIRED_USE is satisfied if the package
    is built, so it's a waste to save it. Also, fix code which assumes that
    built Package instances have a REQUIRED_USE key in their metadata.

commit c17d8dabe4c64fc4ed87ac9a0637f8ccc9341823
Author: Zac Medico <zmedico@gentoo.org>
Date:   Mon Nov 7 00:45:01 2011 -0800

    environment.bz2: filter more variables

commit 37efaf908013455cb48102df3c3d2b8ae6260e6d
Author: Zac Medico <zmedico@gentoo.org>
Date:   Mon Nov 7 00:32:18 2011 -0800

    save_ebuild_env: filter more functions

    dyn_pretend helpers_die nonfatal register_success_hook

commit 38acf30cbf60c73fade97f121176158af898640c
Author: Zac Medico <zmedico@gentoo.org>
Date:   Mon Nov 7 00:14:29 2011 -0800

    Handle empty PORTAGE_COMPRESS for bug #389047.

    This fixes a case where empty PORTAGE_COMPRESS made ecompressdir forget
    to call restore_skip_dirs, such that docompress -x resulted in files
    not being installed due to hide_skip_dirs hiding them permanently.

commit 69d7f169ba2e27cf56746791331c63a019357100
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sun Nov 6 23:37:33 2011 -0800

    emerge --changelog: ChangeLog-YYYY, bug #389611

commit 618115ef705d495d199449bfbc9c6135a8f58f94
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sun Nov 6 22:32:30 2011 -0800

    Respect --usepkgonly in suggestions, bug #389617

commit 9929eaf3e50897c814062bec5a704898e085d048
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sun Nov 6 22:01:51 2011 -0800

    Add emerge --moo action for bug #389609.

commit 49a5cda809e55352d45395a6585d66c91f5e91ba
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sat Nov 5 22:43:34 2011 -0700

    runtests.sh: use 0 to control arg parse loop

commit 7c5e61b3f442b8ca2e75a08bf34eb65eec285b93
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sat Nov 5 11:53:20 2011 -0700

    Enable colors during the depend phase.

commit ab484dc9a2612aa6709fad3ff926c8589a706637
Author: Zac Medico <zmedico@gentoo.org>
Date:   Tue Nov 1 21:57:10 2011 -0700

    phase-helpers.sh: fix best/has_version for prefix

commit dc058a30e89aebd1309f41bdf653685c33c830ee
Author: Zac Medico <zmedico@gentoo.org>
Date:   Tue Nov 1 19:26:56 2011 -0700

    test_dodir: fix breakage from last commit

    We have to set the EAPI for prefix code to work.

commit 1af0c40b1300651ca03a7509f49f152c1e595736
Author: Zac Medico <zmedico@gentoo.org>
Date:   Tue Nov 1 19:17:19 2011 -0700

    Add EPREFIX and ED support in all ebuild helpers.

    This allows our prefix tests to use helpers like insinto, doins, and dosym.

commit 889853171246ab1063bb5015caf41a41761f5424
Author: Zac Medico <zmedico@gentoo.org>
Date:   Tue Nov 1 18:47:56 2011 -0700

    Merge install_qa_check_prefix from prefix branch.

commit 4cf9c9eb3d11fb653695c483d0013cba8b08039a
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sun Oct 30 00:15:57 2011 -0700

    _profile_node: use collections.namedtuple

commit f6b6bdd687b252267babaa4bbfb145a18c1764e8
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sun Oct 30 00:08:22 2011 -0700

    news.py: remove unused 'updates' variable

commit b2faef886620fd93c235e088ecbebe1448d5896e
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sat Oct 29 23:52:42 2011 -0700

    _legacy_globals: fix grammar in comment

commit 4841c50ec9913c9ea300649e227961c2f12e0708
Author: Arfrever Frehtes Taifersar Arahesis <Arfrever@Gentoo.Org>
Date:   Sun Oct 30 07:40:52 2011 +0100

    Fix typos in comments.

commit 102d958c4017854965229d186fbaaf6167c9d2f2
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sat Oct 29 23:20:53 2011 -0700

    git_sync_timestamps: validation_chf == mtime

commit 9347995ce3f657263e9216eed34a876a5c02c3d2
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sat Oct 29 22:24:58 2011 -0700

    egencache: tweak redundant write check condition

    We can use the raise_stat_collision attribute to determine when it is
    necessary to check for redundant writes.

commit 31afcd8307f623e8a454ae5029b3599420f5440c
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sat Oct 29 17:25:42 2011 -0700

    env_update: lstrip os.sep in join with eprefix

commit 0744ebedfda56f446f83630084a8532edd68e363
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sat Oct 29 16:52:06 2011 -0700

    portagetree: remove broken depcheck method

    It called dep_check without the required third argument.

commit a795b8f9c70223963dff2c12e2171c4e48920a37
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sat Oct 29 16:43:21 2011 -0700

    Use dbapi._known_keys more.

commit 2c1ea6faef52448d0836f070997d5d20f0b53103
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sat Oct 29 16:10:13 2011 -0700

    cache/template.__getitem__: filter INHERITED

    Never return INHERITED, since portdbapi.aux_get() will generate it
    automatically from _eclasses_, and we want to omit it in comparisons
    between cache entries like those that egencache uses to avoid redundant
    writes (see commit 0e120da008c9d0d41c9372c81145c6e153028a6d).

commit fea1962b7e8df9a8568b009a8f52b3c8ade67043
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sat Oct 29 15:43:35 2011 -0700

    action_metadata: clean up src entry validation

    This eliminates a bunch of redundant eclasses code that we handle with
    template.validate_entry() instead.

commit 1811def4b0ebc8af2280dde7f84331301b4eddd3
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sat Oct 29 14:41:38 2011 -0700

    EbuildMetadataPhase: use /dev/null for stdin

commit d40181d1760b3d04788884f7907c8ded18c0bd1c
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sat Oct 29 14:31:00 2011 -0700

    actions.py: remove unused variables

commit d6bce25590c9b351fe833056a89c1dd0fc91ba47
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sat Oct 29 13:55:07 2011 -0700

    action_metadata: use auxdbkeys to compare entries

    This borrows the approach that egencache uses since commit
    0e120da008c9d0d41c9372c81145c6e153028a6d.

commit 0e120da008c9d0d41c9372c81145c6e153028a6d
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sat Oct 29 13:36:23 2011 -0700

    egencache: avoid redundant md5-dict writes

    The pms cache already does this automatically, since __setitem__ calls
    are used to detect stat collisions in order to solve bug #139134.

commit 0e3c7e33f3fe0ce593d6c40984db15f42fabd7f3
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sat Oct 29 12:38:51 2011 -0700

    egencache: ensure correct porttrees

    The GenCache class assumes that portdb.porttrees[0] is the desired tree,
    so assert that it is true. The behavior should have already been correct,
    since PORTDIR_OVERLAY was already set to an empty string when necessary.

commit b07808edb1bc7b7adb36fd8d21ea430d1769d2a7
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sat Oct 29 11:56:14 2011 -0700

    egencache: fix StatCollision handling breakage

    This has been broken since the _eclasses_ structure changed in commit
    2ed1cb53cc4158af08c22d466b15b9a9a7767212.

commit 34391999ff880d96812878ce0dafcc372ada71c9
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sat Oct 29 11:33:27 2011 -0700

    egencache: update ebuild_hash.mtime after utime

commit 412f6cc18ea06987fda0c6e4c05aee5e6d1a2f08
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sat Oct 29 10:48:30 2011 -0700

    emerge --metadata: support md5-dict

    This adds support to action_metadata() for use of arbitrary
    validation methods, which were introduced in commit
    2ed1cb53cc4158af08c22d466b15b9a9a7767212.

commit 09007bc81ad56621f0ac70b7450ea26e02de2f02
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sat Oct 29 01:16:11 2011 -0700

    man/portage.5: profile-formats example

commit aea25123878c95e13d0d7ed6500b3ddb4e9179f0
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sat Oct 29 01:11:09 2011 -0700

    man/portage.5: cache-formats example

commit a058baf9ed238a1f260b6739ba7fc10c6472f6ee
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sat Oct 29 00:59:02 2011 -0700

    egencache: multiple cache-formats support

    If layout.conf contains "cache-formats = md5-dict pms", egencache will
    now write both formats.

commit f43280c4d8d35f02c322e88c2d97e368303d5c1a
Author: Zac Medico <zmedico@gentoo.org>
Date:   Fri Oct 28 23:57:29 2011 -0700

    git_sync_timestamps: fix breakage

    This has been broken since metadbmodule support was removed in commit
    d4ea29bf6a3ce35d49e0f54f9173e3a6e42da2d6.

commit 486b6ebd44bec7b12f6c4ab36c85b5c270fc3883
Author: Zac Medico <zmedico@gentoo.org>
Date:   Fri Oct 28 23:15:21 2011 -0700

    RepoConfig: add iter_pregenerated_caches method

    This will be used by egencache to generate cache for all supported formats.

commit 290990af18d2c56c26bb4b33f24e641948879522
Author: Zac Medico <zmedico@gentoo.org>
Date:   Fri Oct 28 22:35:01 2011 -0700

    quickpkg: fix regression in hardlink support

    Hardlink support has been broken since commit
    4198da0184aaec30c41f2e5d2c7af71c4d35b662, which omitted the hardlink
    logic from TarFile.gettarinfo().

commit f06f1d8e2174527cc7f4b5491f0f84d41f368d62
Author: Daniel Robbins <drobbins@funtoo.org>
Date:   Sat Oct 29 04:06:00 2011 +0000

    Fix an issue where emerge will abort when merge starts if we have a file in
    our Manifest that does not exist on disk, even with thin-manifest enabled.

commit 3cfb2bc711d820fcef376aee170de560d8195819
Author: Zac Medico <zmedico@gentoo.org>
Date:   Fri Oct 28 21:17:11 2011 -0700

    Deprecate unused 'virtual' constructor parameters

commit 81e1f72cc7c749b4c46bac995e144678dea2d3fe
Author: Zac Medico <zmedico@gentoo.org>
Date:   Fri Oct 28 20:34:34 2011 -0700

    _trees_dict: define __slots__

commit c7a9678751251c027a3b2072962be49865c2c6f2
Author: Zac Medico <zmedico@gentoo.org>
Date:   Fri Oct 28 20:26:18 2011 -0700

    portageq: refer to <eroot> instead of <root>

    Since commit a715b65f7bd36409c1283e6911265d1f4405ab7a, portageq takes
    EROOT as the first argument of commands that require a root argument.
    So, update the docs to refer to <eroot> instead of <root>.

commit b30bb192825fbc4f35225aa2334655b4ba7329f5
Author: Zac Medico <zmedico@gentoo.org>
Date:   Fri Oct 28 20:20:29 2011 -0700

    Use EROOT to validate path arguments.

commit f935a5e7eb8e96adceaea78c29874e83f6c9ec15
Author: Zac Medico <zmedico@gentoo.org>
Date:   Fri Oct 28 20:10:23 2011 -0700

    Use any() instead of list(filter()).

commit a828ef4cb5ee60e448a95bb746a55fb476b1c575
Author: Zac Medico <zmedico@gentoo.org>
Date:   Fri Oct 28 17:12:11 2011 -0700

    Use bytes instead of unicode with isinstance.

    This is preferred since the bytes type is available in all supported
    python versions, while the unicode type is only available in python2.

commit 967bc855b7e4db529afbe8b7bf7f8ed7ea55858a
Author: Zac Medico <zmedico@gentoo.org>
Date:   Fri Oct 28 15:20:35 2011 -0700

    ResolverPlayground: remove unused root attribute

commit 46c50903c00123a4e30b9032fe9ffc345c811570
Author: Zac Medico <zmedico@gentoo.org>
Date:   Fri Oct 28 15:06:50 2011 -0700

    config: discard profiles_complex attribute

    Like LocationsManager, it's only used in the constructor, so there's no
    need to hold a reference after the constructor completes.

commit e8da78af846bac21363c85d4bee5d938844843be
Author: Zac Medico <zmedico@gentoo.org>
Date:   Fri Oct 28 13:13:07 2011 -0700

    Check for bytes instead of unicode in args.

    This simplifies the checks since the bytes type is available in all
    supported python versions, while the unicode type is only available
    in python2.

commit 4198da0184aaec30c41f2e5d2c7af71c4d35b662
Author: Zac Medico <zmedico@gentoo.org>
Date:   Fri Oct 28 11:03:02 2011 -0700

    quickpkg: fix unicode for bug #388773

commit 49cb5f96ebdb73e6b55ce171426fb2e1aefc01ae
Author: Zac Medico <zmedico@gentoo.org>
Date:   Fri Oct 28 00:21:05 2011 -0700

    SetConfig: use read_file/readfp for unicode

commit 24fb1338cb852950fffdad058cb1d88ef2eec43a
Author: Zac Medico <zmedico@gentoo.org>
Date:   Fri Oct 28 00:17:25 2011 -0700

    RepoConfigLoader: python3.2 readfp deprecation

commit 0902b4094895a91d6784eab93eb5016987177f04
Author: Zac Medico <zmedico@gentoo.org>
Date:   Thu Oct 27 23:48:44 2011 -0700

    RepoConfigLoader: use readfp for unicode

commit 5d67d1adeed7a6d0c7a9cc00a54a303401f20f8a
Author: Zac Medico <zmedico@gentoo.org>
Date:   Thu Oct 27 23:20:26 2011 -0700

    RepoConfigLoader: sort layout.conf attributes

commit 46d97be05dae690373ef802788adb5cf1505f947
Author: Zac Medico <zmedico@gentoo.org>
Date:   Thu Oct 27 23:17:19 2011 -0700

    RepoConfigLoader: support incremental aliases

    This allows a user to discard unwanted aliases that are specified in a
    repo's layout.conf.

commit bcb6106c7547738bd00e31b53b0cec582e1ac84c
Author: Zac Medico <zmedico@gentoo.org>
Date:   Thu Oct 27 22:38:31 2011 -0700

    RepoConfigLoader: comment on masters override

commit b6c981f1165e45e3b2ccb0e97c2e0489872b750e
Author: Zac Medico <zmedico@gentoo.org>
Date:   Thu Oct 27 22:30:34 2011 -0700

    RepoConfig.update(): getattr/setattr loop

commit 1decf44170bcec923389a5eaf5caf045e2b4bac0
Author: Zac Medico <zmedico@gentoo.org>
Date:   Thu Oct 27 22:14:51 2011 -0700

    parse_layout_conf: comment on masters fallback

commit 1d81304986095ff9b19f851e79e07707192a3c61
Author: Zac Medico <zmedico@gentoo.org>
Date:   Thu Oct 27 21:55:28 2011 -0700

    Fix profile-formats spelling in messages.

commit d3acfaa3e8a61ab86edfe04e9a37c77737d9998b
Author: Zac Medico <zmedico@gentoo.org>
Date:   Thu Oct 27 19:48:16 2011 -0700

    MaskManager: portage-1-compat warnings.warn

commit df6078a76dc549b83de5a056a6a1dc52bdd69107
Author: Zac Medico <zmedico@gentoo.org>
Date:   Thu Oct 27 19:32:49 2011 -0700

    stacklevel=3 for properties warnings

    There's an extra level for the @property wrapper.

commit 0cc9ac937c5dc19307f42fcc9cba7439a93ade55
Author: Zac Medico <zmedico@gentoo.org>
Date:   Thu Oct 27 19:15:34 2011 -0700

    Fix mydcfg from last commit.

commit db3cfd18b4a2c7efbb579f00101c995920413cbb
Author: Zac Medico <zmedico@gentoo.org>
Date:   Thu Oct 27 19:04:25 2011 -0700

    config: remove cruft

    The mygcfg and packages_list attributes are both useless.

commit fb07ebafca678357afebbba2da284e22be7e625d
Author: Zac Medico <zmedico@gentoo.org>
Date:   Thu Oct 27 18:45:19 2011 -0700

    grab_pmask: use local repo_config reference

    The previous code worked, but it looked wrong because it was using the
    'repo' variable from the parent scope.

commit 04463a130cadf6eadcb2f49ba6026a248ea2c9c4
Author: Zac Medico <zmedico@gentoo.org>
Date:   Thu Oct 27 18:17:55 2011 -0700

    Fix missed ROOT -> EROOT changes.

    These go along with commit a715b65f7bd36409c1283e6911265d1f4405ab7a.

commit db1db3b011546e99e5248cb5f292b584eba26f03
Author: Zac Medico <zmedico@gentoo.org>
Date:   Thu Oct 27 17:53:51 2011 -0700

    create_trees: ensure trees is _trees_dict type

commit 10202ff80ebd212457db95d76ca1fbc79567bf8d
Author: Zac Medico <zmedico@gentoo.org>
Date:   Thu Oct 27 13:49:40 2011 -0700

    LocationsManager: extensible _profile_node object

    Use immutable object attrubutes instead of tuples, for extensibility.

commit a68a292f89aeea222421b8db5901bf0c5e7774a1
Author: Zac Medico <zmedico@gentoo.org>
Date:   Thu Oct 27 12:41:42 2011 -0700

    parse_layout_conf: grab repo_name for error msgs

    This allows us to avoid duplicate warnings for 'unspecified' repo since
    parse_layout_conf is initially called without specifying the repo in
    LocationsManager.load_profiles().

commit 2794e1abc8139fc4bf36c1c4e4103ffcd2dd2f97
Author: Zac Medico <zmedico@gentoo.org>
Date:   Thu Oct 27 12:02:26 2011 -0700

    Fix profile-formats spelling in messages.

commit 985ddf279d8a26a848ddbc3d10a9a77b16d3af22
Author: Zac Medico <zmedico@gentoo.org>
Date:   Thu Oct 27 11:49:20 2011 -0700

    LocationsManager._addProfile: realpath parents

    If it seems that a parent may point outside of the current repo,
    realpath it.

commit 310da49821ea455a88ac55e3901fb6f9fcb79e21
Author: Zac Medico <zmedico@gentoo.org>
Date:   Thu Oct 27 11:29:33 2011 -0700

    LocationsManager.load_profiles: realpath repos

    Since we already call realpath on make.profile, we also need to call
    realpath on the repo paths that we compare its nodes to.

commit 30e5cfa6c706c02e9920deda543b7faf29733e0b
Author: Zac Medico <zmedico@gentoo.org>
Date:   Thu Oct 27 10:22:33 2011 -0700

    LocationsManager: portage-1-compat warnings.warn

commit 03c4ecb1f49415b886d52bcaad773c9853343b55
Author: Zac Medico <zmedico@gentoo.org>
Date:   Thu Oct 27 10:10:53 2011 -0700

    parse_layout_conf: fix profile-formats warning

commit 34acc9e79a941cac9591c6ae723e73054141e2e7
Author: Zac Medico <zmedico@gentoo.org>
Date:   Thu Oct 27 09:46:04 2011 -0700

    fix previous commit to call ensure_dirs

commit 2c239afad567e73d961bac0f92488698f2513aac
Author: Zac Medico <zmedico@gentoo.org>
Date:   Thu Oct 27 09:31:33 2011 -0700

    Run pkg_pretend in PORTAGE_TMPDIR for bug #388593

commit 6d71e61c7d2ddf32f55c2b5efcd3e038c9492f19
Author: Zac Medico <zmedico@gentoo.org>
Date:   Wed Oct 26 22:55:42 2011 -0700

    repoman: add opts and repo config debug output

commit 5c216774ac90ef5d1cba6fc000baa546e7834945
Author: Zac Medico <zmedico@gentoo.org>
Date:   Wed Oct 26 22:52:04 2011 -0700

    repoman: add opts and repo config debug output

commit 15bf7c846d9437be76584e106d527f51a5af9d1e
Author: Zac Medico <zmedico@gentoo.org>
Date:   Wed Oct 26 22:32:34 2011 -0700

    parse_layout_conf: fix inverted update-changelog

    The logic got inverted when parse_layout_conf was split out in commit
    0be173a54a5248cfd70a3543d7099d2dd3ee254b.

commit 3fb6955485474531cc611b596cde0f5873c082cf
Author: Zac Medico <zmedico@gentoo.org>
Date:   Wed Oct 26 22:09:19 2011 -0700

    RepoConfigLoader: redundant cache_formats setting

    There's a loop that already handles this via setattr.

commit ced0da06aaf1bf9f89e9aa7947f58980ff98e365
Author: Zac Medico <zmedico@gentoo.org>
Date:   Wed Oct 26 21:43:25 2011 -0700

    man/make.conf.5: mention LINGUAS in USE_ORDER doc

    The reason for env.d being in USE_ORDER is not really obvious, so mention
    LINGUAS as an example (from bug #187016).

commit d47cf3efc797024749727464487ec0f155212b88
Author: Zac Medico <zmedico@gentoo.org>
Date:   Wed Oct 26 21:22:26 2011 -0700

    Add emerge --check-news for bug #388233.

commit a7f9df6dac32d2efd31b1c84ce10981560913282
Author: Zac Medico <zmedico@gentoo.org>
Date:   Wed Oct 26 20:13:12 2011 -0700

    Add public news functions for bug #388233.

    count_unread_news(portdb, vardb, repos=None, update=True)
    display_news_notifications(news_counts)

commit 7dd07ac115fd787d34b79d626644c1feb3291e4b
Author: Martin von Gagern <Martin.vGagern@gmx.net>
Date:   Wed Oct 26 14:59:14 2011 -0700

    man/make.conf.5: elaborate on prelink-checksums

commit 8b41c9adc96e7b2482be7a43e08f582cca96f5ca
Author: Martin von Gagern <Martin.vGagern@gmx.net>
Date:   Wed Oct 26 14:49:36 2011 -0700

    Bug #388615 - optimize FEATURES=prelink-checksums

    Only spawn prelink if the file has an ELF header.

commit f7872bd1418540b8dfe04f604d30b374f86817f0
Author: Zac Medico <zmedico@gentoo.org>
Date:   Wed Oct 26 11:13:27 2011 -0700

    UpdateChangeLog: sort files

commit 2843806fad6d0aa07ad4ce97290ebe1d03b00104
Author: Zac Medico <zmedico@gentoo.org>
Date:   Tue Oct 25 15:52:59 2011 -0700

    layout.conf: rename cache_format to cache_formats

    We read layout.conf cache-formats from left to right and use the first
    supported type that's found. This will allow support for multiple formats
    in parallel, providing for smooth transitions between formats.

commit e544ee13527a0568de2b556510280ed96fc1b3ff
Author: Brian Harring <ferringb@chromium.org>
Date:   Mon Oct 24 22:41:17 2011 -0700

    add profile-formats portage-1 awareness and enforcement

    Currently it just spits warnings for implicit portage-1 format usage;
    down the line, this will be converted into an explicit error.

    For repo's that configure themselves as portage-1 or pms explicitly,
    enforce it.

commit a34ac493d13ba5ad20b07f25f4e4f054e303eecb
Author: Brian Harring <ferringb@chromium.org>
Date:   Mon Oct 24 22:40:16 2011 -0700

    layout.conf: add profile-format awareness

    Note the portage-1-compat mode; this isn't settable externally, is purely
    an internal mode for tracking if a repository is in portage-1 compat mode,
    rather than explicit portage-1 mode.

    This compat mode will be removed once portage becomes strict.

commit 9d4459dfea72717c0565b0cfe39fa3a87a57ad9d
Author: Brian Harring <ferringb@chromium.org>
Date:   Mon Oct 24 22:37:34 2011 -0700

    Track profile format, and if compatibility mode is in use.

    Warn if the profile is using portage-1 format, but isn't marked as such.

commit 0be173a54a5248cfd70a3543d7099d2dd3ee254b
Author: Brian Harring <ferringb@chromium.org>
Date:   Mon Oct 24 17:38:33 2011 -0700

    split out layout.conf parsing so it's usable elsewhere

commit cc0b5765fc8ef4b1bb0974bd8cd6cf22df2675e2
Author: Zac Medico <zmedico@gentoo.org>
Date:   Tue Oct 25 12:52:40 2011 -0700

    runtests.sh: fix arguments pass-through

commit 0229926ec76333b5a197e5fba3beffe7691688b3
Author: Zac Medico <zmedico@gentoo.org>
Date:   Tue Oct 25 09:41:15 2011 -0700

    test_config: test PORTDIR default masters

commit 1a7e2ade1a907a3695e91d4be1e1ff3254085b0a
Author: Zac Medico <zmedico@gentoo.org>
Date:   Tue Oct 25 07:51:26 2011 -0700

    expand_new_virt: fix vardbapi.root reference

commit a715b65f7bd36409c1283e6911265d1f4405ab7a
Author: Zac Medico <zmedico@gentoo.org>
Date:   Tue Oct 25 01:59:39 2011 -0700

    Use EROOT instead of ROOT for keys everywhere.

    It makes more sense to use EROOT instead of ROOT for keys in mappings like
    portage.db, since it allows for multiple prefixes to exist simultaneously
    within the same map without having a key collision.  This affects all
    portageq commands which take a <root> parameter, since that parameter now
    corresponds to EROOT instead of ROOT. None of this makes any difference for
    non-prefix users, since EROOT and ROOT are identical when EPREFIX is empty.

commit 25aaf3e69b8ef0e9a21d0d74a9b7b690b76675cd
Author: Zac Medico <zmedico@gentoo.org>
Date:   Tue Oct 25 01:25:24 2011 -0700

    create_trees: save target_root for later use

commit ebf48235f463e3a79bee13f2dd9a739ddf7faa31
Author: Zac Medico <zmedico@gentoo.org>
Date:   Tue Oct 25 01:09:26 2011 -0700

    ResolverPlayground: use create_trees

commit b05a67bade02272d00e8adac3aa9f32e03d2da1f
Author: Zac Medico <zmedico@gentoo.org>
Date:   Mon Oct 24 23:42:51 2011 -0700

    runtests.sh: add --python-versions option

commit 9cee1292597eca5166b5eb6867c825040bd31061
Author: Zac Medico <zmedico@gentoo.org>
Date:   Mon Oct 24 23:27:58 2011 -0700

    tests/emerge: test pkg_config and pkg_info

commit f38b20284d42b046b771510583a27cc05e3846ed
Author: Zac Medico <zmedico@gentoo.org>
Date:   Mon Oct 24 23:18:42 2011 -0700

    Remove unused root parameters from doebuild calls

commit ae0255f656d2371cabaccabb1d70f579ddbc1bac
Author: Zac Medico <zmedico@gentoo.org>
Date:   Mon Oct 24 17:15:51 2011 -0700

    tests/emerge: test file owner lookup

commit 70467e9cc23395d257a1475fd12a1f159a8e7ced
Author: Zac Medico <zmedico@gentoo.org>
Date:   Mon Oct 24 15:26:35 2011 -0700

    doebuid: deprecate redundant "root" parameter

commit e45a3f15379d8de4a772e1c70eee51c3d0e358a5
Author: Zac Medico <zmedico@gentoo.org>
Date:   Mon Oct 24 10:54:48 2011 -0700

    deprecate "root" attributes

    In preparation for prefix support, were EROOT will be used in place of
    ROOT in many places, deprecate unnecessary "root" attributes in order
    to eliminate them as a possible source of confusion.

commit 47232e37f2b7f63d670de54d1a10f4c1e0dcec99
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sun Oct 23 15:23:25 2011 -0700

    test_global_updates: test move with operator

commit a3ce1fac95836a067f9b8aee11ab3b4a70b8ef7b
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sun Oct 23 15:17:10 2011 -0700

    test_global_updates: add missing Atom constructor

commit 32282d6a5105ebcd0f5ed0229803ec194025f6d6
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sun Oct 23 15:15:34 2011 -0700

    test bug #388187

commit 0bd369f1adc774e41c686f6651fe47a1a13ba268
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sun Oct 23 14:12:40 2011 -0700

    man/repoman.1: reference changelog/layout.conf

commit cb4cd5025405b28f76b3487f5eec82590e2cabdb
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sun Oct 23 11:51:43 2011 -0700

    Skip global updates prior to sync (called after).

commit a3005f69ba99d0e882da44716e3743737e6e4987
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sun Oct 23 11:31:05 2011 -0700

    parse_updates: filter invalid for bug #388187

commit e2fb971105c636f2abc7fbcc3756559ea0727ce3
Author: Zac Medico <zmedico@gentoo.org>
Date:   Fri Oct 21 01:50:06 2011 -0700

    man/portage.5: layout.conf update-changelog

commit 0c63881bf206f8b5f707b1ca4ea2b171d740913d
Author: Zac Medico <zmedico@gentoo.org>
Date:   Fri Oct 21 01:11:32 2011 -0700

    UpdateChangeLog: tweak clold_lines logic

    There are two cases here that have to be mutually exclusive.

commit 9f6fe53436112b7cd764b0c2c24ee2e59fa8ad8f
Author: Zac Medico <zmedico@gentoo.org>
Date:   Fri Oct 21 00:37:32 2011 -0700

    update_copyright: make pretend a keyword arg

commit bcde93a8752d428ac2ecdcf2608c0c1d75ee5be2
Author: Zac Medico <zmedico@gentoo.org>
Date:   Fri Oct 21 00:19:48 2011 -0700

    _update_copyright_year: optimize no-match case

commit 4dd5fc4a1fc5f5a9676c212c93244ec8c50288dc
Author: Zac Medico <zmedico@gentoo.org>
Date:   Fri Oct 21 00:06:32 2011 -0700

    update_copyright: process files as raw bytes

    This function will work correctly with files encoded in any character set,
    as long as the copyright statements consist of plain ASCII.

commit 1e1413717df6ed6809833004bf47088e021ccb46
Author: Zac Medico <zmedico@gentoo.org>
Date:   Thu Oct 20 23:06:33 2011 -0700

    UpdateChangeLog: split out/test copyright regex

    This also fixes a case where something like "Copyright 2011 " would be
    replaced with "Copyright 2011-2011 ".

commit 7d7fa4af2dbec7e7cc06e5ac176fe0b697ee867b
Author: Zac Medico <zmedico@gentoo.org>
Date:   Thu Oct 20 21:53:14 2011 -0700

    UpdateChangeLog: tweak new/changed coded

commit 0966be903d19dd9999568de3baa3f9815e1e4369
Author: Zac Medico <zmedico@gentoo.org>
Date:   Thu Oct 20 21:07:34 2011 -0700

    UpdateChangeLog: split out get_committer_name()

commit 44a03c9f2218ae7cfdc03aae495d255e0ca2e5b1
Author: Zac Medico <zmedico@gentoo.org>
Date:   Thu Oct 20 19:19:28 2011 -0700

    misc-functions.sh: condense world-writable output

commit 706abe8ec2e633432d41dfb6553fee3c9604b886
Author: Zac Medico <zmedico@gentoo.org>
Date:   Thu Oct 20 18:26:05 2011 -0700

    UpdateChangeLog: handle edge cases

    This should handle all kinds of variance in the input ChangeLog and
    skel.ChangeLog.

commit abff80f965637c23582d8f7c08da379b01555c43
Author: Zac Medico <zmedico@gentoo.org>
Date:   Thu Oct 20 14:51:05 2011 -0700

    UpdateChangeLog: don't hardcode 1999 copyright

    We want repoman to be applicable to as many repositories as possible.
    If necessary, we can add another layout.conf attribute that configures
    the copyright start years for all files.

commit fa0374f86b3aa1ba52bbb200195fd7b8b7754245
Author: Zac Medico <zmedico@gentoo.org>
Date:   Thu Oct 20 14:29:23 2011 -0700

    update_copyright: remove stray semicolon

commit 8dfd8582e31a17c3adda9cba0f41545620289e5a
Author: Zac Medico <zmedico@gentoo.org>
Date:   Thu Oct 20 14:26:26 2011 -0700

    update_copyright: don't hardcode 1999 start year

    We want repoman to be applicable to as many repositories as possible.
    If necessary, we can add another layout.conf attribute that configures
    the copyright start years for all files.

commit 0a1cbfd526662b0d60ed8dd89127d1b869e3ec6a
Author: Zac Medico <zmedico@gentoo.org>
Date:   Thu Oct 20 14:18:34 2011 -0700

    tests/repoman: add skel.ChangeLog

commit 7a2867753bca22f6655ab4760950c0a8be6c8ef7
Merge: db3e214 68414e9
Author: Fabian Groffen <grobian@gentoo.org>
Date:   Thu Oct 20 22:40:06 2011 +0200

    Merge branch 'master' of git+ssh://git.overlays.gentoo.org/proj/portage

commit db3e214be456864225eecb37a9c941fd1689bee0
Author: Fabian Groffen <grobian@gentoo.org>
Date:   Thu Oct 20 22:39:38 2011 +0200

    UpdateChangeLog: fix whitespace

commit ba8396c5e6bc9a979df46f7b8d209f89f2a89a14
Author: Fabian Groffen <grobian@gentoo.org>
Date:   Thu Oct 20 22:38:00 2011 +0200

    repoman: update copyright on modified files

    To retain the behaviour of echangelog, update the copyrights on modified
    files (mostly ebuilds) when necessary.  Also update the ChangeLog's
    copyright.

commit ef99ccb7710f090ab7166f95587ccdd19e2cc740
Author: Fabian Groffen <grobian@gentoo.org>
Date:   Thu Oct 20 22:35:41 2011 +0200

    repoman: get ChangeLog header from skel.ChangeLog

    Use skel.ChangeLog from the repo to create the header of a new ChangeLog
    file.  Else, we just retain the original header of the ChangeLog.  When no
    skel.ChangeLog file exists, and this is a new ChangeLog, no header is used.

commit 68414e9ffe4c05a0a0e81734b80db61e2782937c
Author: Zac Medico <zmedico@gentoo.org>
Date:   Thu Oct 20 13:09:11 2011 -0700

    tests/repoman: use layout.conf update-changelog

commit 0f261405f63cd09639728da78e70a254cd3c5320
Author: Zac Medico <zmedico@gentoo.org>
Date:   Thu Oct 20 12:10:50 2011 -0700

    UpdateChangeLog: time in UTC

commit 7f9e716d4198f90032d91e8e8adfbc6d7673883c
Author: Fabian Groffen <grobian@gentoo.org>
Date:   Thu Oct 20 18:58:04 2011 +0200

    repoman: get default to update changelog from layout.conf

    Updating the ChangeLog file may be desirable in more repos than just the
    one named 'gentoo', like e.g. the Prefix one.  Hence, make this default
    configurable though metadata/layout.conf.

    This commit must go accompanied by a commit to
    gentoo-x86/metadata/layout.conf that adds the following bit:

    # Bug #337853 - gentoo's council says to enable # --echangelog by default
    for the "gentoo" repo update-changelog = true

commit 273075cdf5fcd0b4756ca47860849f174f7ede57
Author: Zac Medico <zmedico@gentoo.org>
Date:   Thu Oct 20 09:29:46 2011 -0700

    depgraph: fix installed masked warning

    This warning has been broken since commit
    5f65c2294df592a6a4e0f0fff0bedec49ed3491a.

commit a5968f7d9b1c17568fba27f7b7fd284b9431802d
Author: Zac Medico <zmedico@gentoo.org>
Date:   Thu Oct 20 07:16:50 2011 -0700

    misc-functions.sh: move sleep out of loop

    Having sleep in the world-writable loop causes riduculous delays for
    prefix users with exotic filesystem constraints (like a FAT filesystem
    mounted with umask=000).

commit 36fd75fbc3f6b0f3dbae655c0b1b125735f8d90b
Author: Zac Medico <zmedico@gentoo.org>
Date:   Wed Oct 19 14:32:40 2011 -0700

    resolver/output: use set for myfetchlist hashing

commit 3824bdfdaa848d266320d47f22f27498c3d300b5
Author: Zac Medico <zmedico@gentoo.org>
Date:   Wed Oct 19 14:25:35 2011 -0700

    resolver/output: display binary fetch size

commit de807d14fb994535f1ea529ecef8de0ee9db4136
Author: Zac Medico <zmedico@gentoo.org>
Date:   Wed Oct 19 14:19:09 2011 -0700

    Add bindbapi.getfetchsizes() like pordbapi has.

commit dac6b249202ce69cd21a07cfd908ef31c9f595b9
Author: Zac Medico <zmedico@gentoo.org>
Date:   Tue Oct 18 00:22:33 2011 -0700

    /etc/portage/modules: warn about metadata_overlay

    This module is an alias for flat_hash now, and hasn't been useful
    since FEATURES=metadata-transfer was disabled by default in commit
    81db3e467cd7f8bb94fcdf96d5fb4acf27bf382b.

commit 0c14f511444b74e4e19b4aed7af910cc8cfae8a5
Author: Zac Medico <zmedico@gentoo.org>
Date:   Mon Oct 17 23:27:46 2011 -0700

    load_best_module: tweak metadata_overlay fallback

commit cb3f4b3c7a81ea5f15f9e5dbc67ede961511d2f8
Author: Zac Medico <zmedico@gentoo.org>
Date:   Mon Oct 17 23:05:09 2011 -0700

    python3.2 fixes: "ResourceWarning: unclosed file"

commit 654fd3e173e7e92f9ff1ee1e55caa5c2e7a96ad9
Author: Zac Medico <zmedico@gentoo.org>
Date:   Mon Oct 17 22:45:13 2011 -0700

    python3.2 fixes: "ResourceWarning: unclosed file"

commit be67c3eac359d9e661db3b4f0310002e1dd39931
Author: Zac Medico <zmedico@gentoo.org>
Date:   Mon Oct 17 22:37:11 2011 -0700

    tests/repoman: fix 'unknown revision' git msgs

commit 095a648f4726a467934b819e214a2468308ca351
Author: Zac Medico <zmedico@gentoo.org>
Date:   Mon Oct 17 22:26:27 2011 -0700

    Fix serialize_eclasses = False in cache template.

    This fixes volatile cache validation that did not get fixed
    in commit a63c163a50bf8a4e5ca8673cd8bebae29c36643a. Now all
    volatile cache problems that have been introduced since commit
    2ed1cb53cc4158af08c22d466b15b9a9a7767212 should be fixed.

commit a63c163a50bf8a4e5ca8673cd8bebae29c36643a
Author: Zac Medico <zmedico@gentoo.org>
Date:   Mon Oct 17 16:08:44 2011 -0700

    portdbapi: fix volatile cache handling

    The metadata_overlay usage, that was triggered automatically for
    users without depcachedir write access, has been broken since commit
    2ed1cb53cc4158af08c22d466b15b9a9a7767212. The metadata_overlay class is
    not compatible with the new validation code, so remove it. If users have
    metadata_overlay configured as their cache module, fall back to flat_hash.

commit 58b1c71329f9d9ce0ee3a004d9ecaa8887d1dfd5
Author: Zac Medico <zmedico@gentoo.org>
Date:   Mon Oct 17 14:42:09 2011 -0700

    eclass_cache: fix volatile cache DigestException

    The deepcopy in catch/volatile.py misbehaved when it tried to copy
    attributes like __DEEPCOPY__ that didn't correspond to known functions.

commit 85256ed31e67655530dc26a4a036bfda963e9722
Author: Zac Medico <zmedico@gentoo.org>
Date:   Mon Oct 17 08:53:29 2011 -0700

    UpdateChangeLog: use struct_passwd attributes

commit 9641a783dffbe551ced3a27d34363d937906197d
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sun Oct 16 22:44:08 2011 -0700

    tests/repoman: fix manifests before adding to git

commit 7ddb7d3068f53025e064e5f23bcfaf068401b9bd
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sun Oct 16 22:20:10 2011 -0700

    portdbapi.aux_get: remove redunant EAPI code

    This code only needs to exist in _metadata_callback.

commit 17a76f21f811e7e5741fa259ef5a635fddfdb75a
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sun Oct 16 21:22:18 2011 -0700

    repoman: support --echangelog=force

    Allows forced ChangeLog generation even when the vcs has detected that
    the ChangeLog has already been modified.

commit 630ea9d916bd6e09a1af6414ae7fbe83ecd2331f
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sun Oct 16 20:45:10 2011 -0700

    UpdateChangeLog: show trivial if nothing else

    Like echangelog does, show ChangeLog or Manifest if there are no other
    changes to display.

commit 5e2982d998ac5683612de4a776f92a0887a8839d
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sun Oct 16 20:03:25 2011 -0700

    perform_checksum: OSerror to PermissionDenied

commit 60a2c22e1c40bb2e575320c5d30a5c23bb0a16bd
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sun Oct 16 20:00:08 2011 -0700

    hashed_path: convert OSError to PermissionDenied

commit 366bdf7c1eab804b0acfaba01dc9e8bb7811ce96
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sun Oct 16 19:56:01 2011 -0700

    man/repoman.1: update date in header

commit 753d35cb6784fc361c9804800355ff8b6b70a247
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sun Oct 16 19:51:00 2011 -0700

    repoman: handle subprocess bug with Python 3.1

commit 0d9a52d90144614f813811e59107a75daa888a0a
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sun Oct 16 19:34:19 2011 -0700

    tests/repoman: test commit with git

    These tests only run if the git binary is found. They include testing
    of new --echangelog=y option.

commit c2025582e2abce8422ed6a191202fb899820b525
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sun Oct 16 18:46:41 2011 -0700

    tests/emerge: test --regen and --metadata

commit 190a8a577934755ff07f9bc58f0b87a65c7f0738
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sun Oct 16 18:11:22 2011 -0700

    UpdateChangeLog: update copyright year in header

    This feature got dropped on commit
    b655137b7b5f87c11a7e742b7ef0e028a1139677.

commit 375127ef9e265ec311dce3dd23a4fa2feb729717
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sun Oct 16 17:39:47 2011 -0700

    repoman: simplify autoadd code

commit b655137b7b5f87c11a7e742b7ef0e028a1139677
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sun Oct 16 17:11:08 2011 -0700

    UpdateChangeLog: optimize and add unicode support

    Also: * copy the old header from the old ChangeLog if it exists, in case it
      contains a non-gentoo header
    * don't add a header if the old ChangeLog exists and doesn't contain
      a header

commit f757cd2a4dd2d3634743c207a4aadb3f217bfce1
Author: Fabian Groffen <grobian@gentoo.org>
Date:   Sun Oct 16 15:31:07 2011 -0700

    repoman: implemented echangelog functionality

    Instead of calling echangelog, which on its turn has to query the VCS
    again, use the existing information on changes made to the current
    directory, and update the ChangeLog from Python itself.  This avoids a
    call to echangelog, and avoids again retrieving the same VCS information
    as repoman already did.  It makes repoman independent from external
    tools it didn't install itself, and should be faster in general.

commit 5b8fdc7d3e4c64ce79d0218fd101f8292602d10b
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sun Oct 16 14:13:45 2011 -0700

    hashed_path: convert stat OSError to FileNotFound

    This makes it consistent with perform_checksum call which also raises
    FileNotFound instead of OSError.

commit 1272f5c55baa5c6d68d5ab3a1dceef69cc47e69b
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sun Oct 16 13:26:46 2011 -0700

    EbuildMetadataPhase: avoid redundant EAPI parsing

commit 508d5dfbf8e9e0919e3889a6b81e1dfe1b43ee43
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sun Oct 16 12:44:11 2011 -0700

    man/emerge.1: update date in header

commit 2d78dcda11d753a54f821c7fb482b4bb3b511d0b
Author: Sebastian Luther <SebastianLuther@gmx.de>
Date:   Sun Oct 16 20:43:17 2011 +0200

    Add --binpkg-exclude option

    This options disables creation of binary packages, no matter what enabled
    it in the first place. See bug 386903.

commit c9e22480dbb1767cc0e59eee5c1c3b358da7a078
Author: Arfrever Frehtes Taifersar Arahesis <Arfrever@Gentoo.Org>
Date:   Sun Oct 16 14:49:58 2011 +0200

    Fix a typo in a comment.

commit 6e2da854b5bebba5b0a8e913e3b6495770de995c
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sat Oct 15 23:18:39 2011 -0700

    RepoConfig: sort __slots__

commit 28115d7d72cf0f0c42c636039ed2a08ee2412dd3
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sat Oct 15 22:58:56 2011 -0700

    _pull_valid_cache: pass unicode to hashed_path

    This removes a conversion to bytes that should have been removed in
    commit 2ed1cb53cc4158af08c22d466b15b9a9a7767212. The hashed_path location
    attribute should always be unicode, for consistency will path handling
    throughout portage. The hashed_path class internally uses the portage
    portage.os wrapper to ensure that paths are encoded as utf_8 bytes when
    they are passed to the real os module for stat calls.

commit c670edc7b035fdce9d45df9d4e63d6afddba115c
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sat Oct 15 17:34:06 2011 -0700

    MetadataRegen: remove unused import

commit afa7af37fdf9f4d370776082c7f437db3f81b1aa
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sat Oct 15 17:02:50 2011 -0700

    egencache: remove unused import

commit accfa9e43415d5fb54d98786859c444685ed1e4a
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sat Oct 15 16:28:04 2011 -0700

    EbuildMetadataPhase: tweak metadata_callback usage

    For parse-eapi-ebuild-head, we want to assign self.metadata from the
    return value, for conformity with usage elsewhere.

commit 5e924b1c0467bdb6f2f9e517780844a07795b9da
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sat Oct 15 16:10:18 2011 -0700

    egencache: add _mtime_ to metadata

    This fixes a regression in FEATURES=parse-eapi-ebuild-head support
    for egencache since commit 2ed1cb53cc4158af08c22d466b15b9a9a7767212.
    If the metadata does not contain _mtime_ here, then _setitem from
    cache.metadata.database will raise KeyError.

commit 0a60f0a859994ca2ed51aa0b20454743f970b956
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sat Oct 15 15:55:31 2011 -0700

    EbuildMetadataPhase: fix parse-eapi-ebuild-head

    This fixes bugs that can only be triggered by egencache since other
    callers handle parse-eapi-ebuild-head earlier.

commit 9f7aba55758ba93414ed07c58a0129178188c31b
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sat Oct 15 15:46:37 2011 -0700

    EbuildMetadataPhase: fix broken _metadata_callback

    This fixes a regression in FEATURES=parse-eapi-ebuild-head support for
    egencache since commit 2ed1cb53cc4158af08c22d466b15b9a9a7767212.

commit 559d5f76cd1925972b50e0faf1e1a0c8c0f60be5
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sat Oct 15 15:32:55 2011 -0700

    repoman: remove unused imports

commit c69f4d3da83a7f83be750f771acee109e6df041b
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sat Oct 15 14:43:32 2011 -0700

    bin/ebuild: don't set PORTAGE_CALLER

    This removes the last reference to PORTAGE_CALLER.

commit 2859965bb164f322d2e169d8534cdc535a3f9901
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sat Oct 15 14:40:28 2011 -0700

    fixpackages: don't use PORTAGE_CALLER

commit e3f0d11c8615010506052793689207b1c3b3bd86
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sat Oct 15 13:28:44 2011 -0700

    portdbapi.aux_get: fix broken _metadata_callback

    This fixes a regression in FEATURES=parse-eapi-ebuild-head support since
    commit 2ed1cb53cc4158af08c22d466b15b9a9a7767212.

commit ff98e89d26d4e0d4436473d9c9afab8f01c448f5
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sat Oct 15 12:34:09 2011 -0700

    EbuildMetadataPhase: use b''.join() for bytes

commit 5e0a1972beb98d31772c8eb10ac70df5f608e2a1
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sat Oct 15 11:58:26 2011 -0700

    repoman: handle categories for multiple masters

    Also, copy repoman_settings.categories to each individual profile's
    dep_settings.categories attribute, in order to ensure that
    portdbapi.cp_list() uses the correct category set.

commit f4807e05962845c17d689b8bb80a1f55b85834c9
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sat Oct 15 11:38:35 2011 -0700

    frozenset categories optimize pordbapi.cp_list()

commit c6cd30c6165d39bf3cd040b3dc29bfec4323bbf2
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sat Oct 15 11:20:06 2011 -0700

    repoman: validate categories for vcs files

commit 513445d8e36db3cc2c03e4c6ed3c357e0d6f15b6
Author: Fabian Groffen <grobian@gentoo.org>
Date:   Sat Oct 15 14:41:13 2011 +0200

    FindVCS: support Subversion 1.7

    Since subversion 1.7, only a top-level .svn dir is used.  Make FindVCS
    also deal with that.  (Tested with repoman on Prefix SVN-based tree.)

commit 0c1bbb316ce2e7e9608af78f5e2f5dea1c667af7
Author: Zac Medico <zmedico@gentoo.org>
Date:   Fri Oct 14 23:11:02 2011 -0700

    emerge --metadata: fix empty INHERITED handling

    Since changes to eclass validation code in commit
    2ed1cb53cc4158af08c22d466b15b9a9a7767212, validation of cache
    for packages with empty INHERITED metadata has been broken due to
    failure to distinguish between None and empty dict return values from
    eclass.cache.validate_and_rewrite_cache().

commit 4580734caa18250bd0c2bc8241dc36f308cdef2b
Author: Zac Medico <zmedico@gentoo.org>
Date:   Fri Oct 14 22:10:28 2011 -0700

    emerge --metadata: fix breakage

    The hunk that got removed from action_metadata in commit
    d4ea29bf6a3ce35d49e0f54f9173e3a6e42da2d6 is actually needed when
    FEATURES=metadata-transfer is enabled.

commit 1d170ec97f6c9db495ba9cbe9256623e1b946d86
Author: Zac Medico <zmedico@gentoo.org>
Date:   Fri Oct 14 20:21:18 2011 -0700

    repoman: simplify digestgen and gpgsign loops

    We can re-use the vcs_files_to_cps() function from commit
    9c9145a9e3c2d8d1bcebf791ce2188add656fee2.

commit 9c9145a9e3c2d8d1bcebf791ce2188add656fee2
Author: Zac Medico <zmedico@gentoo.org>
Date:   Fri Oct 14 20:03:21 2011 -0700

    repoman: optimize --if-modified and --echangelog

    Avoid unnecessary nested loops.

commit cc1c0813859d7860e3f4a497e41ee51bb86111f8
Author: Zac Medico <zmedico@gentoo.org>
Date:   Fri Oct 14 19:54:39 2011 -0700

    repoman --echangelog: fix manifest-only commmits

commit 4983b670cdb44d860b9a46325f5ae28cd9685586
Author: Zac Medico <zmedico@gentoo.org>
Date:   Fri Oct 14 19:33:32 2011 -0700

    repoman --if-modified: handle removed files

commit 5e88b0d4ced1deb01ae18ea7868745d35b2fd7b2
Author: Zac Medico <zmedico@gentoo.org>
Date:   Fri Oct 14 18:49:13 2011 -0700

    eclass_cache: fix cache_getter typo

    This triggered a regression since commit
    2ed1cb53cc4158af08c22d466b15b9a9a7767212 that caused cache entries
    containing eclass paths to appear invalid.

commit 1e8870bd45a4e2a9c43e7f112701c6ae84b0fd56
Author: Brian Harring <ferringb@chromium.org>
Date:   Fri Oct 14 02:40:00 2011 -0700

    layout.conf: add git friendly pregenerated cache format

    Enabled via cache-format = md5-dict This format is essentially just
    flat_hash, using md5 rather than mtime, and dropping the path component
    from _eclasses_ entries.

    From a speed standpoint, the md5 overhead is ~16% in comparison to mtime,
    timed on a modern sandybridge; specifically, validating 29k nodes takes
    ~8.8s for flat_md5, while the pms norm is ~7.7s.

    That said, the cache is /usable/ in places PMS is not; in those cases,
    it can definitely be a win since even if the cache is partially old,
    it's better than regenerating everything from scratch.  (cherry picked
    from commit 95ddf97e2f7e7d3f6a072604b2df5f77e9298558)

    Change-Id: Ic3561369b7a8be7f86480f339ab1686fddea6dff

commit 2ed1cb53cc4158af08c22d466b15b9a9a7767212
Author: Brian Harring <ferringb@chromium.org>
Date:   Thu Oct 13 23:27:22 2011 -0700

    cache: rewrite to support arbitrary validation method

    Specifically, the cache can use any portage supported checksum method,
    or use the standard mtime approach.  In addition, support controlling
    whether or not paths are stored, and generally try to restore some
    of the centralization/encapsulation that was in place originally.
    (cherry picked from commit bc1aed614fb588f0ade5bcb5d1265a8db0f8d247)

    Change-Id: Ic38057e7dbb15063c64a93c99e66e113a7d4c70e

commit 90012f94f00ec2cf6b355bd9c30215b83c2b5b7f
Author: Brian Harring <ferringb@chromium.org>
Date:   Fri Oct 14 01:07:57 2011 -0700

    cache.util: drop completely dead module/code

    Looks of it, this code was copied/mangled into action_metadata; the
    noise/callbacks in use don't do anything, so drop them, the dead code,
    and clean up the exception handling to reflect the new reality (cherry
    picked from commit 320890fadbedf678119ac06d458ed6086075431e)

commit 366e9f0dc05b063427235b567c5e0874db41cf6b
Author: Zac Medico <zmedico@gentoo.org>
Date:   Fri Oct 14 12:31:19 2011 -0700

    repoman: handle unicode in echangelog args

commit f03e9dbd874e6731683c0050d827318bd14360fb
Author: Zac Medico <zmedico@gentoo.org>
Date:   Fri Oct 14 10:55:31 2011 -0700

    repoman: add --echangelog=<y|n> for bug #337853

    This option will call echangelog for each package that has modified
    files and does not have a modified ChangeLog. Gentoo's council has
    decided that this option will be enabled by default for the "gentoo"
    repository. If desired, we can add a metadata/layout.conf setting so
    that other repositories can control the default behavior.

commit af2c4446880020871f7aaa0f3ff4f75707dd027e
Author: Zac Medico <zmedico@gentoo.org>
Date:   Fri Oct 14 09:29:37 2011 -0700

    repoman: support REPOMAN_DEFAULT_OPTS variable

commit 41f95b75ceb77d33f0335455788a93c68c58aa69
Author: Zac Medico <zmedico@gentoo.org>
Date:   Fri Oct 14 08:30:17 2011 -0700

    Revert "Use plain ascii encoding for this file"

    This reverts commit 2a4b07c8d0105ea7418ea3afc9e777a7a396fc46.  Current
    python ebuilds no longer remove the encodings directory when USE=ebuild is
    enabled, so now it's possible to use UTF8 encoding in python source files
    without triggering unsightly SyntaxError messages when python_mod_optimize
    is compiling byte-code files.

commit d60105f611515f32b53b1eb4afa65f3a0d8a9056
Author: Sebastian Luther <SebastianLuther@gmx.de>
Date:   Fri Oct 14 12:55:22 2011 +0200

    Update --prune man page entry (bug 387011)

commit a73ad44e390aa14e8785d90d590f87a5d06e3866
Author: Zac Medico <zmedico@gentoo.org>
Date:   Fri Oct 14 00:01:08 2011 -0700

    RELEASE-NOTES: FEATURES=fixpackages unconditional

    This should help people who get warnings about unknown value(s) in
    FEATURES due to having FEATURES=fixpackages enabled in make.conf even
    though it's been enabled by default for almost 3 years (bug #386871).

commit 350f7536df5528cf12baf140e71f899c439fdb3f
Author: Zac Medico <zmedico@gentoo.org>
Date:   Thu Oct 13 23:40:02 2011 -0700

    Fix inverted QA_SONAME_NO_SYMLINK logic.

commit d1499e9e3b08fd3e539f1b9a740d243bec67872c
Author: Zac Medico <zmedico@gentoo.org>
Date:   Thu Oct 13 23:23:48 2011 -0700

    Don't generate soname symlinks for bug #387053.

    The symlink is not really needed now that the QA notice has been available
    for some time (testing since 2.1.10.4, and stable since 2.1.10.11).

commit dcb42a417355510284a35c08a4bf849047122a5c
Author: Zac Medico <zmedico@gentoo.org>
Date:   Thu Oct 13 23:14:40 2011 -0700

    Add QA_SONAME_NO_SYMLINK for bug #387053.

commit 55dd7bc8587f4ef48a4ff6ddd4e176fbb72d118d
Author: Zac Medico <zmedico@gentoo.org>
Date:   Thu Oct 13 22:13:03 2011 -0700

    quickpkg: optimize */* matches

commit 5a0344bffc31a171afe43092a088084c329320fb
Author: Zac Medico <zmedico@gentoo.org>
Date:   Thu Oct 13 22:04:04 2011 -0700

    portageq match: wildcard support

commit 382e74bb63d6f1eed2b3d88daee95fc7530df3da
Author: Zac Medico <zmedico@gentoo.org>
Date:   Thu Oct 13 17:23:28 2011 -0700

    _pull_valid_cache: fix readonly delete logic

commit d4ea29bf6a3ce35d49e0f54f9173e3a6e42da2d6
Author: Brian Harring <ferringb@chromium.org>
Date:   Thu Oct 13 16:26:03 2011 -0700

    layout.conf: make the pregenerated cache format controllable

    Controllable via 'cache-format', currently it supports only one cache;
    'pms', and defaults to it.	If an unsupported cache-format is specified,
    the cache is disabled.  If pms is specified and metadata/cache directory
    doesn't exist, the cache is disabled.

    Finally, this rips out the best module support for locally overriding
    the cache format used for pregenerated caches; this functionality made
    zero sense (upstream determines the format, we use what is available).

commit bf28492ed8ccc7fd3679a8e5433101a0945d417d
Author: Zac Medico <zmedico@gentoo.org>
Date:   Thu Oct 13 14:58:17 2011 -0700

    quickpkg: use AmbiguousPackageName

commit c2523b8833bcf0074f7446a5cbf165cf50f8aa2c
Author: Zac Medico <zmedico@gentoo.org>
Date:   Thu Oct 13 14:53:45 2011 -0700

    quickpkg: fix '*' in arg extended atom check

    This check isn't really accurate due to the =* operator, and we don't
    want to reject =* atoms when they omit the category.

commit 5c7bf4eb09f644813a6f017ffd91665664142560
Author: Zac Medico <zmedico@gentoo.org>
Date:   Thu Oct 13 14:27:03 2011 -0700

    layout.conf: revert authoritative-cache support

    Those who wanted it have decided to use a different approach.

commit a27f3f3058fdbdaca2bcb838aca02ffc4e32007a
Author: Zac Medico <zmedico@gentoo.org>
Date:   Thu Oct 13 13:58:16 2011 -0700

    digestcheck: handle allow_missing for distfiles

commit 2ae07610ad187de2182fe0a36611042104f66511
Author: Zac Medico <zmedico@gentoo.org>
Date:   Thu Oct 13 08:14:18 2011 -0700

    quickpkg_extended_atom: handle =* operator

commit a580aee32bec544889e08a76b4d0f308447f8d89
Author: Sebastian Luther <SebastianLuther@gmx.de>
Date:   Thu Oct 13 15:03:34 2011 +0200

    quickpkg: Support extended atoms

commit df6c9363bec1a7706b53ef1c6aa760bb45ccad4a
Author: Mike Frysinger <vapier@gentoo.org>
Date:   Wed Oct 12 22:50:57 2011 -0400

    xpak(5): fix grammar, spelling, style, and add more content

    Signed-off-by: Mike Frysinger <vapier@gentoo.org>

commit 7ab4d5722a828167dd1bf946b26cfa80808f59fc
Author: Zac Medico <zmedico@gentoo.org>
Date:   Tue Oct 11 16:45:46 2011 -0700

    Remove FEATURES=fixpackages support.

    This reduces the probability of users encountering issues related to
    package moves when they disable --dynamic-deps, and --package-moves=n
    can be set in EMERGE_DEFAULT_OPTS if package moves need to be temporarily
    avoided for some reason.

commit d7bc4e67632e66d97d23eff3b6e1b75ce5e84e87
Author: Zac Medico <zmedico@gentoo.org>
Date:   Tue Oct 11 13:57:49 2011 -0700

    Ensure correct IUSE in vdb for bug #386829.

commit 601f819deef7da3af2101ce9e85cb8804355dffa
Author: Zac Medico <zmedico@gentoo.org>
Date:   Tue Oct 11 11:28:18 2011 -0700

    bin/ebuild: add --version option

commit 86e3ed5b8d1efdd439415cb3dec2905e5de058dc
Author: Mike Frysinger <vapier@gentoo.org>
Date:   Tue Oct 11 13:28:45 2011 -0400

    prepstrip: make sure eu-strip embeds right filename

    Signed-off-by: Mike Frysinger <vapier@gentoo.org>

commit 79589ca29ecdbfafbc50b0899a51ce3f4eba1857
Author: Zac Medico <zmedico@gentoo.org>
Date:   Tue Oct 11 10:27:44 2011 -0700

    fetch: tweak space msg for bug #386797

commit 12cb62465b130c21080281d78f7bfac077c17dfb
Author: Zac Medico <zmedico@gentoo.org>
Date:   Tue Oct 11 09:56:43 2011 -0700

    elog_process: fix ridicoulus newlines bug #386771

    This fixes a regression since commit
    8a119ea94ecc6668797e3a1358465ef3733f3a3e which added a newline after
    each character. This boosts efficiency since we no longer convert a
    strings to lists of characters.

commit 51579fb34c19519a585ce2d052a270b6d84a2d97
Author: Mike Frysinger <vapier@gentoo.org>
Date:   Tue Oct 11 00:49:48 2011 -0400

    prepstrip: add support for elfutils strip

    If people use strip from the elfutils package, take advantage of some
    of its neat features (like splitting + stripping in one step).

    Signed-off-by: Mike Frysinger <vapier@gentoo.org>

commit d4fdc3f5c04e556ce217e004ed461c9f05146c0f
Author: Mike Frysinger <vapier@gentoo.org>
Date:   Tue Oct 11 00:40:09 2011 -0400

    prepstrip: extract buildid with readelf to avoid debugedit when possible

    The readelf utility is much more common than debugedit.

    Signed-off-by: Mike Frysinger <vapier@gentoo.org>

commit 12dc5c56c821336f02338e3374b97e55273aee3c
Author: Mike Frysinger <vapier@gentoo.org>
Date:   Mon Oct 10 22:28:55 2011 -0400

    prepstrip: avoid a `dirname` with a simple ${var%/*}

    Signed-off-by: Mike Frysinger <vapier@gentoo.org>

commit 743a52236f1aeadf5259c68867ea8aa22b53e8ae
Author: Zac Medico <zmedico@gentoo.org>
Date:   Mon Oct 10 12:33:04 2011 -0700

    FakeVartree: disable match wrapper if necessary

commit 90e11a316c3f240e1cbeed7c9fec96049e14e6d9
Author: Zac Medico <zmedico@gentoo.org>
Date:   Mon Oct 10 11:21:30 2011 -0700

    FakeVartree: type from last commit

commit 2a43bc0ddaf1da858e3b50d36c722e58afa439f1
Author: Zac Medico <zmedico@gentoo.org>
Date:   Mon Oct 10 11:20:12 2011 -0700

    FakeVartree: fix sync for --dynamic-deps=n

commit 8b3e8d22a5b933b5aa7c0b6440ac1b3f29237f1d
Author: Zac Medico <zmedico@gentoo.org>
Date:   Mon Oct 10 11:13:12 2011 -0700

    Scheduler: fix myopts typo from last commit

commit f8e0c75e0952d04cb518ad0914ad440f1b43f52d
Author: Zac Medico <zmedico@gentoo.org>
Date:   Mon Oct 10 11:01:36 2011 -0700

    Add emerge --dynamic-deps <y|n> option.

    This makes it possible to disable the dynamic dependency updates that
    FakeVartree performs by default.

    WARNING: If --dynamic-deps is disabled, then it is necessary to
    ensure that an alternative method is used to handle package moves
    in dependencies of installed packages. Normally, this is handled by
    FEATURES="fixpackages", which is enabled by default and may be disabled via
    make.conf(5). Alternatively, in order to manually apply package moves, run
    `emaint --fix moveinst` after each emerge --sync operation (see emaint(1)).

commit 1a00bb2a24bed702ab0703540130d19d669191d0
Author: Zac Medico <zmedico@gentoo.org>
Date:   Mon Oct 10 07:36:39 2011 -0700

    mod_syslog: add newlines for bug #386627

    This fixes omission of newlines in syslog messages since commit
    ca7bef7821876791a26a5f9df6938f4c77fe571f.

commit 8a119ea94ecc6668797e3a1358465ef3733f3a3e
Author: Zac Medico <zmedico@gentoo.org>
Date:   Mon Oct 10 07:21:54 2011 -0700

    elog_process: add newlines for bug #386627

    This fixes omission of newlines in saved messages since commit
    ca7bef7821876791a26a5f9df6938f4c77fe571f.

commit aeced1ac893951aec4992b2a1af7a4d057d6ce24
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sun Oct 9 23:27:16 2011 -0700

    prepstrip: tweak style of debugedit checks

    Make the checks more like the FEATURES/RESTRICT checks from commit
    286675a500998e536dbbf2ee2dfe1fedf4290b38.

commit 13a759213ec1fefe5e637e5467fe9d5f35d8f570
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sun Oct 9 23:04:33 2011 -0700

    prepstrip: merge debugedit checks more

    Use a ${debugedit_found} to remember if it's found or not, and use
    ${debugedit_warned} to avoid showing duplicate warnings.

commit 286675a500998e536dbbf2ee2dfe1fedf4290b38
Author: Mike Frysinger <vapier@gentoo.org>
Date:   Sun Oct 9 22:27:35 2011 -0400

    prepstrip: optimize duplicate calls to `has`

    Signed-off-by: Mike Frysinger <vapier@gentoo.org>

commit 2e6fa11b074d67ebeb799210256d4716d6655a97
Author: Mike Frysinger <vapier@gentoo.org>
Date:   Sun Oct 9 18:53:53 2011 -0400

    prepstrip: merge debugedit checks

    Avoid checking for debugedit multiple times.

    Signed-off-by: Mike Frysinger <vapier@gentoo.org>

commit 4311d7785a2595501dd07c9daa7d8051cee8de40
Author: Mike Frysinger <vapier@gentoo.org>
Date:   Sun Oct 9 18:43:17 2011 -0400

    tests/dodir: check relative path by itself

    Signed-off-by: Mike Frysinger <vapier@gentoo.org>

commit f1aeebf2c45869fa4149dda9c57e4ac50c8c5a15
Author: Mike Frysinger <vapier@gentoo.org>
Date:   Sun Oct 9 18:34:35 2011 -0400

    tests: setup default bin env more

    We want the default testing env to match default portage env.

    Signed-off-by: Mike Frysinger <vapier@gentoo.org>

commit 8ebca724748c0c2046e3120b0f5a813fc4298671
Author: Mike Frysinger <vapier@gentoo.org>
Date:   Sun Oct 9 14:43:11 2011 -0400

    prepstrip: optimize chmod slightly

    Signed-off-by: Mike Frysinger <vapier@gentoo.org>

commit 93b7bbebd96c1cca24a53659657033d621e5c1f4
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sun Oct 9 19:21:54 2011 -0700

    tests/__init__: return int from main()

commit 6d6784555cdc6d541a824ff7a5cd31a343f62ca3
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sun Oct 9 18:55:30 2011 -0700

    tests/__init__: import print_function

commit c5d2d4c32f0745f30e0cad2e427e79064f93c593
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sun Oct 9 18:40:32 2011 -0700

    MaskManager: fix "Unmatched removal", bug #386569

commit 7b2be36898ef04a8cef42dc41cbc162004f329c2
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sun Oct 9 17:15:31 2011 -0700

    Skip PORTAGE_TMPDIR write check for fetchonly.

    Bug #286201

commit 6622bb5b63b49b1e528d89fee061e40b2d0d5afd
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sun Oct 9 17:05:23 2011 -0700

    show_ignored_binaries: filter noise, bug #386379

commit 4dfb7a71ab9983e5bd0f2121062df04ffd6a748a
Author: Mike Frysinger <vapier@gentoo.org>
Date:   Sun Oct 9 14:43:01 2011 -0400

    tests: add --list flag to show available tests

    Trying to guess at what runtests actually wants in terms of command line
    tests is pretty hard.  Any invalid value just gives you an ugly traceback.
    So add a helper --list option so the user can easily figure out what
    the code wants *exactly*.

    Signed-off-by: Mike Frysinger <vapier@gentoo.org>

commit 0e32e6f3b950b6ca05724491cde8c9d04817d670
Author: Mike Frysinger <vapier@gentoo.org>
Date:   Sun Oct 9 14:42:01 2011 -0400

    tests: add a --help option to make runtest more friendly

    At the moment, trying to do `./runtests.h -h` just produces an ugly and
    indecipherable traceback.  Make it a bit more friendly.

    Signed-off-by: Mike Frysinger <vapier@gentoo.org>

commit 7dc6f767eb849040bd933046a3f8aa2938e04b13
Author: Mike Frysinger <vapier@gentoo.org>
Date:   Sun Oct 9 14:39:39 2011 -0400

    tests: split up getTests into helper funcs to avoid duplication

    This avoids a little duplication between the getTestFromCommandLine and
    getTests funcs, and they'll get utilized even more in follow up patches.

    Signed-off-by: Mike Frysinger <vapier@gentoo.org>

commit 949b30548b21630b1423f5ead8335bc5eb0bbc92
Author: Mike Frysinger <vapier@gentoo.org>
Date:   Sun Oct 9 14:38:10 2011 -0400

    runtests: make sure we are in the right dir

    The code assumes we're in the top of the tree (when it tries to run with
    the full path "pym/portage/tests/runTests"), so try to make sure we are
    in the right place to allow things like `../runtests.sh` to "just work".

    Signed-off-by: Mike Frysinger <vapier@gentoo.org>

commit 80a9cd59ed8df549ff0991705040d5270c8d0d03
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sun Oct 9 12:09:22 2011 -0700

    Revert "RepoConfigLoader: Recursively expand masters."

    This reverts commit ab2a6cc357ba3c8272a4a1556e2c0bcd4bee102e.  Reverting
    all masters recursion code for now (see bug #386569).

commit caede8f642482b923c2d5ae7e630494dae849d4e
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sun Oct 9 12:08:55 2011 -0700

    Revert "MaskManager: Fix stacking of lines from master repositories."

    This reverts commit 37f05a23fd55b633674f91f4d7658c19e41d2d63.  Reverting
    all masters recursion code for now (see bug #386569).

commit fd5807d6467be549717b35e67fc01be7a57bf432
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sun Oct 9 11:57:31 2011 -0700

    Revert "get_masters: protect against infinite recursion"

    This reverts commit 5628dac1538985af640102654bce60a8e526daeb.  Reverting
    all masters recursion code for now (see bug #386569).

commit 5628dac1538985af640102654bce60a8e526daeb
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sat Oct 8 16:23:39 2011 -0700

    get_masters: protect against infinite recursion

    We can't have portage crash because of circular deps in layout.conf.

commit c77d2dfeb2d1856d9443b64ab8d9fe95d7796cf0
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sat Oct 8 15:51:45 2011 -0700

    RepoConfig: allow repos.conf 'masters' override

    This give the user the power to override 'masters' settings from
    layout.conf, is case they want use a different set of masters to satisfy
    dependencies. This is especially important now that recursive expansion of
    masters is supported since commit ab2a6cc357ba3c8272a4a1556e2c0bcd4bee102e,
    so that the user can avoid pulling in unwanted repositories as
    dependencies, if necessary.

    Also, empty 'masters' settings are now supported, in case a repo wants
    to avoid implicit inheritance of PORTDIR settings like package.mask.

commit 5dbf25fc1ff3d951f3936662283c37a03afce4ca
Author: Mike Frysinger <vapier@gentoo.org>
Date:   Sat Oct 8 17:53:34 2011 -0400

    tests: fix whitespace to be consistent

    Signed-off-by: Mike Frysinger <vapier@gentoo.org>

commit 37f05a23fd55b633674f91f4d7658c19e41d2d63
Author: Arfrever Frehtes Taifersar Arahesis <Arfrever@Gentoo.Org>
Date:   Sat Oct 8 23:39:10 2011 +0200

    MaskManager: Fix stacking of lines from master repositories.

commit ab2a6cc357ba3c8272a4a1556e2c0bcd4bee102e
Author: Arfrever Frehtes Taifersar Arahesis <Arfrever@Gentoo.Org>
Date:   Sat Oct 8 23:37:35 2011 +0200

    RepoConfigLoader: Recursively expand masters.

commit 8be5cd692c5a49c3dcdee41a3950bda822fdeaf4
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sat Oct 8 08:15:27 2011 -0700

    whirlpool.py: tabs to spaces

commit e606fa6e8c23bff65618d73dfc19b8dd301460e1
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sat Oct 8 01:03:17 2011 -0700

    portage/mail: always UTF-8 charset for MIMEText

    This will fix bug #386095.

commit 176f43b1ec7e7a82cf67d19b40dcacbebc6dc3f6
Author: Zac Medico <zmedico@gentoo.org>
Date:   Fri Oct 7 23:52:21 2011 -0700

    repoman: add 'repository' to portdbapi cache

    This fixes _getMaskAtom to work correctly with the repo atoms that are
    generated by MaskManager, solving the issue reported here:

    https://github.com/cschwan/sage-on-gentoo/issues/90#issuecomment-2324953

commit d2249e5f44ee4ae22304b4d120c4be43c6ab45d4
Author: Zac Medico <zmedico@gentoo.org>
Date:   Fri Oct 7 09:06:49 2011 -0700

    repoman: tweak myupdates/myheaders commit logic

    If we unconditionally exclude myremoved from myupdates, then removed
    files will also be excluded from myheaders. This allows us to avoid
    unnecessary separate manifest commits in cases when "myheaders" only
    contained files that were being removed. Since our code always uses
    myupdates + myremoved, this change in logic doesn't break anything.

commit ae260804da9689c69fad3775d8a4be31b34a087d
Author: Zac Medico <zmedico@gentoo.org>
Date:   Fri Oct 7 08:04:19 2011 -0700

    repoman: tweak commit logic wrt thin-manifest

    Don't populate the "myheaders" variable when we have thin-manifests that
    contain only DIST entries.

commit 1cdf41d1b5c17ac593f0d61a90b8d2a7db6b494d
Author: Nathan Phillip Brink <binki@gentoo.org>
Date:   Fri Oct 7 05:00:46 2011 +0000

    Don't do a split signed Manifest commit when no headers will change. Fixes
    bug #340475.

commit ca7bef7821876791a26a5f9df6938f4c77fe571f
Author: Zac Medico <zmedico@gentoo.org>
Date:   Wed Oct 5 18:22:35 2011 -0700

    elog/collect_ebuild_messages: strip trailing \n

    This fixes unintended extra blank lines since commit
    1c8ff00a26b0e2e3627e9c552374f71235ee6c39.

commit fcc8105402dc5f0b55aacff0368a5977e271ec3d
Author: Zac Medico <zmedico@gentoo.org>
Date:   Wed Oct 5 12:51:05 2011 -0700

    match_to_list: preserve order

    This allows us to properly test behavior of best_match_to_list with
    different permutations of the input.

commit fa2ee875483ff160d8732ecf12c4801f4b148f93
Author: Zac Medico <zmedico@gentoo.org>
Date:   Wed Oct 5 09:11:13 2011 -0700

    test_best_match_to_list: test all permutations

commit 1c8ff00a26b0e2e3627e9c552374f71235ee6c39
Author: Zac Medico <zmedico@gentoo.org>
Date:   Tue Oct 4 21:27:03 2011 -0700

    dblink._elog_process: preserve empty lines

commit 20c2032f65c4a0bb7a523d8c5eaf46562e4cd35b
Author: Zac Medico <zmedico@gentoo.org>
Date:   Tue Oct 4 20:20:54 2011 -0700

    Execute tests bundled with the whirlpool module.

commit 165d248d44308f9b7620d7eb2e3d3a265ef2b812
Author: Arfrever Frehtes Taifersar Arahesis <Arfrever@Gentoo.Org>
Date:   Wed Oct 5 03:09:53 2011 +0200

    Mark some messages for translation.

commit 3a37b7c5b5d7b70777c67180279f557fd70b52f4
Author: Zac Medico <zmedico@gentoo.org>
Date:   Tue Oct 4 17:59:30 2011 -0700

    whirlpool.py: fix for python3

commit e3df9adb0b53349bc129732cd255de9af142d59a
Author: Zac Medico <zmedico@gentoo.org>
Date:   Tue Oct 4 09:39:58 2011 -0700

    whirlpool.py: skip tests during import

commit 61cc6d8f20de04d4b4f46618411a0fb568d0b0ab
Author: Zac Medico <zmedico@gentoo.org>
Date:   Tue Oct 4 08:33:41 2011 -0700

    RepoConfig: sort __slots__

commit 9691c2893abf469ef2035e526649df955e8c0ee5
Author: Zac Medico <zmedico@gentoo.org>
Date:   Mon Oct 3 23:17:22 2011 -0700

    testManifest: enable manifest-hashes

commit 12cf3eb1397dc2b33b087f6e37878d94a15a6b9f
Author: Zac Medico <zmedico@gentoo.org>
Date:   Mon Oct 3 22:42:22 2011 -0700

    repoman: bail out if unsupported manifest-hashes

commit b33ab8168a18391cc8ebe3d0b8bbcdc53a1a1c3d
Author: Zac Medico <zmedico@gentoo.org>
Date:   Mon Oct 3 21:44:46 2011 -0700

    best_match_to_list: order by version number

    This should fix the issue shown in bug 375265, comment #10.

commit b8ebdffd672d9ef5dcaa2470e86cf9184b83fc44
Author: Zac Medico <zmedico@gentoo.org>
Date:   Mon Oct 3 13:14:08 2011 -0700

    Suppress warnings with DeprecationWarning.

    These manifest-hashes warnings are irrelevant to regular users, so
    suppress them by default.

commit 6a534da500cb95c692993d6348a31d62ec8a152b
Author: Zac Medico <zmedico@gentoo.org>
Date:   Mon Oct 3 11:33:08 2011 -0700

    Warn for questionable layout.conf manifest-hashes

commit 255e31ccb265fac768857da3ee6d966151a1e561
Author: Zac Medico <zmedico@gentoo.org>
Date:   Mon Oct 3 10:42:25 2011 -0700

    manfest.py: import constants directly

commit 7b537c443c83b7ad297d4a027d902d8459a75490
Author: Zac Medico <zmedico@gentoo.org>
Date:   Mon Oct 3 03:02:10 2011 -0700

    repoman: account for GLEP 59 in RMD160 check

commit d9d0606fe01618cc81fb0b862ada91149dad3746
Author: Zac Medico <zmedico@gentoo.org>
Date:   Mon Oct 3 02:42:53 2011 -0700

    GLEP 59: use manifest-hashes list in layout.conf

    The manifest-hashes layout.conf setting simply overrides the hashes that
    are generated. When unspecified, the MANIFEST2_HASH_DEFAULTS constant
    is used instead (current value contains SHA1, SHA256, and RMD160).

    In order to enable SHA512 and WHIRLPOOL, and drop RMD160 and SHA1,
    simply set "manifest-hashes = SHA256 SHA512 WHIRLPOOL" in layout.conf.
    As with the previous boolean flags approach, manifest-hashes settings
    become redundant and can be removed from layout.conf after a version of
    portage with equivalent defaults is stable.

commit c8cd3a985cc529299411d7343a11004b7d1330ef
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sun Oct 2 17:05:30 2011 -0700

    Implement GLEP 59 with control via layout.conf.

    The portage.const changes are derived from an earlier patch that was
    submitted by Robin H. Johnson <robbat2@gentoo.org>:

    http://archives.gentoo.org/gentoo-portage-dev/msg_911574e7cb615f67e4c21fc75c043f65.xml

    This patch has no affect on a repository unless it contains a
    metadata/layout.conf file which contains boolean flags that enable or
    disable manifest hash types. The plan is to deploy portage with this patch,
    and once it has been stabilized, add the following metadata/layout.conf
    settings to gentoo-x86:

      manifest-rmd160 = false manifest-sha1 = false manifest-whirlpool = true

    The above settings will become the default settings in a future portage
    release, making them redundant and eligible for removal from layout.conf
    (in order to avoid cluttering layout.conf with obsolete information).

    Future events:

    After WHIRLPOOL is supported in stable portage: - Add WHIRLPOOL to
    MANIFEST2_HASH_DEFAULTS.  - Remove SHA1 and RMD160 from MANIFEST2_HASH_*.
    - Toggle gentoo-x86/metadata/layout.conf settings to match.

    After WHIRLPOOL is supported in stable portage for at least 1 year:
    - Change MANIFEST2_REQUIRED_HASH to WHIRLPOOL.  - Remove SHA256 from
    MANIFEST2_HASH_*.  - Toggle gentoo-x86/metadata/layout.conf settings
    to match.

    After SHA-3 is approved: - Add new hashes to MANIFEST2_HASH_*.

    After SHA-3 is supported in stable portage: - Toggle
    gentoo-x86/metadata/layout.conf settings to match.

    After layout.conf settings correspond to defaults in stable portage: -
    Remove redundant settings from gentoo-x86/metadata/layout.conf.

commit e5b963b794be20276786447bc4f2515e17e38086
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sun Oct 2 16:43:27 2011 -0700

    Manifest.create(): tweak assume-digests code

    If we have a local file, before we assume that we don't need to compute
    any digests, make sure that the pre-computed digest types are exactly
    the same types that we desire.

commit 814200b68822ed2681dc434631c99ad3c9251fc8
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sun Oct 2 15:53:39 2011 -0700

    Manifest.create(): pass allow_* to constructor

    This fixes commit f3101b3adce6731790f80f83fafece54b7bd8a63 to ensure
    that Manifest.create() works correctly.

commit 77b651300731ec007cd535a83b8ee9a898602783
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sun Oct 2 13:22:07 2011 -0700

    Prefer slot conflict over blocker display.

    The slot conflict display has better noise reduction than the unsatisfied
    blockers display, so skip unsatisfied blockers display if there are slot
    conflicts (see bug #385391). Note that this reverses the logic from bug
    159310, since the slot conflict display has evolved a lot since then.

commit 053ce10dcaa85a61d0049cd08b4e725d67a271f6
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sun Oct 2 13:09:52 2011 -0700

    print_changelog: if no changelogs, no newline

    This will fix bug #385413.

commit 37e01fd5095a40b6a57b1365add1c64f29671211
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sun Oct 2 12:52:57 2011 -0700

    dblink._elog_process: handle newlines in messages

    This will fix bug #385341.

commit a1ed3230d6a121fb2bccc0a1d51255cae382ed4f
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sat Oct 1 23:31:52 2011 -0700

    checksum.py: use fchksum.fmd5t directly

commit 06ad8911b5790a2ed963fe1b981751ab0a2be8d5
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sat Oct 1 23:01:17 2011 -0700

    checksum.py: lazily import bundled whirlpool

commit faf87ba9877e3b5a7866c6649f956f15950e789a
Author: Robin H. Johnson <robbat2@gentoo.org>
Date:   Sat Oct 1 07:40:54 2011 +0000

    Manifest2 hash backend provider: mhash

    Offer mhash as a provider for Manifest2 hash generation and validation.
    This is important as either of pycrypto or fchksum offer an accelerated
    Whirlpool implementation, and hashlib might not offer it. Additionally, the
    mhash implementation is accelerated and ships with a rigorious testsuite.

    Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>

commit 47c5f5c9a9891cc296e989d8f29ffb74ef7738a3
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sat Oct 1 22:42:22 2011 -0700

    whirlpool.py: handle xrange for python3

commit 8ac29097395f24ad331602d8e87fdf105ebd972b
Author: Robin H. Johnson <robbat2@gentoo.org>
Date:   Sat Oct 1 07:40:53 2011 +0000

    Manifest2 hash: SHA512

    Provide SHA512 hash algorithm to be used as new Manifest2 hash.

    Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>

commit f3b05d6eed63e19cdfa7f645cf0190ee8019dd90
Author: Robin H. Johnson <robbat2@gentoo.org>
Date:   Sat Oct 1 07:40:52 2011 +0000

    Manifest2 hash: Whirlpool

    Provide public-domain implementation of the Whirlpool hash algorithm to
    be used as new Manifest2 hash.

    Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>

commit f27473d04e6dee44983d1e5ac32ea9d4d375b5a2
Author: Robin H. Johnson <robbat2@gentoo.org>
Date:   Sat Oct 1 07:40:51 2011 +0000

    Refactor RMD160 hashlib code for less-hardcoding

    To be used shortly for WHIRLPOOL as well as RMD160.

    Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>

commit 1ae379c59a5cdc2d729f2b33807e70548afcbfb4
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sat Oct 1 22:17:52 2011 -0700

    Convert _generate_hash_function into a class.

commit c246c6db51b97f1c556c8bddfb955e7f55db700f
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sat Oct 1 21:58:35 2011 -0700

    Convert create_color_func into a class.

commit a2ffa0af21d114935ea5acc9ad7253b74d7966ec
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sat Oct 1 19:13:20 2011 -0700

    Add tests for KEYWORDS masking.

commit 9144faeb653b9f1dbe74c69f85cd48f26761aa2f
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sat Oct 1 19:12:52 2011 -0700

    KeywordsManager: support ~* in KEYWORDS

    This allows ~* in KEYWORDS to be match by any unstable keyword in the
    user's configuration, similar to how * in KEYWORDS already matches
    any user configuration. Thanks to Daniel Robbins <drobbins@funtoo.org>
    for the suggestion.

    Also, the warning about * or -* in KEYWORDS is now gone, so that ebuilds
    from the funtoo tree will be usable without triggering warnings like
    this. If necessary, we can add ways to selectively enable these kinds
    of warnings via layout.conf and/or repos.conf.

commit fcba9794d9d377cafc60679fc800e3f5a5b506d7
Author: Ryan Hill <dirtyepic@gentoo.org>
Date:   Sat Oct 1 17:34:14 2011 -0700

    dispatch-conf: fix replace-wscomments pattern

    This will fix bug #375613.

commit b33e1b6d26f9c4df6a1b6773e5471e2caa1012b3
Author: Zac Medico <zmedico@gentoo.org>
Date:   Fri Sep 30 15:05:00 2011 -0700

    repos.conf: implement trust-authoritative-cache

    This controls whether or not the layout.conf "authoritative-cache =
    true" setting will be trusted for a particular repo. It can be enabled
    globally by setting "trust-authoritative-cache = true" in the [DEFAULT]
    section of repos.conf.

commit ed3b2b43aa329d007f7bb0eb303b3f74e927970a
Author: Zac Medico <zmedico@gentoo.org>
Date:   Fri Sep 30 12:08:31 2011 -0700

    Fix 'authoritative' spelling.

commit a72a01746638debe472496bd8fc661992a6ba08b
Author: Brian Harring <ferringb@chromium.org>
Date:   Fri Sep 30 02:37:04 2011 -0700

    layout.conf: allow a repository to state the cache is authorative

    By authorative, this means "the cache is accurate; skip validation".
    While a useful hint for a slight speedup in validation, the true gain
    is for repositories that are distributed in a fashion that doesn't
    preserve mtime; git primarily.  Setting authorative-cache = true results
    in portage skipping mtime validation checks for the bundled cache,
    allowing for git vcs based repos to distribute a cache.

    BUG=chromium-os:21049 TEST=dump a cache into metadata/cache, touch it
    to now, set layout.conf
    	 to authorative-cache=true, verify it doesn't generate cache entries
    	 for that repo.

    Change-Id: I92423e679bc171d2411a18d6d3ac22e8ef457753

commit c2efbad8402a7e8904c7353a9930e87ea128b962
Author: Zac Medico <zmedico@gentoo.org>
Date:   Fri Sep 30 10:04:11 2011 -0700

    depgraph: tweak virtual transition code

    This fixes a false --binpkg-respect-use warning that's triggered by
    erroneous USE/IUSE comparison between the new-style virtual and an
    old-style virtual match.

commit d1a3c0f5ab81d1dbf70c0b8e5322cfb2d11b8ce7
Author: Zac Medico <zmedico@gentoo.org>
Date:   Fri Sep 30 01:30:00 2011 -0700

    depgraph: pull in new-style virtuals more

    This causes new-style virtuals to get pulled in for virtuals that are
    already satisfied by installed old-style virtuals. This case is common,
    due to PROVIDE being (removed without revision bump) from lots of ebuilds.

commit a24bcfcfad95fcf4b71064e386fb6272f41ff49a
Author: Zac Medico <zmedico@gentoo.org>
Date:   Thu Sep 29 09:48:55 2011 -0700

    repoman: never force unsigned manifest commit

    This removes a special case where manifests would first be commited
    without signatures for category-level or greater commits. This case
    behavior wasn't very useful anyway, and would be a problem if the unsigned
    manifests got rejected by a commit hook (as may happen in the near future).

commit 20119771015247be5a7143ff73f00ec52f9e83cb
Author: Zac Medico <zmedico@gentoo.org>
Date:   Wed Sep 28 18:41:22 2011 -0700

    tweak "missed updates" code from last commit

commit abcf9f8b8fcc7daacafc8284a580436d94e1668f
Author: Zac Medico <zmedico@gentoo.org>
Date:   Wed Sep 28 18:10:06 2011 -0700

    depgraph: verify "missed updates"

    Since the change involving slot conflict parent atoms in commit
    6cea2091526659521d35be6c8dc7733f69f1a760, we want to check to make sure
    we don't display any false positives in the "missed updates".

commit 0b12491de238eb6fb66a42019d8c83c59f0ad684
Author: Zac Medico <zmedico@gentoo.org>
Date:   Wed Sep 28 17:36:08 2011 -0700

    dispatch-conf: tweak pager basename comparison

commit 3be910392f1186cacf0796e952fb5dae38b10f57
Author: Zac Medico <zmedico@gentoo.org>
Date:   Wed Sep 28 11:41:44 2011 -0700

    dispatch-conf: support PAGER var for bug #384663

commit 374aa37ece5d67d003da358e35f0326da3cd2397
Author: Zac Medico <zmedico@gentoo.org>
Date:   Wed Sep 28 10:47:08 2011 -0700

    etc-update: support PAGER env var for bug #384663

commit 6ec1972b43512356f988fa23aa33c86b3629d16e
Author: Ruggero Morsucci <morse@supercomputing.univpm.it>
Date:   Wed Sep 28 06:50:04 2011 -0700

    archive-conf: dispatch_conf import bug #384665

commit 1f36702dbc1ce5e565b1d6e788d2c8e88f506edc
Author: Zac Medico <zmedico@gentoo.org>
Date:   Wed Sep 28 06:46:19 2011 -0700

    doebuild: allow_missing_manifests AttributeError

commit 6d35053a55470f9e8d5c359215f18d75acbcf043
Author: Zac Medico <zmedico@gentoo.org>
Date:   Tue Sep 27 23:48:59 2011 -0700

    Manifest.write(): tweak unlink logic

    This narrows the range of possible behaviors, such that the manifest
    will always be either written or unlinked, eliminating the possiblity
    that a stale manifest will ever be allowed to slip through without being
    overwritten or unlinked.

commit f3101b3adce6731790f80f83fafece54b7bd8a63
Author: Brian Harring <ferringb@chromium.org>
Date:   Fri Sep 23 16:43:28 2011 -0700

    manifest: controllable per repo

    This adds three states to layout.conf key use-manifest; false, true,
    and strict.

    false means "don't use manifests at all" true means "use and generate
    manifests, but allow them to be missing" strict means "manifests must
    be used everywhere in this repo"

    BUG=chromium-os:11308 TEST=repoman manifest usage.

commit 28ce242ff1bf55605227b1877aaba0b76388714c
Author: Zac Medico <zmedico@gentoo.org>
Date:   Tue Sep 27 22:26:27 2011 -0700

    depgraph: handle unicode exception for bug 384749

commit 60c7ca4030839a728a5975ee01e28c0330cf33ae
Author: Zac Medico <zmedico@gentoo.org>
Date:   Tue Sep 27 09:46:02 2011 -0700

    merge: handle \r in file names for bug #384597

commit da782a6de61a3c0d9cd079c14d920852d2a4db9b
Author: Zac Medico <zmedico@gentoo.org>
Date:   Tue Sep 27 07:58:26 2011 -0700

    porttree.py: remove unused variables

commit 6c6d98201812db2d4826d1a9becd9dcaee791d6c
Author: David James <davidjames@chromium.org>
Date:   Mon Sep 26 17:48:09 2011 -0700

    Cleanup unused variables / imports reported by pyflakes.

    Change-Id: I92890279dc69974da94cc9a8a5483ddd295512d4

commit e20dcd3e3c6f0bbe8c3d51bca35080d5a987c42f
Author: Zac Medico <zmedico@gentoo.org>
Date:   Mon Sep 26 12:41:53 2011 -0700

    tests/emerge: call ebuild(1)

commit 77b63ed6f9fc2f1c30dfb100ca12aef02f5f0240
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sat Sep 24 15:23:29 2011 -0700

    portdbapi.xmatch: fix unknown repo / return empty

    We want to return an empty list for the match-* methods, otherwise an
    empty string.

commit c495b938fd10295928f455db6391bcdac2031acc
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sat Sep 24 15:03:07 2011 -0700

    portdbapi: deprecate unused 'visible' method

commit 145d69342301e3a6372a172cfd2eb8069a6a0b3e
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sat Sep 24 14:44:36 2011 -0700

    portdbapi.xmatch: combine match-all with others

    This eliminates redundant code.

commit c0e897575e41ec4b8367e05d5d53f658ed0fcf8a
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sat Sep 24 14:31:48 2011 -0700

    portdbapi.xmatch: combine minimum-all/*-visible

    This eliminates redundant code.

commit 03adf83487276541b619396bdf79812b38ee8422
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sat Sep 24 14:18:41 2011 -0700

    portdbapi.xmatch: combine *-visible code

    This allows match-visible to avoid calling match-all, which allows it
    to avoid an extra loop over all repos.

commit 75907929be736e2d4cf088d8d9861f2666e59557
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sat Sep 24 13:58:16 2011 -0700

    portdbapi.xmatch: optimize minimum-visible

    Also, make repoman cache IUSE, since that's required for _match_use to
    work effciently. This will eliminate lots of redundant aux_get calls
    for repoman, triggered by USE deps.

commit 5e587e1db10e38f003462f8171bd4d838cc095be
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sat Sep 24 13:47:34 2011 -0700

    dbapi: split _match_use from _iter_match_use

commit 97d2dac2cb7ee7ad33a31786eed74e1c204576dd
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sat Sep 24 13:14:59 2011 -0700

    portdbapi: tweak single-tree optimization

    This optimizes aux_get and cp_list for cases where we only have a single
    tree, which is common for repoman and ebuild(1).

commit d3ad44b102f44aecdc0dc6ef951e853a9dd8dbbe
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sat Sep 24 12:50:06 2011 -0700

    portdbapi.xmatch: use _visible more

commit f4aaee6edd75b16ccbdd7bafe0e0288886a0113a
Author: Michał Górny <mgorny@gentoo.org>
Date:   Fri Sep 23 11:15:35 2011 +0200

    Invalidate 'no-herd', there will be no special herds.

commit 13729a95fe68a51a0a18194a913fee4d3c17d160
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sat Sep 24 12:27:39 2011 -0700

    portdbapi: split _visible from _iter_visible

commit 5076fa35cdcba5a092f16c2004e90d4d84c01044
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sat Sep 24 12:05:00 2011 -0700

    portdbapi: move repo loop to _iter_visible

    This allows use to avoid using a set to eliminate duplicates, since we can
    break out of the repo loop as soon as a given cpv is found to be visible.

commit f28353bdfb47855f14268edb6361f58577799136
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sat Sep 24 11:29:35 2011 -0700

    pordbapi: split _iter_visible method from visible

commit 64e7f6e3364cb5eceb9ccc1a1d915fe1f5cb810d
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sat Sep 24 11:13:14 2011 -0700

    portdbapi: combine gvisible and visible methods

    There's no need to have separate methods, and this allows us to avoid
    using separate aux_get calls in each method.

commit 9e17de9a9cbd412760b761b4362175939fd4b13d
Author: Zac Medico <zmedico@gentoo.org>
Date:   Fri Sep 23 14:00:26 2011 -0700

    portageq best_visible: use match-all-cpv-only

commit 0d375f1105ad67c8b7e3b16b57cdbb367f99cd69
Author: Zac Medico <zmedico@gentoo.org>
Date:   Fri Sep 23 13:50:45 2011 -0700

    portdbapi.xmatch: deprecate *match-list

    These don't mesh well with multi-repo support.

commit 8be9e967be8e0c038245f55ec927da5b1caa5d54
Author: Zac Medico <zmedico@gentoo.org>
Date:   Fri Sep 23 13:00:57 2011 -0700

    portdbapi.xmatch: fix minimum-all for multi-repo

commit 0666aa9e6c88cdeaf5806dda27e40eb96df9db86
Author: Zac Medico <zmedico@gentoo.org>
Date:   Fri Sep 23 12:52:58 2011 -0700

    Fix cp_list mytree argument for match-all.

    This is a regression from commit 3d07f74a2fb2e0480e126335f6981218f60da824.

commit ed9982d781a81651db0480af128a6509eafe358a
Author: Fabian Groffen <grobian@gentoo.org>
Date:   Fri Sep 23 20:35:29 2011 +0200

    install_hooks: fix variable name for PORTAGE_CONFIGROOT

    in addition, omit the leading slash, since PORTAGE_CONFIGROOT contains
    a trailing slash

commit 3d07f74a2fb2e0480e126335f6981218f60da824
Author: Zac Medico <zmedico@gentoo.org>
Date:   Fri Sep 23 11:19:13 2011 -0700

    portdbapi.xmatch: fix match-all for multi-repo

commit f64ce9b20d5db158cd231691da97580595c1f518
Author: Zac Medico <zmedico@gentoo.org>
Date:   Fri Sep 23 10:56:15 2011 -0700

    man/emerge.1: fix spelling of behavior

commit 6f4a5ef478b76ac24e6cd54a38728415fe852277
Author: Zac Medico <zmedico@gentoo.org>
Date:   Fri Sep 23 10:46:38 2011 -0700

    Revert "unpack: handle non-gz files from deb2targz"

    This reverts commit dd7c57ecb90949ce3306394cfe262566b87351ca.  We'll do
    this in a new EAPI, as discussed in bug #384147.

commit dd7c57ecb90949ce3306394cfe262566b87351ca
Author: Zac Medico <zmedico@gentoo.org>
Date:   Fri Sep 23 10:12:19 2011 -0700

    unpack: handle non-gz files from deb2targz

    This will fix bug #384147.

commit 46d40215f2b7fafc7a78acc0ee2ccc53ade846b0
Author: Arfrever Frehtes Taifersar Arahesis <Arfrever@Gentoo.Org>
Date:   Fri Sep 23 06:03:38 2011 +0200

    Fix a typo.

commit 13660734e81a8d35c7204fe05fb26068ad7bd19f
Author: Arfrever Frehtes Taifersar Arahesis <Arfrever@Gentoo.Org>
Date:   Fri Sep 23 05:23:01 2011 +0200

    Fix 'shopt: +s: invalid shell option name' error.

commit c83131e33c4c0138033c439da91fd3e257a75c1a
Author: Zac Medico <zmedico@gentoo.org>
Date:   Thu Sep 22 19:29:53 2011 -0700

    portdbapi.xmatch: deprecate list-visible

commit 5c0f7b06a0b7f6461b3d38ea5a7c261d767fd82b
Author: Zac Medico <zmedico@gentoo.org>
Date:   Thu Sep 22 18:54:52 2011 -0700

    Fix Atom.with_repo() bugs.

commit 1b4ee4f4c5c01c49b91f1618f4b2ab6305f28eca
Author: Zac Medico <zmedico@gentoo.org>
Date:   Thu Sep 22 18:47:04 2011 -0700

    Fix minimum/bestmatch-visible for multi-repo.

commit f4f78a6a7c90fb25f2937dba3422774e5f2b535c
Author: Zac Medico <zmedico@gentoo.org>
Date:   Thu Sep 22 17:53:45 2011 -0700

    portdbapi: handle multi-repo visiblity

    This will fix bug #384063. The xmatch list-visible mode was previously
    used to cache a list of all visible cpvs for a given cp, but this is
    not useful when there can be duplicate cpvs with different visibility
    from multiple repos.

commit bb6448785038e812b806e14d16497a1a3aacd201
Author: Zac Medico <zmedico@gentoo.org>
Date:   Thu Sep 22 17:47:48 2011 -0700

    Atom: add a with_repo method for adding a repo

commit 21cd90fb1fdf8266aff8cdeb1c308eabddf190ca
Author: Zac Medico <zmedico@gentoo.org>
Date:   Thu Sep 22 17:17:28 2011 -0700

    fetch: remove stray print for bug 383859

commit c157d3b4ce32573263676c48659fd8fbe1cf122f
Author: Zac Medico <zmedico@gentoo.org>
Date:   Thu Sep 22 16:52:47 2011 -0700

    portageq best_visible: multi-repo support

    This will fix bug #384063.

commit 64899b4f3bfcce72b487428d36b279454b298c88
Author: Zac Medico <zmedico@gentoo.org>
Date:   Thu Sep 22 12:06:18 2011 -0700

    Test direct virtual circular dep for bug #384107.

commit 7369c82039a3ead20d015e1856fc3f4f78d31c22
Author: Zac Medico <zmedico@gentoo.org>
Date:   Thu Sep 22 11:19:05 2011 -0700

    Test || choice circular handling.

commit 1ed746be090390bd698810081f30164094ea402d
Author: Zac Medico <zmedico@gentoo.org>
Date:   Thu Sep 22 08:44:48 2011 -0700

    Tweak auto --binpkg-respect-use more.

    We don't want to check for --rebuilt-binaries here, unless --usepkg is
    also enabled. In fact, we can skip the --rebuilt-binaries check since
    people who really want to ensure that binary packages are used as much
    as possible will typically specify --usepkgonly (or --getbinpkgonly
    which implies --usepkgonly).

commit c85965f6d0493bab84d6b7a615d39678df9d53ba
Author: Zac Medico <zmedico@gentoo.org>
Date:   Wed Sep 21 20:03:03 2011 -0700

    Tweak automatic --binpkg-respect-use behavior.

    If --binpkg-respect-use is not explicitly specified, we enable the behavior
    automatically (like requested in bug #297549), as long as it doesn't
    strongly conflict with other options that have been specified.  Strongly
    conflicting options currently include --usepkgonly and --rebuilt-binaries.

commit 339b0ac7f3b1f5e82b427a3cde6c021c406d5b71
Author: Sebastian Luther <SebastianLuther@gmx.de>
Date:   Wed Sep 21 19:04:11 2011 -0700

    Make --binpkg-respect-use=y the default

    Explicitly stating --binpkg-respect-use=y will disable the ignored binary
    warning. This will fix bug #297549.

commit 8111f07162a14674484fa3bbb21550cb927818ad
Author: Sebastian Luther <SebastianLuther@gmx.de>
Date:   Wed Sep 21 18:59:17 2011 -0700

    Warn about ignored binary packages with non matching USE

commit 9144182d9c8f0cf16973d8ec91eafc624310c6ca
Author: Brian Harring <ferringb@gmail.com>
Date:   Wed Sep 21 15:50:28 2011 -0700

    add install hooks

commit 2733ea17d8e25db8dd369e8890337ddb553e2509
Author: Zac Medico <zmedico@gentoo.org>
Date:   Wed Sep 21 12:32:19 2011 -0700

    emerge: add --complete-graph-if-new-ver < y | n >

    Trigger the --complete-graph behavior if an installed package version
    will change (upgrade or downgrade). This option is enabled by default.

commit f127d25373a42f3200a331b7f2641a1cf0e90b50
Author: Sebastian Luther <SebastianLuther@gmx.de>
Date:   Wed Sep 21 07:11:06 2011 -0700

    Point users to the man page instead of duplicating it in --help

commit 5f3826d1b1a82f4e0b2c2ffdb663e8b785d7e7fa
Author: Sebastian Luther <SebastianLuther@gmx.de>
Date:   Wed Sep 21 14:23:44 2011 +0200

    autounmask: Always use unresticted atoms for license and USE changes

    See bug 379333.

commit 6cea2091526659521d35be6c8dc7733f69f1a760
Author: Sebastian Luther <SebastianLuther@gmx.de>
Date:   Mon Sep 19 15:07:08 2011 +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.

commit 72ef29a6adaa053cf2d538349a3a1555909ed697
Author: Zac Medico <zmedico@gentoo.org>
Date:   Mon Sep 19 09:03:24 2011 -0700

    Document ** keyword for --autounmask-keep-masks.

commit 392cc10c0a6f608ab7a8f4a8043b58589c6ee21c
Author: Zac Medico <zmedico@gentoo.org>
Date:   Mon Sep 19 08:53:55 2011 -0700

    Suggest --autounmask-keep-masks for ** keyword.

commit cfae195364f3cc9700f34eef031933ff701d029d
Author: Sebastian Luther <SebastianLuther@gmx.de>
Date:   Mon Sep 19 13:05:23 2011 +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.

commit d36be695ea48025ba195deb82f51846aee2254ec
Author: Sebastian Luther <SebastianLuther@gmx.de>
Date:   Mon Sep 19 07:32:08 2011 -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.

commit 7e956a6ec65b9b48a9fca3e928e7c7b56fd066b6
Author: Sebastian Luther <SebastianLuther@gmx.de>
Date:   Mon Sep 19 13:45:35 2011 +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.

commit 343418c4cbd1c0dbf65583adeab618db09efea6c
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sun Sep 18 20:17:44 2011 -0700

    bin/ebuild: simplify PORTDIR_OVERLAY query

    There's no need to query os.environ here, because portage.settings will
    inherit the value automatically.

commit 81e0f87b5c1da0ebc531d89846135b72743e71e0
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sun Sep 18 20:05:35 2011 -0700

    Test --prune with virtual slots.

commit 89664c0c4280372be5b593880c2ac5ccc695f688
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sun Sep 18 16:45:20 2011 -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.

commit 1a5a662780f7a4401a89f0939a9180872f36f05f
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sun Sep 18 15:47:45 2011 -0700

    env_update: use global vardbapi as fallback

commit 7307975a8f4ee465a27ed7cd28fde5db22607248
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sun Sep 18 14:57:08 2011 -0700

    get_dep_chain: fix KeyError if start_node is root

commit 62da1be30a7b9a9d550e63a18f0c6736f0801b59
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sun Sep 18 13:41:07 2011 -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.

commit 424f8f8d6587f015e074e3e915746929a990a52f
Author: Sebastian Luther <SebastianLuther@gmx.de>
Date:   Sun Sep 18 22:00:57 2011 +0200

    autounmask: Document where changes are writen

commit 57cc4e3e8991e7c4394d1dff7698aa62ed2a286b
Author: Sebastian Luther <SebastianLuther@gmx.de>
Date:   Sun Sep 18 21:30:46 2011 +0200

    autounmask: Ensure a suitable parent is displayed in the dep chain

    Fixes bug 375265.

commit 552720b56d811875b25cad201cd38641ad62da81
Author: Sebastian Luther <SebastianLuther@gmx.de>
Date:   Sun Sep 18 21:28:12 2011 +0200

    ResolverPlayground: Add support for world sets

commit c7474fe52e1c52bb6b17bc56ae489d8efc3c0ef3
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sun Sep 18 12:42:38 2011 -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.

commit dc23070e710acecf9b0229f81a980719605d9409
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sat Sep 17 11:06:48 2011 -0700

    RepoConfigLoader: handle ValueError from shlex

    This will handle the issue reported in bug #383269, comment #5.

commit c5ffb546b7833dfcefffe7c68ab3a3f040139a91
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sat Sep 17 10:51:26 2011 -0700

    _RepoDisplay: split PORTDIR_OVERLAY with shlex

    This fixes the issue in bug #383269, comment #8.

commit 3a4ca2531dfa7cd9dabcbf2ccfec1d977aef7f49
Author: Alon Bar-Lev <alon.barlev@gmail.com>
Date:   Sat Sep 17 10:32:25 2011 -0700

    emerge-webrsync: exit if "gpg binary not found"

    This prevents an endless loop (bug #383375).

commit 38af3b5daa12ae1212850cc6722081cbe13e8a71
Author: Zac Medico <zmedico@gentoo.org>
Date:   Fri Sep 16 22:50:36 2011 -0700

    config: quote PORTDIR_OVERLAY paths more

    This fixes the issue in bug #383269, comment #3.

commit 4242e2ce17105cd9a55ee8027c2be795b7c6e91e
Author: Zac Medico <zmedico@gentoo.org>
Date:   Fri Sep 16 21:09:02 2011 -0700

    repoman: quote paths in PORTDIR_OVERLAY

    This will fix bug #383269.

commit 9623d8bfdeee4e2ab728529a86322a26f1b6258e
Author: Brian Harring <ferringb@chromium.org>
Date:   Thu Sep 15 15:06:44 2011 -0700

    move locking into env_update itself

commit 64b83bcc9935cb3255ed96238db86fb27120abfa
Author: Zac Medico <zmedico@gentoo.org>
Date:   Wed Sep 14 22:48:26 2011 -0700

    Remove unused Manifest imports.

commit bcf26c6b4ad3e757b037f2c12c64a0406f70bf41
Author: Zac Medico <zmedico@gentoo.org>
Date:   Wed Sep 14 22:34:38 2011 -0700

    doebuild: avoid redundant distfiles checks

commit 01d4dde5a17648b8004e3633bf11ed945a0fa796
Author: Zac Medico <zmedico@gentoo.org>
Date:   Wed Sep 14 22:30:46 2011 -0700

    digestcheck: only show relevant msgs for thin

commit 70e7107bfb01225c0aac74ce32f66b1c3b0d4d2d
Author: Zac Medico <zmedico@gentoo.org>
Date:   Wed Sep 14 22:09:04 2011 -0700

    Fix multislot handling for depclean (bug #382823)

commit a5e7c15b03a9c6982f28ad2460261c98fe35889b
Author: Zac Medico <zmedico@gentoo.org>
Date:   Wed Sep 14 21:15:39 2011 -0700

    Test non-empty thin manifests.

commit 30d598768326128d5e6c22983fb456eb1085cf7e
Author: Zac Medico <zmedico@gentoo.org>
Date:   Wed Sep 14 19:55:03 2011 -0700

    Handle non-existent thin manifest in tests.

commit 7b9709d96425606366b56b33168544a6897d69b0
Author: Zac Medico <zmedico@gentoo.org>
Date:   Wed Sep 14 19:44:28 2011 -0700

    digestcheck: remove empty/missing Manifest checks

    These checks never really needed, and they are not valid for thin
    manifests or allow-missing-manifests.

commit 7a216218968dc1d00f2881121870611bc1b5dd33
Author: Zac Medico <zmedico@gentoo.org>
Date:   Wed Sep 14 19:36:54 2011 -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.

commit d1f3fdfb943a9021d454c12b3418e44e5275ad69
Author: Zac Medico <zmedico@gentoo.org>
Date:   Wed Sep 14 19:21:45 2011 -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.

commit 19471c377fd85c32f35b496f8f5901df6746b533
Author: Arfrever Frehtes Taifersar Arahesis <Arfrever@Gentoo.Org>
Date:   Wed Sep 14 22:45:23 2011 +0200

    Fix typos in comments.

commit 3661e42c50840d50fa74e4114aa0eb2035c98e38
Author: Arfrever Frehtes Taifersar Arahesis <Arfrever@Gentoo.Org>
Date:   Wed Sep 14 22:39:06 2011 +0200

    Fix grammar in some messages.

commit 630996d8ea9dcdb429e56fa55b966c47a2dff433
Author: Zac Medico <zmedico@gentoo.org>
Date:   Wed Sep 14 13:23:34 2011 -0700

    repoman: use repodir more

commit f6ccf1ef3886bebbc07b9c177819887abdc9f303
Author: Zac Medico <zmedico@gentoo.org>
Date:   Wed Sep 14 11:40:06 2011 -0700

    repoman: test symlinked repo path

commit 280f10d42a8fbfe3b4b34eb18e6ea5f8dd3ff484
Author: Zac Medico <zmedico@gentoo.org>
Date:   Wed Sep 14 11:34:19 2011 -0700

    repoman: use the repodir variable more

commit 3db6f6e783e5bef8240c04b8a6c6a8b7983572a5
Author: Zac Medico <zmedico@gentoo.org>
Date:   Wed Sep 14 10:08:52 2011 -0700

    digestgen: remove duplicate 'mytree' variables

commit 275134399b75d5f6740954c942dbb3921b9828e8
Author: Zac Medico <zmedico@gentoo.org>
Date:   Wed Sep 14 09:23:18 2011 -0700

    digestgen: handle get_repo_for_location KeyError

commit c1eb8e75ba4cb192607a896ad7b72bf8b525740a
Author: Zac Medico <zmedico@gentoo.org>
Date:   Wed Sep 14 09:08:19 2011 -0700

    repoman: fix KeyError from digestgen with symlink

commit 05f5e7f26b92f534ffa0be28ec0a4ff58c0b0d6b
Author: Zac Medico <zmedico@gentoo.org>
Date:   Tue Sep 13 21:49:23 2011 -0700

    Deprecate the manifest1_compat parameter.

commit e91f097c248fa02b2273b2fd9b142703fda5372d
Author: Zac Medico <zmedico@gentoo.org>
Date:   Tue Sep 13 19:35:36 2011 -0700

    manifest: remove unused 'pf is None' case

commit 68462daca775701f090cf9fc442310512c585e6b
Author: Zac Medico <zmedico@gentoo.org>
Date:   Mon Sep 12 23:06:50 2011 -0700

    man/portage.5: layout.conf examples manifests

commit 9cb089047e10b300100e7bbdc4274ecf8866b0bb
Author: Zac Medico <zmedico@gentoo.org>
Date:   Mon Sep 12 22:48:36 2011 -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.

commit c646a13990bc1267ab5f557d72f3c02c08be82ad
Author: Zac Medico <zmedico@gentoo.org>
Date:   Mon Sep 12 22:22:09 2011 -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.

commit 3c59510e894e39f105e3c72c444021deeeb7e062
Author: Zac Medico <zmedico@gentoo.org>
Date:   Mon Sep 12 22:01:08 2011 -0700

    _validate_deps: pass myrepo to aux_get

commit 7bd285079a6b66fbf7548d040af800ce0b51f0ae
Author: Zac Medico <zmedico@gentoo.org>
Date:   Mon Sep 12 21:56:48 2011 -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.

commit 48a2edbf0f0677cc97bae388cc391b563c8e4859
Author: Zac Medico <zmedico@gentoo.org>
Date:   Mon Sep 12 21:33:01 2011 -0700

    doebuild: support allow-missing and thin manifest

commit 677240f7b3db66bdcd403c214e5d3fa30e31a24a
Author: Zac Medico <zmedico@gentoo.org>
Date:   Mon Sep 12 20:20:00 2011 -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.

commit 732fe15bde15f537df3c867f1d93744b792472b5
Author: Sebastian Luther <SebastianLuther@gmx.de>
Date:   Wed Sep 7 08:13:59 2011 +0200

    Add tests for thin manifests

commit af7933ee4df1d62a6567510dc7e84a0cf13a09ef
Author: Brian Harring <ferringb@gmail.com>
Date:   Thu Sep 1 14:50:25 2011 -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.

commit 69613e420d5be52e413c7c60e571710c2597f58d
Author: Brian Harring <ferringb@gmail.com>
Date:   Thu Sep 1 14:36:45 2011 -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.

commit f908cddb505b81533861196c4713378e63dac1fa
Author: Brian Harring <ferringb@gmail.com>
Date:   Wed Aug 31 17:29:58 2011 -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.

commit 53860ffa675b0cf1930589ff9fa15b5ffaa2cf75
Author: Brian Harring <ferringb@gmail.com>
Date:   Wed Aug 31 16:42:34 2011 -0700

    refactoring; unhide part of the parsing functionality

commit 9116d2b8a7b553e4d445f0d9329a28aa54dfd1ef
Author: Zac Medico <zmedico@gentoo.org>
Date:   Mon Sep 12 13:37:32 2011 -0700

    ebuild.sh: make use* return false for "depend"

    This ensures that `use multislot` is false for the "depend" phase.

commit 9fd712873f8f974089bbd4ab43f3ff4bd3308aa9
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sun Sep 11 20:06:27 2011 -0700

    save-ebuild-env.sh: tweak PYTHONPATH cleansing

commit 324628c70352d3aad4c32c51ce254964e5b19554
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sun Sep 11 18:38:06 2011 -0700

    config: set USERLAND if unset

commit 20b0fdd6910d094b829a16c54a97f8d2900e00de
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sun Sep 11 18:24:48 2011 -0700

    isolated-functions.sh: skip set_colors for depend

    This avoids an unneeded stty call.

commit 4463e4a87ec2835e1454bbe4f99e5b054aa12855
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sun Sep 11 18:09:44 2011 -0700

    Move KV funcs to bashrc-functions.sh.

commit 80737f32ff8bcebe327821243594d17bd4f79fdd
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sun Sep 11 17:56:57 2011 -0700

    isolated-functions.sh: split save-ebuild-env.sh

commit 29cc214d53c7babfa825c7a07cc8d58b4fe5da95
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sun Sep 11 17:33:18 2011 -0700

    ebuild.sh: setup PATH earlier

    This avoids "uname: command not found" messages from isolated-functions.sh.

commit bddd8215f278a61210a320bb05416020e28ac2c1
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sun Sep 11 17:16:26 2011 -0700

    ebuild.sh: source *.sh at the top

commit 8d2db38d565f852537211c80153f56a251b84f3a
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sun Sep 11 17:01:50 2011 -0700

    Move preprocess_ebuild_env to phase-functions.sh.

commit 443a516e1a8e2703bdd25a4a89f385969128d3b3
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sun Sep 11 16:39:10 2011 -0700

    ebuild.sh: split out bashrc-functions.sh

commit 11d543aacf2ee7f7f214a256aabf668ad27ca013
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sun Sep 11 16:15:28 2011 -0700

    ebuild.sh: move hasg* funcs into econf

commit 8fb7653c2923bd1a1de5eb842356020c6fbf065e
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sun Sep 11 15:58:24 2011 -0700

    ebuild.sh: remove unused lchown and lchgrp

commit e40e2bce40464dace057d91f0a24ba682928814a
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sun Sep 11 15:50:07 2011 -0700

    build.sh: has/best_version to phase-helpers.sh

commit fdd2bc1c1fdf8f20732749d44c39c3cab3cc2d52
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sun Sep 11 15:17:09 2011 -0700

    ebuild.sh: move ebuild_main to phase-functions.sh

commit fc4e3c9cae17a0dc0867c7e5ccefbb47eb5e36f7
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sun Sep 11 14:29:04 2011 -0700

    ebuild.sh: move use* funcs to phase-helpers.sh

commit 6a1a8397003edc599c3916d284676a81a02af0e0
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sun Sep 11 14:16:23 2011 -0700

    ebuild.sh: add dummy funcs for "depend" phase

commit b95cbb6b78ad6d9b8e2d3edc5fafff122c3ce7c5
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sun Sep 11 13:43:10 2011 -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.

commit 676d6b23b096ef65d97fb9f02cc61959004d9edf
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sun Sep 11 11:49:36 2011 -0700

    Add VirtualSlotResolverTestCase for bug #382557.

commit a83f1864180ac88675bfd633617d835e9e42c1de
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sun Sep 11 10:30:56 2011 -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.

commit 88438656a7b3b5824369043792ce27e63eb76f46
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sat Sep 10 17:47:07 2011 -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.

commit 2992864b6d33d014f7c011b9ae67fe00164ded47
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sat Sep 10 17:24:21 2011 -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.

commit d3789b062ba0214c77823345d582875232b27be9
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sat Sep 10 14:50:57 2011 -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.

commit 5234db7c94a342347069f4a49202afa4e371b60c
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sat Sep 10 12:42:51 2011 -0700

    repoman: fix a typo in the file.executable desc

commit 9f58b6e47090766454af1106806d08391772b13b
Author: Michał Górny <mgorny@gentoo.org>
Date:   Sat Sep 10 20:13:45 2011 +0200

    Add repoman warning about bash-completion deprecation.

commit 569bbe4747eceb70b3225101ec9c538b1db475aa
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sat Sep 10 07:31:10 2011 -0700

    depgraph: use Atom.with_slot() to match virtuals

    This ensures that USE deps and repo deps are preserved here.

commit c626e20620cb7004d0fe55e18288a0f15fcb48d7
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sat Sep 10 07:25:19 2011 -0700

    Atom: add a with_slot method for adding a slot

commit 08079b0683c0c5e9d02aaa8508cae27206e1a46e
Author: Zac Medico <zmedico@gentoo.org>
Date:   Fri Sep 9 20:22:29 2011 -0700

    depgraph: use _iter_match_pkgs_any where possible

commit db32c3e3ca1e3cc724acacc79a5be2343efc13d1
Author: Zac Medico <zmedico@gentoo.org>
Date:   Fri Sep 9 13:47:30 2011 -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.

commit 21330075f07248765016e104b3ba8216903f1ecb
Author: Zac Medico <zmedico@gentoo.org>
Date:   Fri Sep 9 12:58:27 2011 -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.

commit 58eb89592bfc3ac40ac0235ebcc52910b51a826c
Author: Zac Medico <zmedico@gentoo.org>
Date:   Thu Sep 8 21:05:58 2011 -0700

    getbinpkg: fix old binhost protocol for python3

    This will fix bug #382233.

commit 4b8614d99da3e4d5ce46c70c944cce5d5d1d9a1f
Author: Zac Medico <zmedico@gentoo.org>
Date:   Wed Sep 7 11:01:14 2011 -0700

    egencache: tweak cache dir write access check

commit 5e1f136ba4c4f31dd5540594f48dc42f62ee09d9
Author: Zac Medico <zmedico@gentoo.org>
Date:   Wed Sep 7 10:49:46 2011 -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.

commit 37d9c3df6b25f10a78ff216875bb481e0171fae0
Author: Zac Medico <zmedico@gentoo.org>
Date:   Wed Sep 7 10:36:37 2011 -0700

    pordbapi: add unshared cache mode for egencache

commit d3aebd49c1a6b893b078f5593677f295a8e77903
Author: Zac Medico <zmedico@gentoo.org>
Date:   Wed Sep 7 09:29:48 2011 -0700

    egencache: validate cache dir more

commit f55f1714c7e2855ca4cbb45f9d8ae6cee126af17
Author: Zac Medico <zmedico@gentoo.org>
Date:   Wed Sep 7 08:56:15 2011 -0700

    cache/volatile: fix __iter__ and __contains__

    Special methods can't be assigned in the constructor.

commit 4cb0e06b04d5dfa9c257decf9895365f975fb17c
Author: Zac Medico <zmedico@gentoo.org>
Date:   Tue Sep 6 12:15:06 2011 -0700

    abssymlink: fix inverted logic from last commit

commit eab5a6ee1abff1fbf142cf1558ba940b6d4b270a
Author: Zac Medico <zmedico@gentoo.org>
Date:   Tue Sep 6 11:34:57 2011 -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.

commit 8ce21665b856e24815274240011a4aa81826113a
Author: Zac Medico <zmedico@gentoo.org>
Date:   Mon Sep 5 16:26:05 2011 -0700

    tests/emerge: test regenworld

commit d7a07a90a06de61563c6041eebde7a4198b643cf
Author: Zac Medico <zmedico@gentoo.org>
Date:   Mon Sep 5 16:22:11 2011 -0700

    tests/emerge: test fixpackages

commit 4dfa32988cf5b3eeab09e2701e40a4270abe6ceb
Author: Zac Medico <zmedico@gentoo.org>
Date:   Mon Sep 5 16:16:01 2011 -0700

    tests/emerge: test env-update

commit b2607fa29ce49e08b4957babce1fb1204ca5a1ad
Author: Zac Medico <zmedico@gentoo.org>
Date:   Mon Sep 5 16:06:44 2011 -0700

    tests/emerge: test portageq

commit 19836e6de2a3723abe9b1f0440c7c08a28813f56
Author: Zac Medico <zmedico@gentoo.org>
Date:   Mon Sep 5 15:44:40 2011 -0700

    ResolverPlayground: make.profile in /etc/portage

commit 41652a49cbd99ea129b36834faf5ba7508f3f617
Author: Zac Medico <zmedico@gentoo.org>
Date:   Mon Sep 5 15:35:02 2011 -0700

    tests/emerge: test egencache

    This tests --update in any case, and --update-use-local-desc only if
    python xml support is detected.

commit c39406adff994d6483a08edf59c9bf6b84191f68
Author: Zac Medico <zmedico@gentoo.org>
Date:   Mon Sep 5 14:43:42 2011 -0700

    tests/emerge: add a debug mode that shows stdout

commit 1843d7f56d682003b09189c142899b2550427a28
Author: Zac Medico <zmedico@gentoo.org>
Date:   Mon Sep 5 14:27:35 2011 -0700

    tests/emerge: test directory with latin-1 enc

commit 8539b5778f1cea24aab4ff47b1b65516c254de1f
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sun Sep 4 17:58:44 2011 -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.

commit 22723ad12ea03fada67c7c80df66b4524cfe00be
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sun Sep 4 12:05:48 2011 -0700

    test_pty_eof: add SKIP msg for unsupported plat

commit 8b977710e7725d395d4d970d17a2d5192df86bbc
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sun Sep 4 10:21:57 2011 -0700

    tests/emerge: auto-disable sandbox if necessary

commit 59991c66613e7a05e363e32d48bf6ac3918b31a6
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sat Sep 3 17:22:25 2011 -0700

    Fix repoman dependency.unknown to use xmatch.

    This solves the issues discussed in bug #381087, comment #8.

commit a62537685afbe492d4686cb6a636cbe556fe74d9
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sat Sep 3 16:46:09 2011 -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).

commit fe01dc23324660ae18c732cfacd458c3faf50ad7
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sat Sep 3 16:32:50 2011 -0700

    Join /var/log/emerge.log with EPREFIX.

commit b449f5df29848097b12e161df5d50ceed03a0517
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sat Sep 3 16:17:04 2011 -0700

    elog/mod_save: join /var/log with os.sep too

commit a732c34814c2bbcc25b97a29b0cb73ae625a6bb0
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sat Sep 3 16:11:10 2011 -0700

    elog/mod_echo: send all msg types to stdout

commit 48e99671013b1dec046059724b01324d8aa1086c
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sat Sep 3 15:59:38 2011 -0700

    elog/mod_save: join /var/log with EPREFIX

commit 28d217d88dab85ffe315ef6bc4659d69c4f17095
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sat Sep 3 12:04:58 2011 -0700

    Handle unpickle EOFError.

commit bc636fe8f9720957f29e5a07cd98531f20368ddd
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sat Sep 3 11:39:05 2011 -0700

    Handle unpickle AttributeError (bug #381705).

commit 3f9239de54cc90972750f673102f88b824e500ba
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sat Sep 3 11:05:57 2011 -0700

    tests/emerge: add minimal herds.xml

    This will allow src_test to trigger issues like bug #381657.

commit fea331226ed0d760ab2d0e86650d62dd32230cd6
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sat Sep 3 10:09:01 2011 -0700

    xml/metadata: handle py 3.1 cElementTree incompat

    This will fix bug #381657.

commit 7455c3845f0d0960af2194fdc4917c556fe7b04c
Author: Arfrever Frehtes Taifersar Arahesis <Arfrever@Gentoo.Org>
Date:   Fri Sep 2 19:28:24 2011 +0200

    Fix indentation.

commit cfe7af2b1da9357d5bfaa531f288ef0ac074184c
Author: Zac Medico <zmedico@gentoo.org>
Date:   Fri Sep 2 08:45:43 2011 -0700

    xml/metadata: handle py 2.6 cElementTree incompat

commit d318bcce356b55d481e78b8cf511d6698f67eee5
Author: Zac Medico <zmedico@gentoo.org>
Date:   Fri Sep 2 08:06:58 2011 -0700

    vartree: add missing _merge_unicode_error import

commit 2f43793ee2d3103b2841bc398da5b04e781f36fd
Author: Zac Medico <zmedico@gentoo.org>
Date:   Thu Sep 1 23:34:06 2011 -0700

    tests/emerge: disable unmerge delays

commit a9a50ee57b7fe7a85d7ee01f686e3572c3a89d3a
Author: Zac Medico <zmedico@gentoo.org>
Date:   Thu Sep 1 19:50:42 2011 -0700

    tests/emerge: test binary packages and emaint

commit 82562066096bcb3fa57656775aa79bad69bceada
Author: Zac Medico <zmedico@gentoo.org>
Date:   Thu Sep 1 19:10:51 2011 -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.

commit 6feb5a12ed3b501ea5f65dad14d4026105469ad9
Author: Zac Medico <zmedico@gentoo.org>
Date:   Thu Sep 1 18:43:31 2011 -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).

commit 9bcba040300459fab19778925727ccfc72f55e3d
Author: Zac Medico <zmedico@gentoo.org>
Date:   Thu Sep 1 17:24:03 2011 -0700

    Show merge list before "missed update" messages.

commit 5e15e5830a915c614cd81f6a87b2e73ac116368d
Author: Zac Medico <zmedico@gentoo.org>
Date:   Thu Sep 1 01:43:03 2011 -0700

    merge: start at correct EPREFIX offset

commit 806b8431c600bbeb7831a4ec200a599d215cd4e0
Author: Zac Medico <zmedico@gentoo.org>
Date:   Thu Sep 1 00:17:36 2011 -0700

    tests/emerge: install some files

commit 20af2c9b0e141029ded40d2ac24c4a09042d8b05
Author: Zac Medico <zmedico@gentoo.org>
Date:   Wed Aug 31 23:55:06 2011 -0700

    tests/emerge: add some pkgs for depclean

commit 22c76160f6a905500c7d217efeae8c58a8298581
Author: Zac Medico <zmedico@gentoo.org>
Date:   Wed Aug 31 23:48:25 2011 -0700

    doebuild_environment: include EPREFIX in ED

commit 0d79d130c27af4ba9676c9297639e064d18d9528
Author: Zac Medico <zmedico@gentoo.org>
Date:   Wed Aug 31 23:45:01 2011 -0700

    unmerge: never unmerge outside of EROOT

commit 1df7fc5c8c1295aec7bf3c91863432ebac0caae5
Author: Zac Medico <zmedico@gentoo.org>
Date:   Wed Aug 31 19:52:58 2011 -0700

    xml/metadata: implement XMLParser.doctype()

    Avoid deprecation warnings again, like in commit
    63035acd702ab0cdaac31e33676b5a20a91eae47.

commit d7579ecd27ca051d7f987102caeb53e826a6fe93
Author: Zac Medico <zmedico@gentoo.org>
Date:   Wed Aug 31 19:54:19 2011 -0700

    Revert "xml/metadata: implement XMLParser.doctype()"

    This reverts commit ce501b36d7078db059c606d3b4f38637ad09528e.  This commit
    had lots of unintended changes included.

commit ce501b36d7078db059c606d3b4f38637ad09528e
Author: Zac Medico <zmedico@gentoo.org>
Date:   Wed Aug 31 19:52:58 2011 -0700

    xml/metadata: implement XMLParser.doctype()

    Avoid deprecation warnings again, like in commit
    63035acd702ab0cdaac31e33676b5a20a91eae47.

commit 6b8855016820fb84bac25720d99bf8e42c9e9469
Author: Zac Medico <zmedico@gentoo.org>
Date:   Wed Aug 31 19:39:12 2011 -0700

    Fix deprecated Element.getchildren() call.

commit fec1b3e25dc5f278913384b88cfea2697eb7954d
Author: Zac Medico <zmedico@gentoo.org>
Date:   Wed Aug 31 11:07:05 2011 -0700

    make.conf.5: bump date stamp

commit 377720b203f2f22609da0429ec866ba671fc2da0
Author: Zac Medico <zmedico@gentoo.org>
Date:   Wed Aug 31 10:54:52 2011 -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.

commit 10344709eeba075dc3954889f7f08e309bf33251
Author: Zac Medico <zmedico@gentoo.org>
Date:   Tue Aug 30 20:04:17 2011 -0700

    repoman: enable dependency.unknown for blockers

    This will fix bug #381087.

commit c47394cb28a841d5b7399f548c2507a85a158bdd
Author: Zac Medico <zmedico@gentoo.org>
Date:   Tue Aug 30 19:31:48 2011 -0700

    Respect package.env buildpkg FEATURES settings.

    This will fix bug #318897.

commit c7ff6c61e86127068ba6abe6aaa094e56c2d7555
Author: Zac Medico <zmedico@gentoo.org>
Date:   Tue Aug 30 17:49:28 2011 -0700

    doebuild: only check .unpacked for porttree

commit c20dbcadcfb979842617325e89692e47f8a74e20
Author: Zac Medico <zmedico@gentoo.org>
Date:   Tue Aug 30 13:46:55 2011 -0700

    tests/emerge: remove unneeded default_args

commit 273934172ede4ae1e2a9a7b2b8bc03885691f10e
Author: Zac Medico <zmedico@gentoo.org>
Date:   Tue Aug 30 12:40:53 2011 -0700

    Fix typo in previous commit.

commit f87d1ef9b0b79b5a9e8f59291e7173363cd7386e
Author: Zac Medico <zmedico@gentoo.org>
Date:   Tue Aug 30 12:39:51 2011 -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).

commit 4bbfe6241ec7a4d286a1e8b3074c9dde0de4f2ea
Author: Zac Medico <zmedico@gentoo.org>
Date:   Tue Aug 30 12:22:51 2011 -0700

    Tweak failure msgs in emerge/repoman tests.

commit a69782c5177e47da66bb500f4c83380d7ba4add2
Author: Zac Medico <zmedico@gentoo.org>
Date:   Tue Aug 30 11:27:24 2011 -0700

    Tweak PYTHONPATH check in emerge/repoman tests.

commit 77896f08ed12a93ff6ee8a657ae11501cc2dbc87
Author: Zac Medico <zmedico@gentoo.org>
Date:   Tue Aug 30 10:03:05 2011 -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.

commit 41f12443efdab544ace9f2c90df516360ebf9df1
Author: Michał Górny <mgorny@gentoo.org>
Date:   Tue Aug 30 12:12:50 2011 +0200

    repoman: discard STDERR output from CVS.

    Fixes: https://bugs.gentoo.org/show_bug.cgi?id=373669

commit 719f41de41ad6f501842b35a09472130e9c11653
Author: Zac Medico <zmedico@gentoo.org>
Date:   Mon Aug 29 19:13:21 2011 -0700

    tests/emerge: add USE for installed pkgs

commit 290108eeb6ddf01efcafcca9bdb9e109ce9af009
Author: Zac Medico <zmedico@gentoo.org>
Date:   Mon Aug 29 19:09:13 2011 -0700

    dblink.treewalk: remove dowgrade check

    This code is unused since commit a37eb8ebd2fad3f8074490a061f067e2c637f05d.

commit e49772302478a05a2df6f8fa6d2086cf7ccd2bc7
Author: Zac Medico <zmedico@gentoo.org>
Date:   Mon Aug 29 11:24:15 2011 -0700

    Fix PORTDIR in emerge tests.

commit abfaa01acee62306b234efd56e8ddf5b0fd583f9
Author: Arfrever Frehtes Taifersar Arahesis <Arfrever@Gentoo.Org>
Date:   Mon Aug 29 20:03:29 2011 +0200

    Mark some messages for translation.

commit a37eb8ebd2fad3f8074490a061f067e2c637f05d
Author: Zac Medico <zmedico@gentoo.org>
Date:   Mon Aug 29 09:22:17 2011 -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.

commit ee7ee34f4669cfdef6867952b6830d15e4caae01
Author: Zac Medico <zmedico@gentoo.org>
Date:   Mon Aug 29 08:57:55 2011 -0700

    env_update: fix breakage in last commit

commit 35d900fab79b934517a2bf611bd919cb6a99aa7d
Author: Zac Medico <zmedico@gentoo.org>
Date:   Mon Aug 29 00:40:11 2011 -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.

commit 9b3263f03f23eae1f88c03cd78a4fd05f1e2db68
Author: Zac Medico <zmedico@gentoo.org>
Date:   Mon Aug 29 00:23:13 2011 -0700

    Fix env interference in emerge/repoman tests.

commit 0891a5f671527f99fa1e9ca56ea96e5566abd52f
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sun Aug 28 23:50:16 2011 -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.

commit 7e0ac7d2c92f3556623e4ff34bebffd80fe5f23a
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sun Aug 28 23:49:04 2011 -0700

    Send "Recording in world" msg to stdout.

commit acad62063c074f5b4ff692bc52514b1b8d028100
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sun Aug 28 23:18:08 2011 -0700

    ResolverPlayground: fix to make emerge happy

commit 0fb60699ebe51fa998a2d661ecda2c7e021f5d30
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sun Aug 28 23:12:52 2011 -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.

commit 276105a80d8fd1e6332a2dcb9733bf597fbcb0ed
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sun Aug 28 22:20:49 2011 -0700

    python3.2 fixes: ResourceWarning: unclosed file

commit b76d113b6c23fdcb4dcbf8084e7e3773448d0ff5
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sun Aug 28 20:59:26 2011 -0700

    test_poll: fix "ResourceWarning: unclosed file"

commit ab21cd451955ff7ed9419ffdbe3dc34bbb397281
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sun Aug 28 19:59:01 2011 -0700

    Sort test cases, for predictable order.

commit 5bc6b9c8767c9a9bea511d7ece98f54e8a873b47
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sun Aug 28 17:04:47 2011 -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.

commit ae9b6cb513c7b29376caecf3b4e52aac452e2b93
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sun Aug 28 16:29:49 2011 -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.

commit 566a9776d3ca10ccf1b646fba154fa71ccaf4ff6
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sun Aug 28 14:04:41 2011 -0700

    Fix possible NameError in finally block.

commit 4afee825db23000b28a226b7b488956d4eb8f708
Author: Arfrever Frehtes Taifersar Arahesis <Arfrever@Gentoo.Org>
Date:   Sun Aug 28 21:54:23 2011 +0200

    Fix "ResourceWarning: unclosed file" with Python 3.2.

commit 839327edd3653a83b454293c45616de32c944b01
Author: Arfrever Frehtes Taifersar Arahesis <Arfrever@Gentoo.Org>
Date:   Sat Aug 27 22:16:14 2011 +0200

    Fix "ResourceWarning: unclosed file" with Python 3.2.

commit 676bfd9efb7ea50256d4caa1273e7c40e8f28511
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sat Aug 27 12:04:06 2011 -0700

    egencache: don't require xml in global scope

commit 63035acd702ab0cdaac31e33676b5a20a91eae47
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sat Aug 27 12:01:06 2011 -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.

commit 42c96587b86ba8f551f605086e47a5cd96843a1a
Author: Zac Medico <zmedico@gentoo.org>
Date:   Fri Aug 26 12:53:55 2011 -0700

    python3.2 fixes: ResourceWarning: unclosed file

commit 2f253bcc364bd75c9b103133a17ea9887a3de15d
Author: David James <davidjames@chromium.org>
Date:   Mon Aug 22 16:29:13 2011 -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

commit 1dc7ac4b48ca0a5a8b607bbadf759fa209b49e9c
Author: Zac Medico <zmedico@gentoo.org>
Date:   Fri Aug 26 09:52:04 2011 -0700

    Fix EPREFIX/EROOT typo in repoman test.

commit 69a45726b314f4f859f4783f4a5a5927a3f36bf5
Author: Zac Medico <zmedico@gentoo.org>
Date:   Fri Aug 26 08:43:02 2011 -0700

    python3.2 fixes: ResourceWarning: unclosed file

commit 8824df689066c24214322f8f13f39d56105bea7f
Author: Zac Medico <zmedico@gentoo.org>
Date:   Fri Aug 26 08:12:47 2011 -0700

    Add __test__ for repoman tests.

commit 9de2d1e3a6f2ff26da3c91b741db0bdae7cdb0b0
Author: Zac Medico <zmedico@gentoo.org>
Date:   Thu Aug 25 23:12:27 2011 -0700

    repoman: add a simple unit test

commit ebc4f381f351f6c67dd911be1efa2df51de87f07
Author: Zac Medico <zmedico@gentoo.org>
Date:   Thu Aug 25 23:07:39 2011 -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.

commit 79a1d928f819692f22e28eeb0f8d780d13871fa4
Author: Zac Medico <zmedico@gentoo.org>
Date:   Thu Aug 25 22:47:45 2011 -0700

    testLazyImport: fix PYTHONPATH setting

commit e9251b4c51c580410695fae107d161c1147c9f88
Author: Zac Medico <zmedico@gentoo.org>
Date:   Thu Aug 25 20:44:58 2011 -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.

commit 0484dccadf2021fd288daccea881ee1d352b0f7d
Author: Zac Medico <zmedico@gentoo.org>
Date:   Thu Aug 25 16:45:32 2011 -0700

    python3.2 fixes: ResourceWarning: unclosed file

commit 3c954b62643a3c645d7172b47b0582599606cc29
Author: Zac Medico <zmedico@gentoo.org>
Date:   Thu Aug 25 15:35:53 2011 -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.

commit a509ffd891642b3353a6160ba04057272b48dc2c
Author: Zac Medico <zmedico@gentoo.org>
Date:   Thu Aug 25 15:10:52 2011 -0700

    python3.2 fixes: ResourceWarning: unclosed file

commit 3735e3e1805769fcaae2ef450907db7508355ec9
Author: Zac Medico <zmedico@gentoo.org>
Date:   Thu Aug 25 14:54:34 2011 -0700

    TestCase: remove python 2.4 compat constructor

commit 5a24743e55acedcbae06b97401c6e39b0d5faa98
Author: Zac Medico <zmedico@gentoo.org>
Date:   Thu Aug 25 14:48:45 2011 -0700

    python3.2 fixes: ResourceWarning: unclosed file

commit 2aea972aa0c36531445172500ded32d7ddc07762
Author: Arfrever Frehtes Taifersar Arahesis <Arfrever@Gentoo.Org>
Date:   Thu Aug 25 23:50:06 2011 +0200

    Improve a comment.

commit 48f340f78ef75efe8813045b9a75aa9839b89690
Author: Arfrever Frehtes Taifersar Arahesis <Arfrever@Gentoo.Org>
Date:   Thu Aug 25 23:35:48 2011 +0200

    Add some comments, which will allow to easier find code, which should
    be removed when support for older versions of Python is removed.

commit 5970a41fc60fef89fd4b1bbe45a6c108452b267f
Author: Zac Medico <zmedico@gentoo.org>
Date:   Thu Aug 25 09:37:11 2011 -0700

    die: defer die hooks for EAPI 4 helpers_die

    This will fix bug #380625.

commit 2f550d8eb3183b76de7b33df2e9c649cc9b29dda
Author: Zac Medico <zmedico@gentoo.org>
Date:   Wed Aug 24 20:29:04 2011 -0700

    python3.2 fixes: ResourceWarning: unclosed file

commit 148fc6a73f3fa3b53039ee3292e222015e96bc79
Author: Zac Medico <zmedico@gentoo.org>
Date:   Wed Aug 24 19:48:17 2011 -0700

    python3.2 fixes: use array.tobytes()

commit a12c63842b28e29f3bc6718e6d940d5b697f010f
Author: Zac Medico <zmedico@gentoo.org>
Date:   Wed Aug 24 19:25:59 2011 -0700

    python3.2 fixes: ResourceWarning: unclosed file

commit f4d5667a09cb308f30bb7eb5ee14b9ef061c3604
Author: Zac Medico <zmedico@gentoo.org>
Date:   Wed Aug 24 18:02:40 2011 -0700

    ElementTree: use iter if available (bug #380565)

commit 4a4912dfcec973fc849d7e1326fb3309b5142228
Author: Zac Medico <zmedico@gentoo.org>
Date:   Wed Aug 24 17:32:30 2011 -0700

    SafeConfigParser: renamed to ConfigParser in 3.2

commit a3c1e7f0c05f7be8507453324e178d041cb88796
Author: Zac Medico <zmedico@gentoo.org>
Date:   Mon Aug 22 13:35:59 2011 -0700

    make.conf.5: document EMERGE_WARNING_DELAY

commit 3534aa843f22e84f5dd79a8306605d5178ec76c3
Author: Zac Medico <zmedico@gentoo.org>
Date:   Mon Aug 22 10:35:44 2011 -0700

    dosym: QA warn if target is existing dir

commit 05b3e2b245630505fa5f581fbdf0531d00cb0b93
Author: Zac Medico <zmedico@gentoo.org>
Date:   Mon Aug 22 09:06:13 2011 -0700

    dosym: QA warn if basename omitted (bug #379899)

commit 305acb6d016f36312344cc44a640fdbde8f4cd33
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sat Aug 20 14:09:03 2011 -0700

    ebuild(1): show merge/noauto msg only if needed

commit 415458868f42c677a1a6518c1e8d52b6597c751c
Author: Mark Wagner <carnildo@gmail.com>
Date:   Mon Aug 15 22:38:00 2011 -0700

    Improve the invalid profile msg (bug 379327).

commit 0c8d952b89afe44ff561b278188d5a22d91e9529
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sun Aug 14 16:49:57 2011 -0700

    emerge --search: account for USE in fetch size

commit 38bbbfaeac507a3ee030c73428b9af5b60ec425b
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sat Aug 13 06:51:43 2011 -0700

    egencache: add --portdir-overlay option

    This will fix bug #353648.

commit 2084e692b0f36d7f3fe8f2c3a6cb8c540abcc665
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sat Aug 13 05:54:21 2011 -0700

    config: blacklist vars loaded from profile.env

commit 0ccacd85137588bbf1ceb90e1d72be79daaf9e58
Author: Zac Medico <zmedico@gentoo.org>
Date:   Sat Aug 13 05:23:39 2011 -0700

    config: blacklist GREP_OPTIONS variable

    This variable could cause interference with the ebuild environment and
    portage shell code, like in bug 370085.

commit ebcf8975b37a8aae9735eb491a9b4cb63549bd5d
Author: Zac Medico <zmedico@gentoo.org>
Date:   Fri Aug 12 04:43:40 2011 -0700

    repoman: tweak --if-modified help output
