<feed xmlns='http://www.w3.org/2005/Atom'>
<title>guix/gnu/installer/tests.scm, branch master</title>
<subtitle>Transactional package manager, declarative GNU/Linux distribution, reproducible deployment tool, and more! https://guix.gnu.org</subtitle>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/'/>
<entry>
<title>installer: Add "Kernel" page to select the Hurd.</title>
<updated>2024-11-11T06:28:35+00:00</updated>
<author>
<name>Janneke Nieuwenhuizen</name>
<email>janneke@gnu.org</email>
</author>
<published>2024-10-20T13:13:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=687a2ccabc6f57fcd25110f587df90ed0cab2f05'/>
<id>687a2ccabc6f57fcd25110f587df90ed0cab2f05</id>
<content type='text'>
This adds a "Kernel" page to the installer with the option to (cross-) install
the Hurd, if applicable (only available on x86 machines for now).

* gnu/installer/newt.scm (kernel-page): New procedure.
(newt-installer)[kernel-page]: New field.
* gnu/installer/kernel.scm,
gnu/installer/newt/kernel.scm: New files.
* gnu/local.mk (INSTALLER_MODULES): Add them.
* gnu/installer.scm (installer-steps): Use them to select kernel if
applicable.
* gnu/installer/newt/partition.scm (run-label-page): Default to "msdos" when
instaling the Hurd.
(run-fs-type-page): Add ext2 for the hurd.
(run-partitioning-page-partition): Remove `entire-encrypted' option when
installing the Hurd.
* gnu/installer/services.scm (system-services-&gt;configuration): Cater for the
Hurd with %base-services/hurd, and with %base-packages/hurd that must always
be set.
(%system-services): Change to procedure.  When installing the the Hurd, do not
recommend `ntp-service-type' and USE `openssh-sans-x' package for
`openssh-service-type'.
(system-service-none): New variable.
* gnu/installer/newt/services.scm (run-network-management-page): Include it
when installing the Hurd.
(run-desktop-environments-cbt-page): When installing the Hurd, recommend to
not select any desktop enviroment.  Update users.
* gnu/installer/parted.scm (efi-installation?): Return #f when installing for
the Hurd.
(create-ext2-file-system): New procedure.
(user-fs-type-name, user-fs-type-&gt;mount-type, partition-filesystem-user-type,
format-user-partitions): Support `ext2'.
(&lt;user-partition&gt; partition-&gt;user-partition): Use `ext2' when installing the
Hurd.
(auto-partition!): Likewise.  No swap partition when installing the Hurd.
* gnu/installer/final.scm (install-system): Cater for cross installation of
the Hurd.
(bootloader-configuration): Use `grub-minimal-bootloader' when installing the
Hurd.
(user-partition-missing-modules): Cater for empty user-partitions.
(initrd-configuration, user-partitions-&gt;configuration): Cater for the Hurd.
* gnu/installer/steps.scm (format-configuration,
configuration-&gt;file): Cater for the Hurd.
* gnu/system/hurd.scm (%desktop-services/hurd): New variable.
* gnu/installer/tests.scm (choose-kernel): New procedure.
* gnu/tests/install.scm (gui-test-program): Use it.

Change-Id: Ifafb27b8a2f933944c77223a27ec151757237e36
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This adds a "Kernel" page to the installer with the option to (cross-) install
the Hurd, if applicable (only available on x86 machines for now).

* gnu/installer/newt.scm (kernel-page): New procedure.
(newt-installer)[kernel-page]: New field.
* gnu/installer/kernel.scm,
gnu/installer/newt/kernel.scm: New files.
* gnu/local.mk (INSTALLER_MODULES): Add them.
* gnu/installer.scm (installer-steps): Use them to select kernel if
applicable.
* gnu/installer/newt/partition.scm (run-label-page): Default to "msdos" when
instaling the Hurd.
(run-fs-type-page): Add ext2 for the hurd.
(run-partitioning-page-partition): Remove `entire-encrypted' option when
installing the Hurd.
* gnu/installer/services.scm (system-services-&gt;configuration): Cater for the
Hurd with %base-services/hurd, and with %base-packages/hurd that must always
be set.
(%system-services): Change to procedure.  When installing the the Hurd, do not
recommend `ntp-service-type' and USE `openssh-sans-x' package for
`openssh-service-type'.
(system-service-none): New variable.
* gnu/installer/newt/services.scm (run-network-management-page): Include it
when installing the Hurd.
(run-desktop-environments-cbt-page): When installing the Hurd, recommend to
not select any desktop enviroment.  Update users.
* gnu/installer/parted.scm (efi-installation?): Return #f when installing for
the Hurd.
(create-ext2-file-system): New procedure.
(user-fs-type-name, user-fs-type-&gt;mount-type, partition-filesystem-user-type,
format-user-partitions): Support `ext2'.
(&lt;user-partition&gt; partition-&gt;user-partition): Use `ext2' when installing the
Hurd.
(auto-partition!): Likewise.  No swap partition when installing the Hurd.
* gnu/installer/final.scm (install-system): Cater for cross installation of
the Hurd.
(bootloader-configuration): Use `grub-minimal-bootloader' when installing the
Hurd.
(user-partition-missing-modules): Cater for empty user-partitions.
(initrd-configuration, user-partitions-&gt;configuration): Cater for the Hurd.
* gnu/installer/steps.scm (format-configuration,
configuration-&gt;file): Cater for the Hurd.
* gnu/system/hurd.scm (%desktop-services/hurd): New variable.
* gnu/installer/tests.scm (choose-kernel): New procedure.
* gnu/tests/install.scm (gui-test-program): Use it.

