diff mbox series

[3/3] systemd: generate manpages indexes

Message ID 20220928221320.1763684-3-danismostlikely@gmail.com
State New
Headers show
Series [1/3] coreutils: add openssl PACKAGECONFIG | expand

Commit Message

Daniel McGregor Sept. 28, 2022, 10:13 p.m. UTC
From: Daniel McGregor <daniel.mcgregor@vecima.com>

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@vecima.com>
---
 meta/recipes-core/systemd/systemd_251.4.bb | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

Comments

Richard Purdie Sept. 29, 2022, 7:16 a.m. UTC | #1
On Wed, 2022-09-28 at 16:13 -0600, Dan McGregor wrote:
> From: Daniel McGregor <daniel.mcgregor@vecima.com>
> 
> 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@vecima.com>
> ---
>  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
Daniel McGregor Sept. 29, 2022, 3:41 p.m. UTC | #2
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@vecima.com>
>>
>> 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@vecima.com>
>> ---
>>  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
>
Daniel McGregor Sept. 29, 2022, 7:03 p.m. UTC | #3
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@vecima.com>
>>> 
>>> 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@vecima.com>
>>> ---
>>>  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.
diff mbox series

Patch

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"