Subject: Re: bug#41541: [PATCH 8/8] system: Add `hurd-activation'.

From: Ludovic Courtès <[email-masked]>
Date: Sat, 06 Jun 2020 13:05:34 +0200

"Jan (janneke) Nieuwenhuizen" <[email-masked]> skribis:

> +(define (hurd-activation-script gexps)
> +  "Return the Hurd activation script, which evaluates GEXPS."
> +  (define actions
> +    (map (cut program-file "activate-service.scm" <>) gexps))
> +
> +  (with-imported-modules (source-module-closure
> +                          '((gnu build activation)
> +                            (guix build utils)))
> +    #~(begin
> +        (use-modules (gnu build activation)
> +                     (guix build utils))
> +
> +        (mkdir-p "/var/run")            ;for the PID files
> +        (mkdir-p "/var/log")
> +
> +        ;; Set up /run/current-system.  Among other things this
> +        ;; sets up locales, which the activation snippets
> +        ;; executed below may expect.
> +        (activate-current-system #:kernel-command-line command-line)

It seems that ‘command-line’ is unbound here, no?

I was wondering: if the only thing that differs between Linux and Mach
is the command line, could we keep the same activation script for both
cases, and instead move the conditional to (gnu build activation), like:

  (if (string-contains %host-type "linux-gnu")
      linux-command-line
      mach-command-line)

Does that make sense?

Thanks,
Ludo’.