summaryrefslogtreecommitdiffstats
path: root/pym
Commit message (Collapse)AuthorAgeFilesLines
* Display: fix fetch restrict msg for RO_DISTDIRSZac Medico2011-03-312-2/+5
| | | | This will fix bug #361463.
* chk_updated_info_files: handle --quietZac Medico2011-03-301-3/+5
| | | | This will fix bug #361257.
* display_merge: tweak background/logging logicv2.2.0_alpha29Zac Medico2011-03-271-3/+5
|
* dblink: rename 'buffer' var in _elog_processZac Medico2011-03-271-5/+5
| | | | Avoid name collision with built-in 'buffer' function.
* unmerge: fix lock/UnsupportedAPIException logicZac Medico2011-03-271-7/+12
|
* 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.
* MergeProcess: add fallback setcpv callZac Medico2011-03-261-3/+19
| | | | | | | 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.
* MergeProcess: query blockers in the main processZac Medico2011-03-262-4/+8
| | | | | Metadata cache queries may not work for some databases from within a subprocess. For example, sqlite is known to misbehave.
* display_merge: pass through noiselevel argsZac Medico2011-03-261-1/+2
|
* 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
|
* MergeProcess: relocate portage reinstall codeZac Medico2011-03-262-61/+67
| | | | | This code goes inside _start since it needs to execute in the parent process.
* unmerge: fix PORTAGE_BACKGROUND logicZac Medico2011-03-262-5/+15
|
* Reoranize PackageMerge/MergeListItem interaction.Zac Medico2011-03-265-32/+22
|
* PackageMerge: call wait() for conformityZac Medico2011-03-251-2/+1
|
* Update header timestamps for modified files.Zac Medico2011-03-258-8/+8
|
* MergeProcess: call elog_process for replaced pkgsZac Medico2011-03-253-5/+8
|
* dblink: use self.mycpv in _elogZac Medico2011-03-251-2/+2
|
* MergeProcess: toggle vardbapi._pkgs_changedZac Medico2011-03-251-0/+1
|
* config: blacklist PORTAGE_BACKGROUND* varsZac Medico2011-03-251-1/+5
|
* MergeProcess: handle unicode in elog pipeZac Medico2011-03-252-3/+3
|
* env_update: remove sleep_for_mtime_granularityDavid James2011-03-251-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-251-5/+9
|
* PollScheduler: handle missing log directoryZac Medico2011-03-251-12/+23
| | | | | This can be triggered by AbstractPollTask._log_poll_exception(), as reported by Michael Haubenwallner <haubi@gentoo.org> for AIX.
* dblink: fix elog bugs for unmerge phasesZac Medico2011-03-251-18/+22
|
* vartree: remove broken scheduler referenceZac Medico2011-03-251-2/+1
|
* vartree: remove unused scheduler referencesZac Medico2011-03-251-33/+7
| | | | | Since all the merge code runs inside MergeProcess now, there's no reason to yield to the scheduler.
* MergeProcess: separate unmerge output from mergeZac Medico2011-03-253-29/+46
| | | | | | | 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.
* ebuild(1): fix AttributeError for merge phaseZac Medico2011-03-251-1/+2
| | | | | | | | | | 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'
* MergeProcess: close elog_writer_fd leakZac Medico2011-03-251-0/+1
|
* MergeProcess: Fix PORTAGE_BACKGROUND/LOG_FILE useZac Medico2011-03-244-14/+33
| | | | | | | | 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.
* Preserve elog message continuity during updates.Zac Medico2011-03-243-3/+7
| | | | | | This integrates the fix from commit 8209aeab647b1ab80a64d5931069b3533776ef75 with the asynchronous merge changes from commit 7535cabdf2fab76fc55df83643157613dfd66be9.
* Merge packages asynchronously in Portage.David James2011-03-247-108/+182
| | | | | | | | 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
* Update Portage to sync BlockerDB at init.David James2011-03-243-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-242-3/+18
| | | | | | 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.
* get_dep_chain: handle InvalidDependStringZac Medico2011-03-231-2/+6
|
* chk_updated_cfg_files: fix whitespace in messageZac Medico2011-03-201-1/+2
| | | | Thanks to Dennis Schridde in bug #359681.
* emerge_main: add "args" parameter (sys.argv[1:])Zac Medico2011-03-201-7/+12
| | | | | Also, fix local portage.debug import so that "global portage" is not necessary.
* TaskSequence: also call CompositeTask._cancel()Zac Medico2011-03-181-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.2.0_alpha28Zac Medico2011-03-184-4/+4
|
* PackageVirtualDbapi: fix get() for reposyntaxZac Medico2011-03-182-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.
* EbuildIpcDaemon: use non-blocking writeZac Medico2011-03-171-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.
* AsynchronousLock: implement _cancelZac Medico2011-03-171-0/+8
|
* dep_check: return errors as unicodeZac Medico2011-03-171-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-167-17/+21
|
* Update Scheduler to protect against infinite loopDavid James2011-03-161-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-164-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-163-6/+24
|