Subject: [PATCH] gnu: {disk|linux|scsi}.scm: Relocate disk-related packages; non-functional change.

From: Felix Lechner <[email-masked]>
Date: Mon, 15 May 2023 11:19:05 -0700

Moves the following disk-related pacakges pursuant to the proposal here. [1]

  hdparm: linux.scm --> disk.scm
  lsscsi: linux.scm --> scsi.scm

[1] https://lists.gnu.org/archive/html/guix-devel/2023-05/msg00189.html

* gnu/packages/{disk|linux}.scm: Move hdparm to disk.scm; closer to sdparm.
* gnu/packages/{linux|scsi}.scm: Move lsscsi to scsi.scm.
---
 gnu/packages/disk.scm  | 38 ++++++++++++++++++++++++++
 gnu/packages/linux.scm | 60 +-----------------------------------------
 gnu/packages/scsi.scm  | 33 +++++++++++++++++++----
 3 files changed, 67 insertions(+), 64 deletions(-)

diff --git a/gnu/packages/disk.scm b/gnu/packages/disk.scm
index 894a542171..6dcc76e4eb 100644
--- a/gnu/packages/disk.scm
+++ b/gnu/packages/disk.scm
@@ -515,6 +515,44 @@ (define-public fatfsck/static
 and a @command{fsck.vfat} compatibility symlink for use in an initrd.")
     (license (package-license dosfstools))))
 
