<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 TRANSITIONAL//EN">
<HTML>
<HEAD>
  <META HTTP-EQUIV="Content-Type" CONTENT="text/html; CHARSET=UTF-8">
  <META NAME="GENERATOR" CONTENT="GtkHTML/3.26.0">
</HEAD>
<BODY>
On Sun, 2010-01-03 at 10:40 -0800, Dan Nicholson wrote:
<BLOCKQUOTE TYPE=CITE>
<PRE>
On Sun, Jan 3, 2010 at 3:34 AM, Julien Cristau &lt;<A HREF="mailto:jcristau@debian.org">jcristau@debian.org</A>&gt; wrote:
&gt; On Sat, Jan &nbsp;2, 2010 at 15:56:48 -0500, Gaetan Nadon wrote:
&gt;
&gt;&gt; I did some test scenario regarding backward compatibility. It turns out
&gt;&gt; setting docdir=pkgdatadir does not help. The value of docdir in the
&gt;&gt; module's copy of INSTALL_CMD is set at configuration time. If the module
&gt;&gt; was configured with macros @ v1.4, then the INSTALL_CMD will copy from
&gt;&gt; share/doc every time the makefile target is invoked.
&gt;&gt;
&gt; Actually that's probably fine, you can re-run configure if you upgrade the
&gt; macros. &nbsp;Running configure and make in different environments has other
&gt; ways to break anyway. &nbsp;The thing I feared was having the path to INSTALL
&gt; already expanded in the configure script. &nbsp;Thoughts?

It should expand after running the xorg-macros configure so you can
set prefix/datadir, but it had better be expanded before using it in
another package. You wouldn't want to have package foo with
--prefix=/junk and trying to pull INSTALL from
/junk/share/xorg-macros/INSTALL when it's really in
/usr/share/xorg-macros/INSTALL.

</PRE>
</BLOCKQUOTE>
Example using an xclock tarball (using current implementation):<BR>
<BR>
<TT>app/xclock$ ./configure --prefix /home/nadon/xorg/src:</TT><BR>
<BR>
<PRE>
in configure:                macros_docdir=`$PKG_CONFIG --print-errors --variable=docdir xorg-macros`
<TT>in configure:                INSTALL_CMD=&quot;(cp -f &quot;$macros_docdir/INSTALL&quot; ...</TT>
<TT>in config.status:        S[&quot;INSTALL_CMD&quot;]=&quot;(cp -f /home/nadon/xorg/src/share/doc/util-macros/INSTALL ...</TT>
<TT>in Makefile:                INSTALL_CMD = (cp -f /home/nadon/xorg/src/share/doc/util-macros/INSTALL ...</TT>
</PRE>
<BR>
The &quot;binding&quot; between INSTALL_CMD and xorg-macros docdir occurs when the xclock module is configured (when config.status is generated from configure). It will pick-up the value of docdir from installed xorg-macros.pc file.<BR>
<BR>
Let's assume the patch is in with docdir=pkgdatadir<BR>
<BR>
If xclock is &quot;autoconf&quot; against util-macros @1.4, the content of INSTALL_CMD will be &quot;--variable=docdir&quot;. If xclock is &quot;./configure&quot; against an installed xorg-macros.pc @1.4, docdir value is share/doc/util-macros with the prefix specified in this .pc file. This works. If xclock is &quot;./configure&quot; against an installed xorg-macros.pc @1.5, docdir value is share/util-macros with the prefix specified in this .pc file. This works.<BR>
<BR>
If xclock is &quot;autoconf&quot; against util-macros @1.5, the content of INSTALL_CMD will be &quot;--variable=pkgdatadir&quot;. If xclock is &quot;./configure&quot; against an installed xorg-macros.pc @1.4, docdir value is share/doc/util-macros with the prefix specified in this .pc file. No INSTALL file, as expected. If xclock is &quot;./configure&quot; against an installed xorg-macros.pc @1.5, pkgdatadir value is share/util-macros with the prefix specified in this .pc file. This works.<BR>
<BR>
I'll have to execute these test cases, it's harder than I thought. I think I have just been demonstrating that the docdir workaround would indeed work. Reason being I had not realized the INSTALL_CMD, being a macro, is written at &quot;autoconf&quot; time rather than at &quot;configure&quot; time.<BR>
<BR>
I don't think the value of pkgdatadir should be obtained at &quot;make&quot; time. It would then depend on the pkg-config env variable which could be way off and into places where none of the modules are installed. <BR>
<BR>
If I'am right, then the second patch would be ok. I'll be back.<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BLOCKQUOTE TYPE=CITE>
<PRE>
--
Dan
</PRE>
</BLOCKQUOTE>
</BODY>
</HTML>