sessreg: Changes to 'master'

Jon TURNEY jon.turney at dronecode.org.uk
Tue Mar 15 05:32:08 PDT 2011


On 14/03/2011 17:53, Gaetan Nadon wrote:
> On Mon, 2011-03-14 at 08:18 -0700, Dan Nicholson wrote:
> 
>> On Mon, Mar 14, 2011 at 7:31 AM, Jon TURNEY <jon.turney-GrJqePx9RPPAJUdA+FbntA at public.gmane.org> wrote:
>>> On 19/01/2011 15:49, Gaetan Nadon wrote:
>>>>  Makefile.am         |   25 ---------
>>>>  configure.ac        |    5 +
>>>>  filenames.sed.c     |   29 -----------
>>>>  man/Makefile.am     |   22 ++++++++
>>>>  man/filenames.sed.c |   29 +++++++++++
>>>>  man/sessreg.man     |  135 ++++++++++++++++++++++++++++++++++++++++++++++++++++
>>>>  sessreg.man         |  135 ----------------------------------------------------
>>>>  7 files changed, 192 insertions(+), 188 deletions(-)
>>>>
>>>> New commits:
>>>> commit 3bb9256b8e3a56b94281ea787c07f080c0a80312
>>>> Author: Gaetan Nadon <memsize-XzQKRVe1yT0V+D8aMU/kSg at public.gmane.org>
>>>> Date:   Wed Jan 19 10:06:55 2011 -0500
>>>>
>>>>     config: move man pages into their own directory
>>>>
>>>>     Use services provided by XORG_MANPAGE_SECTIONS.
>>>>     Use standard Makefile for man pages.
>>>
>>> I can't tell for sure since sessreg has only recently been added to the
>>> xorg.modules list and thus gets built by tinderbox, but it looks like this
>>> change broke builddir != srcdir builds, see [1]. (there's also a separate
>>> cygwin platform issue with WTMPX_FILE I need to look)
>>>
>>> Patch attached for your consideration.
>>>
>>> [1] http://tinderbox.freedesktop.org/builds/2011-03-13-0008/logs/sessreg/#build
>>
>> Oh, I think I know the reason. -I$(top_srcdir) would normally be part
>> of $(INCLUDES). However, since the man page moved to its own
>> subdirectory, this variable (and others related to C code compilation)
>> are not set by automake. This is because there are no actual C code
>> rules in that Makefile.am. When it was in the top directory, it got
>> these because sessreg.c was getting built there.
>>
>> I think to be correct you need -I$(top_srcdir) and -I$(top_builddir)
>> so you get both sessreg.h and config.h (included through sessreg.h).
>> The alternative is to leave filenames.sed.c in the top directory and
>> ensure it gets built before descending to the man directory.
>>
> 
> 
> I checked-out a new sessreg clone and I cannot reproduce the problem. 
> 
> This is where master is pointing:
> http://cgit.freedesktop.org/xorg/app/sessreg/commit/?id=5a886e2fc5f4b3f062a20f66ee68bad4a0b98ad1
> 
> I ran make distcheck both from srcdir and from a VPATH build dir.
> 
> Can you reproduce outside tinderbox?

Yes, always reproduces for non-srcdir builds for me.

$ autoconf --version
autoconf (GNU Autoconf) 2.68
$ automake --version
automake (GNU automake) 1.11.1
$ git clone git://anongit.freedesktop.org/xorg/app/sessreg
[...]
$ cd sessreg
$ git describe
sessreg-1.0.6-8-g5a886e2
$ mkdir build ; cd build
$ ../autogen.sh
[...]
$ make V=1
make  all-recursive
make[1]: Entering directory `/opt/wip/sessreg/build'
Making all in man
make[2]: Entering directory `/opt/wip/sessreg/build/man'
gcc -E -DHAVE_CONFIG_H   \
            -I..  ../../man/filenames.sed.c | \
            grep 's|__' > filenames.sed
../../man/filenames.sed.c:1:21: error: sessreg.h: No such file or directory


Another wrinkle is that the use of 'cpp foo | grep' in a Makefile doesn't seem
like a good idea, as it can silently fail (see [1]) (man bash tells me this is
because the "status of a pipeline is the exit status of the last command")

[1] http://tinderbox.freedesktop.org/builds/2011-03-14-0008/logs/sessreg/#build



More information about the xorg-devel mailing list