[PATCH XTS 3/7] Double-use the README as man-page.

Dan Nicholson dbn.lists at gmail.com
Tue Jun 29 17:07:39 PDT 2010


On Tue, Jun 29, 2010 at 5:05 PM, Peter Hutterer
<peter.hutterer at who-t.net> wrote:
> On Tue, Jun 29, 2010 at 04:59:15PM -0700, Dan Nicholson wrote:
>> On Tue, Jun 29, 2010 at 4:10 PM, Peter Hutterer
>> <peter.hutterer at who-t.net> wrote:
>> > If asciidoc and xmlto is available at install time, convert the README to a
>> > man page. The autotool hack for this is a bit complicated, but does the job.
>> > It's essentially copied from libXi that uses asciidoc + xmlto for man page
>> > generation as well.
>> >
>> > Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
>> > ---
>> >  Makefile.am  |   24 ++++++++++++++++++++++++
>> >  README       |   23 +++++++++++++++++------
>> >  configure.ac |   19 +++++++++++++++++++
>> >  3 files changed, 60 insertions(+), 6 deletions(-)
>> >
>> > diff --git a/Makefile.am b/Makefile.am
>> > index 7bd345e..3d53694 100644
>> > --- a/Makefile.am
>> > +++ b/Makefile.am
>> > @@ -18,3 +18,27 @@ check-local: check.sh
>> >  # Helper target for testing subsets (test-Xopen, etc.)
>> >  test-%:
>> >        @$(MAKE) $(AM_MAKEFLAGS) check scenario='$*'
>> > +
>> > +if HAVE_DOCTOOLS
>> > +miscmandir = $(MISC_MAN_DIR)
>> > +xtsman_txt = XTS.txt
>> > +xtsman_xml = $(xtsman_txt:.txt=.xml)
>> > +xtsman_pre = $(xtsman_txt:.txt=.man)
>> > +miscman_DATA = $(xtsman_pre:.man=.$(MISC_MAN_SUFFIX))
>> > +
>> > +SUFFIXES = .man .$(MISC_MAN_SUFFIX) .txt .xml
>> > +
>> > +XTS.txt: README
>> > +       cp $(srcdir)/README XTS.txt
>> > +
>> > +.man.$(MISC_MAN_SUFFIX):
>> > +       sed -e 's|miscmansuffix|$(MISC_MAN_SUFFIX)|' < $< > $@
>> > +.txt.xml:
>> > +       $(ASCIIDOC) -b docbook -d manpage -o $@ $<
>> > +.xml.man:
>> > +       $(XMLTO) man $<
>> > +       mv -f $(@:.man=.miscmansuffix) $@
>> > +
>> > +MAINTAINERCLEANFILES = *.xml $(xtsman_pre) $(xtsman_txt)
>> > +endif
>> > +
>> > diff --git a/README b/README
>> > index af18b04..41f86ee 100644
>> > --- a/README
>> > +++ b/README
>> > @@ -1,8 +1,18 @@
>> > +XTS(miscmansuffix)
>> > +==================
>> > +
>> > +Name
>> > +----
>> > +    XTS - The X Test Suite
>> > +
>> > +Description
>> > +-----------
>> > +
>> >  This is a revamped version of X Test Suite (XTS) which removes some of
>> >  the ugliness of building and running the tests.
>> >
>> >  Downloading
>> > -===========
>> > +-----------
>> >  Currently xts it is only available from a git repository.
>> >
>> >        $ git clone git://people.freedesktop.org/~dbn/xtest.git
>> > @@ -10,8 +20,9 @@ Currently xts it is only available from a git repository.
>> >  Eventually there will be a tarball release when it is stabilized.
>> >
>> >  Requirements
>> > -============
>> > +------------
>> >  Required libraries: libX11, libXext, libXi, libXtst
>> > +
>> >  Required utilities: xdpyinfo, xset, perl, bdftopcf, mkfontdir
>> >
>> >  If you are using packages outside of the standard system directories,
>> > @@ -19,7 +30,7 @@ make sure to set PATH and PKG_CONFIG_PATH appropriately. See
>> >  pkg-config(1) for details on the latter.
>> >
>> >  Build and Install
>> > -=================
>> > +-----------------
>> >  The build and install are now straightforward:
>> >
>> >        $ ./autogen.sh  # using a git checkout
>> > @@ -28,7 +39,7 @@ The build and install are now straightforward:
>> >        $ make install
>> >
>> >  Running the Tests
>> > -=================
>> > +-----------------
>> >  The tests can be run from the build directory or from the installed
>> >  package. The check.sh script sets up the environment to run tests from
>> >  the build tree.
>> > @@ -56,7 +67,7 @@ the xts-report tool (formerly vswrpt):
>> >        $ xts-report -f /xts/output/dir/journal
>> >
>> >  Running a Single Test
>> > -=====================
>> > +---------------------
>> >  The pt script can be used to run a single set of tests or a single test case
>> >  only. For example, to run only the XGrabButton tests, run
>> >         $ pt ./XGrabButton
>> > @@ -75,7 +86,7 @@ To run only a single test-case inside one test set, use the -i flag.
>> >  This command only runs test case 10 (t010() in the source).
>> >
>> >  Bugs
>> > -====
>> > +----
>> >  Some tests provide different results when run as a set versus run
>> >  one-by-one with the pt script. This has been observed with
>> >  Xlib13/XGrabButton where the modifier state is not reset correctly.
>> > diff --git a/configure.ac b/configure.ac
>> > index 158b72a..6f51fc0 100644
>> > --- a/configure.ac
>> > +++ b/configure.ac
>> > @@ -109,6 +109,25 @@ fi
>> >  m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])],
>> >     [AC_SUBST([AM_DEFAULT_VERBOSITY], [1])])
>> >
>> > +# Generate man page if asciidoc and xmlto are available.
>> > +AC_ARG_VAR([XMLTO], [Path to xmlto command])
>> > +AC_PATH_PROG([XMLTO], [xmlto])
>> > +AC_ARG_VAR([ASCIIDOC], [Path to asciidoc command])
>> > +AC_PATH_PROG([ASCIIDOC], [asciidoc])
>> > +
>> > +AM_CONDITIONAL([HAVE_DOCTOOLS], [test "x$XMLTO" != "x" && test "x$ASCIIDOC" != "x"])
>> > +if test "x$XMLTO" = "x" || test "x$ASCIIDOC" = "x"; then
>> > +    AC_MSG_WARN([xmlto or asciidoc not found - cannot create man pages without it])
>> > +else
>> > +    if test x$MISC_MAN_SUFFIX = x    ; then
>> > +        case $host_os in
>> > +            solaris*)       MISC_MAN_SUFFIX=5  ;;
>> > +            *)              MISC_MAN_SUFFIX=7  ;;
>> > +        esac
>> > +    fi
>> > +    AC_SUBST(MISC_MAN_SUFFIX)
>> > +fi
>> > +
>> >  AC_CONFIG_FILES([
>> >  Makefile
>> >  check.sh
>>
>> All the autoconf magic seems fine, but is there any reason not to pull
>> in the macros from xorg-macros at some point?
>
> The macros are moving a bit too fast for my liking for XTS. Since we haven't
> audited the tests yet and there's bound to be quite a few that need
> fixing, I'd rather be able to pull in latest XTS on an older box (e.g. RHEL)
> without having to rely on whatever the latest macros version is.
>
> If the duplication gets out of proportion, then maybe but for now I think
> this hunk above should pretty much be it, right?

Yeah, I was mostly thinking about the MISC_MAN_SUFFIX part getting
duplicated here. Not a big deal, and we can continue to nitpick later.

--
Dan


More information about the xorg-devel mailing list