[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Quilt-dev] [RFC] compatibility layer
From: |
Andreas Gruenbacher |
Subject: |
Re: [Quilt-dev] [RFC] compatibility layer |
Date: |
Sat, 17 Sep 2005 20:48:36 +0200 |
User-agent: |
KMail/1.7.1 |
Hello John,
On Saturday 17 September 2005 15:12, John Vandenberg wrote:
> This patch introduces a `compat' directory, prefixed to the PATH. The
> directory is to be filled with workarounds that are included when
> required.
>
> Three types of compatibility options are supported:
>
> symlinks: locations specifically chosen with --with-blah
> programs.in: alternative scripts to emulate missing binaries
> functions.sh: shell functions emulating missing binaries
>
> Included is one program (getopt) and two functions (mktemp and column)
Very nice, thanks a lot! I particularly like the configure.ac cleanup.
For the compatibility symlinks, you redefine the FOO variables in Makefile
(e.g., BASH). This confused me a little before I realized what was going on.
It's broken, too: you end up with relative paths in shebang lines (e.g., ``#!
bash'' for ``#! @BASH@''). Relative paths in shebang lines are invalid. We
should instead get rid of @FOO@ substitutions in the scripts where we can.
That's the cleanup we were heading for, anyway.
I think we can keep compat/ out of the path if the directory doesn't exist,
and only create this directory when needed).
Not sure whether we need compatfns and functions.sh; those can as well remain
as external programs IMHO. I would rather remove this again and convert the
two bash snippets in compat/ to standalone scripts.
> Three minor issues remain ..
> 1) $(BASH) in Makefile.in using --with-bash=... will be 'bash' rather
> than $withval. This should be solved by include compat/ in the
> Makefile PATH
This is also resolved by not redefining those variables. We should rather do
that.
> 2) older autoconf not support; a little m4 sugar can solve this.
I don't think we do care. People with an old autoconf can choose to either not
mess with configure.ac, or get a more recent autoconf. Depending on a recent
version of autoconf is common practice.
> 3) ln -s is not useful on MSYS, but I doubt anybody is clamouring for
> that at the moment :)
Yes, this is a separate issue ;-)
So I think we should include the following patch on top of yours, replace
instances @BASH@ and @INSTALL@ with $(BASH) and $(INSTALL) in Makefile, and
then go on and replace obsoleted @FOO@ instances from all the scripts.
Again, thank you very much for your work!
Cheers,
Andreas.
compat2.diff
Description: Text Data
Re: [Quilt-dev] [RFC] compatibility layer, Andreas Gruenbacher, 2005/09/17
Re: [Quilt-dev] [RFC] compatibility layer, Andreas Gruenbacher, 2005/09/17