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