portage.git
13 years agoUse os.path.expanduser() to simplify code.
Arfrever Frehtes Taifersar Arahesis [Wed, 30 Mar 2011 15:03:22 +0000 (17:03 +0200)]
Use os.path.expanduser() to simplify code.

13 years agodisplay_merge: tweak background/logging logic v2.2.0_alpha29
Zac Medico [Sun, 27 Mar 2011 22:37:47 +0000 (15:37 -0700)]
display_merge: tweak background/logging logic

13 years agodblink: rename 'buffer' var in _elog_process
Zac Medico [Sun, 27 Mar 2011 21:26:08 +0000 (14:26 -0700)]
dblink: rename 'buffer' var in _elog_process

Avoid name collision with built-in 'buffer' function.

13 years agounmerge: fix lock/UnsupportedAPIException logic
Zac Medico [Sun, 27 Mar 2011 20:57:35 +0000 (13:57 -0700)]
unmerge: fix lock/UnsupportedAPIException logic

13 years agoUnsupportedAPIException: handle unicode in EAPI
Zac Medico [Sun, 27 Mar 2011 20:55:11 +0000 (13:55 -0700)]
UnsupportedAPIException: handle unicode in EAPI

Normally EAPI doesn't contain unicode, but as in bug #359675, it can
contain practically anything if files in /var/db/pkg are corrupt.

13 years agoemerge-webrsync: drop lzma support
Zac Medico [Sun, 27 Mar 2011 20:01:10 +0000 (13:01 -0700)]
emerge-webrsync: drop lzma support

The lzma snapshots have been replaced by xz snapshots, as discussed in
the "RFC: Remove .lzma in favor of .xz portage snapshots" thread on the
gentoo-dev ml:

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

13 years agoMergeProcess: add fallback setcpv call
Zac Medico [Sun, 27 Mar 2011 06:09:27 +0000 (23:09 -0700)]
MergeProcess: add fallback setcpv call

It's important that this metadata access happens in the parent process,
since closing of file descriptors in the subprocess can prevent access
to open database connections such as that used by the sqlite metadata
cache module.

13 years agoMergeProcess: query blockers in the main process
Zac Medico [Sat, 26 Mar 2011 23:25:15 +0000 (16:25 -0700)]
MergeProcess: query blockers in the main process

Metadata cache queries may not work for some databases from within a
subprocess. For example, sqlite is known to misbehave.

13 years agodisplay_merge: pass through noiselevel args
Zac Medico [Sat, 26 Mar 2011 18:00:44 +0000 (11:00 -0700)]
display_merge: pass through noiselevel args

13 years agoScheduler: pkg_to_replace beware old-style virt
Zac Medico [Sat, 26 Mar 2011 17:10:24 +0000 (10:10 -0700)]
Scheduler: pkg_to_replace beware old-style virt

13 years agoBlockerDB: add SLOT match in discardBlocker
Zac Medico [Sat, 26 Mar 2011 16:12:38 +0000 (09:12 -0700)]
BlockerDB: add SLOT match in discardBlocker

13 years agoMergeListItem: inherit _poll and _wait
Zac Medico [Sat, 26 Mar 2011 08:52:49 +0000 (01:52 -0700)]
MergeListItem: inherit _poll and _wait

13 years agoMergeProcess: relocate portage reinstall code
Zac Medico [Sat, 26 Mar 2011 08:18:12 +0000 (01:18 -0700)]
MergeProcess: relocate portage reinstall code

This code goes inside _start since it needs to execute in the parent
process.

13 years agounmerge: fix PORTAGE_BACKGROUND logic
Zac Medico [Sat, 26 Mar 2011 07:38:23 +0000 (00:38 -0700)]
unmerge: fix PORTAGE_BACKGROUND logic

13 years agoReoranize PackageMerge/MergeListItem interaction.
Zac Medico [Sat, 26 Mar 2011 07:06:01 +0000 (00:06 -0700)]
Reoranize PackageMerge/MergeListItem interaction.

13 years agoPackageMerge: call wait() for conformity
Zac Medico [Sat, 26 Mar 2011 03:38:11 +0000 (20:38 -0700)]
PackageMerge: call wait() for conformity

13 years agoUpdate header timestamps for modified files.
Zac Medico [Sat, 26 Mar 2011 03:36:47 +0000 (20:36 -0700)]
Update header timestamps for modified files.

