Zac Medico [Sun, 16 Nov 2008 08:14:02 +0000 (08:14 -0000)]
Add a short -d option for the new --include-dev option. Thanks to Joshua
Kinard <kumba@g.o> for the suggestion. (trunk r11964)
svn path=/main/branches/2.1.6/; revision=11965
Zac Medico [Sun, 16 Nov 2008 07:59:12 +0000 (07:59 -0000)]
In order to reduce time consumed for dependency checks, skip 'dev' profiles
by default and add an --include-dev option which causes them to be checked.
Given the current profiles.desc content, this approximately halves the number
of profiles checked by default and also halves the time consumed by repoman.
Thanks to Donnie Berkholz <dberkholz@g.o> for the suggestion. (trunk r11962)
svn path=/main/branches/2.1.6/; revision=11963
Zac Medico [Sun, 16 Nov 2008 07:29:04 +0000 (07:29 -0000)]
When a "slot conflict" occurs due to USE dependencies, display the usual
slot conflict output together with the unsatisfied USE dependency output,
since both might be useful. (trunk r11960)
svn path=/main/branches/2.1.6/; revision=11961
Zac Medico [Sat, 15 Nov 2008 23:15:12 +0000 (23:15 -0000)]
Fix logic inside PollScheduler._can_add_job() so that load average is
properly considered when a single job is running. (trunk r11958)
svn path=/main/branches/2.1.6/; revision=11959
Zac Medico [Sat, 15 Nov 2008 22:17:01 +0000 (22:17 -0000)]
Make NewsManager.updateItems() and getUnreadItems() return early if
PermissionDenied errors are encountered when attempting to read the
skip or unread files.
svn path=/main/branches/2.1.6/; revision=11957
Zac Medico [Sat, 15 Nov 2008 21:21:02 +0000 (21:21 -0000)]
Inside depgraph._add_pkg(), handle the case where multiple different
instances of the same version (typically one installed and another not yet
installed) have been pulled into the graph due to a USE dependency. The "slot
collision" display is not helpful in a case like this, so display it as an
unsatisfied dependency. Thanks to Peter Volkov <pva@g.o> for reporting.
(trunk r11954)
svn path=/main/branches/2.1.6/; revision=11955
Zac Medico [Sat, 15 Nov 2008 18:53:05 +0000 (18:53 -0000)]
Bug #246821 - Avoid TypeError from binarytree.isremote() by returning early
if self._remotepkgs is None due to PORTAGE_BINHOST being unset. (trunk r11951)
svn path=/main/branches/2.1.6/; revision=11952
Zac Medico [Sat, 15 Nov 2008 18:12:22 +0000 (18:12 -0000)]
Bug #246853 - Redirect all ouput from depgraph.display_problems() to stderr,
except for unsatisfied dependency output which goes to stdout for parsing by
programs such as autounmask. (trunk r11947:11949)
svn path=/main/branches/2.1.6/; revision=11950
Zac Medico [Sat, 15 Nov 2008 06:52:29 +0000 (06:52 -0000)]
Bug #236207 - Replace some hardcoded colors with color codes, and use
portage.output.EOutput() where appropriate. (trunk r11935)
svn path=/main/branches/2.1.6/; revision=11936
Zac Medico [Sat, 15 Nov 2008 06:39:38 +0000 (06:39 -0000)]
Bug #173284 - Update config update counting code in chk_updated_cfg_files()
so hidden directories are ignored. (trunk r11933)
svn path=/main/branches/2.1.6/; revision=11934
Zac Medico [Sat, 15 Nov 2008 06:10:12 +0000 (06:10 -0000)]
Remove stray print statement from previous commit. (trunk r11931)
svn path=/main/branches/2.1.6/; revision=11932
Zac Medico [Sat, 15 Nov 2008 06:03:23 +0000 (06:03 -0000)]
Bug #173284 - Do not traverse hidden directories such as .svn or .git when
search for protected files. (trunk r11927:11929)
svn path=/main/branches/2.1.6/; revision=11930
Zac Medico [Sat, 15 Nov 2008 05:09:42 +0000 (05:09 -0000)]
Bug #236714 - Handle PortagePackageException raised from Manifest.create().
(trunk r11926)
svn path=/main/branches/2.1.6/; revision=11927
Zac Medico [Sat, 15 Nov 2008 05:00:34 +0000 (05:00 -0000)]
Make digestgen() handle PermissionDenied internally by returning failure, so
callers like repoman don't need exception handling. (trunk r11924)
svn path=/main/branches/2.1.6/; revision=11925
Zac Medico [Sat, 15 Nov 2008 04:51:25 +0000 (04:51 -0000)]
Bug #236683 - Fix PermissionDenied handling to report the exception type.
(trunk r11922)
svn path=/main/branches/2.1.6/; revision=11923
Zac Medico [Sat, 15 Nov 2008 04:28:56 +0000 (04:28 -0000)]
Bug #243022 - Inside dblink.mergeme(), when merging a directory and a symlink
is in the way, verify that if points to a directory before accepting it,
otherwise move it out of the way. (trunk r11920)
svn path=/main/branches/2.1.6/; revision=11921
Zac Medico [Sat, 15 Nov 2008 04:15:55 +0000 (04:15 -0000)]
Bug #216190 - Make dblink.treewalk() bail out rather than install a package
with file paths containing newlines. (trunk r11918)
svn path=/main/branches/2.1.6/; revision=11919
Zac Medico [Sat, 15 Nov 2008 02:25:05 +0000 (02:25 -0000)]
Fix new* and do* ebuild helpers to generate consistent error messages for
missing files and generate an appropriate QA Notice when such an error is
detected in the build log. Thanks to Diego 'Flameeyes' Pettenò <flameeyes@g.o>
for the suggestion. (trunk r11916)
svn path=/main/branches/2.1.6/; revision=11917
Zac Medico [Fri, 14 Nov 2008 22:28:00 +0000 (22:28 -0000)]
For consistency with earlier portage-2.1.x releases, override SetArg.__str__()
so that system and world sets don't show a leading @ character when displayed.
svn path=/main/branches/2.1.6/; revision=11915
Zac Medico [Fri, 14 Nov 2008 21:59:56 +0000 (21:59 -0000)]
Make the EbuildQuote check filter out matches that appear to be an argument
to a message command. For example: false || ewarn "foo $WORKDIR/bar baz"
Thanks to Diego 'Flameeyes' Pettenò <flameeyes@g.o> for reporting this
issue (currently triggered by ruby-prof-0.7.0.ebuild). (trunk r11913)
svn path=/main/branches/2.1.6/; revision=11914
Zac Medico [Fri, 14 Nov 2008 20:51:03 +0000 (20:51 -0000)]
Exempt live ebuilds from KEYWORDS.missing and KEYWORDS.dropped warnings.
Thanks to Jorge Manuel B. S. Vicetto <jmbsvicetto@g.o> for the suggestion.
(trunk r11911)
svn path=/main/branches/2.1.6/; revision=11912
Zac Medico [Fri, 14 Nov 2008 18:41:58 +0000 (18:41 -0000)]
In dyn_package(), use the 'assert' macro (from isolated-functions.sh) die if
PIPESTATUS array contains a non-zero exist status. (trunk r11907)
svn path=/main/branches/2.1.6/; revision=11910
Zac Medico [Fri, 14 Nov 2008 17:42:01 +0000 (17:42 -0000)]
Remove note about preserve-libs. Thanks to Arfrever.
svn path=/main/branches/2.1.6/; revision=11908
Zac Medico [Fri, 14 Nov 2008 09:45:07 +0000 (09:45 -0000)]
Use svn2cl --reparagraph option for better ChangeLog formatting.
svn path=/main/branches/2.1.6/; revision=11906
Zac Medico [Fri, 14 Nov 2008 08:01:49 +0000 (08:01 -0000)]
* git support for repoman (trunk r11904)
svn path=/main/branches/2.1.6/; revision=11905
Zac Medico [Fri, 14 Nov 2008 07:50:25 +0000 (07:50 -0000)]
Bug #244485 - Merge EAPI 2 docs (trunk r11889:11902).
svn path=/main/branches/2.1.6/; revision=11903
Zac Medico [Fri, 14 Nov 2008 06:16:21 +0000 (06:16 -0000)]
Having a leading ./ prefix on file paths can trigger a bug in
the cvs server when committing files to multiple directories,
so strip the prefix. Thanks to Robin H. Johnson <robbat2@g.o>
for reporting. (trunk r11896)
svn path=/main/branches/2.1.6/; revision=11897
Zac Medico [Fri, 14 Nov 2008 04:46:12 +0000 (04:46 -0000)]
Remove list_preserved_libs().
svn path=/main/branches/2.1.6/; revision=11895
Zac Medico [Thu, 13 Nov 2008 20:38:28 +0000 (20:38 -0000)]
Add a --changelog-rev option that truncates the ChangeLog at a specific
revision. Also, add -i to the svn2cl options so that the actual svn revision
numbers are included in the log.
svn path=/main/branches/2.1.6/; revision=11889
Zac Medico [Thu, 13 Nov 2008 19:00:15 +0000 (19:00 -0000)]
Remove --search set matching support.
svn path=/main/branches/2.1.6/; revision=11888
Zac Medico [Thu, 13 Nov 2008 18:46:24 +0000 (18:46 -0000)]
Refer to portage-2.1.6_rc1 in comment about resume opts being stored as a dict.
svn path=/main/branches/2.1.6/; revision=11887
Zac Medico [Thu, 13 Nov 2008 18:43:37 +0000 (18:43 -0000)]
Make PORTAGE_BINHOST docs refer to 2.1.6 instead of 2.2.
svn path=/main/branches/2.1.6/; revision=11886
Zac Medico [Thu, 13 Nov 2008 18:38:50 +0000 (18:38 -0000)]
Update docs to not prefix system and world sets with the @ symbol.
svn path=/main/branches/2.1.6/; revision=11885
Zac Medico [Thu, 13 Nov 2008 18:29:55 +0000 (18:29 -0000)]
Adjust man headers to reference portage-2.1.6 instead of 2.2.
svn path=/main/branches/2.1.6/; revision=11884
Zac Medico [Thu, 13 Nov 2008 18:21:56 +0000 (18:21 -0000)]
Adjust news and notes for 2.2 features that are included in 2.1.6.
svn path=/main/branches/2.1.6/; revision=11883
Zac Medico [Thu, 13 Nov 2008 18:08:48 +0000 (18:08 -0000)]
Remove the sets configuration docs.
svn path=/main/branches/2.1.6/; revision=11882
Zac Medico [Thu, 13 Nov 2008 08:27:47 +0000 (08:27 -0000)]
Remove preserve-libs support, it's API, and code that depends on it.
svn path=/main/branches/2.1.6/; revision=11881
Zac Medico [Thu, 13 Nov 2008 08:09:13 +0000 (08:09 -0000)]
Disable set expansion inside expand_set_arguments() and emulate existing
portage-2.1.x behavior which treats system and world mutually exclusive
actions.
svn path=/main/branches/2.1.6/; revision=11880
Zac Medico [Thu, 13 Nov 2008 07:18:37 +0000 (07:18 -0000)]
Remove sets protection code from unmerge().
svn path=/main/branches/2.1.6/; revision=11879
Zac Medico [Thu, 13 Nov 2008 07:13:17 +0000 (07:13 -0000)]
Remove world_sets support from the WorldSet class, and hardcode "@system" as
the only nonatom.
svn path=/main/branches/2.1.6/; revision=11878
Zac Medico [Thu, 13 Nov 2008 06:49:06 +0000 (06:49 -0000)]
Update all portage.sets references to point to the new location, and hardcode
the SetConfig constructor with a config for just system and world sets.
svn path=/main/branches/2.1.6/; revision=11877
Zac Medico [Thu, 13 Nov 2008 06:21:54 +0000 (06:21 -0000)]
Make portage.sets private by renaming it to portage._sets.
svn path=/main/branches/2.1.6/; revision=11876
Zac Medico [Thu, 13 Nov 2008 06:11:29 +0000 (06:11 -0000)]
ACCEPT_LICENSE support depends on definition of license groups
in the tree, so it's disabled for now (accept anything).
svn path=/main/branches/2.1.6/; revision=11875
Zac Medico [Thu, 13 Nov 2008 03:40:48 +0000 (03:40 -0000)]
Use apply_secpass_permissions() to avoid OperationNotPermitted errors when
not allowed to chown files to root uid.
svn path=/main/trunk/; revision=11873
Zac Medico [Thu, 13 Nov 2008 03:32:16 +0000 (03:32 -0000)]
Use grabfile() instead of grablines(), to ignore empty lines.
svn path=/main/trunk/; revision=11872
Zac Medico [Thu, 13 Nov 2008 03:11:09 +0000 (03:11 -0000)]
Add quote from GLEP 42 about permission bits.
svn path=/main/trunk/; revision=11871
Zac Medico [Thu, 13 Nov 2008 03:08:38 +0000 (03:08 -0000)]
Misc fixes and cleanups in NewsManager.
svn path=/main/trunk/; revision=11870
Zac Medico [Thu, 13 Nov 2008 02:00:38 +0000 (02:00 -0000)]
Return early from NewsManager.updateItems() if the news path listdir call
fails.
svn path=/main/trunk/; revision=11869
Zac Medico [Thu, 13 Nov 2008 01:50:06 +0000 (01:50 -0000)]
Always return early from NewsManager.updateItems() if self.unread_path can't
be created.
svn path=/main/trunk/; revision=11868
Zac Medico [Wed, 12 Nov 2008 21:58:44 +0000 (21:58 -0000)]
Use a simpler approach instead of implementing NewsItem.__getattr__().
svn path=/main/trunk/; revision=11867
Zac Medico [Wed, 12 Nov 2008 21:47:24 +0000 (21:47 -0000)]
* Add NewsItem.isValid() and DisplayRestriction.isValid() methods and use
use them to check validity inside NewsManager.updateItems().
* Make DisplayInstalledRestriction.isValid() check validity of the atom.
svn path=/main/trunk/; revision=11866
Zac Medico [Wed, 12 Nov 2008 19:22:24 +0000 (19:22 -0000)]
Sort the return value from cpv_all() inside vardbapi._counter_hash() instead
of sorting them in side cpv_all(). Thanks to Brian Harring for the suggestion.
svn path=/main/trunk/; revision=11865
Zac Medico [Wed, 12 Nov 2008 18:57:49 +0000 (18:57 -0000)]
Inside NewsManager.updateItems(), use a mutable set for skiplist and sort the
contents when writing the file.
svn path=/main/trunk/; revision=11864
Zac Medico [Wed, 12 Nov 2008 18:43:19 +0000 (18:43 -0000)]
Instead of raising a TypeError from the NewsItem constructor, check the path
inside NewsManager.updateItems() before the NewsItem constructor is called.
svn path=/main/trunk/; revision=11863
Zac Medico [Wed, 12 Nov 2008 18:32:38 +0000 (18:32 -0000)]
Use a frozenset to optimize skiplist containment checks inside
NewsManager.updateItems().
svn path=/main/trunk/; revision=11862
Zac Medico [Wed, 12 Nov 2008 02:24:42 +0000 (02:24 -0000)]
Bug #246451 - Inside SecuritySet._reduce(), use portdbapi.xmatch("match-all")
in order do be consistent with portage.glsa.getMinUpgrade() which also uses
match-all.
svn path=/main/trunk/; revision=11861
Zac Medico [Tue, 11 Nov 2008 19:59:49 +0000 (19:59 -0000)]
Make post_emerge() exit early if it detects that the vdb state hasn't changed.
This works by comparing a hash of the COUNTER values for all packages in the
vdb.
svn path=/main/trunk/; revision=11859
Zac Medico [Tue, 11 Nov 2008 19:27:51 +0000 (19:27 -0000)]
Allow --keep-going to continue in some cases when a runtime dependency has
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
Zac Medico [Tue, 11 Nov 2008 18:37:37 +0000 (18:37 -0000)]
Simplify code for cloning config instances inside Scheduler.merge().
svn path=/main/trunk/; revision=11856
Zac Medico [Tue, 11 Nov 2008 18:20:10 +0000 (18:20 -0000)]
Make FindPortdir() fall back to have_profile_dir() checks if it can't match
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
Zac Medico [Tue, 11 Nov 2008 17:53:43 +0000 (17:53 -0000)]
Derive the changelog_path variable from the new checkdir_relative variable.
svn path=/main/trunk/; revision=11854
Zac Medico [Tue, 11 Nov 2008 17:46:49 +0000 (17:46 -0000)]
Make FindPortdir() return (None, None, None) on failure, instead of raising
a potentially ambiguous ValueError.
svn path=/main/trunk/; revision=11853
Zac Medico [Tue, 11 Nov 2008 17:39:55 +0000 (17:39 -0000)]
Inside have_profile_dir(), check for existence of profiles.desc since that
makes a little more sense thatn checking for package.mask.
svn path=/main/trunk/; revision=11852
Zac Medico [Tue, 11 Nov 2008 10:19:32 +0000 (10:19 -0000)]
Update hardcoded "cvs" error messages to show the correct vcs value.
svn path=/main/trunk/; revision=11851
Zac Medico [Tue, 11 Nov 2008 10:06:30 +0000 (10:06 -0000)]
Fix pretend output to show git -a option when committing signed manifest.
svn path=/main/trunk/; revision=11850
Zac Medico [Tue, 11 Nov 2008 10:04:49 +0000 (10:04 -0000)]
Add git support. Thanks to Daniel Robbins for the initial patch.
svn path=/main/trunk/; revision=11849
Zac Medico [Tue, 11 Nov 2008 05:39:32 +0000 (05:39 -0000)]
Fix logic from previous commit in Scheduler._choose_pkg() to ensure that
the --nodeps code is only triggered when --jobs > 1.
svn path=/main/trunk/; revision=11848
Zac Medico [Tue, 11 Nov 2008 05:01:58 +0000 (05:01 -0000)]
When in --nodeps mode, make Scheduler._set_digraph() discard the digraph and
make Scheduler._choose_pkg() always return the task at the front of the queue.
svn path=/main/trunk/; revision=11847
Zac Medico [Tue, 11 Nov 2008 04:41:49 +0000 (04:41 -0000)]
Inside depgraph.loadResumeCommand(), initialize self._scheduler_graph when
in --nodeps mode in order to avoid an AttributeError later when
self.schedulerGraph() is called.
svn path=/main/trunk/; revision=11846
Zac Medico [Mon, 10 Nov 2008 22:30:35 +0000 (22:30 -0000)]
Fix --jobs parallel scheduling to ensure that temporary simultaneous
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
Zac Medico [Mon, 10 Nov 2008 16:41:05 +0000 (16:41 -0000)]
Revert r11839 since it's not necessarily desired to invert all uninstall
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
Zac Medico [Mon, 10 Nov 2008 04:10:06 +0000 (04:10 -0000)]
In the LinkageMap.findConsumers() docstring, add a note about incompatibility
with symlinks created by binutils-config.
svn path=/main/trunk/; revision=11843
Zac Medico [Sun, 9 Nov 2008 23:02:33 +0000 (23:02 -0000)]
* Use noiselevel=-1 for preserve-libs ">>> needed" and "<<< !needed" messages
so that they're show even without --verbose mode.
* Sort files for the ">>> needed" display.
svn path=/main/trunk/; revision=11842
Zac Medico [Sun, 9 Nov 2008 22:36:06 +0000 (22:36 -0000)]
Remove unused formatter code in show_invalid_depstring_notice().
svn path=/main/trunk/; revision=11841
Zac Medico [Sun, 9 Nov 2008 22:32:13 +0000 (22:32 -0000)]
Make show_invalid_depstring_notice() send output to stderr via writemsg_level().
svn path=/main/trunk/; revision=11840
Zac Medico [Sun, 9 Nov 2008 22:18:21 +0000 (22:18 -0000)]
Inside Scheduler._reverse_uninstall_edges(), iover all nodes rather than just
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
Zac Medico [Sun, 9 Nov 2008 21:29:40 +0000 (21:29 -0000)]
Move initialization of Scheduler._background from the constructor to the
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
Zac Medico [Sun, 9 Nov 2008 20:36:29 +0000 (20:36 -0000)]
Add PROPERTIES=interactive support in depgraph.display() and the
PackageCounters class.
svn path=/main/trunk/; revision=11837
Zac Medico [Sun, 9 Nov 2008 17:19:55 +0000 (17:19 -0000)]
When adding parent directories to contents inside
dblink._add_preserve_libs_to_contents(), account for the trailing slash on
$ROOT in the while loop.
svn path=/main/trunk/; revision=11836
Zac Medico [Sun, 9 Nov 2008 16:58:36 +0000 (16:58 -0000)]
Handle a corner case inside dblink._add_preserve_libs_to_contents() in which
a path to be preserved doesn't exist in the contents of the installed instance.
svn path=/main/trunk/; revision=11835
Zac Medico [Sun, 9 Nov 2008 16:40:43 +0000 (16:40 -0000)]
Update docstring for dblink._find_libs_to_preserve().
svn path=/main/trunk/; revision=11834
Zac Medico [Sun, 9 Nov 2008 09:21:49 +0000 (09:21 -0000)]
Inside vardbapi.removeFromContents(), automatically clear the contents cache
of the dblink instance in case an existing one was passed in.
svn path=/main/trunk/; revision=11833
Zac Medico [Sun, 9 Nov 2008 07:42:25 +0000 (07:42 -0000)]
Bug #243030 - In PreservedLibraryConsumerSet.load(), avoid rebuilding packages
just because they contain preserved libs that happen to be consumers of other
preserved libs.
svn path=/main/trunk/; revision=11832
Zac Medico [Sun, 9 Nov 2008 07:14:09 +0000 (07:14 -0000)]
Bug #245362 - Rewrite preserve-libs preservation code so that it always relies
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
Zac Medico [Sun, 9 Nov 2008 02:03:32 +0000 (02:03 -0000)]
Inside LinkageMap, use self._obj_key() whenever possible.
svn path=/main/trunk/; revision=11830
Zac Medico [Sat, 8 Nov 2008 18:29:23 +0000 (18:29 -0000)]
Fix $ROOT handlink inside display_preserved_libs().
svn path=/main/trunk/; revision=11829
Zac Medico [Sat, 8 Nov 2008 05:12:04 +0000 (05:12 -0000)]
With python-2.6, importing the Crypto.Hash.MD5 and Crypto.Hash.SHA modules
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
Zac Medico [Sat, 8 Nov 2008 00:55:40 +0000 (00:55 -0000)]
Handle CommandNotFound exceptions if the scanelf binary happens to be missing,
and disable preserve-libs code in that case.
svn path=/main/trunk/; revision=11827
Zac Medico [Fri, 7 Nov 2008 22:18:33 +0000 (22:18 -0000)]
In LinkageMap.rebuild(), immediately raise a CommandNotFound exception if
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
Zac Medico [Fri, 7 Nov 2008 21:52:48 +0000 (21:52 -0000)]
Handle a potential OSError that occurs if the scanelf binary is missing
when LinkageMap.rebuild() is called.
svn path=/main/trunk/; revision=11825
Zac Medico [Fri, 7 Nov 2008 21:40:21 +0000 (21:40 -0000)]
Replace NEEDED.ELF.2 strings with references to LinkageMap._needed_aux_key.
svn path=/main/trunk/; revision=11824
Zac Medico [Fri, 7 Nov 2008 21:18:44 +0000 (21:18 -0000)]
Improve the error message that's generated in LinkageMap.rebuild() for corrupt
NEEDED.ELF.2 entries.
svn path=/main/trunk/; revision=11823
Zac Medico [Fri, 7 Nov 2008 21:04:45 +0000 (21:04 -0000)]
When calling scanelf inside LinkageMap.rebuild(), join paths with $ROOT when
generating the arguments and then strip $ROOT from the paths in the output.
svn path=/main/trunk/; revision=11822
Zac Medico [Fri, 7 Nov 2008 18:20:57 +0000 (18:20 -0000)]
Fix LinkageMap.rebuild() so that the data from include_file overrides the
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
Zac Medico [Fri, 7 Nov 2008 16:56:04 +0000 (16:56 -0000)]
When using the `read` builtin to split newlines in e* function arguments, use
$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
Zac Medico [Fri, 7 Nov 2008 16:23:36 +0000 (16:23 -0000)]
Combine redundant arch_map code inside LinkageMap.rebuild().
svn path=/main/trunk/; revision=11819
Zac Medico [Fri, 7 Nov 2008 16:09:59 +0000 (16:09 -0000)]
Swap the locations of the arch and soname keys inside LinkageMap._libs in
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
Zac Medico [Fri, 7 Nov 2008 15:39:35 +0000 (15:39 -0000)]
Inside LinkageMap._libs, use a SlotDict to store consumers and providers,
to use less memory than a normal dict.
svn path=/main/trunk/; revision=11817
Zac Medico [Fri, 7 Nov 2008 08:56:55 +0000 (08:56 -0000)]
Bug #245932 - Pass use_mask and use_force parameters into recursive
_expand_new_virtuals() calls, fixing a TypeError which is triggered inside
portage.dep._use_dep._eval_qa_conditionals().
svn path=/main/trunk/; revision=11816
Zac Medico [Thu, 6 Nov 2008 20:27:03 +0000 (20:27 -0000)]
Remove the special package.keywords mask warning from bug #223447 since
--depclean now uses the depgraph class and therefore should be more
consistent with the update algorithm.
svn path=/main/trunk/; revision=11815