On Fri, Sep 04, 2009 at 08:50:30PM -0700, Steve Langasek wrote: > On Fri, Aug 21, 2009 at 09:25:30PM -0700, Russ Allbery wrote: > > Manoj Srivastava <sriva...@debian.org> writes: > > > On Fri, Aug 21 2009, Russ Allbery wrote: > > > >> 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? > > > > Hmm. My first read was that one could not put anything that was > > > not a library in these directories, but perhaps it should be stated > > > explicitly. > > > I was expecting that we'd need to put anything that you might want to have > > simultaneous installs from multiple architectures in that directory, which > > would include, for instance, any shared library plugins or loadable > > modules, which aren't strictly libraries. > > > We might have to duplicate some library helper programs as well, if for > > instance they communicate with the library using binary structures that > > are sensitive to sizeof(long). > > Right, this was a bug in the proposed patch, not a deliberate statement that > only libraries belong in these directories. (As I mentioned, the first > patch was something of a trial balloon.) I think this updated patch should > cover everything for the first round. > > Re-seconds?
Seconded. > --- > policy.sgml | 34 ++++++++++++++++++++++++++++++++++ > 1 files changed, 34 insertions(+), 0 deletions(-) > > diff --git a/policy.sgml b/policy.sgml > index 0bf8253..347c0bf 100644 > --- a/policy.sgml > +++ b/policy.sgml > @@ -5584,6 +5584,40 @@ libbar 1 bar1 (>= 1.0-1) > </item> > <item> > <p> > + The requirement for object files, internal binaries, and > + libraries, including <file>libc.so.*</file>, to be located > + directly under <file>/lib{,32}</file> and > + <file>/usr/lib{,32}</file> is amended, permitting files > + 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> > + Applications may also use a single subdirectory under > + <file>/usr/lib/<var>triplet</var></file>. > + </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.3 > > Thanks, > -- > 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/ > slanga...@ubuntu.com vor...@debian.org -- Aurelien Jarno GPG: 1024D/F1BCDB73 aurel...@aurel32.net http://www.aurel32.net
signature.asc
Description: Digital signature