[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: config.guess comments from our sysadmins
From: |
Bob Proulx |
Subject: |
Re: config.guess comments from our sysadmins |
Date: |
Sat, 12 Aug 2006 00:30:07 -0600 |
User-agent: |
Mutt/1.5.9i |
Ralf Wildenhues wrote:
> * Ed Hartnett wrote:
> > Ralf Wildenhues writes:
> > > It's safe to just replace the two files with newer versions; I think you
> > > should keep the two in sync though.
I thought I would note that both Debian and Red Hat packaging of
programs that use config.guess and config.sub do automatically copy
into the project tree the system copy of those files at the time the
package is build.
Presumably when a new system type is being ported to the system copy
of those scripts will be updated to work on that system and then be
available for compilation. Building the package will then get the
local system copy which works no that system. This avoids the need
for all of the files to be correct in all of the upstreams, which is
pretty much impossible. But using a system version on each system
works reasonably well.
> > OK. Should I replace them in every project and check them into the
> > codebase?
>
> If you keep generated files in your version control system, then yes,
> I'd do that. But only then. I would generally recommend against this
> strategy (there are arguments for and against it, see 'info Automake
> CVS'; the fact that config.* are not generated does not alter the line
> of thought much here).
I personally don't keep them in version control.
> > Or can I update the automake copies of the files
>
> Yes, that is a good idea...
>
> > so that all my autotools projects will take advantage of them when I
> > do autoreconf -i?
>
> ...not quite, that won't install files over already-present ones. You
> need to use the --force argument for it to do so.
I suggest doing what the big distros are doing and manually copy over
the project files with the system copies. Here are some examples.
On Debian the autotools-dev package README.Debian suggests this to
update these files in the package build.
Just add:
-test -r /usr/share/misc/config.sub && \
cp -f /usr/share/misc/config.sub config.sub
-test -r /usr/share/misc/config.guess && \
cp -f /usr/share/misc/config.guess config.guess
to the clean target of debian/rules.
On Red Hat the definition of the %configure macro in the
/usr/lib/rpm/redhat/macros file does this to automatically update
these files in the package build.
for i in $(find . -name config.guess -o -name config.sub) ; do \
[ -f /usr/lib/rpm/redhat/$(basename $i) ] && %{__rm} -f $i &&
%{__cp} -fv /usr/lib/rpm/redhat/$(basename $i) $i ; \
done ; \
The point of this is that automatically updating the config.guess and
config.sub scripts is considered a good thing.
Bob