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