summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* UnsupportedAPIException: handle unicode in EAPIZac Medico2011-03-272-4/+15
| | | | | Normally EAPI doesn't contain unicode, but as in bug #359675, it can contain practically anything if files in /var/db/pkg are corrupt.
* emerge-webrsync: drop lzma supportZac Medico2011-03-271-4/+2
| | | | | | | | 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
* Update header timestamps for modified files.Zac Medico2011-03-264-4/+4
|
* Scheduler: pkg_to_replace beware old-style virtZac Medico2011-03-261-1/+2
|
* BlockerDB: add SLOT match in discardBlockerZac Medico2011-03-261-1/+3
|
* MergeListItem: inherit _poll and _waitZac Medico2011-03-261-8/+0
|
* unmerge: fix PORTAGE_BACKGROUND logicZac Medico2011-03-261-0/+7
|
* config: blacklist PORTAGE_BACKGROUND* varsZac Medico2011-03-261-1/+5
|
* env_update: remove sleep_for_mtime_granularityDavid James2011-03-261-11/+7
| | | | | | | | Instead of sleeping, use os.utime to avoid mtime ambiguity. Change-Id: I359ececca19b6be9f5997ac5c8fe6fea6ea49dd5 Review URL: http://codereview.chromium.org/6676150
* PollScheduler: tweak _unregister event cleanupZac Medico2011-03-261-5/+9
|
* PollScheduler: handle missing log directoryZac Medico2011-03-261-12/+23
| | | | | This can be triggered by AbstractPollTask._log_poll_exception(), as reported by Michael Haubenwallner <haubi@gentoo.org> for AIX.
* Update Portage to sync BlockerDB at init.David James2011-03-263-30/+25
| | | | | | | | | | | | 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
* emerge: support [ y | n ] for --askZac Medico2011-03-263-4/+19
| | | | | | 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.
* Optimize ebuild.sh to cache preprocessing output.David James2011-03-261-8/+8
| | | | | | | | | | | | | 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
* get_dep_chain: handle InvalidDependStringZac Medico2011-03-261-2/+6
|
* chk_updated_cfg_files: fix whitespace in messageZac Medico2011-03-261-1/+2
| | | | Thanks to Dennis Schridde in bug #359681.
* portageq owners: list orphans via stderrZac Medico2011-03-261-5/+21
|
* emerge_main: add "args" parameter (sys.argv[1:])Zac Medico2011-03-261-7/+12
| | | | | Also, fix local portage.debug import so that "global portage" is not necessary.
* TaskSequence: also call CompositeTask._cancel()Zac Medico2011-03-261-0/+1
| | | | | | This is a regression from commit 363a7478a100495d2e8597bc6c6d2fdac94339e0 but it's usually not noticeable with Ctrl-C since SIGINT is propagated to nested processes.
* Update timestamps in headers of modified files.v2.1.9.44Zac Medico2011-03-183-3/+3
|
* CompositeTask: fix _wait for TASK_QUEUEDZac Medico2011-03-181-3/+19
| | | | | | | 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.
* ebuild-ipc: import errnoZac Medico2011-03-181-0/+1
|
* EbuildIpcDaemon: use non-blocking writeZac Medico2011-03-181-5/+24
| | | | | | | | | | | 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.
* ebuild-ipc: use non-blocking readZac Medico2011-03-181-13/+41
| | | | | | | | | | | | 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).
* AsynchronousLock: implement _cancelZac Medico2011-03-181-0/+8
|
* make.conf.5: fix "direcory" spellingZac Medico2011-03-182-2/+2
| | | | Thanks to Francesco Turco in bug #359273.
* dep_check: return errors as unicodeZac Medico2011-03-181-4/+5
| | | | | | | | | | | 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)
* AsynchronousTask: add _cancel template methodZac Medico2011-03-187-17/+21
|
* Update Scheduler to protect against infinite loopDavid James2011-03-181-4/+2
| | | | | 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.
* Scheduler: tweak prefetcher cancellation logicZac Medico2011-03-184-7/+16
| | | | | This should prevent "TypeError: an integer is required" raised from waitpid when trying to cancel a prefetcher that never started.
* CompositeTask: handle unstarted terminated tasksZac Medico2011-03-183-6/+24
|
* CompositeTask: fix assertion in _waitZac Medico2011-03-181-0/+5
|
* AsynchronousTask: always call wait() if cancelledZac Medico2011-03-184-10/+7
| | | | | | 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.
* Scheduler: terminate _merge_wait_queueZac Medico2011-03-181-0/+4
|
* iter_owners: try the hashed approach in any caseZac Medico2011-03-181-8/+0
| | | | | | 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.
* slot_conflict: tweak message and fix grammarZac Medico2011-03-181-1/+1
|
* emerge: support [ y | n ] for --quietv2.1.9.43Zac Medico2011-03-143-8/+34
| | | | | | This allows --quiet and --quiet-build to be enabled via EMERGE_DEFAULT_OPTS, and then temporarily disabled via the command- line.
* Update timestamps in headers of modified files.Zac Medico2011-03-142-2/+2
|
* Scheduler: fix AttributeError in _terminate_tasksZac Medico2011-03-141-1/+4
| | | | | Thanks to David James <davidjames@google.com> for reporting this error: AttributeError: 'EbuildPhase' object has no attribute 'merge'
* Make all temp dirs under $PORTAGE_TMPDIR/portage.Zac Medico2011-03-142-11/+14
| | | | | | | | | | | 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.
* PollScheduler: tweek termination logicZac Medico2011-03-144-11/+36
| | | | | | | | | * 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.
* PollScheduler: call _terminate_tasks in _scheduleZac Medico2011-03-141-7/+11
| | | | | This prevents it from being called while the _schedule_tasks() implementation is running, in order to avoid potential interference.
* Scheduler: avoid infinite loop after CTRL-CZac Medico2011-03-141-1/+14
| | | | | | | | 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.
* ebuild-ipc: use plain file read instead of arrayZac Medico2011-03-141-9/+6
| | | | | Array.fromfile() seems to be more error prone. For example, see bug 337465.
* AbstractPollTask: log exceptional eventsZac Medico2011-03-142-1/+15
| | | | | | | | | | | | | | | | 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
* unmerge: use vardbapi._dblink() to simplifyZac Medico2011-03-141-4/+1
| | | | The dblink constructor is complex and best avoided.
* Bug #357009: Disallow uninstallation of currently used Python interpreter.Arfrever Frehtes Taifersar Arahesis2011-03-141-13/+21
|
* portdbapi: source ebuilds when eclass dir missingZac Medico2011-03-141-2/+0
| | | | This will fix bug #357581.
* eclass_cache: remove deprecated methodsZac Medico2011-03-141-15/+2
|
* config: quote overlays containing spacesZac Medico2011-03-141-10/+13
| | | | This will fix bug #357297.