libqof variables in configure.in (Fwd: gentoo ebuild)
Christian Stimming
stimming at tuhh.de
Wed Jan 11 05:27:23 EST 2006
Hi,
Derek Atkins schrieb:
>>>3. In *addition* to the "make DISTDIR..." solution I would like to
>>>enable Martin's/gentoo's original approach "make prefix=/my/sandbox
>>>install" as well.
>>
>>>Proposed patch:
>>> > QOF_VERSION="internal"
>>> > QOF_PREFIX="internal"
>>> > - QOF_XML_DIR=`eval echo ${datadir}/xml/qsf`
>>> > + QOF_XML_DIR="\${datadir}/xml/qsf"
>>
>>OK, I'll test with OSX and go from there.
>
> I'm concerned that:
>
> make install prefix=/tmp/dir/usr
>
> .. will cause the program to rewrite the configuration file to look in
> /tmp/dir/usr/bin when really /tmp/dir is just a temporary location for
> the package management system to put the files until it can get
> packaged and then installed into /usr/bin..
This concern is totally valid. In the case in question, however, the
changed $prefix at installation time does not change the value in the C
code, because the rule for qsf-dir.h depends only on qsf-dir.h.in (and
is implicitly invoked via BUILT_SOURCES and CONFIG_CLEAN_FILES -- by the
way, is CONFIG_CLEAN_FILES actually being used anywhere? The automake
and autoconf manuals don't mention that variable).
In other words, the rule for qsf-dir.h triggers at "make all" and it
will definitely not trigger again on "make install". So the proposed
patch is not affected by that concern. In general this concern stays
perfectly valid and should be checked for always.
> The real question is: why is the 'user' installing using 'prefix='
> instead of DESTDIR?
I haven't heard of it before, too, but from what Martin Klaffenboeck
said it seems to be a common usage in gentoo. The GNU coding standards
http://www.gnu.org/prep/standards/html_node/Directory-Variables.html
don't say anything specific about the interplay of automake and make
here; they only recommend
"Running ‘make install’ with a different value of prefix from the one
used to build the program should not recompile the program. "
To me this sounds as if gentoo's approach in principle is valid from the
Makefile point of view. So if it is possible for us to support that
behaviour without breaking anything existing then I don't see any reason
not to do so.
> Not that it matters to us, but we should
> make sure that we don't re-write anything during 'make install'
Of course. This needs to be ensured regardless of how the variables are
set, so that is a requirement independent of the currently discussed change.
Christian
More information about the gnucash-devel
mailing list