From: Julien Lepiller <julien@lepiller.eu>
To: 43101@debbugs.gnu.org
Subject: [bug#43101] [PATCH] Add version number in release ISO
Date: Sat, 29 Aug 2020 15:44:45 +0200 [thread overview]
Message-ID: <20200829154445.5512d99a@tachikoma.lepiller.eu> (raw)
[-- Attachment #1: Type: text/plain, Size: 445 bytes --]
Hi,
I've recently proposed a patch to libosinfo database, and they
suggested that we add the version number to the ISO label, so the tool
can differentiate and identify the ISOs. See
https://gitlab.com/libosinfo/osinfo-db/-/merge_requests/202
The first patch adds the --label option to guix system, and it sets the
label for the boot partition. The second patch simply uses it and adds
a --label option to the release target in the Makefile.
[-- Attachment #2: 0001-guix-system-Add-label-option.patch --]
[-- Type: text/x-patch, Size: 4821 bytes --]
From a6d4cb90825b9e45c0baeaeaa653c57a9100b21a Mon Sep 17 00:00:00 2001
From: Julien Lepiller <julien@lepiller.eu>
Date: Sat, 29 Aug 2020 15:34:56 +0200
Subject: [PATCH 1/2] guix: system: Add `--label' option.
* guix/scripts/system.scm (%options): Add `--label'.
---
guix/scripts/system.scm | 24 ++++++++++++++++++++----
1 file changed, 20 insertions(+), 4 deletions(-)
diff --git a/guix/scripts/system.scm b/guix/scripts/system.scm
index f6d20382b6..c9cee2e2a2 100644
--- a/guix/scripts/system.scm
+++ b/guix/scripts/system.scm
@@ -662,7 +662,7 @@ checking this by themselves in their 'check' procedure."
(define* (system-derivation-for-action os base-image action
#:key image-size file-system-type
full-boot? container-shared-network?
- mappings)
+ mappings label)
"Return as a monadic value the derivation for OS according to ACTION."
(case action
((build init reconfigure)
@@ -688,7 +688,14 @@ checking this by themselves in their 'check' procedure."
(image
(inherit base-image)
(size image-size)
- (operating-system os)))))
+ (operating-system os)
+ (partitions (match (image-partitions base-image)
+ ((boot others ...)
+ (cons
+ ((@ (gnu image) partition)
+ (inherit boot)
+ (label (or label (partition-label boot))))
+ others))))))))
((docker-image)
(system-docker-image os #:shared-network? container-shared-network?))))
@@ -741,7 +748,7 @@ and TARGET arguments."
install-bootloader?
dry-run? derivations-only?
use-substitutes? bootloader-target target
- image-size file-system-type full-boot?
+ image-size file-system-type full-boot? label
container-shared-network?
(mappings '())
(gc-root #f))
@@ -795,6 +802,7 @@ static checks."
((target* (current-target-system))
(image -> (find-image file-system-type target*))
(sys (system-derivation-for-action os image action
+ #:label label
#:file-system-type file-system-type
#:image-size image-size
#:full-boot? full-boot?
@@ -942,6 +950,8 @@ Some ACTIONS support additional ARGS.\n"))
--image-size=SIZE for 'vm-image', produce an image of SIZE"))
(display (G_ "
--no-bootloader for 'init', do not install a bootloader"))
+ (display (G_ "
+ --label=LABEL for 'disk-image', label disk image with LABEL"))
(display (G_ "
--save-provenance save provenance information"))
(display (G_ "
@@ -1008,6 +1018,9 @@ Some ACTIONS support additional ARGS.\n"))
(option '("no-bootloader" "no-grub") #f #f
(lambda (opt name arg result)
(alist-cons 'install-bootloader? #f result)))
+ (option '("label") #t #f
+ (lambda (opt name arg result)
+ (alist-cons 'label arg result)))
(option '("full-boot") #f #f
(lambda (opt name arg result)
(alist-cons 'full-boot? #t result)))
@@ -1065,7 +1078,8 @@ Some ACTIONS support additional ARGS.\n"))
(validate-reconfigure . ,ensure-forward-reconfigure)
(file-system-type . "ext4")
(image-size . guess)
- (install-bootloader? . #t)))
+ (install-bootloader? . #t)
+ (label . #f)))
(define (verbosity-level opts)
"Return the verbosity level based on OPTS, the alist of parsed options."
@@ -1119,6 +1133,7 @@ resulting from command-line parsing."
(dry? (assoc-ref opts 'dry-run?))
(bootloader? (assoc-ref opts 'install-bootloader?))
+ (label (assoc-ref opts 'label))
(target-file (match args
((first second) second)
(_ #f)))
@@ -1169,6 +1184,7 @@ resulting from command-line parsing."
(_ #f))
opts)
#:install-bootloader? bootloader?
+ #:label label
#:target target-file
#:bootloader-target bootloader-target
#:gc-root (assoc-ref opts 'gc-root)))))
--
2.28.0
[-- Attachment #3: 0002-Makefile.am-Set-iso-label.patch --]
[-- Type: text/x-patch, Size: 801 bytes --]
From cd47229d93b6dd0d7a793230e6a103a40034f6a7 Mon Sep 17 00:00:00 2001
From: Julien Lepiller <julien@lepiller.eu>
Date: Sat, 29 Aug 2020 15:36:40 +0200
Subject: [PATCH 2/2] Makefile.am: Set iso label.
* Makefile.am (release): Add version number in disk image label.
---
Makefile.am | 1 +
1 file changed, 1 insertion(+)
diff --git a/Makefile.am b/Makefile.am
index 9c38c2f83c..7a658d157b 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -838,6 +838,7 @@ release: dist-with-updated-version
image=`$(top_builddir)/pre-inst-env \
guix system disk-image \
--file-system-type=iso9660 \
+ --label="GUIX_IMAGE_$(VERSION)" \
--system=$$system --fallback \
gnu/system/install.scm` ; \
if [ ! -f "$$image" ] ; then \
--
2.28.0
next reply other threads:[~2020-08-29 13:46 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-08-29 13:44 Julien Lepiller [this message]
2020-08-30 13:47 ` [bug#43101] [PATCH] Add version number in release ISO Ludovic Courtès
2020-08-30 14:35 ` Julien Lepiller
2020-08-30 15:05 ` Mathieu Othacehe
2020-08-30 15:11 ` Julien Lepiller
2020-08-30 19:52 ` [bug#43101] [PATCH v2] " Julien Lepiller
2020-08-31 6:18 ` Mathieu Othacehe
2020-08-31 14:13 ` bug#43101: " Julien Lepiller
2020-09-03 11:10 ` [bug#43101] " Mathieu Othacehe
2020-09-03 12:10 ` Julien Lepiller
2020-08-31 12:12 ` Ludovic Courtès
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://guix.gnu.org/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20200829154445.5512d99a@tachikoma.lepiller.eu \
--to=julien@lepiller.eu \
--cc=43101@debbugs.gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/guix.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).