[systemd-commits] 2 commits - TODO man/systemd-nspawn.xml src/readahead units/systemd-readahead-collect.service.in units/systemd-readahead-replay.service.in

Lennart Poettering lennart at kemper.freedesktop.org
Tue Apr 24 04:14:53 PDT 2012


 TODO                                       |    2 +
 man/systemd-nspawn.xml                     |   37 ++++++++++++++---------------
 src/readahead/readahead-collect.c          |   16 +++++++-----
 src/readahead/readahead-replay.c           |   11 +++-----
 units/systemd-readahead-collect.service.in |    1 
 units/systemd-readahead-replay.service.in  |    1 
 6 files changed, 36 insertions(+), 32 deletions(-)

New commits:
commit 25f5971b5e0b3ab5b91a7d0359cd7f5a5094c1d0
Author: Lennart Poettering <lennart at poettering.net>
Date:   Tue Apr 24 13:14:27 2012 +0200

    man: rework nspawn man page to suggest yum --installroot instead of mock

diff --git a/man/systemd-nspawn.xml b/man/systemd-nspawn.xml
index 5bf43e8..cf67569 100644
--- a/man/systemd-nspawn.xml
+++ b/man/systemd-nspawn.xml
@@ -93,9 +93,12 @@
                 container.</para>
 
                 <para>Use a tool like
-                <citerefentry><refentrytitle>debootstrap</refentrytitle><manvolnum>8</manvolnum></citerefentry> or <citerefentry><refentrytitle>mock</refentrytitle><manvolnum>1</manvolnum></citerefentry>
+                <citerefentry><refentrytitle>yum</refentrytitle><manvolnum>8</manvolnum></citerefentry>
+                or
+                <citerefentry><refentrytitle>debootstrap</refentrytitle><manvolnum>8</manvolnum></citerefentry>
                 to set up an OS directory tree suitable as file system
-                hierarchy for <command>systemd-nspawn</command> containers.</para>
+                hierarchy for <command>systemd-nspawn</command>
+                containers.</para>
 
                 <para>Note that <command>systemd-nspawn</command> will
                 mount file systems private to the container to
@@ -202,27 +205,25 @@
         <refsect1>
                 <title>Example 1</title>
 
-                <programlisting># debootstrap --arch=amd64 unstable debian-tree/
-# systemd-nspawn -D debian-tree/</programlisting>
-
-                <para>This installs a minimal Debian unstable
-                distribution into the directory
-                <filename>debian-tree/</filename> and then spawns a
-                shell in a namespace container in it.</para>
+                <programlisting># yum --releasever=17 --nogpgcheck --installroot ~/fedora-tree/ install yum passwd vim-minimal rootfiles systemd
+# systemd-nspawn -D ~/fedora-tree /usr/lib/systemd/systemd</programlisting>
 
+                <para>This installs a minimal Fedora distribution into
+                the directory <filename>~/fedora-tree/</filename>
+                and then boots an OS in a namespace container in it,
+                with systemd as init system.</para>
         </refsect1>
 
         <refsect1>
                 <title>Example 2</title>
 
-                <programlisting># mock --init
-# systemd-nspawn -D /var/lib/mock/fedora-rawhide-x86_64/root/ /sbin/init systemd.log_level=debug</programlisting>
+                <programlisting># debootstrap --arch=amd64 unstable ~/debian-tree/
+# systemd-nspawn -D ~/debian-tree/</programlisting>
 
-                <para>This installs a minimal Fedora distribution into
-                a subdirectory of <filename>/var/lib/mock/</filename>
-                and then boots an OS in a namespace container in it,
-                with systemd as init system, configured for debug
-                logging.</para>
+                <para>This installs a minimal Debian unstable
+                distribution into the directory
+                <filename>~/debian-tree/</filename> and then spawns a
+                shell in a namespace container in it.</para>
 
         </refsect1>
 
@@ -238,8 +239,8 @@
                 <para>
                         <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
                         <citerefentry><refentrytitle>chroot</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
-                        <citerefentry><refentrytitle>debootstrap</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
-                        <citerefentry><refentrytitle>mock</refentrytitle><manvolnum>1</manvolnum></citerefentry>
+                        <citerefentry><refentrytitle>yum</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
+                        <citerefentry><refentrytitle>debootstrap</refentrytitle><manvolnum>8</manvolnum></citerefentry>
                 </para>
         </refsect1>
 

commit 3b2d5b02ae231f1d3eb0d96eb980155d7797304e
Author: Lennart Poettering <lennart at poettering.net>
Date:   Tue Apr 24 13:12:29 2012 +0200

    readahead: rather than checking for virtualization in the C code, use ConditionVirtualization= in the unit

diff --git a/TODO b/TODO
index e38c110..3683e6a 100644
--- a/TODO
+++ b/TODO
@@ -21,6 +21,8 @@ Bugfixes:
 
 Features:
 
+* fedora: make sshd and pam_loginuid work in nspawn containers
+
 * fix utmp for console logins in containers
 
 * Add pretty name for seats in logind
diff --git a/src/readahead/readahead-collect.c b/src/readahead/readahead-collect.c
index 3e91d5c..008ede3 100644
--- a/src/readahead/readahead-collect.c
+++ b/src/readahead/readahead-collect.c
@@ -660,11 +660,17 @@ int main(int argc, char *argv[]) {
 
         umask(0022);
 
-        if ((r = parse_argv(argc, argv)) <= 0)
+        r = parse_argv(argc, argv);
+        if (r <= 0)
                 return r < 0 ? EXIT_FAILURE : EXIT_SUCCESS;
 
         root = optind < argc ? argv[optind] : "/";
 
+        /* Skip this step on read-only media. Note that we check the
+         * underlying block device here, not he read-only flag of the
+         * file system on top, since that one is most likely mounted
+         * read-only anyway at boot, even if the underlying block
+         * device is theoretically writable. */
         if (fs_on_read_only(root) > 0) {
                 log_info("Disabling readahead collector due to read-only media.");
                 return 0;
@@ -675,12 +681,8 @@ int main(int argc, char *argv[]) {
                 return 0;
         }
 
-        if (detect_virtualization(NULL) > 0) {
-                log_info("Disabling readahead collector due to execution in virtualized environment.");
-                return 0;
-        }
-
-        if (!(shared = shared_get()))
+        shared = shared_get();
+        if (!shared)
                 return 1;
 
         shared->collect = getpid();
diff --git a/src/readahead/readahead-replay.c b/src/readahead/readahead-replay.c
index 7c263f6..f91020e 100644
--- a/src/readahead/readahead-replay.c
+++ b/src/readahead/readahead-replay.c
@@ -350,7 +350,8 @@ int main(int argc, char*argv[]) {
 
         umask(0022);
 
-        if ((r = parse_argv(argc, argv)) <= 0)
+        r = parse_argv(argc, argv);
+        if (r <= 0)
                 return r < 0 ? EXIT_FAILURE : EXIT_SUCCESS;
 
         root = optind < argc ? argv[optind] : "/";
@@ -360,12 +361,8 @@ int main(int argc, char*argv[]) {
                 return 0;
         }
 
-        if (detect_virtualization(NULL) > 0) {
-                log_info("Disabling readahead replay due to execution in virtualized environment.");
-                return 0;
-        }
-
-        if (!(shared = shared_get()))
+        shared = shared_get();
+        if (!shared)
                 return 1;
 
         shared->replay = getpid();
diff --git a/units/systemd-readahead-collect.service.in b/units/systemd-readahead-collect.service.in
index 63840b9..c5e1d52 100644
--- a/units/systemd-readahead-collect.service.in
+++ b/units/systemd-readahead-collect.service.in
@@ -11,6 +11,7 @@ DefaultDependencies=no
 Wants=systemd-readahead-done.timer
 Conflicts=shutdown.target
 Before=sysinit.target shutdown.target
+ConditionVirtualization=no
 
 [Service]
 Type=notify
diff --git a/units/systemd-readahead-replay.service.in b/units/systemd-readahead-replay.service.in
index ad27395..7387eba 100644
--- a/units/systemd-readahead-replay.service.in
+++ b/units/systemd-readahead-replay.service.in
@@ -11,6 +11,7 @@ DefaultDependencies=no
 Conflicts=shutdown.target
 Before=sysinit.target shutdown.target
 ConditionPathExists=/.readahead
+ConditionVirtualization=no
 
 [Service]
 Type=notify



More information about the systemd-commits mailing list