diff mbox

Generate manpages for the udisks utility

Message ID 87inr9tupu.fsf@gmail.com
State New
Headers show

Commit Message

Maxim Cournoyer Nov. 27, 2016, 4:25 a.m. UTC
Hi Guix,

This patch adds the manpages to the udisks package. It appears that the
manpages were previously disabled because of the strict docbook catalog
files location verification in the configure script. The fix is
essentially equivalent to what was done in commit
b4787e71aca75392f394a127a7df537a0a016b04 to fix the build of gtk-doc,
but is a bit less invasive since it only requires to define the
XML_CATALOG_FILES variable and to pass it to make, rather than to
substitute the catalog string directly in the configure script (FWIU of
the referenced commit).

There are still some "no ID for constraint linkend" errors output by
xsltproc; unfortunately I have no idea how those can be solved. My
understanding is that these errors mean that xsltproc couldn't find the
reference ID of a linked resource. Here's what those errors look like
in the build log:

make -j3 XML_CATALOG_FILES="/gnu/store/sp361wnn64zkp3aici69xxmblrf2pfkb-docbook-xsl-1.78.1/xml/xsl/docbook-xsl-1.78.1/catalog.xml /gnu/store/d5lvr5xh8361dwhaqw3y880x9jzlqk4l-docbook-xml-4.3/xml/dtd/docbook/catalog.xml"
Making all in man
make[1]: Entering directory '/home/maxim/devel/udisks-2.1.7/doc/man'
/gnu/store/sjmyrkcm7byz14s87sanf2p14dxbdad8-profile/bin/xsltproc -path "./.." -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl udisksctl.xml
/gnu/store/sjmyrkcm7byz14s87sanf2p14dxbdad8-profile/bin/xsltproc -path "./.." -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl udisksd.xml
/gnu/store/sjmyrkcm7byz14s87sanf2p14dxbdad8-profile/bin/xsltproc -path "./.." -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl udisks.xml
Error: no ID for constraint linkend: udisksd.8.
Error: no ID for constraint linkend: udisks-polkit-actions.
Error: no ID for constraint linkend: udisksd.8.
Error: no ID for constraint linkend: gdbus-property-org-freedesktop-UDisks2-Drive.Id.
Error: no ID for constraint linkend: gdbus-property-org-freedesktop-UDisks2-Block.HintSystem.
Error: no ID for constraint linkend: gdbus-property-org-freedesktop-UDisks2-Block.HintIgnore.
Error: no ID for constraint linkend: gdbus-property-org-freedesktop-UDisks2-Block.HintAuto.
Error: no ID for constraint linkend: gdbus-property-org-freedesktop-UDisks2-Drive.CanPowerOff.
Error: no ID for constraint linkend: gdbus-property-org-freedesktop-UDisks2-Block.HintName.
Error: no ID for constraint linkend: gdbus-property-org-freedesktop-UDisks2-Block.HintIconName.
Error: no ID for constraint linkend: gdbus-property-org-freedesktop-UDisks2-Block.HintIconName.
Error: no ID for constraint linkend: gdbus-method-org-freedesktop-UDisks2-Filesystem.Mount.
Error: no ID for constraint linkend: udisksctl.1.
Error: no ID for constraint linkend: udisksd.8.
Error: no ID for constraint linkend: udisks.8.
Error: no ID for constraint linkend: udisksctl.1.
Error: no ID for constraint linkend: umount.udisks2.8.
Note: Writing udisksd.8
Error: no ID for constraint linkend: udisksd.8.
Error: no ID for constraint linkend: udisksctl.1.
Error: no ID for constraint linkend: umount.udisks2.8.
Error: no ID for constraint linkend: udisks.8.
Error: no ID for constraint linkend: udisks.8.
Error: no ID for constraint linkend: udisksd.8.
Error: no ID for constraint linkend: umount.udisks2.8.
Note: Writing udisks.8
Note: Writing udisksctl.1
/gnu/store/sjmyrkcm7byz14s87sanf2p14dxbdad8-profile/bin/xsltproc -path "./.." -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl umount.udisks2.xml
Error: no ID for constraint linkend: udisks.8.
Error: no ID for constraint linkend: udisksd.8.
Error: no ID for constraint linkend: udisksctl.1.
Error: no ID for constraint linkend: umount.8.
Note: Writing umount.udisks2.8
make[1]: Leaving directory '/home/maxim/devel/udisks-2.1.7/doc/man'
make[1]: Entering directory '/home/maxim/devel/udisks-2.1.7/doc'
make[1]: Nothing to be done for 'all-am'.
make[1]: Leaving directory '/home/maxim/devel/udisks-2.1.7/doc'

