unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: ludo@gnu.org (Ludovic Courtès)
To: Marius Bakke <mbakke@fastmail.com>
Cc: guix-devel@gnu.org
Subject: Re: [PATCH] gnu: Add systemd.
Date: Sun, 01 Apr 2018 14:49:23 +0200	[thread overview]
Message-ID: <87lge7f5ws.fsf@gnu.org> (raw)
In-Reply-To: <20180401122259.9688-1-mbakke@fastmail.com> (Marius Bakke's message of "Sun, 1 Apr 2018 14:22:59 +0200")

Hello Marius,

Marius Bakke <mbakke@fastmail.com> skribis:

> As discussed at FOSDEM, it is clear that The Shepherd does not have what
> it takes to boot a modern Linux system.  While it works today, adding
> bootloader, DNS server, NTP client, syslog, udev, seat management,
> dishwasher, hardware database, network management and other essential
> PID 1 features is going to take too much effort and duplicate work.

To be honest, while the Shepherd has been a fun hack, I’ve been more and
more feeling that yeah, it wouldn’t cut it in the long term (it’s also
become clearer Scheme as convenient as C when it comes to systems
programming and things like dealing with dependency graphs.)

Thanks a lot for taking this step!

> Meanwhile, GuixSD keeps drifting away from other distributions.  This
> patch is the first of many in order to gain feature parity with the
> modern GNU/Linux world.  2018 is surely the year of the GuixSD desktop!

I hope so!  Note that we’ll have to think about actual integration in
GuixSD.  I suppose we could change services to generate unit files?

> +                  (add-before 'check 'disable-broken-tests
> +                    (lambda _
> +                      (delete-file "test-network")           ;requires loopback
> +                      (delete-file "test-engine")            ;requires cgroups
> +                      (delete-file "test-unit-name")         ;likewise
> +                      (delete-file "test-unit-file")         ;likewise
> +                      (delete-file "test-copy")              ;FIXME
> +                      (delete-file "test-condition")         ;requires containers
> +                      (delete-file "test-mount-util")        ;requires /sys
> +                      (delete-file "test-exec-util")         ;FIXME
> +                      (delete-file "test-xattr-util")        ;FIXME
> +                      (delete-file "test-fs-util")           ;requires /var/tmp
> +                      (delete-file "test-stat-util")         ;FIXME
> +                      (delete-file "test-user-util")         ;needs "root" user
> +                      (delete-file "test-path-lookup")       ;expects systemd paths
> +                      (delete-file "test-namespace")         ;requires containers
> +                      (delete-file "test-bpf")               ;requires cgroups
> +                      (delete-file "test-fileio")            ;FIXME
> +                      (delete-file "test-time-util")         ;FIXME tzdata
> +                      (delete-file "test-date")              ;likewise
> +                      (delete-file "test-calendarspec")      ;likewise
> +                      (delete-file "test-cgroup-util")       ;requires cgroup (duh)
> +                      (delete-file "test-strv")              ;FIXME
> +                      (delete-file "test-path-util")         ;FIXME /bin/sh
> +                      (delete-file "test-path")              ;requires cgroup
> +                      (delete-file "test-sched-prio")        ;requires cgroup
> +                      (delete-file "test-id128")             ;FIXME
> +                      (delete-file "test-journal-flush")     ;FIXME
> +                      (delete-file "test-bus-creds")         ;requires cgroup
> +                      (delete-file "test-login")             ;FIXME
> +                      (delete-file "test-dhcp-client")       ;requires network
> +                      (delete-file "test-dhcp6-client")      ;likewise

I wonder if we should be concerned about these test failures.

> +    (inputs
> +     `(("acl" ,acl)
> +       ("audit" ,audit)
> +       ("bash" ,bash)
> +       ("bzip2" ,bzip2)
> +       ("coreutils" ,coreutils)
> +       ("cryptsetup" ,cryptsetup)
> +       ("curl" ,curl)
> +       ("dbus" ,dbus)
> +       ;; TODO: Add gnu-efi for bootloader functionality.
> +       ("elfutils" ,elfutils)
> +       ("glib" ,glib)
> +       ("glibc" ,glibc)
> +       ("gnutls" ,gnutls)
> +       ("kbd" ,kbd)
> +       ("kmod" ,kmod)
> +       ("libcap" ,libcap)
> +       ("libgcrypt" ,libgcrypt)
> +       ("libidn2" ,libidn2)
> +       ("libmicrohttpd" ,libmicrohttpd)
> +       ("libseccomp" ,libseccomp)
> +       ("libxkbcommon" ,libxkbcommon)
> +       ("linux-pam" ,linux-pam)
> +       ("lz4" ,lz4)
> +       ("pcre2" ,pcre2)
> +       ("python" ,python)
> +       ("qrencode" ,qrencode)
> +       ("util-linux" ,util-linux)
> +       ("xz" ,xz)
> +       ("zlib" ,zlib)))

There seem to be relatively few dependencies here.  Aren’t we missing
important features?

Also, did you make sure that the built-in HTTP server listens to 0.0.0.0
by default?  That makes remote administration much more convenient.

Thank you!

Ludo’.

  reply	other threads:[~2018-04-01 12:50 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-04-01 12:22 [PATCH] gnu: Add systemd Marius Bakke
2018-04-01 12:49 ` Ludovic Courtès [this message]
2018-04-01 17:01   ` Mark H Weaver
2018-04-01 20:07   ` Chris Marusich
2018-04-01 20:18     ` Marius Bakke
2018-04-02 21:36       ` Ludovic Courtès
2018-04-03 22:33         ` Joshua Branson
2018-04-04  0:44           ` Leo Famulari
2018-04-04  8:41             ` Ludovic Courtès
2018-04-06 18:57               ` Marius Bakke
2018-04-01 12:52 ` Nils Gillmann
2018-04-01 13:03 ` Martin Castillo
2018-04-01 14:04 ` Efraim Flashner
2018-04-01 14:19   ` Nils Gillmann
2018-04-01 20:11   ` Marius Bakke
2018-04-01 20:30     ` Nils Gillmann
2018-04-01 14:23 ` Jan Nieuwenhuizen
2018-04-01 21:55 ` Björn Höfling

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87lge7f5ws.fsf@gnu.org \
    --to=ludo@gnu.org \
    --cc=guix-devel@gnu.org \
    --cc=mbakke@fastmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).