Change-Id: Ifafb27b8a2f933944c77223a27ec151757237e36
</pre>
</div>
</content>
</entry>
<entry>
<title>installer: tests: Fix typo.</title>
<updated>2022-09-24T12:15:47+00:00</updated>
<author>
<name>Mathieu Othacehe</name>
<email>othacehe@gnu.org</email>
</author>
<published>2022-09-24T12:15:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=f38e91a84c7d5ca72ddfccdf0ed8a3f0917054c0'/>
<id>f38e91a84c7d5ca72ddfccdf0ed8a3f0917054c0</id>
<content type='text'>
* gnu/installer/tests.scm (edit-configuration-file): Fix it.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* gnu/installer/tests.scm (edit-configuration-file): Fix it.
</pre>
</div>
</content>
</entry>
<entry>
<title>installer: Fix configuration edition during testing.</title>
<updated>2022-09-24T10:48:16+00:00</updated>
<author>
<name>Mathieu Othacehe</name>
<email>othacehe@gnu.org</email>
</author>
<published>2022-09-24T10:42:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=fe4663ae2476cb527d4f1f49ff8fa077d43f7251'/>
<id>fe4663ae2476cb527d4f1f49ff8fa077d43f7251</id>
<content type='text'>
When the configuration is edited, it looks like there are some leftover
fragments from the input configuration:

Example content of config.scm after edition:

  #:imported-modules
  '((gnu services herd)
    (guix build utils)
    (guix combinators)))

unted".  The unique
  ;; file system identifiers there ("UUIDs") can be obtained
  ;; by running 'blkid' in a terminal.

...

This is strange because call-with-output-file uses the O_TRUNC flag which
resets the file size to zero. Remove the configuration file before writing it
as a work-around.

* gnu/installer/tests.scm (edit-configuration-file): Remove the configuration
file before re-writing it.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When the configuration is edited, it looks like there are some leftover
fragments from the input configuration:

Example content of config.scm after edition:

  #:imported-modules
  '((gnu services herd)
    (guix build utils)
    (guix combinators)))

unted".  The unique
  ;; file system identifiers there ("UUIDs") can be obtained
  ;; by running 'blkid' in a terminal.

...

This is strange because call-with-output-file uses the O_TRUNC flag which
resets the file size to zero. Remove the configuration file before writing it
as a work-around.

* gnu/installer/tests.scm (edit-configuration-file): Remove the configuration
file before re-writing it.
</pre>
</div>
</content>
</entry>
<entry>
<title>installer: Recommend 'ntp-service-type' for non-graphical systems.</title>
<updated>2021-12-28T20:26:39+00:00</updated>
<author>
<name>Leo Famulari</name>
<email>leo@famulari.name</email>
</author>
<published>2021-04-23T18:50:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=2842a42b518227607fed4470b0de1c84e3511beb'/>
<id>2842a42b518227607fed4470b0de1c84e3511beb</id>
<content type='text'>
We had several bug reports with a root cause of "the clock was
incorrect" from users who used the installer to install a non-graphical
Guix System.

* gnu/installer/services.scm (%system-services): Add the ntp-service-type.
* gnu/installer/newt/services.scm (run-system-administration-cbt-page): New
variable.
(run-services-page): Use run-system-administration-cbt-page when not
installing a desktop.
* gnu/installer/tests.scm (choose-services): Add and use a
choose-misc-service?  procedure.
* gnu/tests/install.scm (installation-target-os-for-gui-tests)&lt;services&gt;: Add
ntp-service-type.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
We had several bug reports with a root cause of "the clock was
incorrect" from users who used the installer to install a non-graphical
Guix System.

* gnu/installer/services.scm (%system-services): Add the ntp-service-type.
* gnu/installer/newt/services.scm (run-system-administration-cbt-page): New
variable.
(run-services-page): Use run-system-administration-cbt-page when not
installing a desktop.
* gnu/installer/tests.scm (choose-services): Add and use a
choose-misc-service?  procedure.
* gnu/tests/install.scm (installation-target-os-for-gui-tests)&lt;services&gt;: Add
ntp-service-type.
</pre>
</div>
</content>
</entry>
<entry>
<title>installer: Offer the CUPS printing service on a dedicated page.</title>
<updated>2021-12-28T20:26:39+00:00</updated>
<author>
<name>Leo Famulari</name>
<email>leo@famulari.name</email>
</author>
<published>2021-12-25T05:54:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=029f8d7c120f80475aee6100e4f682bc7ab8f1f9'/>
<id>029f8d7c120f80475aee6100e4f682bc7ab8f1f9</id>
<content type='text'>
Currently, the installer page RUN-OTHER-SERVICES-CBT-PAGE offers to the user all
installer services that are not of the types 'desktop', 'network-management', or
'networking'. Concretely, this means that it offers the CUPS printing service,
because that is the only service of a different type defined in the installer.

In later commits, we will add some services of a new type, and we only want them
to be offered when the user is installing a non-graphical system.

At least one of these new services (NTP) is part of %DESKTOP-SERVICES. If it
was also offered on RUN-OTHER-SERVICES-CBT-PAGE, and the user had configured a
system using %DESKTOP-SERVICES, the user could accidentally add NTP to their
services twice, which is an error and would break installation.

So, this commit makes the RUN-OTHER-SERVICES-CBT-PAGE be more specific about
what services to offer. This makes it easier to discriminate between desktop and
non-desktop installations, in terms of when a given service is offered.

* gnu/installer/newt/services.scm (RUN-OTHER-SERVICES-CBT-PAGE): Rename to ...
(RUN-PRINTING-SERVICES-CBT-PAGE): ... new variable, and select only 'document' services.
(RUN-SERVICES-PAGE): Adjust accordingly.
* gnu/installer/tests.scm (CHOOSE-SERVICES): Adjust accordingly.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Currently, the installer page RUN-OTHER-SERVICES-CBT-PAGE offers to the user all
installer services that are not of the types 'desktop', 'network-management', or
'networking'. Concretely, this means that it offers the CUPS printing service,
because that is the only service of a different type defined in the installer.

In later commits, we will add some services of a new type, and we only want them
to be offered when the user is installing a non-graphical system.

At least one of these new services (NTP) is part of %DESKTOP-SERVICES. If it
was also offered on RUN-OTHER-SERVICES-CBT-PAGE, and the user had configured a
system using %DESKTOP-SERVICES, the user could accidentally add NTP to their
services twice, which is an error and would break installation.

So, this commit makes the RUN-OTHER-SERVICES-CBT-PAGE be more specific about
what services to offer. This makes it easier to discriminate between desktop and
non-desktop installations, in terms of when a given service is offered.

* gnu/installer/newt/services.scm (RUN-OTHER-SERVICES-CBT-PAGE): Rename to ...
(RUN-PRINTING-SERVICES-CBT-PAGE): ... new variable, and select only 'document' services.
(RUN-SERVICES-PAGE): Adjust accordingly.
* gnu/installer/tests.scm (CHOOSE-SERVICES): Adjust accordingly.
</pre>
</div>
</content>
</entry>
<entry>
<title>installer: tests: Expect but do not select other services by default.</title>
<updated>2021-07-04T11:04:45+00:00</updated>
<author>
<name>Tobias Geerinckx-Rice</name>
<email>me@tobias.gr</email>
</author>
<published>2021-07-03T15:13:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=0dbd2c3b089d50bdfbed86916d06cc4f0da8893d'/>
<id>0dbd2c3b089d50bdfbed86916d06cc4f0da8893d</id>
<content type='text'>
* gnu/installer/tests.scm (choose-services): Accept a new
choose-other-service? keyword argument, defaulting to false.
Expect an "Other services" checkbox-list.  Update docstring.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* gnu/installer/tests.scm (choose-services): Accept a new
choose-other-service? keyword argument, defaulting to false.
Expect an "Other services" checkbox-list.  Update docstring.
</pre>
</div>
</content>
</entry>
<entry>
<title>tests: Add gui-uefi-installed-os test.</title>
<updated>2021-04-28T13:51:12+00:00</updated>
<author>
<name>Mathieu Othacehe</name>
<email>othacehe@gnu.org</email>
</author>
<published>2021-04-27T15:30:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=95b3fc12bce680e8e1dafffc62c7b1754352de7e'/>
<id>95b3fc12bce680e8e1dafffc62c7b1754352de7e</id>
<content type='text'>
* gnu/installer/tests.scm (conclude-installation): Rename it into ...
(start-installation): ... this new procedure.
(complete-installation): New procedure.
(choose-partitioning): Add an uefi-support? argument.
* gnu/tests/install.scm (uefi-firmware): New procedure.
(run-install, qemu-command/writable-image, gui-test-program,
installation-target-os-for-gui-tests): Add an uefi-support? argument.
(%extra-packages): Add grub-efi, fatfsck/static and dosfstools.
(%test-gui-installed-os): New variable.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* gnu/installer/tests.scm (conclude-installation): Rename it into ...
(start-installation): ... this new procedure.
(complete-installation): New procedure.
(choose-partitioning): Add an uefi-support? argument.
* gnu/tests/install.scm (uefi-firmware): New procedure.
(run-install, qemu-command/writable-image, gui-test-program,
installation-target-os-for-gui-tests): Add an uefi-support? argument.
(%extra-packages): Add grub-efi, fatfsck/static and dosfstools.
(%test-gui-installed-os): New variable.
</pre>
</div>
</content>
</entry>
<entry>
<title>installer: Use UUIDs in the 'swap-devices' field.</title>
<updated>2020-10-30T00:14:21+00:00</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2020-10-23T09:31:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=1c6d98533153bc8e0e36236e7fbcf1eb5e178d26'/>
<id>1c6d98533153bc8e0e36236e7fbcf1eb5e178d26</id>
<content type='text'>
Note: This change requires an updated 'guix' package that contains
Linux-swap support in (gnu build file-systems).

