[PATCH] system: Split %BASE-PACKAGES in smaller parts.

  • Done
  • quality assurance status badge
Details
2 participants
  • Brice Waegeneire
  • Ludovic Courtès
Owner
unassigned
Submitted by
Brice Waegeneire
Severity
normal
B
B
Brice Waegeneire wrote on 4 Apr 2020 09:59
(address . guix-patches@gnu.org)
20200404075948.6719-1-brice@waegenei.re
* gnu/system.scm: (%base-packages-interactive, %base-packages-linux,
%base-packages-networking, %base-packages-utils): New variables.
(%base-packages): Use those new variables.
---

This patch split %base-packages to make it more reusable. We talked about it
with John Soo on IRC[0] and on the ML[1].


gnu/system.scm | 95 +++++++++++++++++++++++++++++---------------------
1 file changed, 56 insertions(+), 39 deletions(-)

Toggle diff (125 lines)
diff --git a/gnu/system.scm b/gnu/system.scm
index d79ea23f98..ce0c7dbce0 100644
--- a/gnu/system.scm
+++ b/gnu/system.scm
@@ -6,6 +6,7 @@
;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2019 Meiyo Peng <meiyo.peng@gmail.com>
;;; Copyright © 2020 Danny Milosavljevic <dannym@scratchpost.org>
+;;; Copyright © 2020 Brice Waegeneire <brice@waegenei.re>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -142,6 +143,10 @@
%setuid-programs
%sudoers-specification
%base-packages
+ %base-packages-interactive
+ %base-packages-linux
+ %base-packages-networking
+ %base-packages-utils
%base-firmware))
;;; Commentary:
@@ -575,48 +580,60 @@ of PROVENANCE-SERVICE-TYPE to its services."
(list ath9k-htc-firmware
openfwwf-firmware))
+(define %base-packages-utils
+ ;; Default set of utilities packages.
+ (cons* procps psmisc which
+ (@ (gnu packages admin) shadow) ;for 'passwd'
+
+ ;; XXX: We don't use (canonical-package guile-2.2) here because that
+ ;; would create a collision in the global profile between the GMP
+ ;; variant propagated by 'guile-final' and the GMP variant propagated
+ ;; by 'gnutls', itself propagated by 'guix'.
+ guile-2.2
+
+ ;; The packages below are also in %FINAL-INPUTS, so take them from
+ ;; there to avoid duplication.
+ (map canonical-package
+ (list bash coreutils findutils grep sed
+ diffutils patch gawk tar gzip bzip2 xz lzip))))
+
+(define %base-packages-linux
+ ;; Default set of linux specific packages.
+ (list pciutils usbutils
+ util-linux+udev
+ ;; Get 'insmod' & co. from kmod, not module-init-tools, since udev
+ ;; already depends on it anyway.
+ kmod eudev))
+
+(define %base-packages-interactive
+ ;; Default set of common interactive packages.
+ (list less zile nano
+ man-db
+ info-reader ;the standalone Info reader (no Perl)
+ bash-completion
+ kbd
+ ;; The 'sudo' command is already in %SETUID-PROGRAMS, but we also
+ ;; want the other commands and the man pages (notably because
+ ;; auto-completion in Emacs shell relies on man pages.)
+ sudo
+ guile-readline guile-colorized))
+
+(define %base-packages-networking
+ ;; Default set of networking packages.
+ (list inetutils isc-dhcp
+ iproute
+ ;; wireless-tools is deprecated in favor of iw, but it's still what
+ ;; many people are familiar with, so keep it around.
+ iw wireless-tools))
+
(define %base-packages
;; Default set of packages globally visible. It should include anything
;; required for basic administrator tasks.
- (cons* procps psmisc which less zile nano
- pciutils usbutils
- util-linux+udev
- inetutils isc-dhcp
- (@ (gnu packages admin) shadow) ;for 'passwd'
-
- ;; wireless-tools is deprecated in favor of iw, but it's still what
- ;; many people are familiar with, so keep it around.
- iw wireless-tools
-
- iproute
- man-db
- info-reader ;the standalone Info reader (no Perl)
-
- ;; The 'sudo' command is already in %SETUID-PROGRAMS, but we also
- ;; want the other commands and the man pages (notably because
- ;; auto-completion in Emacs shell relies on man pages.)
- sudo
-
- ;; Get 'insmod' & co. from kmod, not module-init-tools, since udev
- ;; already depends on it anyway.
- kmod eudev
-
- e2fsprogs kbd
-
- bash-completion
-
- ;; XXX: We don't use (canonical-package guile-2.2) here because that
- ;; would create a collision in the global profile between the GMP
- ;; variant propagated by 'guile-final' and the GMP variant propagated
- ;; by 'gnutls', itself propagated by 'guix'.
- guile-2.2
- guile-readline guile-colorized
-
- ;; The packages below are also in %FINAL-INPUTS, so take them from
- ;; there to avoid duplication.
- (map canonical-package
- (list bash coreutils findutils grep sed
- diffutils patch gawk tar gzip bzip2 xz lzip))))
+ (append (list e2fsprogs)
+ %base-packages-interactive
+ %base-packages-linux
+ %base-packages-networking
+ %base-packages-utils))
(define %default-issue
;; Default contents for /etc/issue.
--
2.26.0
L
L
Ludovic Courtès wrote on 22 Apr 2020 17:52
(name . Brice Waegeneire)(address . brice@waegenei.re)(address . 40423-done@debbugs.gnu.org)
87pnbzv7or.fsf@gnu.org
Hi,

Brice Waegeneire <brice@waegenei.re> skribis:

Toggle quote (11 lines)
> * gnu/system.scm: (%base-packages-interactive, %base-packages-linux,
> %base-packages-networking, %base-packages-utils): New variables.
> (%base-packages): Use those new variables.
> ---
>
> This patch split %base-packages to make it more reusable. We talked about it
> with John Soo on IRC[0] and on the ML[1].
>
> [0]: http://logs.guix.gnu.org/guix/2020-03-18.log#152734
> [1]: https://lists.gnu.org/archive/html/guix-devel/2020-04/msg00061.html

I had completely overlooked this proposal but I think it’s a good idea.
It’ll also be helpful for GNU/Hurd support: we’ll just have to drop the
%base-packages-linux.

Applied, thanks!

Ludo’.
Closed
?