summaryrefslogtreecommitdiff
path: root/gnu/installer/final.scm
AgeCommit message (Collapse)Author
2020-03-23installer: Fix cow-store umount issue.Mathieu Othacehe
* gnu/installer/final.scm (kill-cow-users): Ignore exception that could be raised if a process disappears between reading its pid and its maps file.
2020-03-05installer: Fix cow-store umount.Mathieu Othacehe
This fixes <https://bugs.gnu.org/39712>. The guix-daemon was preventing the cow-store umount, so restart it. Some udevd workers, using cow-store files might also still be around, so have some umount retries. * gnu/installer/final.scm (kill-cow-users): New procedure, (umount-cow-store): restart guix-daemon and kill all processes started from within the cow-store before trying to umount the store overlay. Also try 5 times to umount the overlay in case it is still busy.
2020-03-05installer: Honor /tmp/installer-system-init-options.Ludovic Courtès
* gnu/installer/final.scm (install-system): Honor "/tmp/installer-system-init-options".
2020-03-05installer: Run commands without hopping through the shell.Ludovic Courtès
* gnu/installer/utils.scm (run-shell-command): Rename to... (run-command): Remove call to 'call-with-temporary-output-file' and hop through Bash. Expect COMMAND to be a list of strings rather than a string. * gnu/installer/final.scm (install-system): Turn INSTALL-COMMAND into a list of strings and pass it to 'run-command'. * gnu/installer/newt/page.scm (edit-file): Likewise.
2020-02-12installer: Remove the cow-store overlay after system installation.Mathieu Othacehe
Fixes <https://issues.guix.info/issue/39217>. Fixes <https://issues.guix.info/issue/38447>. * gnu/installer/final.scm (umount-cow-store): New procedure ..., (install-system): ... used here, to remove the store overlay so that the target device is not seen as busy during further umount calls.
2019-12-29installer: Pass '--fallback' to 'guix system init'.Ludovic Courtès
Fixes <https://bugs.gnu.org/38608>. Reported by Nathan Dehnel <ncdehnel@gmail.com>. * gnu/installer/final.scm (install-system): Pass '--fallback' to 'guix system init'.
2019-04-28installer: User accounts can now have a "real name."Ludovic Courtès
* gnu/installer/newt/user.scm (run-user-add-page): Add #:real-name. Add a label and entry for the real name and initialize the 'real-name' field of the <user> record. * gnu/installer/final.scm (create-user-database): Set the 'comment' field of the <user-account> record.
2019-04-26installer: Take 'guix system init' exit code into account.Ludovic Courtès
This allows the installer to distinguish success from failure, and also ensures the shell that runs 'guix system init' exits upon completion. * gnu/installer/utils.scm (run-shell-command)[pause]: New procedure. Add "exec" before COMMAND in the script. Guard 'invoke' call and handle 'invoke-error?'. Add call to 'pause' on completion. * gnu/installer/final.scm (install-system): Remove 'false-if-exception'.
2019-04-25installer: Ask for the root account password.Ludovic Courtès
Fixes <https://bugs.gnu.org/35399>. * gnu/installer/newt/user.scm (run-root-password-page): New procedure. * gnu/installer/user.scm (users->configuration): Filter out the "root" account. * gnu/installer/final.scm (create-user-database): Set 'uid' field in 'user-account' form.
2019-04-25installer: Ask for user password and initialize /etc/shadow.Ludovic Courtès
Partly fixes <https://bugs.gnu.org/35399>. * gnu/installer/user.scm (<user>)[password]: New field. * gnu/installer/final.scm (%seed): New variable. (integer->alphanumeric-char, random-string) (create-user-database): New procedures. (install-system): Call 'create-user-database'. * gnu/installer/newt/final.scm (run-install-shell): Add #:users and pass it to 'install-system'. (run-final-page): Pass #:users to 'run-install-shell'. * gnu/installer/newt/user.scm (run-user-add-page): Add password entry. Pass its result as the 'password' field of <user>.
2019-04-23installer: Run 'guix system init' with the right locale.Ludovic Courtès
* gnu/installer/utils.scm (run-shell-command): Add #:locale and honor it. * gnu/installer/newt/final.scm (run-install-shell): Add 'locale' parameter; pass it to 'install-system'. (run-final-page): Obtain locale from RESULT; pass it to 'run-install-shell'. * gnu/installer/final.scm (install-system): Add 'locale' parameter; pass it to 'run-shell-command'.
2019-01-17installer: Add configuration formatter.Mathieu Othacehe
* gnu/installer.scm (installer-steps): Add configuration-formatter procedures. * gnu/installer/final.scm: New file. * gnu/installer/locale.scm (locale->configuration): New exported procedure. * gnu/installer/newt.scm (newt-installer): Add final page. * gnu/installer/newt/final.scm: New file. * gnu/installer/record.scm (installer): Add final-page field. * gnu/installer/timezone.scm (posix-tz->configuration): New exported procedure. * gnu/installer/steps.scm (installer-step): Rename configuration-proc field to configuration-formatter. (%installer-configuration-file): New exported parameter, (%installer-target-dir): ditto, (%configuration-file-width): ditto, (format-configuration): new exported procedure, (configuration->file): new exported procedure.