summaryrefslogtreecommitdiffstats
path: root/pym/_emerge
Commit message (Collapse)AuthorAgeFilesLines
* Make post_emerge() exit early if it detects that the vdb state hasn't changed.v2.2_rc14Zac Medico2008-11-111-0/+9
| | | | | | | This works by comparing a hash of the COUNTER values for all packages in the vdb. svn path=/main/trunk/; revision=11859
* Allow --keep-going to continue in some cases when a runtime dependency hasZac Medico2008-11-111-2/+9
| | | | | | | failed to build or install. This involves pruning off the parts of the graph containing installed packages with unsatisfied dependencies. svn path=/main/trunk/; revision=11858
* Simplify code for cloning config instances inside Scheduler.merge().Zac Medico2008-11-111-1/+1
| | | | svn path=/main/trunk/; revision=11856
* Fix logic from previous commit in Scheduler._choose_pkg() to ensure thatZac Medico2008-11-111-1/+2
| | | | | | the --nodeps code is only triggered when --jobs > 1. svn path=/main/trunk/; revision=11848
* When in --nodeps mode, make Scheduler._set_digraph() discard the digraph andZac Medico2008-11-111-3/+4
| | | | | | make Scheduler._choose_pkg() always return the task at the front of the queue. svn path=/main/trunk/; revision=11847
* Inside depgraph.loadResumeCommand(), initialize self._scheduler_graph whenZac Medico2008-11-111-0/+1
| | | | | | | in --nodeps mode in order to avoid an AttributeError later when self.schedulerGraph() is called. svn path=/main/trunk/; revision=11846
* Fix --jobs parallel scheduling to ensure that temporary simultaneousZac Medico2008-11-101-39/+35
| | | | | | | | | installation of conflicting packages is avoided when appropriate (especially for !!atom blockers), but allowed in specific cases that require it. This is accomplished by reversing specific uninstall edges in the digraph, while possibly leaving some edges in there original state. svn path=/main/trunk/; revision=11845
* Revert r11839 since it's not necessarily desired to invert all uninstallZac Medico2008-11-101-4/+5
| | | | | | | edges. TODO: Invert only the specific edges that the depgraph has decided are necessary and allowed to be inverted. svn path=/main/trunk/; revision=11844
* Remove unused formatter code in show_invalid_depstring_notice().Zac Medico2008-11-091-3/+0
| | | | svn path=/main/trunk/; revision=11841
* Make show_invalid_depstring_notice() send output to stderr via writemsg_level().Zac Medico2008-11-091-12/+5
| | | | svn path=/main/trunk/; revision=11840
* Inside Scheduler._reverse_uninstall_edges(), iover all nodes rather than justZac Medico2008-11-091-1/+4
| | | | | | | | | | the merge list, because some uninstall nodes may not be in the merge list since they will be performed as part of an upgrade within a slot. This solves a problem with Scheduler._choose_pkg() not parallelizing in some cases when it should, due to an uninstall node not having it's edge reversed like it's supposed to. svn path=/main/trunk/; revision=11839
* Move initialization of Scheduler._background from the constructor to theZac Medico2008-11-091-13/+32
| | | | | | | | merge() method so that a potential InvalidDependString exception can be handled there, causing merge() to return unsuccessfully. This avoids having to raise an exception from the constructor. svn path=/main/trunk/; revision=11838
* Add PROPERTIES=interactive support in depgraph.display() and theZac Medico2008-11-091-0/+20
| | | | | | PackageCounters class. svn path=/main/trunk/; revision=11837
* Fix $ROOT handlink inside display_preserved_libs().Zac Medico2008-11-081-3/+3
| | | | svn path=/main/trunk/; revision=11829
* Handle CommandNotFound exceptions if the scanelf binary happens to be missing,Zac Medico2008-11-081-12/+22
| | | | | | and disable preserve-libs code in that case. svn path=/main/trunk/; revision=11827
* Remove the special package.keywords mask warning from bug #223447 sinceZac Medico2008-11-061-34/+4
| | | | | | | --depclean now uses the depgraph class and therefore should be more consistent with the update algorithm. svn path=/main/trunk/; revision=11815
* Bug #245661 - Never enable --complete-graph automatically since it's confusingZac Medico2008-11-061-14/+3
| | | | | | for users. svn path=/main/trunk/; revision=11814
* Synchronize portage update/restart logic in dblink.merge() andZac Medico2008-11-041-9/+3
| | | | | | | depgraph.display() so it's consistent with Scheduler._is_restart_necessary(). Thanks to Jeremy Olexa <darkside@g.o> for reporting. svn path=/main/trunk/; revision=11808
* Free some memory by clearing the LinkageMap cache when it's not needed.Zac Medico2008-11-041-0/+1
| | | | svn path=/main/trunk/; revision=11807
* Bug #245358 - For unsatisfied dependencies, display the parent nodes and theZac Medico2008-11-031-6/+18
| | | | | | argument that pulled them in. svn path=/main/trunk/; revision=11805
* Remove duplicate code inside EbuildFetchPretend._execute().Zac Medico2008-11-021-3/+0
| | | | svn path=/main/trunk/; revision=11801
* Remove locking from EbuildFetchPretend since it uses a private temp directoryZac Medico2008-11-021-5/+10
| | | | | | now (since bug #245231). svn path=/main/trunk/; revision=11800
* Bug #245231 - Make EbuildFetchPretend use a private temp directory in orderZac Medico2008-11-021-2/+18
| | | | | | to avoid locking the main one. svn path=/main/trunk/; revision=11796
* In Scheduler._calc_resume_list(), use self.pkgsettings instead of the theZac Medico2008-11-011-1/+1
| | | | | | temportary depgraph's. svn path=/main/trunk/; revision=11787
* Remove unused imports.Zac Medico2008-11-011-3/+3
| | | | svn path=/main/trunk/; revision=11774
* Use portage.const.PORTAGE_PACKAGE_ATOM where appropriate.Zac Medico2008-10-301-2/+4
| | | | svn path=/main/trunk/; revision=11758
* Bug #244975 - Don't allow the user to make portage unmerge itself sinceZac Medico2008-10-301-1/+24
| | | | | | there's never any valid reason to do so. svn path=/main/trunk/; revision=11756
* Avoid unnecessary aux_get calls inside Scheduler._pkg() by getting the existingZac Medico2008-10-301-4/+7
| | | | | | Package instance from the digraph. svn path=/main/trunk/; revision=11752
* Make config.setcpv() store the ebuild metadata inside self.configdict["pkg"],Zac Medico2008-10-291-0/+1
| | | | | | | and reuse this metadata inside doebuild() in order to avoid redundant portdbapi.aux_get() calls. svn path=/main/trunk/; revision=11743
* Make SetConfig.getSetAtoms() raise a PackageSetNotFound exception whenZac Medico2008-10-281-2/+9
| | | | | | | | necessary and add handling code in emerge. This solves an unhandled KeyError that was raise when a nested set did not exist. Thanks to ABCD for reporting. svn path=/main/trunk/; revision=11732
* Add "bzr" to the lists of live eclasses.Zac Medico2008-10-231-0/+1
| | | | svn path=/main/trunk/; revision=11720
* Bug #233296 - Add minimal PROPERTIES=interactive support by simply forcingZac Medico2008-10-211-0/+36
| | | | | | | all package output to stdio whenever the merge list contains one or more interactive packages. svn path=/main/trunk/; revision=11715
* Bug #186842 - Suppress file merge display, as previously done in --quiet ↵Zac Medico2008-10-211-0/+4
| | | | | | | | | mode, whenever --verbose is not enabled. Also, export PORTAGE_VERBOSE to the ebuild environment and use it to control tar verbosity when creating binary packages. svn path=/main/trunk/; revision=11709
* Handle the case that was intended to be fixed by r11702 (which got reverted).Zac Medico2008-10-201-0/+16
| | | | svn path=/main/trunk/; revision=11705
* Revert previous 2 commits since they broke "selective" behavior.Zac Medico2008-10-201-5/+10
| | | | svn path=/main/trunk/; revision=11704
* Simplify logic from the previous commit.Zac Medico2008-10-201-5/+4
| | | | svn path=/main/trunk/; revision=11703
* Remove the "found_available_arg" variable from depgraph._select_pkg() and useZac Medico2008-10-191-6/+2
| | | | | | | | | | | the "matched_packages" variable instead. This solve a problem where the "found_available_arg" flag is unreliable due to the slot filtering behavior of depgraph._iter_atoms_for_pkg(). For example, a higher version in a different slot than the available ebuild might be masked or unavailable, and depgraph._iter_atoms_for_pkg() will not identify the available ebuild as a match due to this installed package (which is not available for reinstall). svn path=/main/trunk/; revision=11702
* Bug #241366 - Only suggest to run `emaint --check world` when the atom isZac Medico2008-10-141-1/+4
| | | | | | a direct member of the world set (rather than from a nested set). svn path=/main/trunk/; revision=11691
* When emerge --keep-going bails due to missing dependencies, show the errorZac Medico2008-10-141-55/+75
| | | | | | | | message after the mod_echo output since otherwise the mod_echo output can sweep the error message out of view. Thanks to Donnie Berkholz <dberkholz@g.o> for reporting. svn path=/main/trunk/; revision=11690
* Bug #234301 - When fetch fails, include the path of the log file in theZac Medico2008-10-121-3/+8
| | | | | | | eerror message that's generated. This way it's easy for the user to find the output from the fetcher or from the pkg_nofetch phase. svn path=/main/trunk/; revision=11686
* Bug #241118 - Re-enable pkg_nofetch for emerge --pretend --fetch, but directZac Medico2008-10-121-14/+26
| | | | | | | output to stderr. This requires PORTAGE_BUILDDIR locking for bug #239560 and also for elog message storage. svn path=/main/trunk/; revision=11685
* Now that only prefetch (parallel-fetch) output goes to the global fetchZac Medico2008-10-121-10/+4
| | | | | | log, update code to remove inappropriate references to this log. svn path=/main/trunk/; revision=11682
* Remove the prefetch logic in EbuildFetcher._pipe() since prefetchers areZac Medico2008-10-121-1/+1
| | | | | | always in the background anyway. svn path=/main/trunk/; revision=11681
* Buge #241100 - Make EbuildFetcher use a pty when appropriate, so that fetcherZac Medico2008-10-121-0/+12
| | | | | | progress bars, like wget has, will work properly. svn path=/main/trunk/; revision=11680
* Make the Scheduler class treat failed fetches the same as other failedZac Medico2008-10-121-46/+11
| | | | | | | | packages, and don't bail out due to a failure when in --fetchonly mode. This fixes an issue with --fetchonly bailing out instead of continuing to fetch. svn path=/main/trunk/; revision=11679
* In EbuildFetcher._start(), in order to ensure that a new log is created whenZac Medico2008-10-111-9/+16
| | | | | | appropriate, clean up PORTAGE_BUILDDIR if appropriate. svn path=/main/trunk/; revision=11678
* Migrate code from plain ValueError to AmbiguousPackageName where appropriateZac Medico2008-10-101-10/+7
| | | | | | (inherits from ValueError for backward compatibility). svn path=/main/trunk/; revision=11672
* Bug #241132 - Handle AmbiguousPackageName exceptions for atoms passed to theZac Medico2008-10-101-5/+4
| | | | | | --info action. svn path=/main/trunk/; revision=11671
* Remove redundant os.close(master_fd) call inside SpawnProcess._start() sinceZac Medico2008-10-091-1/+0
| | | | | | | | | that file discriptor is referenced by a file object which already has an appropriate close() call. This fixes an 'IOError: [Errno 9] Bad file descriptor' exception which was raised when attempting to close the file object. svn path=/main/trunk/; revision=11666
* In EbuildFetcher._set_returncode(), don't clean up PORTAGE_BUILDDIR ifZac Medico2008-10-091-1/+3
| | | | | | keepwork or keeptemp are in FEATURES. svn path=/main/trunk/; revision=11661