With that said, the manpages otherwise appear to be correctly generated.

Thanks!

Maxim

Comments

Marius Bakke Nov. 27, 2016, 10:15 a.m. UTC | #1
Maxim Cournoyer <maxim.cournoyer@gmail.com> writes:

> Hi Guix,
>
> This patch adds the manpages to the udisks package. It appears that the
> manpages were previously disabled because of the strict docbook catalog
> files location verification in the configure script. The fix is
> essentially equivalent to what was done in commit
> b4787e71aca75392f394a127a7df537a0a016b04 to fix the build of gtk-doc,
> but is a bit less invasive since it only requires to define the
> XML_CATALOG_FILES variable and to pass it to make, rather than to
> substitute the catalog string directly in the configure script (FWIU of
> the referenced commit).
>
> There are still some "no ID for constraint linkend" errors output by
> xsltproc; unfortunately I have no idea how those can be solved. My
> understanding is that these errors mean that xsltproc couldn't find the
> reference ID of a linked resource. Here's what those errors look like
> in the build log:
>
> make -j3 XML_CATALOG_FILES="/gnu/store/sp361wnn64zkp3aici69xxmblrf2pfkb-docbook-xsl-1.78.1/xml/xsl/docbook-xsl-1.78.1/catalog.xml /gnu/store/d5lvr5xh8361dwhaqw3y880x9jzlqk4l-docbook-xml-4.3/xml/dtd/docbook/catalog.xml"
> Making all in man
> make[1]: Entering directory '/home/maxim/devel/udisks-2.1.7/doc/man'
> /gnu/store/sjmyrkcm7byz14s87sanf2p14dxbdad8-profile/bin/xsltproc -path "./.." -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl udisksctl.xml
> /gnu/store/sjmyrkcm7byz14s87sanf2p14dxbdad8-profile/bin/xsltproc -path "./.." -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl udisksd.xml
> /gnu/store/sjmyrkcm7byz14s87sanf2p14dxbdad8-profile/bin/xsltproc -path "./.." -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl udisks.xml
> Error: no ID for constraint linkend: udisksd.8.
> Error: no ID for constraint linkend: udisks-polkit-actions.
> Error: no ID for constraint linkend: udisksd.8.
> Error: no ID for constraint linkend: gdbus-property-org-freedesktop-UDisks2-Drive.Id.
> Error: no ID for constraint linkend: gdbus-property-org-freedesktop-UDisks2-Block.HintSystem.
> Error: no ID for constraint linkend: gdbus-property-org-freedesktop-UDisks2-Block.HintIgnore.
> Error: no ID for constraint linkend: gdbus-property-org-freedesktop-UDisks2-Block.HintAuto.
> Error: no ID for constraint linkend: gdbus-property-org-freedesktop-UDisks2-Drive.CanPowerOff.
> Error: no ID for constraint linkend: gdbus-property-org-freedesktop-UDisks2-Block.HintName.
> Error: no ID for constraint linkend: gdbus-property-org-freedesktop-UDisks2-Block.HintIconName.
> Error: no ID for constraint linkend: gdbus-property-org-freedesktop-UDisks2-Block.HintIconName.
> Error: no ID for constraint linkend: gdbus-method-org-freedesktop-UDisks2-Filesystem.Mount.
> Error: no ID for constraint linkend: udisksctl.1.
> Error: no ID for constraint linkend: udisksd.8.
> Error: no ID for constraint linkend: udisks.8.
> Error: no ID for constraint linkend: udisksctl.1.
> Error: no ID for constraint linkend: umount.udisks2.8.
> Note: Writing udisksd.8
> Error: no ID for constraint linkend: udisksd.8.
> Error: no ID for constraint linkend: udisksctl.1.
> Error: no ID for constraint linkend: umount.udisks2.8.
> Error: no ID for constraint linkend: udisks.8.
> Error: no ID for constraint linkend: udisks.8.
> Error: no ID for constraint linkend: udisksd.8.
> Error: no ID for constraint linkend: umount.udisks2.8.
> Note: Writing udisks.8
> Note: Writing udisksctl.1
> /gnu/store/sjmyrkcm7byz14s87sanf2p14dxbdad8-profile/bin/xsltproc -path "./.." -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl umount.udisks2.xml
> Error: no ID for constraint linkend: udisks.8.
> Error: no ID for constraint linkend: udisksd.8.
> Error: no ID for constraint linkend: udisksctl.1.
> Error: no ID for constraint linkend: umount.8.
> Note: Writing umount.udisks2.8
> make[1]: Leaving directory '/home/maxim/devel/udisks-2.1.7/doc/man'
> make[1]: Entering directory '/home/maxim/devel/udisks-2.1.7/doc'
> make[1]: Nothing to be done for 'all-am'.
> make[1]: Leaving directory '/home/maxim/devel/udisks-2.1.7/doc'
>
> With that said, the manpages otherwise appear to be correctly generated.

