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

Re: Outdated GNU config (config.{sub,guess}) and autotools-dev



On Sun, 22 Jul 2001, Marcus Brinkmann wrote:
> Users might be surprised why the package fails to build
> although the build dependencies are fulfilled.  
> Then, I have doubts if the GPL requirements
> are met, as the source used to compile the
> package (and config.guess/config.sub are part of that source) is not
> available through the user under the conditions set forth in part 3. of the
> GPL.

Well, I advocate adding the autotools-dev machinery to debian/rules clean
for this reason. It will cause the new config.sub/guess to be propagated *to
the source package*, so the GPL will not be violated. And the source will
work out-of-the-package on the new archs, too.

> Well, the idea of the autoconf/automake suite is that you don't need to
> install autoconf etc to build the software.  They go a long way to make
> sure that an installation is not necessary prior to building the package.

Well, config.{sub,guess} is used by the configure script, not autoconf or
automake themselves.  If one properly touches the files before the build,
they are not regenerated...

Someone build-depending on autoconf/automake is probably not trying enough
to lessen the load on the autobuilders. This has, however, nothing to do
with config.sub/guess or autotools-dev.

> I think Debian should support this by always making sure the
> autoconf/automake generated files are regenerated when the files are
> changed before the source package is built.

Hmm... I see your point. But we are not changing anything but
config.sub/guess, which are only a run-time (not build-time) dependency of
autoconf and automake.

> > Others complained the build system would be different from the autobuilders'
> > system:  duh. If it were not different, you would not need GNU config; A
> > package will build differently in an BE machine and a LE machine even if
> > they have the same config.guess/sub files.
> 
> Concern: GPL requirement to ship the whole source.
autotools-dev machinery in debian/rules clean will ship the new, fixed-up
source.

> Concern: Information which version(s) works on some architecture is
> obscured or lost.
Can be worked around: the more complicated script I suggest will tag the
changelog properly. That information is NOT lost, as it makes to the
.changes file, which is sent to the proper @list.debian.org ML, even if the
autobuilder is not doing a source NMU.

> I don't agree with your comparison with BE/LE, because first, the compiler
> suite is not part of the source code at all, and second, the difference
> in LE/BE is completely predictable and does not depend on changes in the
> source, but is completely external to the program.

Well, BE/LE is the lesser problem. Interger sizes, and other weird stuff can
also change from one arch to another, I think.  I'm only point out that
changing config.sub/guess will not make the mess any worse.

> I think it boils down that autoconf/automake are designed to produce
> parts of the source of the program, which is then used.  They are written
> to be used in the preperation of shipping the program, not as a tool used
> at build time.  I would be on your side entirely if autoconf/automake would
> be more like flex/bison, or other external programs run in the progress of
> building the program from the source.

Eh... you do know config.sub/guess are *run-time* dependencies of
autoconf/automake-*PRODUCED* scripts/makefiles, don't you?  They're not
build-time (as in when generating the configure script and Makefiles -- not
the build of the package itself) dependencies of autoconf/automake (unless
you're buiding the autoconf package, I think).

Autotools-dev has a lot to do with the configure script, and little to do
with the running of autoconf, automake, libtoolize or something like that to
regenerate said script.

> and final program to carry on in the Debian source.  Moving parts of the
> source code to the build tool area doesn't seem to be appropriate to me.
> Especially if I am correct with the observation that the GPL doesn't allow
> that (note: I did only do a quick review of the license on config.guess.
> Maybe this is an issue for debian-legal).

A proper target for pre-build setup would be a good thing IMHO. I don't like
using the clean target for that.  Such a target should be used to call the
autogen.sh scripts for when building from a CVS-exported tree, updating the
build environment (calling autoconf, autoheader, automake, libtoolize,
gettextize), and updating the build environment support stuff
(autotools-dev).

If you could write the policy proposal and post it to -policy, we can get
proceed from there...

> Still, I don't want programs to call libtoolize -f in debian/rules.

Well, the only way to do that properly is to get a new debian/rules target
:(

-- 
  "One disk to rule them all, One disk to find them. One disk to bring
  them all and in the darkness grind them. In the Land of Redmond
  where the shadows lie." -- The Silicon Valley Tarot
  Henrique Holschuh

Attachment: pgpf_KhacG4sE.pgp
Description: PGP signature


Reply to: