Luke Shumaker
2018-06-23 00:03:16 UTC
From: Luke Shumaker <***@parabola.nu>
Hi all,
The os-release(5) and systemd-nspawn(1) man pages in systemd include
examples for various different operating systems. In Parabola, since
we don't want to recommend distros including non-free software, we
patch these to use FSDG distros instead (Fedora->BLAG,
Debian->gNewSense, et c.).
The os-release(5) bits are fairly innocuous, but the systemd-nspawn(1)
examples are a bit more important to get right, as they are example
commands for creating containers of various systems.
(Come to consider it, we probably need to update the patch to
include modifications to the machinectl(1) page.)
Donald's announcement today that BLAG is being retired from the list
reminded me that we don't have examples for some of the distro types
(so right now we comment them out).
If any of you you have suggestions for examples with FSDG distros to
use in the documentation, it would be very helpful.
Following is the patch that we currently apply.
--
Happy hacking,
~ Luke Shumaker
---
man/os-release.xml | 49 +++++++++++++++++++++++++------------------------
man/systemd-nspawn.xml | 48 ++++++++++++++++++++++++++----------------------
2 files changed, 51 insertions(+), 46 deletions(-)
diff --git a/man/os-release.xml b/man/os-release.xml
index 81f294c7e4..973e19747d 100644
--- a/man/os-release.xml
+++ b/man/os-release.xml
@@ -124,7 +124,7 @@
without a version component, and suitable for presentation to
the user. If not set, defaults to
<literal>NAME=GNU/Linux</literal>. Example:
- <literal>NAME=Fedora</literal> or <literal>NAME="Debian
+ <literal>NAME=BLAG</literal> or <literal>NAME="gNewSense
GNU/Linux"</literal>.</para></listitem>
</varlistentry>
@@ -135,8 +135,8 @@
version, excluding any OS name information, possibly including
a release code name, and suitable for presentation to the
user. This field is optional. Example:
- <literal>VERSION=17</literal> or <literal>VERSION="17 (Beefy
- Miracle)"</literal>.</para></listitem>
+ <literal>VERSION=210k</literal> or <literal>VERSION="210k
+ (Spartakus)"</literal>.</para></listitem>
</varlistentry>
<varlistentry>
@@ -148,8 +148,8 @@
suitable for processing by scripts or usage in generated
filenames. If not set, defaults to
<literal>ID=gnu-linux</literal>. Example:
- <literal>ID=fedora</literal> or
- <literal>ID=debian</literal>.</para></listitem>
+ <literal>ID=blag</literal> or
+ <literal>ID=gnewsense</literal>.</para></listitem>
</varlistentry>
<varlistentry>
@@ -170,9 +170,9 @@
should be listed in order of how closely the local operating
system relates to the listed ones, starting with the closest.
This field is optional. Example: for an operating system with
- <literal>ID=centos</literal>, an assignment of
+ <literal>ID=blag</literal>, an assignment of
<literal>ID_LIKE="rhel fedora"</literal> would be appropriate.
- For an operating system with <literal>ID=ubuntu</literal>, an
+ For an operating system with <literal>ID=gnewsense</literal>, an
assignment of <literal>ID_LIKE=debian</literal> is
appropriate.</para></listitem>
</varlistentry>
@@ -201,8 +201,8 @@
identifying the operating system version, excluding any OS
name information or release code name, and suitable for
processing by scripts or usage in generated filenames. This
- field is optional. Example: <literal>VERSION_ID=17</literal>
- or <literal>VERSION_ID=11.04</literal>.</para></listitem>
+ field is optional. Example: <literal>VERSION_ID=210k</literal>
+ or <literal>VERSION_ID=7.0</literal>.</para></listitem>
</varlistentry>
<varlistentry>
@@ -213,8 +213,8 @@
a release code name or OS version of some kind, as suitable.
If not set, defaults to
<literal>PRETTY_NAME="GNU/Linux"</literal>. Example:
- <literal>PRETTY_NAME="Fedora 17 (Beefy
- Miracle)"</literal>.</para></listitem>
+ <literal>PRETTY_NAME="BLAG 210k
+ (Spartakus)"</literal>.</para></listitem>
</varlistentry>
<varlistentry>
@@ -237,7 +237,7 @@
<ulink url="http://scap.nist.gov/specifications/cpe/">Common
Platform Enumeration Specification</ulink> as proposed by the
NIST. This field is optional. Example:
- <literal>CPE_NAME="cpe:/o:fedoraproject:fedora:17"</literal>
+ <literal>CPE_NAME="cpe:/o:blagblagblag:blag:210k"</literal>
</para></listitem>
</varlistentry>
@@ -272,8 +272,8 @@
one URL shall be listed in each setting. If multiple resources
need to be referenced, it is recommended to provide an online
landing page linking all available resources. Examples:
- <literal>HOME_URL="https://fedoraproject.org/"</literal> and
- <literal>BUG_REPORT_URL="https://bugzilla.redhat.com/"</literal></para></listitem>
+ <literal>HOME_URL="https://www.blagblagblag.org/"</literal> and
+ <literal>BUG_REPORT_URL="https://blag.fsf.org/"</literal></para></listitem>
</varlistentry>
<varlistentry>
@@ -348,21 +348,22 @@
recommended to prefix new fields with an OS specific
name in order to avoid name clashes. Applications
reading this file must ignore unknown fields. Example:
- <literal>DEBIAN_BTS="debbugs://bugs.debian.org/"</literal></para>
+ <literal>DEBIAN_BTS="debbugs://bugs.gnewsense.org/"</literal></para>
</refsect1>
<refsect1>
<title>Example</title>
- <programlisting>NAME=Fedora
-VERSION="17 (Beefy Miracle)"
-ID=fedora
-VERSION_ID=17
-PRETTY_NAME="Fedora 17 (Beefy Miracle)"
-ANSI_COLOR="0;34"
-CPE_NAME="cpe:/o:fedoraproject:fedora:17"
-HOME_URL="https://fedoraproject.org/"
-BUG_REPORT_URL="https://bugzilla.redhat.com/"</programlisting>
+ <programlisting>NAME=Parabola
+VERSION="rolling-release"
+ID=parabola
+ID_LIKE=arch
+VERSION_ID=rolling-release
+PRETTY_NAME="Parabola GNU/Linux-libre"
+ANSI_COLOR="1;35"
+CPE_NAME="cpe:/o:parabola:parabola:rolling-release"
+HOME_URL="https://www.parabola.nu/"
+BUG_REPORT_URL="https://labs.parabola.nu/"</programlisting>
</refsect1>
<refsect1>
diff --git a/man/systemd-nspawn.xml b/man/systemd-nspawn.xml
index 633d93938..fd9db974d 100644
--- a/man/systemd-nspawn.xml
+++ b/man/systemd-nspawn.xml
@@ -1078,11 +1078,12 @@
<refsect1>
<title>Examples</title>
+<!-- TODO: This example needs switched to an FSDG OS; but I'm not sure of a good machinectl-compatible image to use.
<example>
<title>Download a
<ulink url="https://getfedora.org">Fedora</ulink> image and start a shell in it</title>
- <programlisting># machinectl pull-raw --verify=no \
+ <programlisting># machinectl pull-raw -&2D;verify=no \
https://download.fedoraproject.org/pub/fedora/linux/releases/25/CloudImages/x86_64/images/Fedora-Cloud-Base-25-1.3.x86_64.raw.xz
# systemd-nspawn -M Fedora-Cloud-Base-25-1.3.x86_64.raw</programlisting>
@@ -1090,31 +1091,32 @@
<citerefentry><refentrytitle>machinectl</refentrytitle><manvolnum>1</manvolnum></citerefentry>
and opens a shell in it.</para>
</example>
+-->
<example>
- <title>Build and boot a minimal Fedora distribution in a container</title>
+ <title>Build and boot a minimal BLAG distribution in a container</title>
- <programlisting># dnf -y --releasever=27 --installroot=/var/lib/machines/f27container \
- --disablerepo='*' --enablerepo=fedora --enablerepo=updates install \
- systemd passwd dnf fedora-release vim-minimal
-# systemd-nspawn -bD /var/lib/machines/f27container</programlisting>
+ <programlisting># dnf -y --releasever=140k --installroot=/var/lib/machines/blag140container \
+ --disablerepo='*' --enablerepo=blag --enablerepo=updates install \
+ systemd passwd dnf blag-release vim-minimal
+# systemd-nspawn -bD /var/lib/machines/blag140container</programlisting>
- <para>This installs a minimal Fedora distribution into the
- directory <filename noindex='true'>/var/lib/machines/f27container</filename>
+ <para>This installs a minimal BLAG distribution into the
+ directory <filename noindex='true'>/var/lib/machines/blag140container</filename>
and then boots an OS in a namespace container in it. Because the installation
is located underneath the standard <filename>/var/lib/machines/</filename>
directory, it is also possible to start the machine using
- <command>systemd-nspawn -M f27container</command>.</para>
+ <command>systemd-nspawn -M blag140container</command>.</para>
</example>
<example>
- <title>Spawn a shell in a container of a minimal Debian unstable distribution</title>
+ <title>Spawn a shell in a container of a minimal gNewSense Ucclia distribution</title>
- <programlisting># debootstrap unstable ~/debian-tree/
-# systemd-nspawn -D ~/debian-tree/</programlisting>
+ <programlisting># debootstrap ucclia ~/gnewsense-tree/
+# systemd-nspawn -D ~/gnewsense-tree/</programlisting>
- <para>This installs a minimal Debian unstable distribution into
- the directory <filename>~/debian-tree/</filename> and then
+ <para>This installs a minimal gNewSense unstable distribution into
+ the directory <filename>~/gnewsense-tree/</filename> and then
spawns a shell in a namespace container in it.</para>
<para><command>debootstrap</command> supports
@@ -1129,29 +1131,31 @@
<example>
<title>Boot a minimal
- <ulink url="https://www.archlinux.org">Arch Linux</ulink> distribution in a container</title>
+ <ulink url="https://www.parabola.nu">Parabola GNU/Linux-libre</ulink> distribution in a container</title>
- <programlisting># pacstrap -c -d ~/arch-tree/ base
-# systemd-nspawn -bD ~/arch-tree/</programlisting>
+ <programlisting># pacstrap -c -d ~/parabola-tree/ base
+# systemd-nspawn -bD ~/parabola-tree/</programlisting>
- <para>This installs a minimal Arch Linux distribution into the
- directory <filename>~/arch-tree/</filename> and then boots an OS
+ <para>This installs a minimal Parabola distribution into the
+ directory <filename>~/parabola-tree/</filename> and then boots an OS
in a namespace container in it.</para>
</example>
+<!-- TODO: This example needs switched to an FSDG OS
<example>
<title>Install the
<ulink url="https://software.opensuse.org/distributions/tumbleweed">OpenSUSE Tumbleweed</ulink>
rolling distribution</title>
- <programlisting># zypper --root=/var/lib/machines/tumbleweed ar -c \
+ <programlisting># zypper -&2Droot=/var/lib/machines/tumbleweed ar -c \
https://download.opensuse.org/tumbleweed/repo/oss tumbleweed
-# zypper --root=/var/lib/machines/tumbleweed refresh
-# zypper --root=/var/lib/machines/tumbleweed install --no-recommends \
+# zypper -&2Droot=/var/lib/machines/tumbleweed refresh
+# zypper -&2Droot=/var/lib/machines/tumbleweed install -&2Dno-recommends \
systemd shadow zypper openSUSE-release vim
# systemd-nspawn -M tumbleweed passwd root
# systemd-nspawn -M tumbleweed -b</programlisting>
</example>
+-->
<example>
<title>Boot into an ephemeral snapshot of the host system</title>
Hi all,
The os-release(5) and systemd-nspawn(1) man pages in systemd include
examples for various different operating systems. In Parabola, since
we don't want to recommend distros including non-free software, we
patch these to use FSDG distros instead (Fedora->BLAG,
Debian->gNewSense, et c.).
The os-release(5) bits are fairly innocuous, but the systemd-nspawn(1)
examples are a bit more important to get right, as they are example
commands for creating containers of various systems.
(Come to consider it, we probably need to update the patch to
include modifications to the machinectl(1) page.)
Donald's announcement today that BLAG is being retired from the list
reminded me that we don't have examples for some of the distro types
(so right now we comment them out).
If any of you you have suggestions for examples with FSDG distros to
use in the documentation, it would be very helpful.
Following is the patch that we currently apply.
--
Happy hacking,
~ Luke Shumaker
---
man/os-release.xml | 49 +++++++++++++++++++++++++------------------------
man/systemd-nspawn.xml | 48 ++++++++++++++++++++++++++----------------------
2 files changed, 51 insertions(+), 46 deletions(-)
diff --git a/man/os-release.xml b/man/os-release.xml
index 81f294c7e4..973e19747d 100644
--- a/man/os-release.xml
+++ b/man/os-release.xml
@@ -124,7 +124,7 @@
without a version component, and suitable for presentation to
the user. If not set, defaults to
<literal>NAME=GNU/Linux</literal>. Example:
- <literal>NAME=Fedora</literal> or <literal>NAME="Debian
+ <literal>NAME=BLAG</literal> or <literal>NAME="gNewSense
GNU/Linux"</literal>.</para></listitem>
</varlistentry>
@@ -135,8 +135,8 @@
version, excluding any OS name information, possibly including
a release code name, and suitable for presentation to the
user. This field is optional. Example:
- <literal>VERSION=17</literal> or <literal>VERSION="17 (Beefy
- Miracle)"</literal>.</para></listitem>
+ <literal>VERSION=210k</literal> or <literal>VERSION="210k
+ (Spartakus)"</literal>.</para></listitem>
</varlistentry>
<varlistentry>
@@ -148,8 +148,8 @@
suitable for processing by scripts or usage in generated
filenames. If not set, defaults to
<literal>ID=gnu-linux</literal>. Example:
- <literal>ID=fedora</literal> or
- <literal>ID=debian</literal>.</para></listitem>
+ <literal>ID=blag</literal> or
+ <literal>ID=gnewsense</literal>.</para></listitem>
</varlistentry>
<varlistentry>
@@ -170,9 +170,9 @@
should be listed in order of how closely the local operating
system relates to the listed ones, starting with the closest.
This field is optional. Example: for an operating system with
- <literal>ID=centos</literal>, an assignment of
+ <literal>ID=blag</literal>, an assignment of
<literal>ID_LIKE="rhel fedora"</literal> would be appropriate.
- For an operating system with <literal>ID=ubuntu</literal>, an
+ For an operating system with <literal>ID=gnewsense</literal>, an
assignment of <literal>ID_LIKE=debian</literal> is
appropriate.</para></listitem>
</varlistentry>
@@ -201,8 +201,8 @@
identifying the operating system version, excluding any OS
name information or release code name, and suitable for
processing by scripts or usage in generated filenames. This
- field is optional. Example: <literal>VERSION_ID=17</literal>
- or <literal>VERSION_ID=11.04</literal>.</para></listitem>
+ field is optional. Example: <literal>VERSION_ID=210k</literal>
+ or <literal>VERSION_ID=7.0</literal>.</para></listitem>
</varlistentry>
<varlistentry>
@@ -213,8 +213,8 @@
a release code name or OS version of some kind, as suitable.
If not set, defaults to
<literal>PRETTY_NAME="GNU/Linux"</literal>. Example:
- <literal>PRETTY_NAME="Fedora 17 (Beefy
- Miracle)"</literal>.</para></listitem>
+ <literal>PRETTY_NAME="BLAG 210k
+ (Spartakus)"</literal>.</para></listitem>
</varlistentry>
<varlistentry>
@@ -237,7 +237,7 @@
<ulink url="http://scap.nist.gov/specifications/cpe/">Common
Platform Enumeration Specification</ulink> as proposed by the
NIST. This field is optional. Example:
- <literal>CPE_NAME="cpe:/o:fedoraproject:fedora:17"</literal>
+ <literal>CPE_NAME="cpe:/o:blagblagblag:blag:210k"</literal>
</para></listitem>
</varlistentry>
@@ -272,8 +272,8 @@
one URL shall be listed in each setting. If multiple resources
need to be referenced, it is recommended to provide an online
landing page linking all available resources. Examples:
- <literal>HOME_URL="https://fedoraproject.org/"</literal> and
- <literal>BUG_REPORT_URL="https://bugzilla.redhat.com/"</literal></para></listitem>
+ <literal>HOME_URL="https://www.blagblagblag.org/"</literal> and
+ <literal>BUG_REPORT_URL="https://blag.fsf.org/"</literal></para></listitem>
</varlistentry>
<varlistentry>
@@ -348,21 +348,22 @@
recommended to prefix new fields with an OS specific
name in order to avoid name clashes. Applications
reading this file must ignore unknown fields. Example:
- <literal>DEBIAN_BTS="debbugs://bugs.debian.org/"</literal></para>
+ <literal>DEBIAN_BTS="debbugs://bugs.gnewsense.org/"</literal></para>
</refsect1>
<refsect1>
<title>Example</title>
- <programlisting>NAME=Fedora
-VERSION="17 (Beefy Miracle)"
-ID=fedora
-VERSION_ID=17
-PRETTY_NAME="Fedora 17 (Beefy Miracle)"
-ANSI_COLOR="0;34"
-CPE_NAME="cpe:/o:fedoraproject:fedora:17"
-HOME_URL="https://fedoraproject.org/"
-BUG_REPORT_URL="https://bugzilla.redhat.com/"</programlisting>
+ <programlisting>NAME=Parabola
+VERSION="rolling-release"
+ID=parabola
+ID_LIKE=arch
+VERSION_ID=rolling-release
+PRETTY_NAME="Parabola GNU/Linux-libre"
+ANSI_COLOR="1;35"
+CPE_NAME="cpe:/o:parabola:parabola:rolling-release"
+HOME_URL="https://www.parabola.nu/"
+BUG_REPORT_URL="https://labs.parabola.nu/"</programlisting>
</refsect1>
<refsect1>
diff --git a/man/systemd-nspawn.xml b/man/systemd-nspawn.xml
index 633d93938..fd9db974d 100644
--- a/man/systemd-nspawn.xml
+++ b/man/systemd-nspawn.xml
@@ -1078,11 +1078,12 @@
<refsect1>
<title>Examples</title>
+<!-- TODO: This example needs switched to an FSDG OS; but I'm not sure of a good machinectl-compatible image to use.
<example>
<title>Download a
<ulink url="https://getfedora.org">Fedora</ulink> image and start a shell in it</title>
- <programlisting># machinectl pull-raw --verify=no \
+ <programlisting># machinectl pull-raw -&2D;verify=no \
https://download.fedoraproject.org/pub/fedora/linux/releases/25/CloudImages/x86_64/images/Fedora-Cloud-Base-25-1.3.x86_64.raw.xz
# systemd-nspawn -M Fedora-Cloud-Base-25-1.3.x86_64.raw</programlisting>
@@ -1090,31 +1091,32 @@
<citerefentry><refentrytitle>machinectl</refentrytitle><manvolnum>1</manvolnum></citerefentry>
and opens a shell in it.</para>
</example>
+-->
<example>
- <title>Build and boot a minimal Fedora distribution in a container</title>
+ <title>Build and boot a minimal BLAG distribution in a container</title>
- <programlisting># dnf -y --releasever=27 --installroot=/var/lib/machines/f27container \
- --disablerepo='*' --enablerepo=fedora --enablerepo=updates install \
- systemd passwd dnf fedora-release vim-minimal
-# systemd-nspawn -bD /var/lib/machines/f27container</programlisting>
+ <programlisting># dnf -y --releasever=140k --installroot=/var/lib/machines/blag140container \
+ --disablerepo='*' --enablerepo=blag --enablerepo=updates install \
+ systemd passwd dnf blag-release vim-minimal
+# systemd-nspawn -bD /var/lib/machines/blag140container</programlisting>
- <para>This installs a minimal Fedora distribution into the
- directory <filename noindex='true'>/var/lib/machines/f27container</filename>
+ <para>This installs a minimal BLAG distribution into the
+ directory <filename noindex='true'>/var/lib/machines/blag140container</filename>
and then boots an OS in a namespace container in it. Because the installation
is located underneath the standard <filename>/var/lib/machines/</filename>
directory, it is also possible to start the machine using
- <command>systemd-nspawn -M f27container</command>.</para>
+ <command>systemd-nspawn -M blag140container</command>.</para>
</example>
<example>
- <title>Spawn a shell in a container of a minimal Debian unstable distribution</title>
+ <title>Spawn a shell in a container of a minimal gNewSense Ucclia distribution</title>
- <programlisting># debootstrap unstable ~/debian-tree/
-# systemd-nspawn -D ~/debian-tree/</programlisting>
+ <programlisting># debootstrap ucclia ~/gnewsense-tree/
+# systemd-nspawn -D ~/gnewsense-tree/</programlisting>
- <para>This installs a minimal Debian unstable distribution into
- the directory <filename>~/debian-tree/</filename> and then
+ <para>This installs a minimal gNewSense unstable distribution into
+ the directory <filename>~/gnewsense-tree/</filename> and then
spawns a shell in a namespace container in it.</para>
<para><command>debootstrap</command> supports
@@ -1129,29 +1131,31 @@
<example>
<title>Boot a minimal
- <ulink url="https://www.archlinux.org">Arch Linux</ulink> distribution in a container</title>
+ <ulink url="https://www.parabola.nu">Parabola GNU/Linux-libre</ulink> distribution in a container</title>
- <programlisting># pacstrap -c -d ~/arch-tree/ base
-# systemd-nspawn -bD ~/arch-tree/</programlisting>
+ <programlisting># pacstrap -c -d ~/parabola-tree/ base
+# systemd-nspawn -bD ~/parabola-tree/</programlisting>
- <para>This installs a minimal Arch Linux distribution into the
- directory <filename>~/arch-tree/</filename> and then boots an OS
+ <para>This installs a minimal Parabola distribution into the
+ directory <filename>~/parabola-tree/</filename> and then boots an OS
in a namespace container in it.</para>
</example>
+<!-- TODO: This example needs switched to an FSDG OS
<example>
<title>Install the
<ulink url="https://software.opensuse.org/distributions/tumbleweed">OpenSUSE Tumbleweed</ulink>
rolling distribution</title>
- <programlisting># zypper --root=/var/lib/machines/tumbleweed ar -c \
+ <programlisting># zypper -&2Droot=/var/lib/machines/tumbleweed ar -c \
https://download.opensuse.org/tumbleweed/repo/oss tumbleweed
-# zypper --root=/var/lib/machines/tumbleweed refresh
-# zypper --root=/var/lib/machines/tumbleweed install --no-recommends \
+# zypper -&2Droot=/var/lib/machines/tumbleweed refresh
+# zypper -&2Droot=/var/lib/machines/tumbleweed install -&2Dno-recommends \
systemd shadow zypper openSUSE-release vim
# systemd-nspawn -M tumbleweed passwd root
# systemd-nspawn -M tumbleweed -b</programlisting>
</example>
+-->
<example>
<title>Boot into an ephemeral snapshot of the host system</title>
--
2.15.1
2.15.1