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

Re: proper location for cross-compilers in Debian?



On Fri, Feb 02, 2001 at 01:49:01PM -0800, Sean 'Shaleh' Perry wrote:
> lintian currently emits a tag for cross-compilers because they make a directory
> in /usr's top level for TARGET i.e. /usr/m68k-linux.
> 
> The FHS states:
> 
> No large software packages should use a direct subdirectory under the
> /usr hierarchy.  An exception is made for the X Window System because of
> considerable precedent and widely-accepted practice.  This section of
> the standard specifies the location for most such packages.
> 
> bug 33251 has discussions from various people on the topic.
> 
> What I would like is policy to either codify current practice or come up with a
> reasonable practice the cross-compiler maintainers will be willing to work with.

Hey! I've been waiting a few months for something like this to come
up. I've corresponded with the binutils maintainer at one point about
the related subject of building a cross-compiler builder, but I stymnied
at this point and heard nothing in reply. Basically, dpkg-cross decided
just to stick everything under /usr/local/<target>, but everyone else of
course expects to use /usr/<target> and makes it logically impossible to
build a cross-compiler on the fly, since Debian packages (even
locally-generated ones) aren't supposed to install into /usr/local.

I just read the bug thread.. And I agree that /usr/<target> ought to be
the standard place to stick cross-compiling tools. Specifically, I agree
with Martin's (gcc-m68k-linux) assessment that changing this at this
point, as a matter of Debian-specific policy at least, is Too Much Work.

It would appear on the surface at least that we have two conflicting
standards: GNU and FHS. GNU seems to make a clear case for using
/usr/local/<target> (and thus /usr/<target>) while FHS simply says "You
shouldn't do this unless you're the X window system." and goes on to
state that this applies for "[M]ost such packages.".


My own technical opinion (as a developer-in-training) is to say that in
this case also the FHS ought to bow to widely-accepted practice; at the
very least to explicitly specify the base location for a cross-compiler
for target foo.

What workable alternative would there be to using
/usr[/local]/<target>/(bin|lib|include)?

-- Ferret



Reply to: