[PATCH 3/3] systemd: generate manpages indexes


Dan McGregor
 

From: Daniel McGregor <daniel.mcgregor@...>

Now that python3-lxml is in core, use it to generate
systemd.directives and systemd.index manual pages.

Signed-off-by: Daniel McGregor <daniel.mcgregor@...>
---
meta/recipes-core/systemd/systemd_251.4.bb | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/meta/recipes-core/systemd/systemd_251.4.bb b/meta/recipes-core/systemd/systemd_251.4.bb
index 910ea71bf64..b4ad7e45eb0 100644
--- a/meta/recipes-core/systemd/systemd_251.4.bb
+++ b/meta/recipes-core/systemd/systemd_251.4.bb
@@ -159,7 +159,10 @@ PACKAGECONFIG[localed] = "-Dlocaled=true,-Dlocaled=false"
PACKAGECONFIG[logind] = "-Dlogind=true,-Dlogind=false"
PACKAGECONFIG[lz4] = "-Dlz4=true,-Dlz4=false,lz4"
PACKAGECONFIG[machined] = "-Dmachined=true,-Dmachined=false"
-PACKAGECONFIG[manpages] = "-Dman=true,-Dman=false,libxslt-native xmlto-native docbook-xml-dtd4-native docbook-xsl-stylesheets-native"
+PACKAGECONFIG[manpages] = "-Dman=true,-Dman=false,python3-lxml-native xmlto-native docbook-xml-dtd4-native docbook-xsl-stylesheets-native"
+# Ensure we're seeing the XML catalog from the build system and not the host.
+# Otherwise, the build may fail generating the manpages.
+export XML_CATALOG_FILES="${STAGING_ETCDIR_NATIVE}/xml/catalog"
PACKAGECONFIG[microhttpd] = "-Dmicrohttpd=true,-Dmicrohttpd=false,libmicrohttpd"
PACKAGECONFIG[myhostname] = "-Dnss-myhostname=true,-Dnss-myhostname=false,,libnss-myhostname"
PACKAGECONFIG[networkd] = "-Dnetworkd=true,-Dnetworkd=false"
--
2.37.3


Richard Purdie
 

On Wed, 2022-09-28 at 16:13 -0600, Dan McGregor wrote:
From: Daniel McGregor <daniel.mcgregor@...>

Now that python3-lxml is in core, use it to generate
systemd.directives and systemd.index manual pages.

Signed-off-by: Daniel McGregor <daniel.mcgregor@...>
---
meta/recipes-core/systemd/systemd_251.4.bb | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/meta/recipes-core/systemd/systemd_251.4.bb b/meta/recipes-core/systemd/systemd_251.4.bb
index 910ea71bf64..b4ad7e45eb0 100644
--- a/meta/recipes-core/systemd/systemd_251.4.bb
+++ b/meta/recipes-core/systemd/systemd_251.4.bb
@@ -159,7 +159,10 @@ PACKAGECONFIG[localed] = "-Dlocaled=true,-Dlocaled=false"
PACKAGECONFIG[logind] = "-Dlogind=true,-Dlogind=false"
PACKAGECONFIG[lz4] = "-Dlz4=true,-Dlz4=false,lz4"
PACKAGECONFIG[machined] = "-Dmachined=true,-Dmachined=false"
-PACKAGECONFIG[manpages] = "-Dman=true,-Dman=false,libxslt-native xmlto-native docbook-xml-dtd4-native docbook-xsl-stylesheets-native"
+PACKAGECONFIG[manpages] = "-Dman=true,-Dman=false,python3-lxml-native xmlto-native docbook-xml-dtd4-native docbook-xsl-stylesheets-native"
+# Ensure we're seeing the XML catalog from the build system and not the host.
+# Otherwise, the build may fail generating the manpages.
+export XML_CATALOG_FILES="${STAGING_ETCDIR_NATIVE}/xml/catalog"
Wasn't there a fix that means this isn't required now?

https://git.yoctoproject.org/poky/commit/?id=544c3255b1b1d2be7d7c77f0d64cc4a11a947887
https://git.yoctoproject.org/poky/commit/?id=fbc8f3d395711db00cae32d2502588ea9b61b1da

Cheers,

Richard


Dan McGregor
 

On Thu, 29 Sep 2022, Richard Purdie wrote:

On Wed, 2022-09-28 at 16:13 -0600, Dan McGregor wrote:
From: Daniel McGregor <daniel.mcgregor@...>

Now that python3-lxml is in core, use it to generate
systemd.directives and systemd.index manual pages.

Signed-off-by: Daniel McGregor <daniel.mcgregor@...>
---
meta/recipes-core/systemd/systemd_251.4.bb | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/meta/recipes-core/systemd/systemd_251.4.bb b/meta/recipes-core/systemd/systemd_251.4.bb
index 910ea71bf64..b4ad7e45eb0 100644
--- a/meta/recipes-core/systemd/systemd_251.4.bb
+++ b/meta/recipes-core/systemd/systemd_251.4.bb
@@ -159,7 +159,10 @@ PACKAGECONFIG[localed] = "-Dlocaled=true,-Dlocaled=false"
PACKAGECONFIG[logind] = "-Dlogind=true,-Dlogind=false"
PACKAGECONFIG[lz4] = "-Dlz4=true,-Dlz4=false,lz4"
PACKAGECONFIG[machined] = "-Dmachined=true,-Dmachined=false"
-PACKAGECONFIG[manpages] = "-Dman=true,-Dman=false,libxslt-native xmlto-native docbook-xml-dtd4-native docbook-xsl-stylesheets-native"
+PACKAGECONFIG[manpages] = "-Dman=true,-Dman=false,python3-lxml-native xmlto-native docbook-xml-dtd4-native docbook-xsl-stylesheets-native"
+# Ensure we're seeing the XML catalog from the build system and not the host.
+# Otherwise, the build may fail generating the manpages.
+export XML_CATALOG_FILES="${STAGING_ETCDIR_NATIVE}/xml/catalog"
Wasn't there a fix that means this isn't required now?

https://git.yoctoproject.org/poky/commit/?id=544c3255b1b1d2be7d7c77f0d64cc4a11a947887
https://git.yoctoproject.org/poky/commit/?id=fbc8f3d395711db00cae32d2502588ea9b61b1da
Could be, I've been sitting on this change for *years*, but haven't submitted it because python3-lxml wasn't in core. Last time I tested without setting XML_CATALOG_FILES it failed, but now I see that I also removed libxslt-native from the PACKAGECONFIG depends list. I'll test with libxslt-native and without setting XML_CATALOG_FILES and probably send a v2.


Cheers,

Richard


Dan McGregor
 

On Thu, 29 Sep 2022, Dan McGregor wrote:

On Thu, 29 Sep 2022, Richard Purdie wrote:

On Wed, 2022-09-28 at 16:13 -0600, Dan McGregor wrote:
From: Daniel McGregor <daniel.mcgregor@...>
Now that python3-lxml is in core, use it to generate
systemd.directives and systemd.index manual pages.
Signed-off-by: Daniel McGregor <daniel.mcgregor@...>
---
meta/recipes-core/systemd/systemd_251.4.bb | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/meta/recipes-core/systemd/systemd_251.4.bb b/meta/recipes-core/systemd/systemd_251.4.bb
index 910ea71bf64..b4ad7e45eb0 100644
--- a/meta/recipes-core/systemd/systemd_251.4.bb
+++ b/meta/recipes-core/systemd/systemd_251.4.bb
@@ -159,7 +159,10 @@ PACKAGECONFIG[localed] = "-Dlocaled=true,-Dlocaled=false"
PACKAGECONFIG[logind] = "-Dlogind=true,-Dlogind=false"
PACKAGECONFIG[lz4] = "-Dlz4=true,-Dlz4=false,lz4"
PACKAGECONFIG[machined] = "-Dmachined=true,-Dmachined=false"
-PACKAGECONFIG[manpages] = "-Dman=true,-Dman=false,libxslt-native xmlto-native docbook-xml-dtd4-native docbook-xsl-stylesheets-native"
+PACKAGECONFIG[manpages] = "-Dman=true,-Dman=false,python3-lxml-native xmlto-native docbook-xml-dtd4-native docbook-xsl-stylesheets-native"
+# Ensure we're seeing the XML catalog from the build system and not the host.
+# Otherwise, the build may fail generating the manpages.
+export XML_CATALOG_FILES="${STAGING_ETCDIR_NATIVE}/xml/catalog"
Wasn't there a fix that means this isn't required now?
https://git.yoctoproject.org/poky/commit/?id=544c3255b1b1d2be7d7c77f0d64cc4a11a947887
https://git.yoctoproject.org/poky/commit/?id=fbc8f3d395711db00cae32d2502588ea9b61b1da
Could be, I've been sitting on this change for *years*, but haven't submitted it because python3-lxml wasn't in core. Last time I tested without setting XML_CATALOG_FILES it failed, but now I see that I also removed libxslt-native from the PACKAGECONFIG depends list. I'll test with libxslt-native and without setting XML_CATALOG_FILES and probably send a v2.
Looking further, setting XML_CATALOG_FILES *is* required, because python3-lxml wraps the libxml2 libraries directly, not the command-line tools. For now I'd like to keep setting the variable, but we should probably find a way to handle the catalog path in the library itself rather than only wrapping the executables. Or finding a way to patch python3-lxml to use the build path's xml catalogue.