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

Bug#542865: Grant an FHS exception for the multiarch library directories



On Sat, Aug 22, 2009 at 01:11:00PM -0700, Steve Langasek wrote:
> On Fri, Aug 21, 2009 at 04:09:57PM -0700, Russ Allbery wrote:
> 
> > > I think the only specific restriction needed is already spelled out -
> > > that packages can only install to the triplet matching their own
> > > architecture.  Are there other restrictions that you think are called
> > > for?
> 
> > The current restriction is specific to libraries.  Don't we need to say
> > that you can't put *any* files into any triplet directory that isn't for
> > your package architecture?
> 
> Yes, good point.  Patch amended.  (Just a one-word change,
> s/libraries/files/.)

Seconded.

But I wonder if it should also mention /lib64 and /usr/lib64,
since they are also in FHS and actually the path's amd64
is supposed to use according to the FHS.


Kurt

> 
> ---
>  policy.sgml |   29 +++++++++++++++++++++++++++++
>  1 files changed, 29 insertions(+), 0 deletions(-)
> 
> diff --git a/policy.sgml b/policy.sgml
> index 0bf8253..100917d 100644
> --- a/policy.sgml
> +++ b/policy.sgml
> @@ -5584,6 +5584,35 @@ libbar 1 bar1 (>= 1.0-1)
>                </item>
>                <item>
>                  <p>
> +                  The requirement for libraries, including
> +                  <file>libc.so.*</file>, to be located directly under
> +                  <file>/lib{,32}</file> and <file>/usr/lib{,32}</file> is
> +                  amended, permitting libraries to instead be installed to
> +                  <file>/lib/<var>triplet</var></file> and
> +                  <file>/usr/lib/<var>triplet</var></file>, where
> +                  <tt><var>triplet</var></tt> is the value returned by
> +                  <tt>dpkg-architecture -qDEB_HOST_GNU_TYPE</tt> for the
> +                  architecture of the package.  Packages may <em>not</em>
> +                  install files to any <var>triplet</var> path other
> +                  than the one matching the architecture of that package;
> +                  for instance, an <tt>Architecture: amd64</tt> package
> +                  containing 32-bit x86 libraries may not install these
> +                  libraries to <file>/usr/lib/i486-linux-gnu</file>.
> +                  <footnote>
> +                    This is necessary in order to reserve the directories for
> +                    use in cross-installation of library packages from other
> +                    architectures, as part of the planned deployment of
> +                    <tt>multiarch</tt>.
> +                  </footnote>
> +                </p>
> +                <p>
> +                  The execution time linker/loader, ld*, must still be made
> +                  available in the existing location under /lib or /lib64
> +                  since this is part of the ELF ABI for the architecture.
> +                </p>
> +              </item>
> +              <item>
> +                <p>
>                    The requirement that
>                    <file>/usr/local/share/man</file> be "synonymous"
>                    with <file>/usr/local/man</file> is relaxed to a
> -- 
> 1.6.3.1
> 
> 
> -- 
> Steve Langasek                   Give me a lever long enough and a Free OS
> Debian Developer                   to set it on, and I can move the world.
> Ubuntu Developer                                    http://www.debian.org/
> slangasek@ubuntu.com                                     vorlon@debian.org


Attachment: signature.asc
Description: Digital signature


Reply to: