summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Make post_emerge() exit early if it detects that the vdb state hasn't changed.v2.2_rc14Zac Medico2008-11-113-0/+26
| | | | | | | 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
* Make FindPortdir() fall back to have_profile_dir() checks if it can't matchZac Medico2008-11-111-6/+20
| | | | | | | | the current location with anything from PORTDIR_OVERLAY. Assume that an overlay will contain at least a "repo_name" file while a master repo (portdir) will contain at least a "profiles.desc" file. svn path=/main/trunk/; revision=11855
* Derive the changelog_path variable from the new checkdir_relative variable.Zac Medico2008-11-111-6/+1
| | | | svn path=/main/trunk/; revision=11854
* Make FindPortdir() return (None, None, None) on failure, instead of raisingZac Medico2008-11-112-4/+3
| | | | | | a potentially ambiguous ValueError. svn path=/main/trunk/; revision=11853
* Inside have_profile_dir(), check for existence of profiles.desc since thatZac Medico2008-11-111-1/+1
| | | | | | makes a little more sense thatn checking for package.mask. svn path=/main/trunk/; revision=11852
* Update hardcoded "cvs" error messages to show the correct vcs value.Zac Medico2008-11-111-4/+9
| | | | svn path=/main/trunk/; revision=11851
* Fix pretend output to show git -a option when committing signed manifest.Zac Medico2008-11-111-1/+1
| | | | svn path=/main/trunk/; revision=11850
* Add git support. Thanks to Daniel Robbins for the initial patch.Zac Medico2008-11-111-11/+71
| | | | svn path=/main/trunk/; revision=11849
* 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
* In the LinkageMap.findConsumers() docstring, add a note about incompatibilityZac Medico2008-11-101-1/+6
| | | | | | with symlinks created by binutils-config. svn path=/main/trunk/; revision=11843
* * Use noiselevel=-1 for preserve-libs ">>> needed" and "<<< !needed" messagesZac Medico2008-11-091-3/+5
| | | | | | | so that they're show even without --verbose mode. * Sort files for the ">>> needed" display. svn path=/main/trunk/; revision=11842
* 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
* When adding parent directories to contents insideZac Medico2008-11-091-1/+1
| | | | | | | dblink._add_preserve_libs_to_contents(), account for the trailing slash on $ROOT in the while loop. svn path=/main/trunk/; revision=11836
* Handle a corner case inside dblink._add_preserve_libs_to_contents() in whichZac Medico2008-11-091-5/+14
| | | | | | a path to be preserved doesn't exist in the contents of the installed instance. svn path=/main/trunk/; revision=11835
* Update docstring for dblink._find_libs_to_preserve().Zac Medico2008-11-091-2/+2
| | | | svn path=/main/trunk/; revision=11834
* Inside vardbapi.removeFromContents(), automatically clear the contents cacheZac Medico2008-11-091-0/+1
| | | | | | of the dblink instance in case an existing one was passed in. svn path=/main/trunk/; revision=11833
* Bug #243030 - In PreservedLibraryConsumerSet.load(), avoid rebuilding packagesZac Medico2008-11-091-1/+6
| | | | | | | just because they contain preserved libs that happen to be consumers of other preserved libs. svn path=/main/trunk/; revision=11832
* Bug #245362 - Rewrite preserve-libs preservation code so that it always reliesZac Medico2008-11-091-158/+121
| | | | | | | | | | | | | on inode comparisons rather than string comparisons. Instead of injecting libraries into $D before the files are merged, the preservation code now executes after the files are merged but before the old version is unmerged. After determining which libs to preserve, the CONTENTS are updated to include those libs. The PreservedLibsRegistry.register() call is now done just after the temporary vdb entry has been moved into place, guaranteeing that a valid vdb entry is in place so that the unregistration code from bug #210501 is no longer needed. svn path=/main/trunk/; revision=11831
* Inside LinkageMap, use self._obj_key() whenever possible.Zac Medico2008-11-091-13/+6
| | | | svn path=/main/trunk/; revision=11830
* Fix $ROOT handlink inside display_preserved_libs().Zac Medico2008-11-081-3/+3
| | | | svn path=/main/trunk/; revision=11829
* With python-2.6, importing the Crypto.Hash.MD5 and Crypto.Hash.SHA modulesZac Medico2008-11-081-4/+1
| | | | | | | | | | | | from pycrypto triggers warnings since those modules are implemented using the deprecated md5 and sha modules from python's stdlib. So, in order to avoid the warning and the inferior hash implementations that come with them, never use these particular modules from pycrypto. Instead, use hashlib or directly use stdlib's md5 and sha modules if necessary. Thanks to Markus Peloquin for reporting. svn path=/main/trunk/; revision=11828
* Handle CommandNotFound exceptions if the scanelf binary happens to be missing,Zac Medico2008-11-082-21/+51
| | | | | | and disable preserve-libs code in that case. svn path=/main/trunk/; revision=11827
* In LinkageMap.rebuild(), immediately raise a CommandNotFound exception ifZac Medico2008-11-071-4/+5
| | | | | | | | | scanelf is missing since otherwise it will lead to a KeyError later on from findConsumers or findProviders. This will allow the caller to handle the CommandNotFound exception if necessary, and skip any findConsumers or findProviders since they won't be able to return valid results. svn path=/main/trunk/; revision=11826
* Handle a potential OSError that occurs if the scanelf binary is missingZac Medico2008-11-071-14/+20
| | | | | | when LinkageMap.rebuild() is called. svn path=/main/trunk/; revision=11825
* Replace NEEDED.ELF.2 strings with references to LinkageMap._needed_aux_key.Zac Medico2008-11-071-3/+5
| | | | svn path=/main/trunk/; revision=11824
* Improve the error message that's generated in LinkageMap.rebuild() for corruptZac Medico2008-11-071-5/+9
| | | | | | NEEDED.ELF.2 entries. svn path=/main/trunk/; revision=11823
* When calling scanelf inside LinkageMap.rebuild(), join paths with $ROOT whenZac Medico2008-11-071-3/+16
| | | | | | generating the arguments and then strip $ROOT from the paths in the output. svn path=/main/trunk/; revision=11822
* Fix LinkageMap.rebuild() so that the data from include_file overrides theZac Medico2008-11-071-12/+32
| | | | | | | data from any previously installed files. This prevent possible corruption of the data since only one set of data can be correct for a given file. svn path=/main/trunk/; revision=11821
* When using the `read` builtin to split newlines in e* function arguments, useZac Medico2008-11-071-12/+12
| | | | | | | $REPLY in order to ensure that whitespace in each line is correctly preserved. Thanks to Joe Peterson <lavajoe@g.o> for reporting. svn path=/main/trunk/; revision=11820
* Combine redundant arch_map code inside LinkageMap.rebuild().Zac Medico2008-11-071-8/+4
| | | | svn path=/main/trunk/; revision=11819
* Swap the locations of the arch and soname keys inside LinkageMap._libs inZac Medico2008-11-071-24/+24
| | | | | | | order to conserve memory. This new branching layout uses fewer dict instances since the number of sonames is much larger than the number of archs. svn path=/main/trunk/; revision=11818
* Inside LinkageMap._libs, use a SlotDict to store consumers and providers,Zac Medico2008-11-071-9/+24
| | | | | | to use less memory than a normal dict. svn path=/main/trunk/; revision=11817
* Bug #245932 - Pass use_mask and use_force parameters into recursiveZac Medico2008-11-071-1/+2
| | | | | | | _expand_new_virtuals() calls, fixing a TypeError which is triggered inside portage.dep._use_dep._eval_qa_conditionals(). svn path=/main/trunk/; revision=11816
* 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
* In Atom.__setattr__(), include inputs in case it helps for debugging withZac Medico2008-11-061-1/+2
| | | | | | derived classes. Thanks to Brian Harring for the suggestion. svn path=/main/trunk/; revision=11813
* Override Atom.__setattr__() to make Atom instances immutable. Thanks to BrianZac Medico2008-11-051-14/+20
| | | | | | Harring for the suggestion. svn path=/main/trunk/; revision=11812
* Fix broken reference to self inside unmerge().Zac Medico2008-11-041-1/+2
| | | | svn path=/main/trunk/; revision=11809
* Synchronize portage update/restart logic in dblink.merge() andZac Medico2008-11-042-10/+5
| | | | | | | 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-043-0/+3
| | | | svn path=/main/trunk/; revision=11807