Gentoo Archives: gentoo-project

From: Alexis Ballier <aballier@g.o>
To: gentoo-project@l.g.o
Subject: Re: [gentoo-project] Council meeting: Tuesday 11 November 2012, 19:00 UTC
Date: Fri, 09 Nov 2012 12:02:39
Message-Id: 20121109083355.248ffbe3@gentoo.org
In Reply to: Re: [gentoo-project] Council meeting: Tuesday 11 November 2012, 19:00 UTC by William Hubbs
1 On Thu, 8 Nov 2012 23:13:46 -0600
2 William Hubbs <williamh@g.o> wrote:
3
4 > On Thu, Nov 08, 2012 at 08:46:29PM -0300, Alexis Ballier wrote:
5 > > On Thu, 8 Nov 2012 12:53:48 -0600
6 > > William Hubbs <williamh@g.o> wrote:
7 > >
8 > > > On Thu, Nov 08, 2012 at 07:15:57PM +0100, Fabian Groffen wrote:
9 > > > > On 08-11-2012 11:45:48 -0600, William Hubbs wrote:
10 > > > > > > - approve/disapprove removal of gen_usr_ldscript
11 > > > > >
12 > > > > > A better way to put this is disabling gen_usr_ldscript on
13 > > > > > Linux. Some of the alternate platforms still use it, so I do
14 > > > > > not advocate killing the function.
15 > > > > > If we go forward with the plan, there is no reason the council
16 > > > > > should reject disabling gen_usr_ldscript on Linux that I am
17 > > > > > aware of.
18 > > > > >
19 > > > > > This also has to wait until the blockers are resolved on the
20 > > > > > tracker.
21 > > > >
22 > > > > Do you suggest to drop the point from the agenda? I'd love
23 > > > > that.
24 > > >
25 > > > I believe we can drop the gen_usr_ldscript question, yes, because
26 > > > if everything else happens, we can just have the toolchain guys
27 > > > make it a noop on Linux.
28 > >
29 > > Something simpler and smoother imho is to just have a profile
30 > > variable that will make gen_usr_ldscript a noop, whatever CHOST or
31 > > the kernel is. New profiles are added with this variable set, wide
32 > > testing can be done without forcing anyone, and voila. It is also
33 > > simpler for maintaining the various OSes, packages that used to
34 > > install to / can just be changed to install to /usr when this
35 > > variable is set.
36 >
37 > I'm not trying to make packages install in /usr with this change.
38
39 You are, since if a package in / needs a shared lib in /usr, there is
40 absolutely no point in installing the package in /.
41 nooping gen_usr_ldscript should come with a kind of plan for the /usr
42 move otherwise it is a bit ugly and somewhat loses its point.
43
44 > gen_usr_ldscript was introduced to force shaired libraries that
45 > upstream installs into /usr/lib to move to /lib and leave the static
46 > libraries in /usr/lib.
47
48 It's rather the opposite actually: very few upstream specify their
49 install location, most default to /usr/local prefix because that's
50 autotools default. econf (ie us) sets the prefix to /usr.
51 gen_usr_ldscript is there because we don't need the static lib in / (so
52 that setting libdir to /lib is not an option) while the shared lib is
53 needed by binaries in /. We could just move the shared lib to / but
54 then the linker may link to the static lib if /usr/lib comes
55 before /lib in its search order, so we need a .so in the same dir as
56 the .a. For example FreeBSD solved that differently: they
57 symlink /lib/libfoo.so to /usr/lib/libfoo.so. Years ago we deemed
58 symlinks crossing the /usr barrier were bad, and here comes
59 gen_usr_ldscript. Note that I don't really see the difference between a
60 symlink crossing the /usr barrier and a ldscript referencing a file
61 outside of /usr but there must be some argument behind.
62
63 > So, gentoo linux is diverging from upstream's install locations by
64 > splitting up where we install libraries. All I'm proposing is that on
65 > linux we should remove that divergance and put libraries where
66 > upstream installs them.
67
68 Let's move everything to /usr/local :) there is not really a 'where
69 upstream installs them' argument in this discussion, autotools is
70 specifically designed so that distributions can tweak the install
71 location. The fact that both the static and shared libs go to libdir is
72 only a shortcoming of autotools, some other build systems make the
73 distinction.
74
75 > Since we can tell we are on linux by looking at the chost/ctarget
76 > variables, and there is not an intention to change anything for *bsd
77 > or any other O/S, I am not sure I follow the need for a profile
78 > variable.
79
80 Testing it. Testing the /usr move broadly.
81 You want gen_usr_ldscript on non-bootable systems (eg prefix, mingw) to
82 be (mostly) a noop too which you can't distinguish from only CHOST.
83
84 > Again, I'm not asking that the council vote on this at this vote, I am
85 > just asking that they approve the two methods of supporting separate
86 > /usr on linux and approve the action plan of putting out a newsitem
87 > and giving a time window for everyone to migrate to either initramfs
88 > or busybox[sep-usr].
89
90 Fair enough :)
91
92 > If they want to discuss the gen_usr_ldscript issue I'm not opposed to
93 > that, but that isn't really what I am asking for in this meeting.
94
95 IMHO this needs a discussion on -dev before going through the council.

Replies