Age | Commit message (Expand) | Author |
2020-03-23 | installer: Fix cow-store umount issue....* 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.
| Mathieu Othacehe |
2020-03-05 | installer: Fix cow-store umount....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.
| Mathieu Othacehe |
2020-03-05 | tests: install: Add "gui-installed-os"....* gnu/installer/tests.scm: New file.
* gnu/local.mk (INSTALLER_MODULES): Add it.
* gnu/tests/install.scm (run-install): Add #:gui-test. Add (gnu
installer tests) to the marionette imported modules. Honor GUI-TEST.
Check whether SCRIPT is true.
(%root-password, %syslog-conf): New variable.
(operating-system-with-console-syslog, gui-test-program)
(guided-installation-test): New procedures.
(%extra-packages, installation-os-for-gui-tests)
(%test-gui-installed-os): New variable.
| Ludovic Courtès |
2020-03-05 | installer: Honor /tmp/installer-system-init-options....* gnu/installer/final.scm (install-system): Honor
"/tmp/installer-system-init-options".
| Ludovic Courtès |
2020-03-05 | installer: Run commands without hopping through the shell....* 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.
| Ludovic Courtès |
2020-03-05 | installer: Bypass connectivity check when /tmp/installer-assume-online exists....This is useful for automated tests.
* gnu/installer/newt/network.scm (wait-service-online)[online?]: New
procedure. Check for /tmp/installer-assume-online.
Use it instead of 'connman-online?'.
| Ludovic Courtès |
2020-03-05 | installer: Implement a dialog on /var/guix/installer-socket....This will allow us to automate testing of the installer.
* gnu/installer/utils.scm (%client-socket-file)
(current-server-socket, current-clients): New variables.
(open-server-socket, call-with-server-socket): New procedure.
(with-server-socket): New macro.
(run-shell-command): Add call to 'send-to-clients'. Select on both
current-input-port and current-clients.
* gnu/installer/steps.scm (run-installer-steps): Wrap 'call-with-prompt'
in 'with-socket-server'. Call 'sigaction' for SIGPIPE.
* gnu/installer/newt/page.scm (watch-clients!, close-port-and-reuse-fd)
(run-form-with-clients, send-to-clients): New procedures.
(draw-info-page): Add call to 'run-form-with-clients'.
(run-input-page): Likewise. Handle EXIT-REASON equal to 'exit-fd-ready.
(run-confirmation-page): Likewise.
(run-listbox-selection-page): Likewise. Define 'choice->item' and use it.
(run-checkbox-tree-page): Likewise.
(run-file-textbox-page): Add call to 'run-form-with-clients'. Handle
'exit-fd-ready'.
* gnu/installer/newt/partition.scm (run-disk-page): Pass
#:client-callback-procedure to 'run-listbox-selection-page'.
* gnu/installer/newt/user.scm (run-user-page): Call
'run-form-with-clients'. Handle 'exit-fd-ready'.
* gnu/installer/newt/welcome.scm (run-menu-page): Define
'choice->item' and use it. Call 'run-form-with-clients'.
* gnu/installer/newt/final.scm (run-install-success-page)
(run-install-failed-page): When (current-clients) is non-empty, call
'send-to-clients' without displaying a choice window.
| Ludovic Courtès |
2020-02-22 | installer: Log important bits to syslog....* gnu/installer.scm (installer-program): Log crashes with 'syslog'.
* gnu/installer/parted.scm (luks-format-and-open, luks-close)
(mount-user-partitions, umount-user-partitions): Add 'syslog' calls.
* gnu/installer/steps.scm (run-installer-steps): Log the running step
with 'syslog'.
* gnu/installer/utils.scm (run-shell-command): Add calls to 'syslog'.
| Ludovic Courtès |
2020-02-22 | installer: Add 'syslog' macro to write to syslog....* gnu/installer/utils.scm (open-syslog-port, syslog-port): New
procedures.
(syslog): New macro.
| Ludovic Courtès |
2020-02-12 | installer: Fix installer restart dialog....* gnu/installer/newt/final.scm (run-install-failed-page): Propose between
installer resume or restart. Do actually resume the installation by raising an
&installer-step-abort condition if "Resume" button is pressed. Otherwise, keep
going as the installer will be restarted by login.
* gnu/installer.scm (installer-program): Remove the associated TODO comment.
| Mathieu Othacehe |
2020-02-12 | installer: Remove the cow-store overlay after system installation....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.
| Mathieu Othacehe |
2020-01-23 | installer: Make "TRANSLATORS" comment visible....* gnu/installer/newt/user.scm (run-root-password-page): Move
"TRANSLATORS" comment right above 'G_' call.
| Ludovic Courtès |
2020-01-20 | installer: Disable F12 hot key....Fixes <https://bugs.gnu.org/38562>.
Reported by Brice Waegeneire <brice@waegenei.re>.
Previously, pressing F12 or shift-F2 in one of those forms would cause
it to exit, usually with the default value #t because the caller had not
provided a useful hotkey "callback".
* gnu/installer/newt/page.scm (run-input-page, run-confirmation-page)
(run-listbox-selection-page, run-checkbox-tree-page)
(run-file-textbox-page): Pass #:flags FLAG-NOF12 to 'make-form'.
| Ludovic Courtès |
2020-01-20 | installer: Makes sure the installer proceeds after hitting "Edit"....Fixes <https://bugs.gnu.org/39199>.
Reported by Jonathan Brielmaier <jonathan.brielmaier@web.de>.
* gnu/installer/newt/page.scm (run-file-textbox-page): Move 'loop' to
the beginning of the body. Do not call 'loop' from the 'dynamic-wind'
exit handler as we would not return the value of the second call to
'loop'.
| Ludovic Courtès |
2020-01-12 | installer: Add an "Edit" button on the final page....Fixes <https://bugs.gnu.org/36885>.
Reported by <lukasbf@tutanota.com>.
* gnu/installer/newt/page.scm (edit-file): New procedure.
(run-file-textbox-page): Add #:edit-button? and #:editor-locale
parameters. Remove 'file-text' and add 'edit-button', and add it
to the horizontal stacked grid when EXIT-BUTTON? is true. Wrap
body in 'loop'. Handle case where ARGUMENT is EDIT-BUTTON by calling
'loop'.
* gnu/installer/newt/final.scm (run-config-display-page): Add #:locale
parameter. Pass #:edit-button? and #:editor-locale to
'run-file-textbox-page'.
(run-final-page): Pass LOCALE to 'run-config-display-page'.
| Ludovic Courtès |
2020-01-05 | installer: Add JFS support....* gnu/installer/newt/partition.scm (run-fs-type-page): Add ‘jfs’ to the
list box.
* gnu/installer/parted.scm (user-fs-type-name, user-fs-type->mount-type)
(partition-filesystem-user-type): Add ‘jfs’ mapping
(create-jfs-file-system): New procedure.
(format-user-partitions): Use it.
* gnu/installer.scm (set-installer-path): Add jfsutils.
| Tobias Geerinckx-Rice |
2020-01-05 | installer: Fix typo....* gnu/installer/parted.scm (create-btrfs-file-system): Fix typo in docstring.
| Tobias Geerinckx-Rice |
2019-12-29 | installer: Pass '--fallback' to 'guix system init'....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'.
| Ludovic Courtès |
2019-09-25 | installer: Update to Guile-Parted 0.0.2 release....* gnu/installer/parted.scm (data-partition?, metadata-partition?,
freespace-partition?, normal-partition?, extended-partition?,
logical-partition?): Remove, as now provided by Guile-Parted.
* gnu/installer/newt/partition.scm (run-disk-page): Remove disk-destroy calls,
replace disk-delete-all by disk-remove-all-partitions and
disk-delete-partition by disk-remove-partition*.
| Mathieu Othacehe |
2019-09-23 | installer: Fix run-input-page calls....This fixes 55c43108 commit that renamed input-hide-checkbox? into
input-visibility-checkbox?.
* gnu/installer/newt/partition.scm (prompt-luks-passwords): Rename
input-hide-checkbox? into input-visibility-checkbox?.
| Mathieu Othacehe |
2019-08-26 | installer: Hide the Wi-Fi passphrase by default....* gnu/installer/newt/wifi.scm (run-wifi-password-page):
Add an #:INPUT-VISIBILITY-CHECKBOX? to the input page.
| Tobias Geerinckx-Rice |
2019-08-26 | installer: Show, don't Hide....* gnu/installer/newt/user.scm (run-user-add-page): Change the input
visibility checkbox's text to ‘Show’, and default to unchecked.
* gnu/installer/newt/page.scm (run-input-page): Likewise.
Rename INPUT-HIDE-CHECKBOX? argument to INPUT-VISIBILITY-CHECKBOX?.
| Tobias Geerinckx-Rice |
2019-07-25 | maint: Switch to Guile-JSON 3.x....Guile-JSON 3.x is incompatible with Guile-JSON 1.x, which we relied on
until now: it maps JSON dictionaries to alists (instead of hash tables),
and JSON arrays to vectors (instead of lists). This commit is about
adjusting all the existing code to this new mapping.
* m4/guix.m4 (GUIX_CHECK_GUILE_JSON): New macro.
* configure.ac: Use it.
* doc/guix.texi (Requirements): Mention the Guile-JSON version.
* guix/git-download.scm (git-fetch)[guile-json]: Use GUILE-JSON-3.
* guix/import/cpan.scm (string->license): Expect vectors instead of
lists.
(module->dist-name): Use 'json-fetch' instead of 'json-fetch-alist'.
(cpan-fetch): Likewise.
* guix/import/crate.scm (crate-fetch): Likewise, and call 'vector->list'
for DEPS.
* guix/import/gem.scm (rubygems-fetch): Likewise.
* guix/import/json.scm (json-fetch-alist): Remove.
* guix/import/pypi.scm (pypi-fetch): Use 'json-fetch' instead of
'json-fetch-alist'.
(latest-source-release, latest-wheel-release): Call 'vector->list' on
RELEASES.
* guix/import/stackage.scm (stackage-lts-info-fetch): Use 'json-fetch'
instead of 'json-fetch-alist'.
(lts-package-version): Use 'vector->list'.
* guix/import/utils.scm (hash-table->alist): Remove.
(alist->package): Pass 'vector->list' on the inputs fields, and default
to the empty vector.
* guix/scripts/import/json.scm (guix-import-json): Remove call to
'hash-table->alist'.
* guix/swh.scm (define-json-reader): Expect pair? or null? instead of
hash-table?.
[extract-field]: Use 'assoc-ref' instead of 'hash-ref'.
(json->branches): Use 'map' instead of 'hash-map->list'.
(json->checksums): Likewise.
(json->directory-entries, origin-visits): Call 'vector->list' on the
result of 'json->scm'.
* tests/import-utils.scm ("alist->package with dependencies"): New test.
* gnu/installer.scm (build-compiled-file)[builder]: Use GUILE-JSON-3.
* gnu/installer.scm (installer-program)[installer-builder]: Likewise.
* gnu/installer/locale.scm (iso639->iso639-languages): Use 'assoc-ref'
instead of 'hash-ref', and pass vectors through 'vector->list'.
(iso3166->iso3166-territories): Likewise.
* gnu/system/vm.scm (system-docker-image)[build]: Use GUILE-JSON-3.
* guix/docker.scm (manifest, config): Adjust for Guile-JSON 3.
* guix/scripts/pack.scm (docker-image)[build]: Use GUILE-JSON-3.
* guix/import/github.scm (fetch-releases-or-tags): Update docstring.
(latest-released-version): Use 'assoc-ref' instead of 'hash-ref'. Pass
the result of 'fetch-releases-or-tags' to 'vector->list'.
* guix/import/launchpad.scm (latest-released-version): Likewise.
| Ludovic Courtès |
2019-06-08 | installer: Fix typo....* gnu/installer/newt/network.scm (run-technology-page): Fix plural typo.
| Tobias Geerinckx-Rice |
2019-06-07 | installer: Install xterm alongside ratpoison....* gnu/installer/services.scm (%system-services) <"ratpoison">: Add
xterm.
| Ludovic Courtès |
2019-06-07 | installer: Install companion packages alongside i3....Fixes <http://bugs.gnu.org/36008>.
Suggested by Giovanni Biscuolo <g@xelera.eu>.
* gnu/installer/services.scm (%system-services) <"i3">: Add i3status,
dmenu, and st.
| Ludovic Courtès |
2019-06-07 | Add (gnu build locale)....* gnu/build/locale.scm: New file.
* gnu/local.mk (MODULES_NOT_COMPILED): Add it.
* gnu/installer/locale.scm (normalize-codeset): Remove.
* gnu/system/locale.scm (localedef-command): Remove.
(single-locale-directory): Use (gnu build locale).
(glibc-supported-locales)[build]: Likewise, and remove
'read-supported-locales'.
| Ludovic Courtès |
2019-06-05 | installer: Always add '%base-initrd-modules' to 'initrd-modules'....Fixes <https://bugs.gnu.org/36099>.
Reported by Jonathan Brielmaier <jonathan.brielmaier@web.de>.
* gnu/installer/parted.scm (initrd-configuration): Add
%BASE-INITRD-MODULES to the 'initrd-modules' field.
| Ludovic Courtès |
2019-05-29 | installer: Fix wifi menu crash with hidden SSIDs....This fixes https://issues.guix.gnu.org/issue/35622.
* gnu/installer/connman.scm (<service>): Mention that name may be false.
* gnu/installer/newt/wifi.scm (wifi-services): Filter out wifi services
without name.
Co-authored by: Pierre Neidhardt <mail@ambrevar.xyz>
| Mathieu Othacehe |
2019-05-19 | installer: Fix Guile-Parted crash on i686....Fixes <https://bugs.gnu.org/35783>.
This is a followup to 7d567af46b4e10ffafb1d0f76b524f5781460598.
* gnu/installer/parted.scm (auto-partition!): Append ESP-PARTITION, when
it is true, to the result of 'create-adjacent-partitions!'.
* gnu/installer/newt/partition.scm (run-partioning-page): Remove
'initial-partitions' variable, and remove call to
'create-special-user-partitions'.
Co-authored-by: Mathieu Othacehe <m.othacehe@gmail.com>
| Ludovic Courtès |
2019-05-15 | installer: Rename 'auto-partition' to 'auto-partition!'....This is a followup to 7d567af46b4e10ffafb1d0f76b524f5781460598.
* gnu/installer/parted.scm (create-adjacent-partitions): Rename to...
(create-adjacent-partitions!): ... this. Make private.
(auto-partition): Rename to...
(auto-partition!): ... this.
* gnu/installer/newt/partition.scm (run-partioning-page): Adjust
accordingly.
| Ludovic Courtès |
2019-05-15 | installer: Mount ESP once only....Fixes <https://bugs.gnu.org/35731>.
* gnu/installer/newt/partition.scm (run-partioning-page)[run-page]:
Introduce 'initial-partitions' variable. Previously we'd call
'disk-partitions' after 'auto-partition' had done its job of creating
new partitions, and thus its result would contain the just-created
partitions. Consequently, 'create-special-user-partitions' would return
the ESP partition we just created, and thus it would appear twice in the
list.
| Ludovic Courtès |
2019-05-14 | installer: Add fat16....* gnu/installer/newt/partition.scm (run-fs-type-page): Add fat16.
| Danny Milosavljevic |
2019-05-14 | installer: Reflow run-file-textbox-page text....* gnu/installer/newt/page.scm (run-file-textbox-page): Reflow text.
Signed-off-by: Danny Milosavljevic <dannym@scratchpost.org>
| Mathieu Othacehe |
2019-05-14 | installer: Fix docstring....* gnu/installer/parted.scm (create-fat32-file-system): Fix docstring.
| Danny Milosavljevic |
2019-05-14 | installer: Add fat16....* gnu/installer/parted.scm (user-fs-type-name): Add fat16.
(user-fs-type->mount-type): Add fat16.
(create-fat16-file-system): New procedure.
(format-user-partitions): Use it.
| Danny Milosavljevic |
2019-05-14 | installer: Allow for arbitrary long passphrases and passwords....Fixes <https://bugs.gnu.org/35716>.
Reported by sirmacik <sirmacik@wioo.waw.pl>.
* gnu/installer/newt/page.scm (run-input-page): Add FLAG-SCROLL to
INPUT-FLAGS*.
* gnu/installer/newt/user.scm (run-user-add-page): Add FLAG-SCROLL to
ENTRY-PASSWORD.
| Ludovic Courtès |
2019-05-14 | installer: Create btrfs file system....Fixes <https://bugs.gnu.org/35655>.
* gnu/installer/parted.scm (create-btrfs-file-system): New procedure.
(format-user-partitions): Use it.
| Danny Milosavljevic |
2019-05-13 | installer: Use 'glibc-supported-locales'....The list of locales supported by glibc is now built from source.
* gnu/installer/locale.scm (locale-string->locale): Add optional
'codeset' parameter and honor it.
(supported-locales->locales): Rewrite to 'read' from SUPPORTED-LOCALES.
* gnu/installer.scm (compute-locale-step): Pass the result of
'glibc-supported-locales' instead of the "aux-files/SUPPORTED" file.
* gnu/installer/aux-files/SUPPORTED: Remove.
* gnu/local.mk (dist_installer_DATA): Remove it.
| Ludovic Courtès |
2019-05-09 | installer: Add missing 'G_' call....* gnu/installer/newt/user.scm (run-user-page): Add 'G_' call for "User
creation".
| Ludovic Courtès |
2019-05-07 | installer: "Exit" button in user page actually exits....Fixes <https://bugs.gnu.org/35607>.
Reported by Florian Pelz <pelzflorian@pelzflorian.de>.
* gnu/installer/newt/user.scm (run-user-page): Add 'cond' clause for
ARGUMENT = EXIT-BUTTON.
| Ludovic Courtès |
2019-05-07 | installer: Add password 'hide' checkbox....* gnu/installer/newt/page.scm (run-input-page)[input-hide-checkbox?]: New
parameter adding a checkbox to toggle password hiding. By default, the
checkbox is active and the password is hence hided.
* gnu/installer/newt/partition.scm (prompt-luks-passwords): Enable the
previous parameter on both password input pages.
* gnu/installer/newt/user.scm (run-root-password-page): Enable the previous
parameter,
(confirm-password): ditto,
(run-user-add-page): add a checkbox to toggle password hiding.
| Mathieu Othacehe |
2019-05-06 | installer: Skip network selection dialogs when there is no choice....Previously, for a machine that only has wired networking, and only one
such network, we'd have to go through two selection boxes. Now we just
skip both.
* gnu/installer/newt/ethernet.scm (run-ethernet-page): When
'ethernet-services' returns one element, return it directly without
opening a listbox selection.
* gnu/installer/newt/network.scm (run-technology-page): Likewise.
| Ludovic Courtès |
2019-05-06 | installer: Shrink simple listboxes to their minimum height....* gnu/installer/newt/partition.scm (run-partioning-page): Pass
#:listbox-height.
(run-scheme-page): Likewise.
(run-device-page): Likewise.
* gnu/installer/newt/network.scm (run-technology-page): Likewise.
* gnu/installer/newt/ethernet.scm (run-ethernet-page): Likewise.
| Ludovic Courtès |
2019-05-06 | installer: Actually translate step descriptions....Until now, step descriptions in the menu that shows up when hitting
"Exit" would not be translated. That's because the 'G_' procedure was
called once and for all when the installer was started.
* gnu/installer/steps.scm (<installer-step>)[description]: Add the
'thunked' attribute.
| Ludovic Courtès |
2019-05-06 | installer: Do not sort methods on the partitioning page....* gnu/installer/newt/partition.scm (run-partioning-page): Pass
#:sort-listbox-items? #f so that methods always appear in the same
order.
| Ludovic Courtès |
2019-05-06 | installer: Widen user dialog....* gnu/installer/newt/user.scm (run-user-add-page)[pad-label]: Increase
2nd argument to 25.
[entry-width]: Increase to 35.
| Ludovic Courtès |
2019-05-05 | installer: Fix typo....* gnu/installer/newt/menu.scm (run-menu-page): Add missing space after
period.
Signed-off-by: Danny Milosavljevic <dannym@scratchpost.org>
| Miguel |
2019-05-03 | installer: Do not sort the guided partition schemes in the selection page....Previously, the "Everything is one partition" entry would come first in
English but it would be second in French. This change keeps it the
first choice regardless of the language.
* gnu/installer/newt/partition.scm (run-scheme-page): Pass
#:sort-listbox-items? to 'run-scheme-page'.
| Ludovic Courtès |
2019-05-03 | installer: Ensure 'packages' field is a superset of '%base-packages'....Fixes <https://bugs.gnu.org/35541>.
Reported by Florian Pelz <pelzflorian@pelzflorian.de>.
* gnu/installer/services.scm (system-services->configuration): Generate
a snippet that appends PACKAGES to %BASE-PACKAGES.
| Ludovic Courtès |