13 years agoMergeProcess: call elog_process for replaced pkgs
Zac Medico [Sat, 26 Mar 2011 03:24:10 +0000 (20:24 -0700)]
MergeProcess: call elog_process for replaced pkgs

13 years agodblink: use self.mycpv in _elog
Zac Medico [Sat, 26 Mar 2011 02:43:12 +0000 (19:43 -0700)]
dblink: use self.mycpv in _elog

13 years agoMergeProcess: toggle vardbapi._pkgs_changed
Zac Medico [Sat, 26 Mar 2011 02:00:16 +0000 (19:00 -0700)]
MergeProcess: toggle vardbapi._pkgs_changed

13 years agoconfig: blacklist PORTAGE_BACKGROUND* vars
Zac Medico [Sat, 26 Mar 2011 01:44:46 +0000 (18:44 -0700)]
config: blacklist PORTAGE_BACKGROUND* vars

13 years agoMergeProcess: handle unicode in elog pipe
Zac Medico [Fri, 25 Mar 2011 20:52:16 +0000 (13:52 -0700)]
MergeProcess: handle unicode in elog pipe

13 years agoenv_update: remove sleep_for_mtime_granularity
David James [Fri, 25 Mar 2011 17:10:54 +0000 (10:10 -0700)]
env_update: remove sleep_for_mtime_granularity

Instead of sleeping, use os.utime to avoid mtime ambiguity.

Change-Id: I359ececca19b6be9f5997ac5c8fe6fea6ea49dd5

Review URL: http://codereview.chromium.org/6676150

13 years agoPollScheduler: tweak _unregister event cleanup
Zac Medico [Fri, 25 Mar 2011 16:52:40 +0000 (09:52 -0700)]
PollScheduler: tweak _unregister event cleanup

13 years agoPollScheduler: handle missing log directory
Zac Medico [Fri, 25 Mar 2011 15:57:10 +0000 (08:57 -0700)]
PollScheduler: handle missing log directory

This can be triggered by AbstractPollTask._log_poll_exception(), as
reported by Michael Haubenwallner <haubi@gentoo.org> for AIX.

13 years agodblink: fix elog bugs for unmerge phases
Zac Medico [Fri, 25 Mar 2011 10:39:15 +0000 (03:39 -0700)]
dblink: fix elog bugs for unmerge phases

13 years agovartree: remove broken scheduler reference
Zac Medico [Fri, 25 Mar 2011 10:12:55 +0000 (03:12 -0700)]
vartree: remove broken scheduler reference

13 years agovartree: remove unused scheduler references
Zac Medico [Fri, 25 Mar 2011 09:47:17 +0000 (02:47 -0700)]
vartree: remove unused scheduler references

Since all the merge code runs inside MergeProcess now, there's no
reason to yield to the scheduler.

13 years agoMergeProcess: separate unmerge output from merge
Zac Medico [Fri, 25 Mar 2011 09:29:06 +0000 (02:29 -0700)]
MergeProcess: separate unmerge output from merge

The unmerge output has been mixed together with the merge output since
commit 7535cabdf2fab76fc55df83643157613dfd66be9 because
dblink._scheduler was set to None. Now it's fixed to produce separate
logs like it used to.

