[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#630174: debian-policy: forbid installation into /lib64



On Sun, Nov 27, 2011 at 01:28:30PM +0900, Charles Plessy wrote:
> Le Sat, Nov 26, 2011 at 09:52:57PM -0600, Steve Langasek a écrit :
> > On Sun, Nov 27, 2011 at 11:55:20AM +0900, Charles Plessy wrote:
> > 
> > > According to apt-file, prohibiting to install files into /lib64 and /usr/lib64
> > > on amd64 would make only one package RC-buggy, juffed, in its experimental
> > > version.
> > 
> > I'm not sure why your apt-file invocation wouldn't have turned it up, but
> > libc6 in unstable installs /lib64/ld-linux-x86-64.so.2.  So as written this
> > would make libc RC buggy, which is not what we want.  (At the time of the
> > previous discussion, libc was not installing this to /lib64; the change was
> > made as a result of a more thorough analysis of the consequences of
> > multiarch on i386 systems.)
> > 
> > Also, this shouldn't spell out "with architecture amd64".  Packages on *all*
> > architectures must avoid use of /lib64 and /usr/lib64, with a handful of
> > exceptions.
> 
> Thanks a lot for the corrections.
> 
> After apt-file update I can indeed see libc6 and two additional packages,
> scidavis and ugene.
> 
> About /lib64/ld-linux-x86-64.so.2, does that mean that the Policy has to list
> exceptions, (for files or packages ?), or that the proposal is obsolete ?
> 
> For the architectures, I was puzzled that Russ mentionned ‘with architecture
> amd64’ in his proposal and tried to not discard this information.  What
> achitectures, or which packages in which architectures, should be listed as
> exceptions ?

This is the relevant part of the FHS (ill-advised imho, but required by the LSB):

-------------------------------------

6.1.5. /lib64 and /lib32 : 64/32-bit libraries (architecture dependent)

      The 64-bit architectures PPC64, s390x, sparc64 and AMD64 must place 64-bit
libraries in /lib64, and 32-bit (or 31-bit on s390) libraries in /lib.
The 64-bit architecture IA64 must place 64-bit libraries in /lib.

Rationale:

      This is a refinement of the general rules for /lib<qual> and /usr/lib<qual>. The architectures PPC64, s390x, sparc64 and AMD64 support support both 32-bit (for s390 more precise 31-bit) and 64-bit programs.
      Using lib for 32-bit binaries allows existing binaries from the 32-bit
systems to work without any changes: such binaries are expected to be numerous.
IA-64 uses a different scheme, reflecting the deprecation of 32-bit binaries
(and hence libraries) on that architecture.

-------------------------------------

Of the five architectures mentioned above, only two are supported by full Debian
distributions: ia64 and amd64. (full support for s390x might appear in the future).
Since ia64 is listed as an exception, only amd64 is concerned by this FHS part.
(Note that the FHS ignores alpha and hppa64)

As far as Debian is concerned /lib32 and /lib64 are wart necessary for binary compatibility
with other systems.

Cheers,
-- 
Bill. <ballombe@debian.org>

Imagine a large red swirl here. 



Reply to: