Skip to contentSkip to conversation

support xmlto

PATCH Superseded Hongxu Jia 4 participants 14 messages Jul 9, 2014 – Jul 15, 2014

v2 of 3 Superseded Latest is v3 →

lore
Share & tools
lore

Hongxu Jia

author
#0 lore raw

v2 cover support xmlto

Change in V2:

- For alsa-utils/xorg-proto-common.inc/xorg-lib-common.inc/xserver-xorg.inc, add PACKAGECONFIG for xmlto and disable it by default rather than directly enable it.

- EXTRA_OECONF has --without-catalog to instead of passing CFLAGS directly.

Test Steps:

1. vim local.conf
...
IMAGE_FEATURES += "ssh-server-dropbear"
PACKAGECONFIG_pn-alsa-utils = "xmlto"
IMAGE_INSTALL_append = " xmlto"
...

2. bitbake alsa-utils
If the build is ok, it means xmlto-native could work.

3. bitbake core-image-minimal

4. start qemu target and ssh the target

5. copy a manual source to target
ssh tmp/work/i586-poky-linux/alsa-utils/1.0.27.2-r0/alsa-utils-1.0.27.2/alsactl/alsactl_init.xml [email protected]:/home/root

6. on target

   root@qemux86:~# xmlto man alsactl_init.xml 
   Note: Writing alsactl_init.7