* gnu/installer/parted.scm (user-partitions-&gt;configuration): Use UUIDs
in the 'swap-devices' field.
* gnu/installer/newt/final.scm (run-final-page)[wait-for-clients]: New
procedure.   Use it.
* gnu/installer/tests.scm (choose-partitioning): Wait for
'starting-final-step' message and move configuration file dialog
handling to...
(conclude-installation): ... here.  Send over PORT the reply
corresponding to 'starting-final-step'.
* gnu/tests/install.scm (gui-test-program): When ENCRYPTED? is false,
invoke 'swaplabel' in the marionette.
(installation-target-os-for-gui-tests): When ENCRYPTED? is false, except
a fixed UUID.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Note: This change requires an updated 'guix' package that contains
Linux-swap support in (gnu build file-systems).

* gnu/installer/parted.scm (user-partitions-&gt;configuration): Use UUIDs
in the 'swap-devices' field.
* gnu/installer/newt/final.scm (run-final-page)[wait-for-clients]: New
procedure.   Use it.
* gnu/installer/tests.scm (choose-partitioning): Wait for
'starting-final-step' message and move configuration file dialog
handling to...
(conclude-installation): ... here.  Send over PORT the reply
corresponding to 'starting-final-step'.
* gnu/tests/install.scm (gui-test-program): When ENCRYPTED? is false,
invoke 'swaplabel' in the marionette.
(installation-target-os-for-gui-tests): When ENCRYPTED? is false, except
a fixed UUID.
</pre>
</div>
</content>
</entry>
<entry>
<title>installer: tests: Don't install to a CD/DVD.</title>
<updated>2020-04-10T14:02:52+00:00</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2020-04-10T13:44:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=475d48145d529be23d97b2bb92d2734365733bba'/>
<id>475d48145d529be23d97b2bb92d2734365733bba</id>
<content type='text'>
* gnu/installer/tests.scm (choose-partitioning): Use 'find' to select
the disk.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* gnu/installer/tests.scm (choose-partitioning): Use 'find' to select
the disk.
</pre>
</div>
</content>
</entry>
<entry>
<title>installer: tests: Use a filter to select desktop-environments.</title>
<updated>2020-03-26T10:53:50+00:00</updated>
<author>
<name>Mathieu Othacehe</name>
<email>m.othacehe@gmail.com</email>
</author>
<published>2020-03-24T08:21:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=7a1a10dbd4ef2989ea1cac111849a36c567430e3'/>
<id>7a1a10dbd4ef2989ea1cac111849a36c567430e3</id>
<content type='text'>
* gnu/installer/tests.scm (choose-services): Turn desktop-environments list
into a choose-desktop-environment procedure. This way, it is easier to select
all desktop-environments or none, in the same way as choose-network-service?
and choose-network-management-tool? arguments.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* gnu/installer/tests.scm (choose-services): Turn desktop-environments list
into a choose-desktop-environment procedure. This way, it is easier to select
all desktop-environments or none, in the same way as choose-network-service?
and choose-network-management-tool? arguments.
</pre>
</div>
</content>
</entry>
</feed>
