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

Re: RFC: Rules for distro-friendly packages

* Vincent Bernat <bernat@luffy.cx> schrieb:


> About autoconf stuff:
>  - Why require autogen.sh? On a release, configure script should be
> present. No need to rebuild it. 

No, there often *is* a need to rebuild it (actually, much of my
QM work on dozens packages requires changing configure.in+friends).
And you don't seriously want to patch autogenerated files, do you ? ;-o

> Some users just don't have recent enough autotools to rebuild the
> configure. 

They should simply install it. Similar as they need recent toolchain,
make, pkg-config, etc, etc.

> Moreover, with modern autotools, I tend
> to think that autoreconf -i is just as simple as autogen.sh.

That might be true for most packages, but some also need other stuff.
Therefore calling autogen.sh script is the more generic interface.
And that's one of the point it's about: make the interface between
package and distro build system as simple as possible.
>  - Why require building in a separate tree? Why it helps, most of the
> packages we have just build in the same source tree.

That shows up a lot of possible errors with autogenerated files.

>  - Not using AC_TRY_RUN is too strong. 

No, it's mandatory. It simply cannot crosscompile, no chance.

> This macro has a parameter to be used when cross-compiling.

It's inherently unreliable, by design. The developer has to specify
some default behaviour in case of crosscompiling. And that's most
likely wrong. If you do use that macro, you've normally relying
on basicly assumptions. Such as the building system is equal 
(yes *equal*, not just similar) to the actual target system.

> It is more useful to detect a problem when not cross-compiling
> with AC_TRY_RUN than to not detect it at all.

If you really wanna have some runtime tests, then it should be
done separately (eg. separate script or in make test stage).

 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: