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

Re: Best practice for cleaning autotools-generated files?

* Henrique de Moraes Holschuh <hmh@debian.org> schrieb:

> 1. No spawn from autotooling allowed in the VCS.  EVER.  .gitignore it
>    away at once.  Autogenerated files inside the VCS repo are almost
>    always a bad idea.  It was madness with CVS, it was bad mojo with
>    SVN, and it is certainly at least an annoyance with git.

ACK, couldn't aggress more.

BTW: last week, in a commercial project, a collegue actually proposed
checking in prebuilt binaries into the VCS ... (well, not a VCS,
but TFS) ... i've almost spit out my coffe when he said this ;-o

> 2. Add an autogen.sh script that makes it trivial to retool everything as
>    needed.  Keep it up-to-date.

ACK. I'm already doing so for several packages in the OSS-QM project.
Such steps heavily reduce the complexity of individual distro's build
systems/package descriptors. It's all about standardized interfaces.

> 3. I always hook the debian package to retool on package build.  I have
>    no reason to trust whatever cruft upstream shipped, even if I happen to
>    be upstream at that moment in time.

ACK. Preshipped autotools-generated files tend to be unreliable.
The goal of "generated once - run everywhere" is simply missed.
Just consider that for any reason just one of the input files have
to be changed - it always needs a full regeneration, to be sure.
At this point we can question whether we want the whole complexity
(not just technologically, but also on human workforce) for deciding
whether to do the regeneration or just always do it per default.
>    It also means I will instantly notice if upstream started doing very
>    "unpure" things to the build system, such as directly modifying
>    autogenerated files, and it lets me try to contact them (or fix my ways,
>    if I am upstream) and contain the braindamage before it causes any Debian
>    victims.

ACK. And the downstream hopefully doesn't have similar insane ideas
(eg. patching autogenerated files) ...

 Enrico Weigelt, metux IT service -- http://www.metux.de/

 phone:  +49 36207 519931  email: weigelt@metux.de
 mobile: +49 151 27565287  icq:   210169427         skype: nekrad666
 Embedded-Linux / Portierung / Opensource-QM / Verteilte Systeme

Reply to: