1 |
On Fri, Aug 8, 2008 at 2:10 PM, Zac Medico <zmedico@g.o> wrote: |
2 |
> -----BEGIN PGP SIGNED MESSAGE----- |
3 |
> Hash: SHA1 |
4 |
> |
5 |
> Lucian Poston wrote: |
6 |
>> The following patchs add a library dependency rebuilder as a package |
7 |
>> set, @missing-rebuild, to portage-2.2_rc6. Similar to the --library |
8 |
>> flag in revdep-rebuild, the user can additionally emerge the set of |
9 |
>> packages containing consumers of libraries matched by a (python) |
10 |
>> regular expression; however, until a better solution is found, the |
11 |
>> regexp must be passed through the LIBRARY environment variable to |
12 |
>> enable that feature. |
13 |
>> |
14 |
>> Known issues: I expect some false positives. I've inserted hard coded |
15 |
>> directory/library masks for those I've found. I noticed a situation |
16 |
>> that required a second emerge due to a provider package satisfying 3 |
17 |
>> conditions: 1) the package is installed and an updated version is |
18 |
>> available in its slot, 2) the updated version is in the set due to a |
19 |
>> dependency of another package (or it may contains a broken binary), |
20 |
>> and 3) a consumer package of a library within the updated package is |
21 |
>> emerged before the updated dependency is emerged, causing a package to |
22 |
>> be compiled against the old library before the library version |
23 |
>> changes. I guess that if a package is already installed, it is not |
24 |
>> necessarily placed before its consumer packages in the merge order. |
25 |
>> |
26 |
>> Attached are patches for pym/portage/dbapi/vartree.py, |
27 |
>> pym/portage/sets/libs.py and /usr/share/portage/config/sets.conf. |
28 |
>> These can also be found in the project's repository: |
29 |
>> http://repo.or.cz/w/revdep-rebuild-reimplementation.git?a=tree;h=refs/heads/rc1;hb=refs/heads/rc1 |
30 |
> |
31 |
> Thanks, I've merged your LinkageMap changes. |
32 |
> |
33 |
> Side note: I suspect that we might be able to improve efficiency in |
34 |
> LinkageMap path comparisons by comparing tuples of device and inode |
35 |
> numbers instead of using realpath. We currently use the device/inode |
36 |
> number approach to test identity of paths in dblink.isowner(). |
37 |
|
38 |
As it is time for gSoC 2009; I want to inquire at the status of this |
39 |
code integration. |
40 |
Looking at HEAD it seems there are some changes left to merge. Is |
41 |
this on the roadmap? |
42 |
|
43 |
-Alec |
44 |
|
45 |
> |
46 |
>> I warmly welcome all feedback, in particular any suggestions to remove |
47 |
>> the necessity of directory and library masks in /etc/revdep-rebuild/*, |
48 |
>> which I've been unable to entirely avoid. |
49 |
>> |
50 |
>> Lucian |
51 |
>> |
52 |
> |
53 |
> I haven't merged the MissingLibraryConsumerSet yet since I'd like to |
54 |
> see if we can improve it a bit first. I don't have any ideas right |
55 |
> now but hopefully we can come up with something soon. |
56 |
> |
57 |
> Zac |
58 |
> |
59 |
> |
60 |
> |
61 |
> -----BEGIN PGP SIGNATURE----- |
62 |
> Version: GnuPG v2.0.9 (GNU/Linux) |
63 |
> |
64 |
> iEYEARECAAYFAkicxEsACgkQ/ejvha5XGaNcyACfX7oKKCbYraRk8AwckkA9Reu6 |
65 |
> cRkAoMa/vK5SXDTdw8+nYqpBAlUXz096 |
66 |
> =zskl |
67 |
> -----END PGP SIGNATURE----- |
68 |
> |
69 |
> |