Gentoo Archives: gentoo-soc

From: Lucian Poston <lucianposton@×××××.com>
To: gentoo-soc@l.g.o
Cc: Marius Mauch <google-soc@××××××.de>
Subject: [gentoo-soc] Progress Report - Revdep-rebuild
Date: Fri, 01 Aug 2008 21:25:03
Message-Id: c4cdc1420808011424s4cd8f685u8bb26dfc1a0c7311@mail.gmail.com
1 A new method, listBrokenLibtoolLibraries, was added to
2 MissingLibraryConsumerSet which basically checks that all dependencies
3 in libtool libraries exist on the filesystem. It appears to work well.
4
5 LinkageMap.listBrokenDependencies has been rewritten as
6 LinkageMap.listBrokenBinaries in order to make the method more
7 readable and more efficient. I implemented a cache within the method
8 as a class to avoid multiple calls to os.path.isfile and
9 os.path.realpath for the same file.
10
11 I had another idea for filtering packages without using masks.
12 Starting with the set of binaries in PATH variables and shared library
13 directories, the providers of those binaries will be added to the set,
14 and their providers will be added, etc. The resulting set will be the
15 set of ancestors of the original binaries. This is implemented in
16 LinkageMap.listProvidersForReachableBinaries (wonderful name, I know),
17 but so far it has not worked well in testing. It misses binaries in
18 various paths. For example, on my system it only
19 finds about 2400 binaries (compare that to over 5000 that were found
20 using the previous method). This new method is disabled for now until
21 (if) I can get it to perform as well as LinkageMap.listBrokenBinaries.
22
23 Lastly, the files have been integrated into 2.2_rc6, revdep.py is
24 merged into libs.py, and patches have been added into the repository
25 (I should have done this long ago :/ ). To test it out, you want to
26 apply the two patches to /usr/lib/portage/pym/portage/dbapi/vartree.py
27 and /usr/lib/portage/pym/portage/sets/libs.py in portage-2.2_rc6 and
28 add the contents of sets.conf in the repository to
29 /etc/portage/sets.conf. The goods are at
30 http://repo.or.cz/w/revdep-rebuild-reimplementation.git?a=tree for
31 anyone interested.
32
33 Lucian

Replies

Subject Author
[gentoo-soc] Re: Progress Report - Revdep-rebuild Lucian Poston <lucianposton@×××××.com>