1 |
Am Samstag, den 03.04.2010, 23:05 +0200 schrieb Maciej Mrozowski: |
2 |
> On Saturday 03 of April 2010 14:16:14 Fabian Groffen wrote: |
3 |
> > Shouldn't we fix that buildsystem then? Do you have an example of a |
4 |
> > package/buildsystem that does that? |
5 |
> "We" already do, the thing is that maybe we don't have to. |
6 |
> https://bugs.gentoo.org/show_bug.cgi?id=240323 |
7 |
> From top of my head: python having issues with sys-libs/db as well as some |
8 |
> packages with readline. |
9 |
> |
10 |
> > > It would indeed. Now when I think about it, moving stuff to preserved |
11 |
> > > library dir could be just done - provided it's possible - along with |
12 |
> > > fixing/setting DT_RPATH's in reverse runtime dependencies. This way no |
13 |
> > > system-wide LIBRARY_PATH's would be necessary. |
14 |
> > > Is it possible? Mike? |
15 |
> > No, unless you somehow make sure you reserve space for this, by e.g. |
16 |
> > setting a bogus rpath entry at buildtime. If you want to go that route, |
17 |
> > you probably want to look at the Prefix' binutils-config wrapper that |
18 |
> > already calls the linker with added rpath arguments. Afterwards you can |
19 |
> > use chrpath to set it to the correct location. Will get messy with the |
20 |
> > vdb though, but if Portage's doing it, it can probably be dealt with. |
21 |
> Sounds messy indeed, what about hardened/SELinux/AppArmor/whatever - do they |
22 |
> allow such DT_RPATH operations? It should be probably also restricted for |
23 |
> binary-only packages. |
24 |
> |
25 |
> On Saturday 03 of April 2010 20:51:43 Tiziano Müller wrote: |
26 |
> > Don't fix the hack. Remove the preserve libs "feature", make the PMs |
27 |
> > check for rdeps per default before unmerging things. |
28 |
> This will only prevent creating orphans of uninstalled libraries, what about |
29 |
> upgraded ones when SOVERSION has been bumped (the most common case)? |
30 |
I addressed this in the next phrase. |
31 |
|
32 |
> Besides I |
33 |
> can already imagine PMS-related discussion regarding "make the PMs check for |
34 |
> rdeps per default before unmerging things" - thx but no thx. |
35 |
This is not related to PMS. Paludis for example does it already with the |
36 |
current EAPIs. |
37 |
|
38 |
> |
39 |
> > Slot libraries where needed, slot dep operators (EAPI 4) will help. |
40 |
> Again, you suggest to SLOT every library that happened to bump SOVERSION. It's |
41 |
> unrealistic. Besides library should be slotted when it's API changes, for |
42 |
> source based distributions it's not needed for ABI changes - let's not confuse |
43 |
> those two. Also excessive slotting increases probability of breaking library |
44 |
> discovery mechanisms in various build systems (not everyone uses pkg-config). |
45 |
I know that slotting can cause problems. But forcing build systems to |
46 |
use specific versions of libraries is much easier than "shadowing" |
47 |
libraries present in library search dirs, especially when those libs are |
48 |
not even tracked by the PM. |
49 |
|
50 |
> |
51 |
> > And if that doesn't work out we need a separate var to give the PM a hint |
52 |
> when API/ABI breakages happen (such that the PM knows when to re-install the |
53 |
> rev deps). |
54 |
> It needs PMS amended and thus GLEP. |
55 |
Wrong, we don't have GLEPs for >90% of the PMS changes going into EAPI-3 |
56 |
or 4. |
57 |
|
58 |
> Please submit a GLEP item for this if you |
59 |
> see it fit. |
60 |
> Anyway, as explained in OT, it's not a problem of package manager dependencies |
61 |
> system but issue with broken/not smart build systems - no dependency tree |
62 |
> magic will solve this issue. |
63 |
It is a problem which can _only_ be solved at the PM level. You have to |
64 |
tell the PM when API breakages happen. Either by slotting the lib or by |
65 |
something else. Using guesswork to determine whether or not a library |
66 |
should be removed may be a temporary solution. Remember: you're |
67 |
partially ignoring a users request since he wanted the package to be |
68 |
removed - and we all know how things like "protect the user from |
69 |
himself" end up. |
70 |
|
71 |
|
72 |
|
73 |
|
74 |
-- |
75 |
Tiziano Müller |
76 |
Gentoo Linux Developer |
77 |
Areas of responsibility: |
78 |
Samba, PostgreSQL, CPP, Python, sysadmin, GLEP Editor |
79 |
E-Mail : dev-zero@g.o |
80 |
GnuPG FP : F327 283A E769 2E36 18D5 4DE2 1B05 6A63 AE9C 1E30 |