summaryrefslogtreecommitdiffstats
path: root/pym
Commit message (Collapse)AuthorAgeFilesLines
* * Tweak conditionals in doebuild() to fix emerge --fetch breakage reportedZac Medico2008-06-301-4/+6
| | | | | | | | | by Arfrever. * Change a couple EMERGE_FROM conditionals to use the "returnpid" parameter instead. svn path=/main/trunk/; revision=10852
* Centralize select.poll() event handling in MergeTask._schedule(). This willZac Medico2008-06-291-39/+47
| | | | | | | allow the parent process to handle output of multiple child processes running in parllel. svn path=/main/trunk/; revision=10851
* Add EMERGE_FROM to the blacklisted vars in the config constructor.Zac Medico2008-06-291-1/+1
| | | | svn path=/main/trunk/; revision=10850
* * Add "fd_pipes" and "returnpid" parameters to doebuild() and passZac Medico2008-06-292-29/+211
| | | | | | | | | | | | | | these into spawn calls, enabling ebuild processes to execute asynchronously. * Add a EbuildPhase class that's derived from the pty logging code inside portage.spawn(). * Integrate post-phase code from spawnebuild() into EbuildBuild.execute() so that it still gets called even though doebuild() calls execute asynchronously. svn path=/main/trunk/; revision=10849
* In EbuildBuild.execute(), call doebuild() separately for each phase sinceZac Medico2008-06-292-10/+15
| | | | | | | it will be easier to add asynchronous support to doebuild() if it's called this way. svn path=/main/trunk/; revision=10848
* Split out a _check_build_log() function from spawnebuild().Zac Medico2008-06-291-67/+78
| | | | svn path=/main/trunk/; revision=10847
* Split out a _post_src_install_uid_fix() function from spawnebuild().Zac Medico2008-06-291-22/+28
| | | | svn path=/main/trunk/; revision=10846
* Split out a _spawn_misc_sh() function from spawnebuild().Zac Medico2008-06-291-25/+40
| | | | svn path=/main/trunk/; revision=10845
* Handle invalid atoms inside depgraph._add_pkg_deps(), to avoid anZac Medico2008-06-291-0/+7
| | | | | | | unhandled InvalidAtom exception from dep_expand() when matching against the vardb. svn path=/main/trunk/; revision=10844
* Move clean code, from the previous commit, from doebuild() toZac Medico2008-06-292-14/+11
| | | | | | EbuildBuild.execute() where it fits better. svn path=/main/trunk/; revision=10843
* Instead of calling the ebuild "clean" phase in MergeTask.merge(),Zac Medico2008-06-292-9/+18
| | | | | | | move it inside doebuild() where it can be tied into the actionmap_deps framework. svn path=/main/trunk/; revision=10842
* Split out an EbuildBuildDir class to handle locking of the build dir.Zac Medico2008-06-291-34/+76
| | | | svn path=/main/trunk/; revision=10841
* Handle re.error exceptions raised from re.compile() when ACCEPT_CHOSTSZac Medico2008-06-281-3/+14
| | | | | | is invalid. Thanks to solar for reporting. svn path=/main/trunk/; revision=10840
* Make EbuildBinpkg delegate everything up to src_install() toZac Medico2008-06-281-2/+17
| | | | | | the EbuildBuild class. svn path=/main/trunk/; revision=10839
* * Remove unused EbuildBuild.pretend attribute.Zac Medico2008-06-281-7/+7
| | | | | | * Add TODO not about asynchronous execution. svn path=/main/trunk/; revision=10838
* Use the EbuildMerge class instead of portage.merge().Zac Medico2008-06-281-8/+5
| | | | svn path=/main/trunk/; revision=10834
* Split out a PackageUninstall class.Zac Medico2008-06-281-6/+24
| | | | svn path=/main/trunk/; revision=10833
* * Split out an EbuildBinpkg class.Zac Medico2008-06-281-16/+44
| | | | | | * Remove unused EbuildBuild.ldpath_mtimes attribute. svn path=/main/trunk/; revision=10832
* Split out an EbuildBuild class.Zac Medico2008-06-281-4/+28
| | | | svn path=/main/trunk/; revision=10831
* Fix typo.Zac Medico2008-06-281-1/+2
| | | | svn path=/main/trunk/; revision=10830
* Split out an EbuildMerge class.Zac Medico2008-06-281-8/+30
| | | | svn path=/main/trunk/; revision=10829
* * Split out a BinpkgMerge class.Zac Medico2008-06-281-7/+26
| | | | | | * Fix typos in _get_hash_key() methods. svn path=/main/trunk/; revision=10828
* Split out a BinpkgFetcher class.Zac Medico2008-06-281-40/+75
| | | | svn path=/main/trunk/; revision=10827
* Split out an EbuildFetcher class.Zac Medico2008-06-281-14/+27
| | | | svn path=/main/trunk/; revision=10826
* Split the MergeTask._merge() method into 3 smaller methods. The newZac Medico2008-06-281-23/+63
| | | | | | methods are _execute_task() and _post_merge(). svn path=/main/trunk/; revision=10825
* Bug #226307 - Copy come code from depgraph._iter_atoms_for_pkg() thatZac Medico2008-06-281-3/+47
| | | | | | | was used to solve bug #218854, and use it inside unmerge() when matching sets to packages. svn path=/main/trunk/; revision=10824
* Fix depgraph.break_refs() to work with DependencyArg instances (or anythingZac Medico2008-06-271-13/+11
| | | | | | else that may have a "root_config" attribute). svn path=/main/trunk/; revision=10823
* Remove the MergeTask._blocker_db attribute since it can just be aZac Medico2008-06-271-5/+4
| | | | | | local variable. svn path=/main/trunk/; revision=10822
* Break references from Package instances in the digraph before passingZac Medico2008-06-271-0/+2
| | | | | | it into the MergeTask constructor. svn path=/main/trunk/; revision=10821
* Pass the digraph into the MergeTask constructor. It's currently unusedZac Medico2008-06-271-5/+5
| | | | | | but it will be useful for parallel scheduling. svn path=/main/trunk/; revision=10820
* Add documentation for the new --keep-going option.Zac Medico2008-06-271-7/+24
| | | | svn path=/main/trunk/; revision=10818
* Generate and log eerror messages for any packages that need to be droppedZac Medico2008-06-271-13/+31
| | | | | | due to unsatisfied dependencies when --keep-going is enabled. svn path=/main/trunk/; revision=10817
* Call clear_caches() after the depgraph is out of scope, in MergeTask.merge().Zac Medico2008-06-271-2/+1
| | | | svn path=/main/trunk/; revision=10812
* Bug #12768 - Add a --keep-going option. This uses the same resume_depgraph()Zac Medico2008-06-271-14/+96
| | | | | | | | function that's called for emerge --resume operations. Given the remaining tasks, depedencies are recalculated and any tasks with unsatisfied dependencies are automatically dropped. svn path=/main/trunk/; revision=10811
* Use bool() to simplify ObjectProxy.__nonzero__().Zac Medico2008-06-271-3/+1
| | | | svn path=/main/trunk/; revision=10810
* Split the --skipfirst code into a resume_depgraph() function that willZac Medico2008-06-271-61/+83
| | | | | | be useful for implementing a --keep-going option (bug #12768). svn path=/main/trunk/; revision=10809
* Add "PATH" to the set of allowed pacakge metadata keys for the PackageIndex.Zac Medico2008-06-261-0/+1
| | | | svn path=/main/trunk/; revision=10806
* Fix the PermissionDenied message for color.map.Zac Medico2008-06-261-1/+4
| | | | svn path=/main/trunk/; revision=10805
* Use settings["ROOT"] at the beginning of env_update() to avoid breakageZac Medico2008-06-261-2/+2
| | | | | | due to "root" being an ObjectProxy instance. svn path=/main/trunk/; revision=10803
* Handle KeyError from aux_get() inside dbapi._iter_match_slot() andZac Medico2008-06-261-3/+9
| | | | | | _iter_match_use(). Thanks to grobian for reporting. svn path=/main/trunk/; revision=10802
* Also use a separate proxy type for portage.mtimedb since it's independentZac Medico2008-06-261-7/+32
| | | | | | from the portdb and settings. svn path=/main/trunk/; revision=10800
* Use a separate proxy type to trigger portage.portdb initialization separatelyZac Medico2008-06-261-3/+16
| | | | | | | from the rest of the legacy global variables. This can be useful since sometimes the other variables are needed while the portdb is not. svn path=/main/trunk/; revision=10799
* Implement lazy initialization of global "portdb", "settings" and otherZac Medico2008-06-262-1/+87
| | | | | | | | | | | | | | variables that pollute the portage module. This works by initializing the global variables with dummy "proxy" objects that serve as a means to trigger lazy initialization. As soon as the first attribute access or method call occurs on one of the proxy objects, it causes all the proxy objects to be replaced with the real ones. It's possible for an unsupported attribute access or method call on a proxy object to trigger an error, leading to breakage. However, hopefully these such corner cases will negligible (only time will tell). svn path=/main/trunk/; revision=10798
* Make PackageIndex use SlotDict for package metadata storage. The set ofZac Medico2008-06-263-12/+45
| | | | | | | | | allowed keys is passed into the PackageIndex constructor (normal dict instances will be used if the set of keys is not passed in for some reason). A SlotDict.allowed_keys attribute now provides access to a frozenset of allowed keys. svn path=/main/trunk/; revision=10797
* Use SlotDict where appropriate in binarytree._populate().Zac Medico2008-06-251-2/+2
| | | | svn path=/main/trunk/; revision=10796
* Fix typo.Zac Medico2008-06-251-1/+1
| | | | svn path=/main/trunk/; revision=10795
* Add docstring to slot_dict_class().Zac Medico2008-06-251-0/+11
| | | | svn path=/main/trunk/; revision=10794
* Fix typo.Zac Medico2008-06-251-1/+1
| | | | svn path=/main/trunk/; revision=10793
* Fix KeyError constructor style.Zac Medico2008-06-251-1/+1
| | | | svn path=/main/trunk/; revision=10792
* Fix indentation.Zac Medico2008-06-251-1/+1
| | | | svn path=/main/trunk/; revision=10791