Subject: bug#25917: [PATCH] file-systems: Factorize file-system-packages.

From: Danny Milosavljevic <[email-masked]>
Date: Fri, 17 Mar 2017 13:19:58 +0100

Hi Ludo,

On Fri, 17 Mar 2017 10:03:52 +0100
[email-masked] (Ludovic Courtès) wrote:

> You can also remove the now-unused ‘file-system-type-predicate’
> procedure that is in ‘base-initrd’.

It's still used there (in order to determine the Linux modules).  Should I also export 'file-system-type-predicate` from file-systems.scm and use that in 'base-initrd` ?  I thought it was too special-case to be a public function.

Also, it seems that the new version (which now uses `set-path-environment-variable') clears the old PATH whereas the previous version prepended to it.

The previous version has:

                             (setenv "PATH"
                                     (string-append
                                      #$e2fsprogs "/sbin:"
                                      "/run/current-system/profile/sbin:"
                                      $PATH)))

(What does "$" without "#" do?)

The new version would have:

                           (lambda ()
                             (set-path-environment-variable "PATH"
                                                            '("bin" "sbin")
                                                            '#$packages))

It works fine - however, I get a warning that PATH has been unset at bootup.

Should we replicate the previous behaviour?

What's up with the hard-coded "/run/current-system/profile/sbin" ?