<!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.32.2">
</HEAD>
<BODY>
On Tue, 2011-09-20 at 14:53 -0700, Alan Coopersmith wrote:
<BLOCKQUOTE TYPE=CITE>
<PRE>
On 09/20/11 04:24, Gaetan Nadon wrote:
&gt; On Mon, 2011-09-19 at 17:17 -0700, Alan Coopersmith wrote:
&gt;&gt; Mostly straightforward addition of new xcb/util-* submodules, but
&gt;&gt; util-common-m4 needs special handling since it doesn't have the
&gt;&gt; usual autoconfery, just needs to be found in the aclocal path when
&gt;&gt; autoconfing the other xcb/util* modules.
&gt;&gt;
&gt; What is the motivation for adding these packages? There are not used for x.org
&gt; release (except common-m4 git submodule). Is there a plan to do so?

I'm not sure we have a plan to rely on them soon, but we want to make sure
they're building and working, as it's my understanding that they are intended
to be supported and included in distros.   At least xwininfo has options to
start using some of them, and as more Xorg apps convert to xcb, more may become
required.
</PRE>
</BLOCKQUOTE>
At some point in time, jhbuild should be updated as well.
<BLOCKQUOTE TYPE=CITE>
<PRE>

&gt; The util-common-m4 is a git submodule and gets pulled-in by the hosting module.
&gt; I had updated the script to handle git submodule and it is currently working for
&gt; the xcb util that has been shipped in the last release. The jhbuild system had
&gt; also done so.
&gt;
&gt; If you look in your current build under xdb/util, note the m4 directory. This
&gt; comes from the util-common-m4 git submodule. That's the nice thing, every
&gt; package using this git submodule has a copy of it in its tarball. No issues with
&gt; using a back level version util-common-m4.
&gt;
&gt; At the time of the xcb module split, I updated the Develop Guide:
&gt; <A HREF="http://wiki.x.org/wiki/ModularDevelopersGuide#Workingwithgitsubmodules">http://wiki.x.org/wiki/ModularDevelopersGuide#Workingwithgitsubmodules</A>

Sorry, I completely missed that, just saw that the other submodules didn't seem 
to build.
</PRE>
</BLOCKQUOTE>
The git submodules have a public relation problem. Nothing tells you there is one and you get a strange build failure. You don't think of running the 'git submodule' commands.<BR>
I ran&nbsp; util/modular/build.sh --clone -o xcb/util-image with the amended patch and it works fine.
<BLOCKQUOTE TYPE=CITE>
<PRE>

I guess that means we should do similar submodule setups for them, and then this 
part of the patch is not useful:

 &gt;&gt; @@ -363,6 +363,8 @@ process() {
 &gt;&gt;       if [ -f $module/$component/autogen.sh ]; then
 &gt;&gt;           SRCDIR=&quot;$module/$component&quot;
 &gt;&gt;           CONFCMD=&quot;autogen.sh&quot;
 &gt;&gt; +    elif [ X&quot;$component&quot;  = Xutil-common-m4 ]&amp;&amp;  [ -f 
$module/$component/xcb_util_common.m4 ] ; then
 &gt;&gt; +        SRCDIR=&quot;$module/$component&quot;
 &gt;&gt;       elif [ X&quot;$CLONE&quot;  != X ]; then
 &gt;&gt;           clone $module $component
 &gt;&gt;           if [ $? -eq 0 ]; then
 &gt;&gt; @@ -419,6 +421,15 @@ process() {
 &gt;&gt;           fi
 &gt;&gt;       fi
 &gt;&gt;
 &gt;&gt; +    # xcb/util-common-m4 doesn't have configure or Makefile, just macros that
 &gt;&gt; +    # the other xcb/util* modules need to find in ACLOCAL
 &gt;&gt; +    if [ X&quot;$component&quot;  = Xutil-common-m4 ]; then
 &gt;&gt; +        echo linking *.m4 into ${ACLOCAL_LOCALDIR}
 &gt;&gt; +        ln -sf `pwd`/*.m4 ${ACLOCAL_LOCALDIR}
 &gt;&gt; +        cd $old_pwd
 &gt;&gt; +        return 0
 &gt;&gt; +    fi
 &gt;&gt; +
 &gt;&gt;       # Build outside source directory
 &gt;&gt;       if [ X&quot;$DIR_ARCH&quot;  != X ] ; then
 &gt;&gt;           mkdir -p&quot;$DIR_ARCH&quot;
 &gt;&gt; @@ -637,7 +648,12 @@ build_lib() {
 &gt;&gt;       build lib libXdmcp
 &gt;&gt;       build xcb pthread-stubs
 &gt;&gt;       build xcb libxcb
 &gt;&gt; +        build xcb util-common-m4

but that still leaves:

&gt;&gt; @@ -213,9 +213,9 @@ checkfortars() {
&gt;&gt;                       module=&quot;xcb/libxcb&quot;
&gt;&gt;                       component=&quot;libxcb&quot;
&gt;&gt;                       ;;
&gt;&gt; -&quot;util&quot;)
&gt;&gt; -                    module=&quot;xcb/util&quot;
&gt;&gt; -                    component=&quot;xcb-util&quot;
&gt;&gt; +                util*)
&gt;&gt; +                    module=&quot;xcb/$component&quot;
&gt;&gt; +                    component=&quot;xcb-$component&quot;
&gt;&gt;                       ;;
&gt;&gt;               esac
&gt;&gt;               ;;
&gt;&gt; @@ -637,7 +648,12 @@ build_lib() {
&gt;&gt;       build lib libXdmcp
&gt;&gt;       build xcb pthread-stubs
&gt;&gt;       build xcb libxcb
&gt;&gt;       build xcb util
&gt;&gt; +    build xcb util-image
&gt;&gt; +    build xcb util-keysyms
&gt;&gt; +    build xcb util-renderutil
&gt;&gt; +    build xcb util-wm
&gt;&gt;       build lib libX11
&gt;&gt;       build lib libXext
&gt;&gt;       case $HOST_OS in
&gt;


</PRE>
</BLOCKQUOTE>
For the bottom part:<BR>
Reviewed-by: Gaetan Nadon &lt;<A HREF="mailto:memsize@videotron.ca">memsize@videotron.ca</A>&gt;<BR>
<BR>
</BODY>
</HTML>