Thanks! I ran the indentation through emacs and updated the commit
message to match our convention based on the GNU coding standards:

https://www.gnu.org/prep/standards/standards.html#Change-Logs

Pushed as e6cb837489a9bf399c6ca9e2d674355a13e755b1.

It would be nice to find out what causes the xsltproc errors, but they
don't seem to affect the manpage generation.
Maxim Cournoyer Nov. 27, 2016, 11:14 p.m. UTC | #2
Thanks, Marius!
diff mbox

Patch

From cc290cbe9f23c2dc5b60d90c966ee2c851c1f879 Mon Sep 17 00:00:00 2001
From: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Date: Fri, 11 Nov 2016 09:05:45 -0800
Subject: [PATCH] gnu: udisks: Add manpages.

---
 gnu/packages/freedesktop.scm | 21 +++++++++++++++++++--
 1 file changed, 19 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm
index 456d569..9ccf13e 100644
--- a/gnu/packages/freedesktop.scm
+++ b/gnu/packages/freedesktop.scm
@@ -461,7 +461,9 @@  Analysis and Reporting Technology) functionality.")
                 "119pr2zbff8vkwlhghim7d7ir24c1dil9hp4q49wm4f6pnrjpbmb"))))
     (build-system gnu-build-system)
     (native-inputs
-     `(("glib:bin" ,glib "bin") ; for glib-mkenums
+     `(("docbook-xml" ,docbook-xml-4.3) ; to build the manpages
+       ("docbook-xsl" ,docbook-xsl)
+       ("glib:bin" ,glib "bin") ; for glib-mkenums
        ("gobject-introspection" ,gobject-introspection)
        ("intltool" ,intltool)
        ("pkg-config" ,pkg-config)
@@ -480,13 +482,28 @@  Analysis and Reporting Technology) functionality.")
      `(#:tests? #f ; requiring system message dbus
        #:disallowed-references ("doc")            ;enforce separation of "doc"
        #:configure-flags
-       (list "--disable-man"
+       (list "--enable-man"
              "--localstatedir=/var"
              "--enable-fhs-media"     ;mount devices in /media, not /run/media
              (string-append "--with-html-dir="
                             (assoc-ref %outputs "doc")
                             "/share/doc/udisks/html")
              (string-append "--with-udevdir=" %output "/lib/udev"))
+        #:make-flags
+       (let*  ((docbook-xsl-name-version ,(string-append
+                                           (package-name docbook-xsl) "-"
+                                           (package-version  docbook-xsl)))
+               (docbook-xsl-catalog-file (string-append
+                                          (assoc-ref %build-inputs "docbook-xsl")
+                                          "/xml/xsl/"
+                                          docbook-xsl-name-version
+                                          "/catalog.xml"))
+               (docbook-xml-catalog-file (string-append
+                                          (assoc-ref %build-inputs "docbook-xml")
+                                          "/xml/dtd/docbook/catalog.xml")))
+         ;; Reference the catalog files required to build the manpages.
+         (list (string-append "XML_CATALOG_FILES=" docbook-xsl-catalog-file " "
+                              docbook-xml-catalog-file)))
        #:phases
        (modify-phases %standard-phases
          (add-before
-- 
2.10.2