server "make dist" not picking up optional manpages

Gaetan Nadon memsize at videotron.ca
Wed Apr 16 11:52:11 PDT 2014


On 14-04-16 10:57 AM, Hans de Goede wrote:
> Hi All,
>
> In hw/xfree86/man/Makefile.am we now have:
>
> include $(top_srcdir)/manpages.am
> appman_PRE = Xorg.man
> fileman_PRE = xorg.conf.man xorg.conf.d.man
>
> if SUID_WRAPPER
> appman_PRE += Xorg.wrap.man
> fileman_PRE += Xwrapper.config.man
> endif
>
> And in manpages.am:
> EXTRA_DIST = $(appman_PRE) $(driverman_PRE) $(fileman_PRE)
>
> Normally automake automatically includes build-deps in
> "make dist" even if they are in a if ... endif block.
>
> But in this case since we conditionally modify a variable
> and then use that in EXTRA_DIST it seems that make dist
> is not including Xorg.wrap.man and Xwrapper.config.man
> (as can been seen in the xorg-server-1.15.99.902 tarbals).
>
> Any suggestions on how to fix this in a clean way ?

    diff --git a/hw/xfree86/man/Makefile.am b/hw/xfree86/man/Makefile.am
    index f41d26c..5da404c 100644
    --- a/hw/xfree86/man/Makefile.am
    +++ b/hw/xfree86/man/Makefile.am
    @@ -5,4 +5,6 @@ fileman_PRE = xorg.conf.man xorg.conf.d.man
     if SUID_WRAPPER
     appman_PRE += Xorg.wrap.man
     fileman_PRE += Xwrapper.config.man
    +else
    +EXTRA_DIST += Xorg.wrap.man Xwrapper.config.man
     endif


In manpages.am:

    # The calling Makefile should only contain man page targets
    # Otherwise the following three global variables may conflict
    EXTRA_DIST = $(appman_PRE) $(driverman_PRE) $(fileman_PRE)
    CLEANFILES = $(appman_DATA) $(driverman_DATA) $(fileman_DATA)
    SUFFIXES = .$(APP_MAN_SUFFIX) .$(DRIVER_MAN_SUFFIX)
    .$(FILE_MAN_SUFFIX) .man

We need to explicitly list files in EXTRA_DIST. We cannot use the
built-in rules for man pages as they assume a hard-coded suffix (like .1
and so on).

There is a problem in the content of the man page where the suffix is
hard-coded.

    .TH Xorg.wrap 1 __xorgversion__

should be:

    .TH Xorg.wrap __appmansuffix__ __xorgversion__

as it is for Xorg.man


Xwrapper.config goes in the file section (usually 5, but not always).
It should be:

    .so man__appmansuffix__/Xwrapper.config.__appmansuffix__

We have a man page for a "file" that is pointing to a man page for an
"application".

I am aware that section #1 is the same for all platforms, but it is the
only one. All sections have been assigned a variable to have a common
design which helps preventing other sections from being hard-coded.

You can have a look at libXi for extensive use of .so man pages. Please
double-check everything, it is error-prone.

>
> Regards,
>
> Hans
> _______________________________________________
> xorg-devel at lists.x.org: X.Org development
> Archives: http://lists.x.org/archives/xorg-devel
> Info: http://lists.x.org/mailman/listinfo/xorg-devel
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.x.org/archives/xorg-devel/attachments/20140416/c6617554/attachment.html>


More information about the xorg-devel mailing list