systemd/man/smbios-type-11.xml
Štěpán Němec 597c6cc119 man: fix incorrect volume numbers in internal man page references
Some ambiguity (e.g., same-named man pages in multiple volumes)
makes it impossible to fully automate this, but the following
Python snippet (run inside the man/ directory of the systemd repo)
helped to generate the sed command lines (which were subsequently
manually reviewed, run and the false positives reverted):

from pathlib import Path

import lxml
from lxml import etree as ET

man2vol: dict[str, str] = {}
man2citerefs: dict[str, list] = {}

for file in Path(".").glob("*.xml"):
    tree = ET.parse(file, lxml.etree.XMLParser(recover=True))
    meta = tree.find("refmeta")
    if meta is not None:
        title = meta.findtext("refentrytitle")
        if title is not None:
            vol = meta.findtext("manvolnum")
            if vol is not None:
                man2vol[title] = vol
            citerefs = list(tree.iter("citerefentry"))
            if citerefs:
                man2citerefs[title] = citerefs

for man, refs in man2citerefs.items():
    for ref in refs:
        title = ref.findtext("refentrytitle")
        if title is not None:
            has = ref.findtext("manvolnum")
            try:
                should_have = man2vol[title]
            except KeyError:  # Non-systemd man page reference?  Ignore.
                continue
            if has != should_have:
                print(
                    f"sed -i '\\|<citerefentry><refentrytitle>{title}"
                    f"</refentrytitle><manvolnum>{has}</manvolnum>"
                    f"</citerefentry>|s|<manvolnum>{has}</manvolnum>|"
                    f"<manvolnum>{should_have}</manvolnum>|' {man}.xml"
                )
2024-11-11 20:31:08 +01:00

90 lines
3.7 KiB
XML

<?xml version='1.0'?> <!--*-nxml-*-->
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd">
<!-- SPDX-License-Identifier: LGPL-2.1-or-later -->
<refentry id="smbios-type-11" xmlns:xi="http://www.w3.org/2001/XInclude">
<refentryinfo>
<title>smbios-type-11</title>
<productname>systemd</productname>
</refentryinfo>
<refmeta>
<refentrytitle>smbios-type-11</refentrytitle>
<manvolnum>7</manvolnum>
</refmeta>
<refnamediv>
<refname>smbios-type-11</refname>
<refpurpose>SMBIOS Type 11 strings</refpurpose>
</refnamediv>
<refsynopsisdiv>
<para><filename>/sys/firmware/dmi/entries/11-*/raw</filename></para>
</refsynopsisdiv>
<refsect1>
<title>Description</title>
<para>Various OS components process SMBIOS Type 11 vendor strings that a virtual machine manager (VMM)
may set and a virtual machine (VM) receives. SMBIOS Type 11 vendor strings may play a similar role as
<citerefentry><refentrytitle>kernel-command-line</refentrytitle><manvolnum>7</manvolnum></citerefentry>
parameters but generally are under control of the VMM rather than the boot loader or UKI.</para>
<para>For details on SMBIOS Type 11 see the <ulink url="https://www.dmtf.org/standards/smbios/">System
Management BIOS</ulink> specifications.</para>
</refsect1>
<refsect1>
<title>Strings</title>
<para>The following strings are supported:</para>
<variablelist class='smbios-type-11-options'>
<varlistentry>
<term><varname>io.systemd.credential:</varname><replaceable>CREDENTIAL=VALUE</replaceable></term>
<term><varname>io.systemd.credential.binary:</varname><replaceable>CREDENTIAL=VALUE</replaceable></term>
<listitem><para>This allows passing additional system credentials into the system, in textual or binary (Base64)
form. See
<citerefentry><refentrytitle>systemd.exec</refentrytitle><manvolnum>5</manvolnum></citerefentry> and
<ulink url="https://systemd.io/CREDENTIALS">System and Service Credentials</ulink> for
details.</para>
<xi:include href="version-info.xml" xpointer="v252"/></listitem>
</varlistentry>
<varlistentry>
<term><varname>io.systemd.stub.kernel-cmdline-extra=</varname><replaceable>CMDLINE</replaceable></term>
<listitem><para>This allows configuration of additional kernel command line options, and is read by
the kernel UEFI stub. For details see
<citerefentry><refentrytitle>systemd-stub</refentrytitle><manvolnum>7</manvolnum></citerefentry>.</para>
<xi:include href="version-info.xml" xpointer="v254"/></listitem>
</varlistentry>
<varlistentry>
<term><varname>io.systemd.boot.kernel-cmdline-extra=</varname><replaceable>CMDLINE</replaceable></term>
<listitem><para>This allows configuration of additional kernel command line options for Boot Loader
Specification Type 1 entries, and is read by <command>systemd-boot</command>. For details see
<citerefentry><refentrytitle>systemd-boot</refentrytitle><manvolnum>7</manvolnum></citerefentry>.</para>
<xi:include href="version-info.xml" xpointer="v256"/></listitem>
</varlistentry>
</variablelist>
</refsect1>
<refsect1>
<title>See Also</title>
<para><simplelist type="inline">
<member><citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry></member>
<member><citerefentry><refentrytitle>kernel-command-line</refentrytitle><manvolnum>7</manvolnum></citerefentry></member>
<member><citerefentry><refentrytitle>systemd.system-credentials</refentrytitle><manvolnum>7</manvolnum></citerefentry></member>
</simplelist></para>
</refsect1>
</refentry>