13 years agoebuild(1): fix AttributeError for merge phase
Zac Medico [Fri, 25 Mar 2011 08:23:51 +0000 (01:23 -0700)]
ebuild(1): fix AttributeError for merge phase

  File "pym/portage/dbapi/vartree.py", line 4043, in merge
    merge_task.start()
  File "pym/_emerge/AsynchronousTask.py", line 23, in start
    self._start()
  File "pym/_emerge/SpawnProcess.py", line 118, in _start
    self._reg_id = self.scheduler.register(files.process.fileno(),
AttributeError: 'NoneType' object has no attribute 'register'

13 years agoMergeProcess: close elog_writer_fd leak
Zac Medico [Fri, 25 Mar 2011 08:11:45 +0000 (01:11 -0700)]
MergeProcess: close elog_writer_fd leak

13 years agoMergeProcess: Fix PORTAGE_BACKGROUND/LOG_FILE use
Zac Medico [Fri, 25 Mar 2011 04:32:38 +0000 (21:32 -0700)]
MergeProcess: Fix PORTAGE_BACKGROUND/LOG_FILE use

In this subprocess we don't want PORTAGE_BACKGROUND to suppress
stdout/stderr output since they are pipes. We also don't want to open
PORTAGE_LOG_FILE, since it will already be opened by the parent
process, so we set the PORTAGE_BACKGROUND="subprocess" value for use
in conditional logging code involving PORTAGE_LOG_FILE.

13 years agoPreserve elog message continuity during updates.
Zac Medico [Fri, 25 Mar 2011 03:03:28 +0000 (20:03 -0700)]
Preserve elog message continuity during updates.

This integrates the fix from commit
8209aeab647b1ab80a64d5931069b3533776ef75 with the asynchronous merge
changes from commit 7535cabdf2fab76fc55df83643157613dfd66be9.

13 years agoMerge packages asynchronously in Portage.
David James [Fri, 25 Mar 2011 02:36:33 +0000 (19:36 -0700)]
Merge packages asynchronously in Portage.

This allows for the scheduler to continue to run while packages are
being merged and installed, allowing for additional parallelism and
making better use of the CPUs.

Review URL: http://codereview.chromium.org/6713043

13 years agoUpdate Portage to sync BlockerDB at init.
David James [Fri, 25 Mar 2011 01:14:45 +0000 (18:14 -0700)]
Update Portage to sync BlockerDB at init.

Currently, Portage syncs the BlockerDB before every merge. This slows
down merges considerably because it requires reading the entire vardb
from disk. Since Portage doesn't merge conflicting packages anyway, we
can optimize this by just reading the vardb at initialization and
caching that.

Change-Id: I6701926f022ef3aa2da10482fc8b09573ae24610

Review URL: http://codereview.chromium.org/6688037

13 years agoemerge: support [ y | n ] for --ask
Zac Medico [Thu, 24 Mar 2011 18:15:47 +0000 (11:15 -0700)]
emerge: support [ y | n ] for --ask

This allows --ask to be enabled via EMERGE_DEFAULT_OPTS, and then
temporarily disabled via the command-line. This may be useful for
programs that call emerge non-interactively, as in bug #360233.

13 years agoOptimize ebuild.sh to cache preprocessing output.
David James [Thu, 24 Mar 2011 05:05:15 +0000 (22:05 -0700)]
Optimize ebuild.sh to cache preprocessing output.

Right now ebuild.sh runs preprocessing steps multiple times during the
same build. It processes the same environment and produces the same
output every time. This slows down the build unnecessarily.

This optimization cuts build time for 50 binary packages with 16 jobs
from 3m22 to 2m33 (33%).

Change-Id: I72ac84cce2eb60d17736cc5f5343d4a858ec86f4

Review URL: http://codereview.chromium.org/6733008

13 years agoget_dep_chain: handle InvalidDependString
Zac Medico [Thu, 24 Mar 2011 04:08:35 +0000 (21:08 -0700)]
get_dep_chain: handle InvalidDependString

13 years agochk_updated_cfg_files: fix whitespace in message
Zac Medico [Mon, 21 Mar 2011 00:11:14 +0000 (17:11 -0700)]
chk_updated_cfg_files: fix whitespace in message

Thanks to Dennis Schridde in bug #359681.

13 years agoportageq owners: list orphans via stderr
Zac Medico [Sun, 20 Mar 2011 17:41:24 +0000 (10:41 -0700)]
portageq owners: list orphans via stderr

13 years agoemerge_main: add "args" parameter (sys.argv[1:])
Zac Medico [Sun, 20 Mar 2011 15:57:42 +0000 (08:57 -0700)]
emerge_main: add "args" parameter (sys.argv[1:])

Also, fix local portage.debug import so that "global portage" is
not necessary.

13 years agoTaskSequence: also call CompositeTask._cancel()
Zac Medico [Fri, 18 Mar 2011 23:45:47 +0000 (16:45 -0700)]
TaskSequence: also call CompositeTask._cancel()

This is a regression from commit
363a7478a100495d2e8597bc6c6d2fdac94339e0 but it's usually not
noticeable with Ctrl-C since SIGINT is propagated to nested processes.

13 years agoUpdate timestamps in headers of modified files. v2.2.0_alpha28
Zac Medico [Fri, 18 Mar 2011 21:44:05 +0000 (14:44 -0700)]
Update timestamps in headers of modified files.

13 years agoPackageVirtualDbapi: fix get() for reposyntax
Zac Medico [Fri, 18 Mar 2011 21:38:38 +0000 (14:38 -0700)]
PackageVirtualDbapi: fix get() for reposyntax

13 years agoCompositeTask: fix _wait for TASK_QUEUED
Zac Medico [Fri, 18 Mar 2011 21:05:07 +0000 (14:05 -0700)]
CompositeTask: fix _wait for TASK_QUEUED

Though this case might never have been triggered, the logic was broken
for cases in which self.cancelled was false and a task was queued. In
this case we need to call back into the scheduler until the queued task
is started or we are cancelled, whichever comes first.

13 years agoebuild-ipc: import errno
Zac Medico [Thu, 17 Mar 2011 21:52:41 +0000 (14:52 -0700)]
ebuild-ipc: import errno

13 years agoEbuildIpcDaemon: use non-blocking write
Zac Medico [Thu, 17 Mar 2011 21:39:53 +0000 (14:39 -0700)]
EbuildIpcDaemon: use non-blocking write

This prevents the Scheduler from hanging if the client is killed before
we can send the reply, as reported by David James:

  http://codereview.chromium.org/6713003

This commit depends on ebuild-ipc (the client) opening the other side
of this fifo before it sends its request, which has already been added
in commit eff879ff0ce7dcc1ce68d5f16de1ec73051f8c18.

13 years agoebuild-ipc: use non-blocking read
Zac Medico [Thu, 17 Mar 2011 21:12:13 +0000 (14:12 -0700)]
ebuild-ipc: use non-blocking read

This makes it possible for the daemon to send a reply without blocking,
thereby improving performance and also making it possible for the
daemon to do a non-blocking write without a race condition.

This reverts part of commit 81fc303212b8379219cf5d463c8717359b972dba,
which probably didn't help portability anyway. Now, ebuild-ipc is using
non-blocking read with os.read and EAGAIN handling, just like
EbuildIpcDaemon since commit 7e5b81da12dd7bd59f6620840dc0d824e3f4d69a
(known compatible with FreeBSD).

13 years agoAsynchronousLock: implement _cancel
Zac Medico [Thu, 17 Mar 2011 20:08:35 +0000 (13:08 -0700)]
AsynchronousLock: implement _cancel

13 years agomake.conf.5: fix "direcory" spelling
Zac Medico [Thu, 17 Mar 2011 19:01:57 +0000 (12:01 -0700)]
make.conf.5: fix "direcory" spelling

Thanks to Francesco Turco in bug #359273.

13 years agodep_check: return errors as unicode
Zac Medico [Thu, 17 Mar 2011 18:39:28 +0000 (11:39 -0700)]
dep_check: return errors as unicode

This should prevent the following error due to returning raw bytes,
reported in forum thread #869281:

File "pym/_emerge/BlockerDB.py", line 72, in findInstalledBlockers
portage.writemsg("!!! %s/*DEPEND: %s\n" % \
(pkg_location, atoms), noiselevel=-1)
UnicodeDecodeError: 'ascii' codec can't decode byte 0xef in
position 23: ordinal not in range(128)

13 years agoAsynchronousTask: add _cancel template method
Zac Medico [Thu, 17 Mar 2011 05:36:33 +0000 (22:36 -0700)]
AsynchronousTask: add _cancel template method

13 years agoUpdate Scheduler to protect against infinite loop
David James [Thu, 17 Mar 2011 04:54:37 +0000 (21:54 -0700)]
Update Scheduler to protect against infinite loop

If we have running tasks, but we're not listening to these tasks,
we're going to loop forever. So throw an exception in this case.

13 years agoScheduler: tweak prefetcher cancellation logic
Zac Medico [Thu, 17 Mar 2011 04:50:36 +0000 (21:50 -0700)]
Scheduler: tweak prefetcher cancellation logic

This should prevent "TypeError: an integer is required" raised from
waitpid when trying to cancel a prefetcher that never started.

13 years agoCompositeTask: handle unstarted terminated tasks
Zac Medico [Thu, 17 Mar 2011 03:44:55 +0000 (20:44 -0700)]
CompositeTask: handle unstarted terminated tasks

13 years agoCompositeTask: fix assertion in _wait
Zac Medico [Thu, 17 Mar 2011 01:42:59 +0000 (18:42 -0700)]
CompositeTask: fix assertion in _wait

13 years agoAsynchronousTask: always call wait() if cancelled
Zac Medico [Thu, 17 Mar 2011 01:19:02 +0000 (18:19 -0700)]
AsynchronousTask: always call wait() if cancelled

This is needed in order to ensure that exit listeners are called.
Subclasses call the base class cancel() method in order to inherit the
wait() call.

13 years agoScheduler: terminate _merge_wait_queue
Zac Medico [Thu, 17 Mar 2011 00:36:36 +0000 (17:36 -0700)]
Scheduler: terminate _merge_wait_queue

13 years agoiter_owners: try the hashed approach in any case
Zac Medico [Wed, 16 Mar 2011 20:58:17 +0000 (13:58 -0700)]
iter_owners: try the hashed approach in any case

Previously, the slow approach was used whenever more than 10 files were
given as input. However, large numbers of files don't necessarily
mean the hashed approach is a bad choice, so try it in any case.

13 years agoslot_conflict: tweak message and fix grammar
Zac Medico [Tue, 15 Mar 2011 22:58:02 +0000 (15:58 -0700)]
slot_conflict: tweak message and fix grammar

13 years agoemerge: support [ y | n ] for --quiet v2.2.0_alpha27
Zac Medico [Mon, 14 Mar 2011 17:52:17 +0000 (10:52 -0700)]
emerge: support [ y | n ] for --quiet

This allows --quiet and --quiet-build to be enabled via
EMERGE_DEFAULT_OPTS, and then temporarily disabled via the command-
line.

13 years agoUpdate timestamps in headers of modified files.
Zac Medico [Mon, 14 Mar 2011 16:40:40 +0000 (09:40 -0700)]
Update timestamps in headers of modified files.

13 years agoScheduler: fix AttributeError in _terminate_tasks
Zac Medico [Sat, 12 Mar 2011 18:35:23 +0000 (10:35 -0800)]
Scheduler: fix AttributeError in _terminate_tasks

Thanks to David James <davidjames@google.com> for reporting this error:
AttributeError: 'EbuildPhase' object has no attribute 'merge'

13 years agoMake all temp dirs under $PORTAGE_TMPDIR/portage.
Zac Medico [Fri, 11 Mar 2011 21:02:31 +0000 (13:02 -0800)]
Make all temp dirs under $PORTAGE_TMPDIR/portage.

Before, some temporary directories would be created directly in
$PORTAGE_TMPDIR. Now, all are subdirectories of $PORTAGE_TMPDIR/portage
since it's common for people to assume that this is the case anyway.
With the default PORTAGE_TMPDIR setting of /var/tmp, this allows
/var/tmp to be mounted with the "noexec" option, as long as the
/var/tmp/portage subdirectory is a separate mount (people have already
tended to assume that they can do this, so we're making it a reality
in order to avoid any more bug reports). This will fix bug #346899.

13 years agoPollScheduler: tweek termination logic
Zac Medico [Fri, 11 Mar 2011 06:02:19 +0000 (22:02 -0800)]
PollScheduler: tweek termination logic

* PollScheduler and all subclasses now use the _terminated_tasks
  variable to check whether or not _terminate_tasks() has been called,
  and behave appropriately in that case.

* The _schedule_tasks() method now has documentation about the
  relationship with _terminate_tasks() and _terminated_tasks.

13 years agoPollScheduler: call _terminate_tasks in _schedule
Zac Medico [Fri, 11 Mar 2011 05:21:19 +0000 (21:21 -0800)]
PollScheduler: call _terminate_tasks in _schedule

This prevents it from being called while the _schedule_tasks()
implementation is running, in order to avoid potential interference.

13 years agoScheduler: avoid infinite loop after CTRL-C
Zac Medico [Fri, 11 Mar 2011 03:29:57 +0000 (19:29 -0800)]
Scheduler: avoid infinite loop after CTRL-C

If CTRL-C was received at certain times, it was possible for discarded
tasks to be erroneously left in Scheduler._running_tasks, which would
cause the main loop to run infinitely. Thanks to David James
<davidjames@google.com> for reporting this issue and helping to devise
a solution.

13 years agoebuild-ipc: use plain file read instead of array
Zac Medico [Thu, 10 Mar 2011 22:49:47 +0000 (14:49 -0800)]
ebuild-ipc: use plain file read instead of array

Array.fromfile() seems to be more error prone. For example, see
bug 337465.

13 years agoAbstractPollTask: log exceptional events
Zac Medico [Thu, 10 Mar 2011 05:46:17 +0000 (21:46 -0800)]
AbstractPollTask: log exceptional events

Previously, when AbstractPollTask receives a POLLERR or POLLNVAL event,
it would silently cancel the task. Now it will generate a message like
this:

   !!! SpawnProcess received strange poll event: 8

The message is displayed via a new _log_poll_exception method, which
is overridden by AbstractEbuildProcess to log the message via elog.

This might help diagnose reported cases of SIGTERM signals killing
ebuild processes for no apparent reason:

   http://code.google.com/p/chromium-os/issues/detail?id=12968

13 years agounmerge: use vardbapi._dblink() to simplify
Zac Medico [Wed, 9 Mar 2011 03:28:21 +0000 (19:28 -0800)]
unmerge: use vardbapi._dblink() to simplify

The dblink constructor is complex and best avoided.

13 years agoBug #357009: Disallow uninstallation of currently used Python interpreter.
Arfrever Frehtes Taifersar Arahesis [Wed, 9 Mar 2011 02:57:23 +0000 (03:57 +0100)]
Bug #357009: Disallow uninstallation of currently used Python interpreter.

13 years agoportdbapi: source ebuilds when eclass dir missing
Zac Medico [Mon, 7 Mar 2011 17:34:02 +0000 (09:34 -0800)]
portdbapi: source ebuilds when eclass dir missing

This will fix bug #357581.

13 years agoeclass_cache: remove deprecated methods
Zac Medico [Sun, 6 Mar 2011 00:41:00 +0000 (16:41 -0800)]
eclass_cache: remove deprecated methods

13 years agoconfig: quote overlays containing spaces
Zac Medico [Fri, 4 Mar 2011 16:39:53 +0000 (08:39 -0800)]
config: quote overlays containing spaces

This will fix bug #357297.

13 years agoRemove redundant CONTENTS parent dir generation.
Zac Medico [Wed, 2 Mar 2011 19:46:57 +0000 (11:46 -0800)]
Remove redundant CONTENTS parent dir generation.

This code is redunant now, since similar code has been added to
dblink.getcontents() in commit
e0b4048274b2cfc1617f2eff379cbe8435e13ed4.

13 years agodblink.getcontents(): generate parent directories
Zac Medico [Wed, 2 Mar 2011 18:51:41 +0000 (10:51 -0800)]
dblink.getcontents(): generate parent directories

We can't necessarily assume that they are explicitly listed in
CONTENTS, and they are crucial for callers such as dblink.isowner().

13 years agograblines: allow inline comments
Zac Medico [Wed, 2 Mar 2011 17:59:11 +0000 (09:59 -0800)]
grablines: allow inline comments

13 years agograbdict: allow inline comments
Theo Chatzimichos [Wed, 2 Mar 2011 17:39:56 +0000 (09:39 -0800)]
grabdict: allow inline comments

13 years agodepgraph: don't output \b to non-tty
Zac Medico [Wed, 2 Mar 2011 16:39:14 +0000 (08:39 -0800)]
depgraph: don't output \b to non-tty

This will fix bug #357093.

13 years agododoc: update copyright date v2.2.0_alpha26
Zac Medico [Wed, 2 Mar 2011 04:52:28 +0000 (20:52 -0800)]
dodoc: update copyright date

13 years agoebuild(1): fix ebuild modification check
Zac Medico [Wed, 2 Mar 2011 00:53:25 +0000 (16:53 -0800)]
ebuild(1): fix ebuild modification check

This has been broken since the setcpv call (triggering metadata
generation) was added before it in commit
0b39d24bb8270e5c89eaddfd1f5a4181cf9e31d3.

13 years agoaction_deselect: expand cat against world atoms
Zac Medico [Tue, 1 Mar 2011 21:52:04 +0000 (13:52 -0800)]
action_deselect: expand cat against world atoms

13 years agounmerge: log pre/postrm FAILED messages
Zac Medico [Tue, 1 Mar 2011 21:20:59 +0000 (13:20 -0800)]
unmerge: log pre/postrm FAILED messages

13 years agoowners_cache: fix EPREFIX miscalculation
Zac Medico [Tue, 1 Mar 2011 21:04:41 +0000 (13:04 -0800)]
owners_cache: fix EPREFIX miscalculation

This reverts commit 43e0b3ea4289aab9b4258d29d06afac40abd6c01 and
renames the root_len variable to eroot_len (for clarity).

13 years agoowners_cache: add parent dirs deeper than EPREFIX
Zac Medico [Tue, 1 Mar 2011 20:42:56 +0000 (12:42 -0800)]
owners_cache: add parent dirs deeper than EPREFIX

13 years agounmerge: implicitly unmerge parent directories
Zac Medico [Tue, 1 Mar 2011 20:07:53 +0000 (12:07 -0800)]
unmerge: implicitly unmerge parent directories

We can't necessarily assume that they are explicitly listed in
CONTENTS.

13 years agoowners_cache: implicitly add parent directories
Zac Medico [Tue, 1 Mar 2011 18:06:01 +0000 (10:06 -0800)]
owners_cache: implicitly add parent directories

We can't necessarily assume that they are explicitly listed in
CONTENTS.

13 years agorepoman: variable.usedwithhelpers ignore quoted
Zac Medico [Mon, 28 Feb 2011 20:37:22 +0000 (12:37 -0800)]
repoman: variable.usedwithhelpers ignore quoted

13 years agoebuild(1): apply package.env earlier
Zac Medico [Mon, 28 Feb 2011 18:57:53 +0000 (10:57 -0800)]
ebuild(1): apply package.env earlier

This makes it possible to override PORTAGE_TMPDIR.

13 years agodepgraph: case insensitive search for unsatisfied
Zac Medico [Mon, 28 Feb 2011 17:58:27 +0000 (09:58 -0800)]
depgraph: case insensitive search for unsatisfied

This will fix bug #356555.

13 years agorepoman: warn about calls to prepall and preplib
Zac Medico [Mon, 28 Feb 2011 05:27:02 +0000 (21:27 -0800)]
repoman: warn about calls to prepall and preplib

13 years agoRun tests with Python 3.3.
Arfrever Frehtes Taifersar Arahesis [Sat, 26 Feb 2011 20:15:50 +0000 (21:15 +0100)]
Run tests with Python 3.3.

13 years agorepoman: add back portage.internal check
Zac Medico [Sat, 26 Feb 2011 00:19:01 +0000 (16:19 -0800)]
repoman: add back portage.internal check

This check got removed for bug #262365, but now that EAPI 4 is released
we can add it back. Now it checks for ecompress/ecompressdir too (for
bug #218347).

13 years agodoins: fix dodoc directory error handling
Zac Medico [Fri, 25 Feb 2011 20:32:21 +0000 (12:32 -0800)]
doins: fix dodoc directory error handling

13 years agodoins: avoid die when called as dodoc with no arg
Zac Medico [Fri, 25 Feb 2011 20:11:34 +0000 (12:11 -0800)]
doins: avoid die when called as dodoc with no arg

13 years agododoc: call doins, to reuse recursion code
Zac Medico [Fri, 25 Feb 2011 19:50:52 +0000 (11:50 -0800)]
dodoc: call doins, to reuse recursion code

This will fix broken recursion logic for bug #356461.

13 years agododoc: quote ${0}
Zac Medico [Fri, 25 Feb 2011 18:18:38 +0000 (10:18 -0800)]
dodoc: quote ${0}

13 years agododoc: Honour exit status of install, bug 356389.
Ulrich Mueller [Fri, 25 Feb 2011 07:43:17 +0000 (08:43 +0100)]
dodoc: Honour exit status of install, bug 356389.

13 years agoaction_sync: handle IPv6 [ip] in SYNC some more
Zac Medico [Fri, 25 Feb 2011 06:29:31 +0000 (22:29 -0800)]
action_sync: handle IPv6 [ip] in SYNC some more

This will fix bug #356375 some more.

13 years agoaction_sync: handle IPv6 [ip] in SYNC
Zac Medico [Fri, 25 Feb 2011 05:58:44 +0000 (21:58 -0800)]
action_sync: handle IPv6 [ip] in SYNC

This will fix bug #356375.