installer: Offer the CUPS printing service on a dedicated page.

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.
This commit is contained in:
Leo Famulari 2021-12-25 00:54:48 -05:00
parent 9309b488ca
commit 029f8d7c12
No known key found for this signature in database
GPG Key ID: 2646FA30BACA7F08
2 changed files with 8 additions and 10 deletions

@ -68,18 +68,16 @@ system.")
(condition
(&installer-step-abort)))))))
(define (run-other-services-cbt-page)
"Run a page allowing the user to select other services."
(define (run-printing-services-cbt-page)
"Run a page allowing the user to select document services such as CUPS."
(let ((items (filter (lambda (service)
(not (member (system-service-type service)
'(desktop
network-management
networking))))
(eq? 'document
(system-service-type service)))
%system-services)))
(run-checkbox-tree-page
#:info-text (G_ "You can now select other services to run on your \
#:info-text (G_ "You can now select the CUPS printing service to run on your \
system.")
#:title (G_ "Other services")
#:title (G_ "Printing and document services")
#:items items
#:selection (map system-service-recommended? items)
#:item->text (compose G_ system-service-name)
@ -123,4 +121,4 @@ client may be enough for a server.")
(if (null? desktop)
(list (run-network-management-page))
'())
(run-other-services-cbt-page))))
(run-printing-services-cbt-page))))

@ -243,7 +243,7 @@ ROOT-PASSWORD, and USERS."
(null? desktop-environments)
(find choose-network-management-tool? services))
((checkbox-list (title "Other services") (text _)
((checkbox-list (title "Printing and document services") (text _)
(items ,services))
(filter choose-other-service? services))))