Gentoo Archives: gentoo-portage-dev

From: Zac Medico <zmedico@g.o>
To: gentoo-portage-dev@l.g.o
Subject: Re: [gentoo-portage-dev] [PATCH] missing-rebuild package set
Date: Fri, 08 Aug 2008 22:10:17
Message-Id: 489CC44C.3020309@gentoo.org
In Reply to: [gentoo-portage-dev] [PATCH] missing-rebuild package set by Lucian Poston
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-----

Replies

Subject Author
Re: [gentoo-portage-dev] [PATCH] missing-rebuild package set Alec Warner <antarus@g.o>