[YOCTO #2416]

//Hongxu

The following changes since commit 6879c3c903ec7d08cf0240281c83d85b4a42b6db:

maintainers.inc: add info for libical (2014-07-08 11:20:14 +0100)

are available in the git repository at:

git://git.pokylinux.org/poky-contrib hongxu/support-xmlto
http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=hongxu/support-xmlto

Hongxu Jia (8):
libxml2: enable catalog support
docbook-xml: add docbook-xsl-stylesheets 1.78.1
docbook-xml: add docbook-xml-dtd4
xmlto: add version 0.0.25
alsa-utils: add PACKAGECONFIG for xmlto xorg-proto-common.inc: add PACKAGECONFIG for xmlto xorg-lib-common.inc: add PACKAGECONFIG for xmlto xserver-xorg.inc: add PACKAGECONFIG for xmlto

 meta/conf/licenses.conf                            |   2 +-
 meta/files/common-licenses/XSL                     |  48 ++
 meta/recipes-core/libxml/libxml2.inc               |   8 +-
 .../docbook-xml/docbook-xml-dtd4/LICENSE-OASIS     |  16 +
 .../docbook-xml-update-catalog.xml.patch           | 515 +++++++++++++++++++++
 .../docbook-xml/docbook-xml-dtd4/docbook-xml.xml   |  68 +++
 .../docbook-xml/docbook-xml-dtd4_4.5.bb            |  64 +++
 .../docbook-xsl-stylesheets/docbook-xsl.xml        |   6 +
 .../docbook-xml/docbook-xsl-stylesheets_1.78.1.bb  |  67 +++
 meta/recipes-devtools/xmlto/files/catalog.xml      |  19 +
 ....in-drop-the-test-of-xmllint-and-xsltproc.patch |  30 ++
 .../xmlto-0.0.25/obsolete_automake_macros.patch    |  12 +
 meta/recipes-devtools/xmlto/xmlto_0.0.25.bb        |  47 ++
 meta/recipes-graphics/xorg-lib/xorg-lib-common.inc |   9 +-
 .../xorg-proto/xorg-proto-common.inc               |   7 +-
 .../recipes-graphics/xorg-xserver/xserver-xorg.inc |   2 +-
 .../recipes-multimedia/alsa/alsa-utils_1.0.27.2.bb |   2 +-
 17 files changed, 911 insertions(+), 11 deletions(-)
 create mode 100644 meta/files/common-licenses/XSL
 create mode 100644 meta/recipes-devtools/docbook-xml/docbook-xml-dtd4/LICENSE-OASIS
 create mode 100644 meta/recipes-devtools/docbook-xml/docbook-xml-dtd4/docbook-xml-update-catalog.xml.patch
 create mode 100644 meta/recipes-devtools/docbook-xml/docbook-xml-dtd4/docbook-xml.xml
 create mode 100644 meta/recipes-devtools/docbook-xml/docbook-xml-dtd4_4.5.bb
 create mode 100644 meta/recipes-devtools/docbook-xml/docbook-xsl-stylesheets/docbook-xsl.xml
 create mode 100644 meta/recipes-devtools/docbook-xml/docbook-xsl-stylesheets_1.78.1.bb
 create mode 100644 meta/recipes-devtools/xmlto/files/catalog.xml
 create mode 100644 meta/recipes-devtools/xmlto/xmlto-0.0.25/configure.in-drop-the-test-of-xmllint-and-xsltproc.patch
 create mode 100644 meta/recipes-devtools/xmlto/xmlto-0.0.25/obsolete_automake_macros.patch
 create mode 100644 meta/recipes-devtools/xmlto/xmlto_0.0.25.bb
Signature · 1 line
1.8.1.2
author
#1 lore raw

PATCH v2 1/8 libxml2: enable catalog support

It let the environment variable XML_CATALOG_FILES could work which was required by xmlto.

[YOCTO #2416]

---
 meta/recipes-core/libxml/libxml2.inc | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)
meta/recipes-core/libxml/libxml2.inc +4 -4
index e0b50cf..9aa640b 100644
@@ -38,10 +38,10 @@ do_configure_prepend_class-nativesdk () {
 	export PYTHON_SITE_PACKAGES="${PYTHON_SITEPACKAGES_DIR}"
 }
 
-EXTRA_OECONF = "--without-python --without-debug --without-legacy --without-catalog --without-docbook --with-c14n --without-lzma --with-fexceptions"
-EXTRA_OECONF_class-native = "--with-python=${STAGING_BINDIR}/python --without-legacy --with-catalog --without-docbook --with-c14n --without-lzma"
-EXTRA_OECONF_class-nativesdk = "--with-python=${STAGING_BINDIR}/python --without-legacy --with-catalog --without-docbook --with-c14n --without-lzma"
-EXTRA_OECONF_linuxstdbase = "--without-python --with-debug --with-legacy --with-catalog --with-docbook --with-c14n --without-lzma"
+EXTRA_OECONF = "--without-python --without-debug --without-legacy --with-catalog --without-docbook --with-c14n --without-lzma --with-fexceptions"
+EXTRA_OECONF_class-native = "--with-python=${STAGING_BINDIR}/python --without-legacy --without-docbook --with-c14n --without-lzma"
+EXTRA_OECONF_class-nativesdk = "--with-python=${STAGING_BINDIR}/python --without-legacy --without-docbook --with-c14n --without-lzma"
+EXTRA_OECONF_linuxstdbase = "--without-python --with-debug --with-legacy --with-docbook --with-c14n --without-lzma"
 
 # required for pythong binding
 export HOST_SYS
Signature · 1 line
1.8.1.2
author
#2 lore raw

PATCH v2 2/8 docbook-xml: add docbook-xsl-stylesheets 1.78.1

In reply to Hongxu Jia

About the config files (docbook-xsl.xml), we refered what Ubuntu 13.04 did, so the xmlto could correctly search the xsl stylesheets.

[YOCTO #2416]

---
 meta/conf/licenses.conf                            |  2 +-
 meta/files/common-licenses/XSL                     | 48 ++++++++++++++++
 .../docbook-xsl-stylesheets/docbook-xsl.xml        |  6 ++
 .../docbook-xml/docbook-xsl-stylesheets_1.78.1.bb  | 67 ++++++++++++++++++++++
 4 files changed, 122 insertions(+), 1 deletion(-)
 create mode 100644 meta/files/common-licenses/XSL
 create mode 100644 meta/recipes-devtools/docbook-xml/docbook-xsl-stylesheets/docbook-xsl.xml
 create mode 100644 meta/recipes-devtools/docbook-xml/docbook-xsl-stylesheets_1.78.1.bb
meta/conf/licenses.conf +1 -1
index c378a41..b1d5480 100644
@@ -36,7 +36,7 @@ SRC_DISTRIBUTE_LICENSES += "OSL-3.0 PD PHP-3.0 PostgreSQL Proprietary"
 SRC_DISTRIBUTE_LICENSES += "Python-2.0 QPL-1.0 RHeCos-1 RHeCos-1.1 RPL-1.5"
 SRC_DISTRIBUTE_LICENSES += "RPSL-1.0 RSCPL Ruby SAX-PD SGI-1 Simple-2.0 Sleepycat"
 SRC_DISTRIBUTE_LICENSES += "SPL-1.0 SugarCRM-1 SugarCRM-1.1.3 UCB VSL-1.0 W3C"
-SRC_DISTRIBUTE_LICENSES += "Watcom-1.0 WXwindows XFree86-1.1 Xnet YPL-1.1"
+SRC_DISTRIBUTE_LICENSES += "Watcom-1.0 WXwindows XFree86-1.1 Xnet XSL YPL-1.1"
 SRC_DISTRIBUTE_LICENSES += "Zimbra-1.3 Zlib ZPL-1.1 ZPL-2.0 ZPL-2.1"
 
 # Standards are great! Everyone has their own. In an effort to standardize licensing
meta/files/common-licenses/XSL new file +48 -0

48 lines not on this page · raw message

meta/recipes-devtools/docbook-xml/docbook-xsl-stylesheets/docbook-xsl.xml new file +6 -0
new file mode 100644
index 0000000..a1a576a
@@ -0,0 +1,6 @@
+<?xml version="1.0"?>
+<!DOCTYPE catalog PUBLIC "-//OASIS//DTD Entity Resolution XML Catalog V1.0//EN" "http://www.oasis-open.org/committees/entity/release/1.0/catalog.dtd">
+<catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog">
+<delegateURI uriStartString="http://docbook.sourceforge.net/release/xsl/" catalog="file:///usr/share/xml/docbook/xsl-stylesheets-1.78.1/catalog.xml"/>
+<delegateSystem systemIdStartString="http://docbook.sourceforge.net/release/xsl/" catalog="file:///usr/share/xml/docbook/xsl-stylesheets-1.78.1/catalog.xml"/>
+</catalog>
meta/recipes-devtools/docbook-xml/docbook-xsl-stylesheets_1.78.1.bb new file +67 -0

67 lines not on this page · raw message

Signature · 1 line
1.8.1.2
author
#3 lore raw

PATCH v2 3/8 docbook-xml: add docbook-xml-dtd4

In reply to Hongxu Jia

Refer debian, it shipped the latest DocBook 4.5 XML DTD, as well as a selected set of legacy DTDs for use with older documents, including 4.0, 4.1.2, 4.2, 4.3 and 4.4.

About the config files (docbook-xml.xml and the update patch), we refered what Ubuntu 13.04 did, so the xmlto could correctly search among multible DTDs.

[YOCTO #2416]

---
 .../docbook-xml/docbook-xml-dtd4/LICENSE-OASIS     |  16 +
 .../docbook-xml-update-catalog.xml.patch           | 515 +++++++++++++++++++++
 .../docbook-xml/docbook-xml-dtd4/docbook-xml.xml   |  68 +++
 .../docbook-xml/docbook-xml-dtd4_4.5.bb            |  64 +++
 4 files changed, 663 insertions(+)
 create mode 100644 meta/recipes-devtools/docbook-xml/docbook-xml-dtd4/LICENSE-OASIS
 create mode 100644 meta/recipes-devtools/docbook-xml/docbook-xml-dtd4/docbook-xml-update-catalog.xml.patch
 create mode 100644 meta/recipes-devtools/docbook-xml/docbook-xml-dtd4/docbook-xml.xml
 create mode 100644 meta/recipes-devtools/docbook-xml/docbook-xml-dtd4_4.5.bb
meta/recipes-devtools/docbook-xml/docbook-xml-dtd4/LICENSE-OASIS new file +16 -0
new file mode 100644
index 0000000..6da7f5b
@@ -0,0 +1,16 @@
+Permission to use, copy, modify and distribute the DocBook XML DTD
+and its accompanying documentation for any purpose and without fee
+is hereby granted in perpetuity, provided that the above copyright
+notice and this paragraph appear in all copies.  The copyright
+holders make no representation about the suitability of the DTD for
+any purpose.  It is provided "as is" without expressed or implied
+warranty.
+
+If you modify the DocBook DTD in any way, except for declaring and
+referencing additional sets of general entities and declaring
+additional notations, label your DTD as a variant of DocBook.  See
+the maintenance documentation for more information.
+
+Please direct all questions, bug reports, or suggestions for 
+changes to the [email protected] mailing list. For more
+information, see http://www.oasis-open.org/docbook/.
meta/recipes-devtools/docbook-xml/docbook-xml-dtd4/docbook-xml-update-catalog.xml.patch new file +515 -0

515 lines not on this page · raw message

meta/recipes-devtools/docbook-xml/docbook-xml-dtd4/docbook-xml.xml new file +68 -0

68 lines not on this page · raw message

meta/recipes-devtools/docbook-xml/docbook-xml-dtd4_4.5.bb new file +64 -0

64 lines not on this page · raw message

Signature · 1 line
1.8.1.2
author
#4 lore raw

PATCH v2 4/8 xmlto: add version 0.0.25

In reply to Hongxu Jia

It moved from meta-oe and fixed the defect that xmlto/xsltproc stylesheets cannot be found even when they are installed in sysroot.

About the config files (catalog.xml), we refered what Ubuntu 13.04 did, so it could correctly search the xsl stylesheets and xml dtds.

Assigned the environment variable XML_CATALOG_FILES, so the xmlto will use oe-core's config as priority to avoid the the search from build system.

[YOCTO #2416]

---
 meta/recipes-devtools/xmlto/files/catalog.xml      | 19 +++++++++
 ....in-drop-the-test-of-xmllint-and-xsltproc.patch | 30 ++++++++++++++
 .../xmlto-0.0.25/obsolete_automake_macros.patch    | 12 ++++++
 meta/recipes-devtools/xmlto/xmlto_0.0.25.bb        | 47 ++++++++++++++++++++++
 4 files changed, 108 insertions(+)
 create mode 100644 meta/recipes-devtools/xmlto/files/catalog.xml
 create mode 100644 meta/recipes-devtools/xmlto/xmlto-0.0.25/configure.in-drop-the-test-of-xmllint-and-xsltproc.patch
 create mode 100644 meta/recipes-devtools/xmlto/xmlto-0.0.25/obsolete_automake_macros.patch
 create mode 100644 meta/recipes-devtools/xmlto/xmlto_0.0.25.bb
meta/recipes-devtools/xmlto/files/catalog.xml new file +19 -0
new file mode 100644
index 0000000..6b8833d
@@ -0,0 +1,19 @@
+<?xml version="1.0"?>
+<!DOCTYPE catalog PUBLIC "-//OASIS//DTD Entity Resolution XML Catalog V1.0//EN" "http://www.oasis-open.org/committees/entity/release/1.0/catalog.dtd">
+<catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog">
+<delegateSystem systemIdStartString="http://docbook.org/xml/" catalog="./docbook-xml.xml"/>
+<delegatePublic publicIdStartString="-//OASIS//ELEMENTS DocBook" catalog="./docbook-xml.xml"/>
+<delegatePublic publicIdStartString="-//OASIS//DTD DocBook XML" catalog="./docbook-xml.xml"/>
+<delegatePublic publicIdStartString="-//OASIS//DTD XML Exchange Table Model 19990315" catalog="./docbook-xml.xml"/>
+<delegatePublic publicIdStartString="-//Norman Walsh//DTD CALS Table Model XML" catalog="./docbook-xml.xml"/>
+<delegatePublic publicIdStartString="-//Norman Walsh//ELEMENTS DocBk XML" catalog="./docbook-xml.xml"/>
+<delegatePublic publicIdStartString="-//Norman Walsh//DTD DocBook XML" catalog="./docbook-xml.xml"/>
+<delegatePublic publicIdStartString="-//OASIS//ENTITIES DocBook" catalog="./docbook-xml.xml"/>
+<delegatePublic publicIdStartString="-//Norman Walsh//ENTITIES DocBk XML" catalog="./docbook-xml.xml"/>
+<delegatePublic publicIdStartString="-//Norman Walsh//DTD DocBk XML" catalog="./docbook-xml.xml"/>
+<delegatePublic publicIdStartString="-//Normal Walsh//Exchange Table Model 19960430" catalog="./docbook-xml.xml"/>
+<delegateSystem systemIdStartString="http://www.oasis-open.org/docbook/xml/" catalog="./docbook-xml.xml"/>
+<delegatePublic publicIdStartString="-//OASIS//DTD DocBook CALS Table Model" catalog="./docbook-xml.xml"/>
+<delegateURI uriStartString="http://docbook.sourceforge.net/release/xsl/" catalog="./docbook-xsl.xml"/>
+<delegateSystem systemIdStartString="http://docbook.sourceforge.net/release/xsl/" catalog="./docbook-xsl.xml"/>
+</catalog>
meta/recipes-devtools/xmlto/xmlto-0.0.25/configure.in-drop-the-test-of-xmllint-and-xsltproc.patch new file +30 -0
new file mode 100644
index 0000000..69ca432
@@ -0,0 +1,30 @@
+configure.in: drop the test of xmllint and xsltproc
+
+The test is unnecessary, the xmllint and xsltproc were explicitly
+added to RDEPENDS.
+
+Upstream-Status: oe-specific
+Signed-off-by: Hongxu Jia <[email protected]>
+---
+ configure.in | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/configure.in b/configure.in
+--- a/configure.in
++++ b/configure.in
+@@ -42,10 +42,10 @@ AC_ARG_VAR([LOCALE], [Name and path of the `locale' program.])
+ AC_PATH_PROG([LOCALE], [locale], [locale])
+ 
+ AC_ARG_VAR([XMLLINT], [Name and path of the `xmllint' program.])
+-AC_PATH_PROG([XMLLINT], [xmllint], [xmllint])
++dnl AC_PATH_PROG([XMLLINT], [xmllint], [xmllint])
+ 
+ AC_ARG_VAR([XSLTPROC], [Name and path of the `xsltproc' program.])
+-AC_PATH_PROG([XSLTPROC], [xsltproc], [xsltproc])
++dnl AC_PATH_PROG([XSLTPROC], [xsltproc], [xsltproc])
+ 
+ dnl
+ dnl toolchains
+-- 
+1.8.1.2
+
meta/recipes-devtools/xmlto/xmlto-0.0.25/obsolete_automake_macros.patch new file +12 -0
new file mode 100644
index 0000000..faa8acc
@@ -0,0 +1,12 @@
+diff -Nurd xmlto-0.0.25/configure.in xmlto-0.0.25/configure.in
+--- xmlto-0.0.25/configure.in	2011-12-01 17:49:00.000000000 +0200
++++ xmlto-0.0.25/configure.in	2013-01-07 05:24:16.169953519 +0200
+@@ -1,7 +1,7 @@
+ AC_INIT(xmlto, 0.0.25)
+ AC_CONFIG_SRCDIR(xmlto.spec.in)
+ AM_INIT_AUTOMAKE([dist-bzip2 subdir-objects 1.6])
+-AM_CONFIG_HEADER(config.h)
++AC_CONFIG_HEADERS(config.h)
+
+ AC_PROG_CC
+ AM_PROG_CC_C_O
meta/recipes-devtools/xmlto/xmlto_0.0.25.bb new file +47 -0

47 lines not on this page · raw message

Signature · 1 line
1.8.1.2
#5 lore raw

Re: [PATCH 4/8] xmlto: add version 0.0.25

meta/recipes-devtools/xmlto/xmlto_0.0.25.bb line 27

Quoted 8 lines · Hongxu Jia
meta/recipes-devtools/xmlto/xmlto_0.0.25.bb new file +8 -0
+# To make sure these native packages ready before xmlto-native was invoked.
+DEPENDS_class-native = " \
+    docbook-xml-dtd4-native \
+    docbook-xsl-stylesheets-native \
+    util-linux-native \
+    libxml2-native \
+    libxslt-native \
+"

Does this do what you want if xmlto-native is pulled in from sstate in an empty tmp?

meta/recipes-devtools/xmlto/xmlto_0.0.25.bb line 36

Quoted 8 lines
meta/recipes-devtools/xmlto/xmlto_0.0.25.bb new file +8 -0
+# xmlto needs getopt/xmllint/xsltproc at runtime
+RDEPENDS_${PN}_class-target = " \
+    docbook-xml-dtd4 \
+    docbook-xsl-stylesheets \
+    util-linux \
+    libxml2 \
+    libxslt-bin \
+"

Don't bother with the -class-target override, they're general runtime dependencies and not specific to the target build.

Ross

author
#6 lore raw

Re: [PATCH 4/8] xmlto: add version 0.0.25

Quoted 11 lines · Ross

meta/recipes-devtools/xmlto/xmlto_0.0.25.bb line 27

Quoted 8 lines · Hongxu Jia
meta/recipes-devtools/xmlto/xmlto_0.0.25.bb new file +8 -0
+# To make sure these native packages ready before xmlto-native was invoked.
+DEPENDS_class-native = " \
+    docbook-xml-dtd4-native \
+    docbook-xsl-stylesheets-native \
+    util-linux-native \
+    libxml2-native \
+    libxslt-native \
+"

Does this do what you want if xmlto-native is pulled in from sstate in an empty tmp?

Hi Ross,

If we don't have it, while runing bitbake world, there was a build failure for alsa-utils which xmlto enabled.
...

| xmlto man alsactl_init.xml
| sed -e 's,@localstatedir\@,/var,g' -e 's,@sbindir\@,/usr/sbin,g' -e 's,@daemonswitch\@,/etc/alsa/state-daemon.conf,g' < 90-alsa-restore.rules.in > 90-alsa-restore.rules || rm 90-alsa-restore.rules
| i586-poky-linux-gcc  -m32 -march=i586 --sysroot=/buildarea3/yocto-autobuilder/yocto-slave/nightly-x86/build/build/tmp/sysroots/qemux86  -D__USE_GNU -DSYS_ASOUNDRC=\"/var/lib/alsa/asound.state\" -DSYS_PIDFILE=\"/var/run/alsactl.pid\" -O2 -pipe -g -feliminate-unused-debug-types  -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed -o alsactl alsactl-alsactl.o alsactl-state.o alsactl-lock.o alsactl-utils.o alsactl-init_parse.o alsactl-daemon.o  -lasound -lm -ldl -lpthread
| xmlto: /buildarea3/yocto-autobuilder/yocto-slave/nightly-x86/build/build/tmp/work/i586-poky-linux/alsa-utils/1.0.27.2-r0/alsa-utils-1.0.27.2/alsactl/alsactl_init.xml does not validate (status 3)
| xmlto: Fix document syntax or use --skip-validation option
| I/O error : Attempt to load network entity http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd
| /buildarea3/yocto-autobuilder/yocto-slave/nightly-x86/build/build/tmp/work/i586-poky-linux/alsa-utils/1.0.27.2-r0/alsa-utils-1.0.27.2/alsactl/alsactl_init.xml:3: warning: failed to load external entity "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
|   "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
|                                                            ^
| I/O error : Attempt to load network entity http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd
| warning: failed to load external entity "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
| validity error : Could not load the external subset "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"

...

The alsa-utils invoked xmlto to generate document at his do_compile, so we have to make sure the above native packages prepared before xmlto-native.

//Hongxu

Quoted 13 lines

meta/recipes-devtools/xmlto/xmlto_0.0.25.bb line 36

Quoted 9 lines
meta/recipes-devtools/xmlto/xmlto_0.0.25.bb new file +8 -0
+# xmlto needs getopt/xmllint/xsltproc at runtime
+RDEPENDS_${PN}_class-target = " \
+    docbook-xml-dtd4 \
+    docbook-xsl-stylesheets \
+    util-linux \
+    libxml2 \
+    libxslt-bin \
+"

Don't bother with the -class-target override, they're general runtime dependencies and not specific to the target build.

Ross

#7 lore raw

Re: [PATCH 4/8] xmlto: add version 0.0.25

Quoted 31 lines · Hongxu Jia
Quoted 11 lines · Ross

meta/recipes-devtools/xmlto/xmlto_0.0.25.bb line 27

Quoted 8 lines · Hongxu Jia
meta/recipes-devtools/xmlto/xmlto_0.0.25.bb new file +8 -0
+# To make sure these native packages ready before xmlto-native was invoked.
+DEPENDS_class-native = " \
+    docbook-xml-dtd4-native \
+    docbook-xsl-stylesheets-native \
+    util-linux-native \
+    libxml2-native \
+    libxslt-native \
+"

Does this do what you want if xmlto-native is pulled in from sstate in an empty tmp?

Hi Ross,

If we don't have it, while runing bitbake world, there was a build failure for alsa-utils which xmlto enabled.
...

| xmlto man alsactl_init.xml
| sed -e 's,@localstatedir\@,/var,g' -e 's,@sbindir\@,/usr/sbin,g' -e 's,@daemonswitch\@,/etc/alsa/state-daemon.conf,g' < 90-alsa-restore.rules.in > 90-alsa-restore.rules || rm 90-alsa-restore.rules
| i586-poky-linux-gcc  -m32 -march=i586 --sysroot=/buildarea3/yocto-autobuilder/yocto-slave/nightly-x86/build/build/tmp/sysroots/qemux86  -D__USE_GNU -DSYS_ASOUNDRC=\"/var/lib/alsa/asound.state\" -DSYS_PIDFILE=\"/var/run/alsactl.pid\" -O2 -pipe -g -feliminate-unused-debug-types  -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed -o alsactl alsactl-alsactl.o alsactl-state.o alsactl-lock.o alsactl-utils.o alsactl-init_parse.o alsactl-daemon.o  -lasound -lm -ldl -lpthread
| xmlto: /buildarea3/yocto-autobuilder/yocto-slave/nightly-x86/build/build/tmp/work/i586-poky-linux/alsa-utils/1.0.27.2-r0/alsa-utils-1.0.27.2/alsactl/alsactl_init.xml does not validate (status 3)
| xmlto: Fix document syntax or use --skip-validation option
| I/O error : Attempt to load network entity http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd
| /buildarea3/yocto-autobuilder/yocto-slave/nightly-x86/build/build/tmp/work/i586-poky-linux/alsa-utils/1.0.27.2-r0/alsa-utils-1.0.27.2/alsactl/alsactl_init.xml:3: warning: failed to load external entity "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
|   "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
|                                                            ^
| I/O error : Attempt to load network entity http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd
| warning: failed to load external entity "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
| validity error : Could not load the external subset "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
Quoted 5 lines

...

The alsa-utils invoked xmlto to generate document at his do_compile, so we have to make sure the above native packages prepared before xmlto-native.

Shouldn't alsa-utils have a dependency on the docbook pieces it needs as well as xmlto-native then?

Certainly, these are not build time dependencies of xmlto so something is not quite right...

Cheers,

Richard

author
#8 lore raw

Re: [PATCH 4/8] xmlto: add version 0.0.25

Quoted 33 lines · Richard Purdie
Quoted 32 lines · Hongxu Jia
Quoted 11 lines · Ross

meta/recipes-devtools/xmlto/xmlto_0.0.25.bb line 27

Quoted 8 lines · Hongxu Jia
meta/recipes-devtools/xmlto/xmlto_0.0.25.bb new file +8 -0
+# To make sure these native packages ready before xmlto-native was invoked.
+DEPENDS_class-native = " \
+    docbook-xml-dtd4-native \
+    docbook-xsl-stylesheets-native \
+    util-linux-native \
+    libxml2-native \
+    libxslt-native \
+"

Does this do what you want if xmlto-native is pulled in from sstate in an empty tmp?

Hi Ross,

If we don't have it, while runing bitbake world, there was a build failure for alsa-utils which xmlto enabled.
...

| xmlto man alsactl_init.xml
| sed -e 's,@localstatedir\@,/var,g' -e 's,@sbindir\@,/usr/sbin,g' -e 's,@daemonswitch\@,/etc/alsa/state-daemon.conf,g' < 90-alsa-restore.rules.in > 90-alsa-restore.rules || rm 90-alsa-restore.rules
| i586-poky-linux-gcc  -m32 -march=i586 --sysroot=/buildarea3/yocto-autobuilder/yocto-slave/nightly-x86/build/build/tmp/sysroots/qemux86  -D__USE_GNU -DSYS_ASOUNDRC=\"/var/lib/alsa/asound.state\" -DSYS_PIDFILE=\"/var/run/alsactl.pid\" -O2 -pipe -g -feliminate-unused-debug-types  -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed -o alsactl alsactl-alsactl.o alsactl-state.o alsactl-lock.o alsactl-utils.o alsactl-init_parse.o alsactl-daemon.o  -lasound -lm -ldl -lpthread
| xmlto: /buildarea3/yocto-autobuilder/yocto-slave/nightly-x86/build/build/tmp/work/i586-poky-linux/alsa-utils/1.0.27.2-r0/alsa-utils-1.0.27.2/alsactl/alsactl_init.xml does not validate (status 3)
| xmlto: Fix document syntax or use --skip-validation option
| I/O error : Attempt to load network entity http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd
| /buildarea3/yocto-autobuilder/yocto-slave/nightly-x86/build/build/tmp/work/i586-poky-linux/alsa-utils/1.0.27.2-r0/alsa-utils-1.0.27.2/alsactl/alsactl_init.xml:3: warning: failed to load external entity "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
|   "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
|                                                            ^
| I/O error : Attempt to load network entity http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd
| warning: failed to load external entity "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
| validity error : Could not load the external subset "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"

...

Quoted 8 lines
Quoted 3 lines

The alsa-utils invoked xmlto to generate document at his do_compile, so we have to make sure the above native packages prepared before xmlto-native.

Shouldn't alsa-utils have a dependency on the docbook pieces it needs as well as xmlto-native then?

Certainly, these are not build time dependencies of xmlto so something is not quite right...

Got it, I will add docbook pieces to alsa-utils's dependency, V3 Incoming.

//Hongxu

Quoted 4 lines

Cheers,

Richard

author
#9 lore raw

PATCH v2 5/8 alsa-utils: add PACKAGECONFIG for xmlto

In reply to Hongxu Jia

Support xmlto for documentation generation and disable it by default.

[YOCTO #2416]

---
 meta/recipes-multimedia/alsa/alsa-utils_1.0.27.2.bb | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
meta/recipes-multimedia/alsa/alsa-utils_1.0.27.2.bb +1 -1
index 123926a..d7908cb 100644
@@ -9,6 +9,7 @@ DEPENDS = "alsa-lib ncurses libsamplerate0 udev"
 
 PACKAGECONFIG ??= "udev"
 PACKAGECONFIG[udev] = "--with-udev-rules-dir=`pkg-config --variable=udevdir udev`/rules.d,,udev"
+PACKAGECONFIG[xmlto] = "--enable-xmlto, --disable-xmlto, xmlto-native"
 
 SRC_URI = "ftp://ftp.alsa-project.org/pub/utils/alsa-utils-${PV}.tar.bz2 \
            file://0001-alsactl-don-t-let-systemd-unit-restore-the-volume-wh.patch \
@@ -21,7 +22,6 @@ SRC_URI[sha256sum] = "02bfac39092f3b68d743c23ad3d688d6c5aa8df69f2ccd692c5b8282ed
 # http://bugs.openembedded.org/show_bug.cgi?id=2348
 # please close bug and remove this comment when properly fixed
 #
-EXTRA_OECONF = "--disable-xmlto"
 EXTRA_OECONF_append_libc-uclibc = " --disable-nls"
 
 inherit autotools-brokensep gettext pkgconfig
Signature · 1 line
1.8.1.2
author
#10 lore raw

PATCH v2 6/8 xorg-proto-common.inc: add PACKAGECONFIG for xmlto

In reply to Hongxu Jia

Support xmlto for documentation generation and disable it by default.

[YOCTO #2416]

---
 meta/recipes-graphics/xorg-proto/xorg-proto-common.inc | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)
meta/recipes-graphics/xorg-proto/xorg-proto-common.inc +5 -2
index 625a718..852155e 100644
@@ -14,9 +14,12 @@ S = "${WORKDIR}/${XORG_PN}-${PV}"
 DEPENDS = "util-macros"
 
 inherit autotools pkgconfig
-EXTRA_OECONF = "--without-fop --without-xmlto"
+EXTRA_OECONF = "--without-fop"
 
-UNKNOWN_CONFIGURE_WHITELIST += "--without-fop --without-xmlto"
+UNKNOWN_CONFIGURE_WHITELIST += "--without-fop --without-xmlto --with-xmlto"
+
+PACKAGECONFIG ??= ""
+PACKAGECONFIG[xmlto] = "--with-xmlto, --without-xmlto, xmlto-native"
 
 # ${PN} is empty so we need to tweak -dev and -dbg package dependencies
 RDEPENDS_${PN}-dev = ""
Signature · 1 line
1.8.1.2
author
#11 lore raw

PATCH v2 7/8 xorg-lib-common.inc: add PACKAGECONFIG for xmlto

In reply to Hongxu Jia

Support xmlto for documentation generation and disable it by default.

[YOCTO #2416]

---
 meta/recipes-graphics/xorg-lib/xorg-lib-common.inc | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)
meta/recipes-graphics/xorg-lib/xorg-lib-common.inc +7 -2
index 7231664..3db67ce 100644
@@ -13,9 +13,14 @@ S = "${WORKDIR}/${XORG_PN}-${PV}"
 
 inherit autotools distro_features_check pkgconfig
 
-EXTRA_OECONF = "--disable-specs --without-groff --without-ps2pdf --without-fop --without-xmlto"
+EXTRA_OECONF = "--disable-specs --without-groff --without-ps2pdf --without-fop"
+
+PACKAGECONFIG ??= ""
+PACKAGECONFIG[xmlto] = "--with-xmlto, --without-xmlto, xmlto-native"
 
 UNKNOWN_CONFIGURE_WHITELIST += "--enable-malloc0returnsnull --disable-malloc0returnsnull \
-                                --disable-specs --without-groff --without-ps2pdf --without-fop --without-xmlto"
+                                --disable-specs --without-groff --without-ps2pdf --without-fop \
+                                --without-xmlto --with-xmlto \
+"
 
 REQUIRED_DISTRO_FEATURES ?= "x11"
Signature · 1 line
1.8.1.2
author
#12 lore raw

PATCH v2 8/8 xserver-xorg.inc: add PACKAGECONFIG for xmlto

In reply to Hongxu Jia

Support xmlto for documentation generation and disable it by default.

[YOCTO #2416]

---
 meta/recipes-graphics/xorg-xserver/xserver-xorg.inc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
meta/recipes-graphics/xorg-xserver/xserver-xorg.inc +1 -1
index 8b5747e..6281eee 100644
@@ -99,7 +99,6 @@ FILES_${PN}-module-libxf1bpp = "${libdir}/xorg/modules/libxf1bpp.so"
 FILES_${PN}-module-libxf4bpp = "${libdir}/xorg/modules/libxf4bpp.so"
 
 EXTRA_OECONF += "--with-fop=no \
-                 --without-xmlto \
                  --with-pic \
                  --disable-static \
                  --disable-xinerama \
@@ -125,6 +124,7 @@ PACKAGECONFIG[dri3] = "--enable-dri3,--disable-dri3,dri3proto"
 PACKAGECONFIG[glx] = "--enable-glx --enable-glx-tls,--disable-glx,glproto virtual/libgl virtual/libx11"
 PACKAGECONFIG[unwind] = "--enable-libunwind,--disable-libunwind,libunwind"
 PACKAGECONFIG[xshmfence] = "--enable-xshmfence,--disable-xshmfence,libxshmfence"
+PACKAGECONFIG[xmlto] = "--with-xmlto, --without-xmlto, xmlto-native"
 
 do_install_append () {
 	# Its assumed base-files creates this for us
Signature · 1 line
1.8.1.2
Acked-by on the v2 series
#13 lore raw
In reply to Hongxu Jia
Quoted 27 lines · Hongxu Jia

Change in V2:

- For alsa-utils/xorg-proto-common.inc/xorg-lib-common.inc/xserver-xorg.inc, add PACKAGECONFIG for xmlto and disable it by default rather than directly enable it.

- EXTRA_OECONF has --without-catalog to instead of passing CFLAGS directly.

Test Steps:

1. vim local.conf
...
IMAGE_FEATURES += "ssh-server-dropbear"
PACKAGECONFIG_pn-alsa-utils = "xmlto"
IMAGE_INSTALL_append = " xmlto"
...

2. bitbake alsa-utils
If the build is ok, it means xmlto-native could work.

3. bitbake core-image-minimal

4. start qemu target and ssh the target

5. copy a manual source to target
ssh tmp/work/i586-poky-linux/alsa-utils/1.0.27.2-r0/alsa-utils-1.0.27.2/alsactl/alsactl_init.xml [email protected]:/home/root

Quoted 7 lines

6. on target

   root@qemux86:~# xmlto man alsactl_init.xml
   Note: Writing alsactl_init.7

[YOCTO #2416]

//Hongxu

Thanks for reworking the patchset.

Signature · 3 lines
Otavio Salvador                             O.S. Systems
http://www.ossystems.com.br        http://code.ossystems.com.br
Mobile: +55 (53) 9981-7854            Mobile: +1 (347) 903-9750