diff mbox series

[2/2,YOCTO,#13270] docbook-xml-dtd: refactor for style, add version check regex

Message ID 010001866b9d0634-676dbda8-5f68-4a16-b3f2-5b80d490524a-000000@email.amazonses.com
State New
Headers show
Series [1/2,YOCTO,#13270] Refactor the docbook-xml recipe to use docbook.org packages rather than hacked up debian package | expand

Commit Message

Richard Elberger Feb. 19, 2023, 9:38 p.m. UTC
Try to keep everything else the same. Added package version filtering
for devtool upgrade check. 4.0 no longer available on docbook.org so
removed.

Signed-off-by: Richard Elberger <rich@richelberger.com>
---
 .../docbook-xml/docbook-xml-dtd4_4.5.bb       | 37 +++++++++----------
 1 file changed, 18 insertions(+), 19 deletions(-)

-- 
2.34.1

Comments

Ross Burton Feb. 21, 2023, 1:45 p.m. UTC | #1
Sorry, but this doesn’t work:

If you build xmlto-native:

 validity error : Could not load the external subset "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
 Document /yocto/ross/build/tmp/work/aarch64-linux/xmlto-native/0.0.28+0.0.29+gitAUTOINC+6fa6a0e076-r0/build/../git/doc/xmlif.xml does not validate

 /yocto/ross/build/tmp/work/aarch64-linux/xmlto-native/0.0.28+0.0.29+gitAUTOINC+6fa6a0e076-r0/build/../git/doc/xmlif.xml:4: 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”>

Ross
Richard Elberger Feb. 21, 2023, 2:14 p.m. UTC | #2
Hello Ross,

It wasn't entirely clear to me that the patch would be required if taken 
from docbook, but I see that my "test scope" was not appropriate and you 
have surfaced why patching is required. Now that I have a test target 
this helps but in future I probably should build world but... just tried 
that and got a gtk4 dependency error.

rpcme@proteus:~/elinux/oe-core/meta/recipes-devtools/docbook-xml$ 
bitbake world
Loading cache: 100% 
|#############################################################################################################| 
Time: 0:00:00
Loaded 1692 entries from dependency cache.
NOTE: Resolving any missing task queue dependencies
ERROR: Nothing PROVIDES 'gtk4' (but 
/home/rpcme/elinux/oe-core/meta/recipes-gnome/libportal/libportal_0.6.bb 
DEPENDS on or otherwise requires it)
gtk4 was skipped: missing required distro feature 'opengl' (not in 
DISTRO_FEATURES)
ERROR: Required build target 'meta-world-pkgdata' has no buildable 
providers.
Missing or unbuildable dependency chain was: ['meta-world-pkgdata', 
'libportal', 'gtk4']

Given oe-core is distroless (this is my first time not using a distro 
conf), how best to ensure I'm checking everything I need to check 
(beyond getting the patch right to make this buildable).

Will do it this evening after normal working hours ... the workday is 
now in full swing and cannot work on it right now...

On 2/21/23 08:45, Ross Burton wrote:
> Sorry, but this doesn’t work:
>
> If you build xmlto-native:
>
>   validity error : Could not load the external subset "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
>   Document /yocto/ross/build/tmp/work/aarch64-linux/xmlto-native/0.0.28+0.0.29+gitAUTOINC+6fa6a0e076-r0/build/../git/doc/xmlif.xml does not validate
>
>   /yocto/ross/build/tmp/work/aarch64-linux/xmlto-native/0.0.28+0.0.29+gitAUTOINC+6fa6a0e076-r0/build/../git/doc/xmlif.xml:4: 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”>
>
> Ross
Richard Elberger Feb. 22, 2023, 1:14 p.m. UTC | #3
Ross, I found the problem. Since I can't build world I will do best 
effort and build core-image-minimal through. In the patch I with put 
comment, with additional explanation in the commit message, about the 
magic variable. In my opinion a couple lines are misplaced but for sake 
of not causing a patch domino effect I will revert to the old behavior. 
I'll let the core group decide if you want to live with it or make a 
workitem for future effort.

On 2/21/23 08:45, Ross Burton wrote:
> Sorry, but this doesn’t work:
>
> If you build xmlto-native:
>
>   validity error : Could not load the external subset "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
>   Document /yocto/ross/build/tmp/work/aarch64-linux/xmlto-native/0.0.28+0.0.29+gitAUTOINC+6fa6a0e076-r0/build/../git/doc/xmlif.xml does not validate
>
>   /yocto/ross/build/tmp/work/aarch64-linux/xmlto-native/0.0.28+0.0.29+gitAUTOINC+6fa6a0e076-r0/build/../git/doc/xmlif.xml:4: 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”>
>
> Ross
Ross Burton Feb. 22, 2023, 4:17 p.m. UTC | #4
On 21 Feb 2023, at 14:14, Richard Elberger via lists.openembedded.org <rich=richelberger.com@lists.openembedded.org> wrote:
> 
> Hello Ross,
> 
> It wasn't entirely clear to me that the patch would be required if taken 
> from docbook, but I see that my "test scope" was not appropriate and you 
> have surfaced why patching is required. Now that I have a test target 
> this helps but in future I probably should build world but... just tried 
> that and got a gtk4 dependency error.

My test was to enable the api-documentation DISTRO_FEATURE and then build one of the many recipes that use xmlto (and thus, docbook) to make man pages, such as kmod.

Ross
diff mbox series

Patch

diff --git a/meta/recipes-devtools/docbook-xml/docbook-xml-dtd4_4.5.bb b/meta/recipes-devtools/docbook-xml/docbook-xml-dtd4_4.5.bb
index 71aa8c14ec..f8a5631d77 100644
--- a/meta/recipes-devtools/docbook-xml/docbook-xml-dtd4_4.5.bb
+++ b/meta/recipes-devtools/docbook-xml/docbook-xml-dtd4_4.5.bb
@@ -3,8 +3,12 @@  DESCRIPTION = "Document type definitions for verification of XML data \
 files against the DocBook rule set."
 HOMEPAGE = "https://docbook.org"
 
-inherit allarch
-BBCLASSEXTEND = "native"
+# The upstream sources are not distributed with a license file.
+# LICENSE-OASIS is included as a "patch" to workaround this. When
+# upgrading this recipe, please verify whether this is still needed.
+
+LICENSE = "OASIS"
+LIC_FILES_CHKSUM = "file://${WORKDIR}/LICENSE-OASIS;md5=c608985dd5f7f215e669e7639a0b1d2e"
 
 # To support apps with xml schema backward compatibility, we must
 # install a set of schemas. Install the latest based on PV and then
@@ -18,37 +22,32 @@  BBCLASSEXTEND = "native"
 # to use the Gradle build system to do so. It might be safer to use
 # the source tree which would also enable proper SBOM generation
 # through the bitbake build system. https://github.com/docbook/docbook
-# 
+#
 
-S = "${WORKDIR}"
+SRC_URI = "https://docbook.org/xml/4.1.2/docbkx412.zip;name=payload412;subdir=docbook-xml-4.1.2 \
+           https://docbook.org/xml/4.2/docbook-xml-4.2.zip;name=payload42;subdir=docbook-xml-4.2 \
+           https://docbook.org/xml/4.3/docbook-xml-4.3.zip;name=payload43;subdir=docbook-xml-4.3 \
+           https://docbook.org/xml/4.4/docbook-xml-4.4.zip;name=payload44;subdir=docbook-xml-4.4 \
+           https://docbook.org/xml/${PV}/docbook-xml-${PV}.zip;name=payloadPV;subdir=docbook-xml-${PV} \
+           file://LICENSE-OASIS"
 
-SRC_URI += "https://docbook.org/xml/4.1.2/docbkx412.zip;name=payload412;subdir=docbook-xml-4.1.2"
 SRC_URI[payload412.md5sum] = "900d7609fb7e6d78901b357e4acfbc17"
 SRC_URI[payload412.sha256sum] = "30f0644064e0ea71751438251940b1431f46acada814a062870f486c772e7772"
-
-SRC_URI += "https://docbook.org/xml/4.2/docbook-xml-4.2.zip;name=payload42;subdir=docbook-xml-4.2"
 SRC_URI[payload42.md5sum] = "73fe50dfe74ca631c1602f558ed8961f"
 SRC_URI[payload42.sha256sum] = "acc4601e4f97a196076b7e64b368d9248b07c7abf26b34a02cca40eeebe60fa2"
-
-SRC_URI += "https://docbook.org/xml/4.3/docbook-xml-4.3.zip;name=payload43;subdir=docbook-xml-4.3"
 SRC_URI[payload43.md5sum] = "ab200202b9e136a144db1e0864c45074"
 SRC_URI[payload43.sha256sum] = "23068a94ea6fd484b004c5a73ec36a66aa47ea8f0d6b62cc1695931f5c143464"
-
-SRC_URI += "https://docbook.org/xml/4.4/docbook-xml-4.4.zip;name=payload44;subdir=docbook-xml-4.4"
 SRC_URI[payload44.md5sum] = "cbb04e9a700955d88c50962ef22c1634"
 SRC_URI[payload44.sha256sum] = "02f159eb88c4254d95e831c51c144b1863b216d909b5ff45743a1ce6f5273090"
-
-SRC_URI += "https://docbook.org/xml/${PV}/docbook-xml-${PV}.zip;name=payloadPV;subdir=docbook-xml-${PV}"
 SRC_URI[payloadPV.md5sum] = "03083e288e87a7e829e437358da7ef9e"
 SRC_URI[payloadPV.sha256sum] = "4e4e037a2b83c98c6c94818390d4bdd3f6e10f6ec62dd79188594e26190dc7b4"
 
-# The upstream sources are not distributed with a license file.
-# LICENSE-OASIS is included as a "patch" to workaround this. When
-# upgrading this recipe, please verify whether this is still needed.
 
-LICENSE = "OASIS"
-LIC_FILES_CHKSUM = "file://${WORKDIR}/LICENSE-OASIS;md5=c608985dd5f7f215e669e7639a0b1d2e"
-SRC_URI += "file://LICENSE-OASIS"
+UPSTREAM_CHECK_REGEX = "docbook-xml-(?P<pver>4(\.\d+)).zip"
+
+S = "${WORKDIR}"
+inherit allarch
+BBCLASSEXTEND = "native"
 
 do_configure (){
     :