+(define-public hdparm
+  (package
+    (name "hdparm")
+    (version "9.65")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "mirror://sourceforge/hdparm/hdparm/"
+                                  "hdparm-" version ".tar.gz"))
+              (sha256
+               (base32
+                "0jssagggg52ssl9kg99m88afghj7bm1854vyf4p96q6h23wjjjfi"))))
+    (build-system gnu-build-system)
+    (arguments
+     (list #:make-flags
+           #~(list (string-append "binprefix=" #$output)
+                   (string-append "manprefix=" #$output)
+                   (string-append "CC=" #$(cc-for-target))
+                   ;; Let Guix strip binaries and not break cross-compilation.
+                   "STRIP=true")
+           #:phases
+           #~(modify-phases %standard-phases
+               (delete 'configure))     ; no configure script
+           #:tests? #f))                ; no test suite
+    (home-page "https://sourceforge.net/projects/hdparm/")
+    (synopsis "View and tune ATA disk drive parameters")
+    (description
+     "@command{hdparm} is a command-line utility to control ATA controllers and
+disk drives.  It can increase performance and/or reliability by careful tuning
+of hardware settings like power and acoustic management, DMA modes, and caching.
+It can also display detailed device information, or be used as a simple
+performance benchmarking tool.
+
+@command{hdparm} provides a command line interface to various Linux kernel
+interfaces provided by the SATA/ATA/SAS @code{libata} subsystem, and the older
+IDE driver subsystem.  Many external USB drive enclosures with SCSI-ATA Command
+Translation (@dfn{SAT}) are also supported.")
+    (license (license:non-copyleft "file://LICENSE.TXT"))))
+
 (define-public sdparm
   (package
     (name "sdparm")
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index 90c1adde53..3ac792c7b6 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -111,6 +111,7 @@ (define-module (gnu packages linux)
   #:use-module (gnu packages databases)
   #:use-module (gnu packages datastructures)
   #:use-module (gnu packages dbm)
+  #:use-module (gnu packages disk)
   #:use-module (gnu packages docbook)
   #:use-module (gnu packages documentation)
   #:use-module (gnu packages elf)
@@ -3035,27 +3036,6 @@ (define-public jitterentropy-rngd
     (license (list license:bsd-3        ; or
                    license:gpl2+))))
 
-(define-public lsscsi
-  (package
-    (name "lsscsi")
-    (version "0.32")
-    (source (origin
-             (method url-fetch)
-             (uri (string-append
-                   "http://sg.danny.cz/scsi/lsscsi-" version ".tar.xz"))
-             (sha256
-              (base32
-               "0jp458m2b3wckr18qkln69i01152qlwz33zm49103lq8fgx0n6d4"))))
-    (build-system gnu-build-system)
-    (synopsis "Lists information about SCSI or NVMe devices in Linux")
-    (home-page "https://sg.danny.cz/scsi/lsscsi.html")
-    (description
-     "@command{lsscsi} lists SCSI logical units or SCSI targets.  It can
-also list NVMe namespaces or controllers and show the relationship between a
-device's primary node name, its SCSI generic (sg) node name and its kernel
-name.")
-    (license license:gpl2)))
-
 (define-public ebtables
   (package
     (name "ebtables")
@@ -5060,44 +5040,6 @@ (define-public singularity
 isolation or root privileges.")
     (license license:bsd-3)))
 
-(define-public hdparm
-  (package
-    (name "hdparm")
-    (version "9.65")
-    (source (origin
-              (method url-fetch)
-              (uri (string-append "mirror://sourceforge/hdparm/hdparm/"
-                                  "hdparm-" version ".tar.gz"))
-              (sha256
-               (base32
-                "0jssagggg52ssl9kg99m88afghj7bm1854vyf4p96q6h23wjjjfi"))))
-    (build-system gnu-build-system)
-    (arguments
-     (list #:make-flags
-           #~(list (string-append "binprefix=" #$output)
-                   (string-append "manprefix=" #$output)
-                   (string-append "CC=" #$(cc-for-target))
-                   ;; Let Guix strip binaries and not break cross-compilation.
-                   "STRIP=true")
-           #:phases
-           #~(modify-phases %standard-phases
-               (delete 'configure))     ; no configure script
-           #:tests? #f))                ; no test suite
-    (home-page "https://sourceforge.net/projects/hdparm/")
-    (synopsis "View and tune ATA disk drive parameters")
-    (description
-     "@command{hdparm} is a command-line utility to control ATA controllers and
-disk drives.  It can increase performance and/or reliability by careful tuning
-of hardware settings like power and acoustic management, DMA modes, and caching.
-It can also display detailed device information, or be used as a simple
-performance benchmarking tool.
-
-@command{hdparm} provides a command line interface to various Linux kernel
-interfaces provided by the SATA/ATA/SAS @code{libata} subsystem, and the older
-IDE driver subsystem.  Many external USB drive enclosures with SCSI-ATA Command
-Translation (@dfn{SAT}) are also supported.")
-    (license (license:non-copyleft "file://LICENSE.TXT"))))
-
 (define-public libnvme
   (package
     (name "libnvme")
diff --git a/gnu/packages/scsi.scm b/gnu/packages/scsi.scm
index f63b391dc1..642209db3a 100644
--- a/gnu/packages/scsi.scm
+++ b/gnu/packages/scsi.scm
@@ -19,8 +19,7 @@
 ;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
 
 (define-module (gnu packages scsi)
-  #:use-module ((guix licenses)
-                #:select (gpl2+ bsd-2 bsd-3 lgpl2.1+))
+  #:use-module ((guix licenses) #:prefix license:)
   #:use-module (guix packages)
   #:use-module (guix download)
   #:use-module (guix git-download)
@@ -70,7 +69,10 @@ (define-public sg3-utils
     ;;   "3 clause" to the newer "2 clause" version on 20180119. To save space
     ;;   various source code files refer to a file called "BSD_LICENSE" [...]."
     ;; Some files (like sg_compare_and_write.c) retain their 3-clause headers!
-    (license (list gpl2+ bsd-2 bsd-3))))
+    (license (list
+              license:gpl2+
+              license:bsd-2
+              license:bsd-3))))
 
 (define-public libiscsi
   (package
@@ -97,6 +99,27 @@ (define-public libiscsi
     (license (list
               ;; For the src, examples and test-tool directories, except
               ;; src/ld_iscsi.c.
-              gpl2+
+              license:gpl2+
               ;; For the lib and include directories.
-              lgpl2.1+))))
+              license:lgpl2.1+))))
+
+(define-public lsscsi
+  (package
+    (name "lsscsi")
+    (version "0.32")
+    (source (origin
+             (method url-fetch)
+             (uri (string-append
+                   "http://sg.danny.cz/scsi/lsscsi-" version ".tar.xz"))
+             (sha256
+              (base32
+               "0jp458m2b3wckr18qkln69i01152qlwz33zm49103lq8fgx0n6d4"))))
+    (build-system gnu-build-system)
+    (synopsis "Lists information about SCSI or NVMe devices in Linux")
+    (home-page "https://sg.danny.cz/scsi/lsscsi.html")
+    (description
+     "@command{lsscsi} lists SCSI logical units or SCSI targets.  It can
+also list NVMe namespaces or controllers and show the relationship between a
+device's primary node name, its SCSI generic (sg) node name and its kernel
+name.")
+    (license license:gpl2)))

base-commit: 6e38ec447f98383e0722ac300734f8d7c8c5c7b0
-- 
2.40.1