all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Lilah Tascheter via Guix-patches <guix-patches@gnu.org>
To: 69343@debbugs.gnu.org
Cc: Felix Lechner <felix.lechner@lease-up.com>,
	Christopher Baines <guix@cbaines.net>,
	Josselin Poiret <dev@jpoiret.xyz>,
	Ludovic Court??s <ludo@gnu.org>,
	Mathieu Othacehe <othacehe@gnu.org>,
	Ricardo Wurmus <rekado@elephly.net>,
	Simon Tournier <zimon.toutoune@gmail.com>,
	Tobias Geerinckx-Rice <me@tobias.gr>
Subject: [bug#69343] [PATCH v2 05/12] Move epoch->date-string to gnu/system/boot.scm and use it elsewhere.
Date: Fri,  8 Mar 2024 02:12:01 -0600	[thread overview]
Message-ID: <7adf6f188991d9d7052adb0056c0fb8b618c5059.1709885528.git.lilah@lunabee.space> (raw)
In-Reply-To: <cover.1709885528.git.lilah@lunabee.space>

From: Felix Lechner <felix.lechner@lease-up.com>

* guix/scripts/system.scm (profile-boot-parameters): Rename time to
  epoch to fit new procedure name.
  (epoch->date-string): Move to...
* gnu/system/boot.scm (epoch->date-string): ...here.
* gnu/machine/ssh.scm (machine-boot-parameters): Rename time to epoch.
  (machine-boot-parameters)[boot-parameters]: Use epoch->date-string.

Change-Id: I6a5f793567221f81edd7b2d8d9f0f3e801d1b113
---
 gnu/machine/ssh.scm     | 10 ++++------
 gnu/system/boot.scm     |  8 ++++++++
 guix/scripts/system.scm | 10 ++--------
 3 files changed, 14 insertions(+), 14 deletions(-)

diff --git a/gnu/machine/ssh.scm b/gnu/machine/ssh.scm
index 0ffe71367c..449b65dbfb 100644
--- a/gnu/machine/ssh.scm
+++ b/gnu/machine/ssh.scm
@@ -444,10 +444,10 @@ (define (machine-boot-parameters machine)
                                                              generation))
                           (boot-parameters-path (string-append system-path
                                                                "/parameters"))
-                          (time (stat:mtime (lstat system-path))))
+                          (epoch (stat:mtime (lstat system-path))))
                      (list generation
                            system-path
-                           time
+                           epoch
                            (read-file boot-parameters-path))))
                  (reverse (generation-numbers %system-profile)))))))
 
@@ -455,7 +455,7 @@ (define (machine-boot-parameters machine)
     (return
      (map (lambda (generation)
             (match generation
-              ((generation system-path time serialized-params)
+              ((generation system-path epoch serialized-params)
                (let* ((params (call-with-input-string serialized-params
                                 read-boot-parameters))
                       (root (boot-parameters-root-device params))
@@ -466,9 +466,7 @@ (define (machine-boot-parameters machine)
                   (label
                    (string-append label " (#"
                                   (number->string generation) ", "
-                                  (let ((time (make-time time-utc 0 time)))
-                                    (date->string (time-utc->date time)
-                                                  "~Y-~m-~d ~H:~M"))
+                                  (epoch->date-string epoch)
                                   ")"))
                   (kernel-arguments
                    (append (bootable-kernel-arguments system-path root version)
diff --git a/gnu/system/boot.scm b/gnu/system/boot.scm
index a3b9cce7d2..972f83febc 100644
--- a/gnu/system/boot.scm
+++ b/gnu/system/boot.scm
@@ -45,6 +45,7 @@ (define-module (gnu system boot)
   #:use-module (ice-9 format)
   #:use-module (ice-9 match)
   #:use-module (srfi srfi-1)
+  #:use-module (srfi srfi-19)
   #:use-module (srfi srfi-34)
   #:use-module (srfi srfi-35)
   #:use-module (rnrs bytevectors)
@@ -69,6 +70,7 @@ (define-module (gnu system boot)
             read-boot-parameters
             read-boot-parameters-file
 
+            epoch->date-string
             boot-parameters->menu-entry
 
             ensure-not-/dev
@@ -274,6 +276,12 @@ (define (read-boot-parameters-file system)
      (kernel-arguments (append (bootable-kernel-arguments system root version)
                                (boot-parameters-kernel-arguments params))))))
 
+(define (epoch->date-string epoch)
+  "Return a string representing the date for EPOCH seconds."
+  (let ((time (make-time time-utc 0 epoch)))
+    (date->string (time-utc->date time)
+                  "~Y-~m-~d ~H:~M")))
+
 (define (boot-parameters->menu-entry conf)
   "Return a <menu-entry> instance given CONF, a <boot-parameters> instance."
   (let* ((kernel (boot-parameters-kernel conf))
diff --git a/guix/scripts/system.scm b/guix/scripts/system.scm
index 86ee2ddc76..47c072ba5c 100644
--- a/guix/scripts/system.scm
+++ b/guix/scripts/system.scm
@@ -323,19 +323,13 @@ (define-syntax-rule (unless-file-not-found exp)
           #f
           (apply throw args)))))
 
-(define (epoch->date-string epoch)
-  "Return a string representing the date for EPOCH seconds."
-  (let ((time (make-time time-utc 0 epoch)))
-    (date->string (time-utc->date time)
-                  "~Y-~m-~d ~H:~M")))
-
 (define* (profile-boot-parameters #:optional (profile %system-profile)
                                   (numbers
                                    (reverse (generation-numbers profile))))
   "Return a list of 'boot-parameters' for the generations of PROFILE specified
 by NUMBERS, which is a list of generation numbers. The list is ordered from
 the most recent to the oldest profiles."
-  (define (system->boot-parameters system number time)
+  (define (system->boot-parameters system number epoch)
     (unless-file-not-found
      (let* ((params           (read-boot-parameters-file system))
             (label            (boot-parameters-label params)))
@@ -343,7 +337,7 @@ (define* (profile-boot-parameters #:optional (profile %system-profile)
          (inherit params)
          (label (string-append label " (#"
                                (number->string number) ", "
-                               (epoch->date-string time) ")"))))))
+                               (epoch->date-string epoch) ")"))))))
   (let* ((systems (map (cut generation-file-name profile <>)
                        numbers))
          (times   (map (lambda (system)
-- 
2.41.0





  parent reply	other threads:[~2024-03-08  8:25 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-02-24  1:05 [bug#69343] [PATCH 00/12] Simplify bootloader data structures and procedures Felix Lechner via Guix-patches via
2024-02-24  1:51 ` [bug#69343] [PATCH 01/12] Fix bug where the extra menu entries for a bootloader were shown twice Felix Lechner via Guix-patches via
2024-02-24  1:51 ` [bug#69343] [PATCH 02/12] Move <boot-parameters> record to a separate file Felix Lechner via Guix-patches via
2024-02-24  1:51 ` [bug#69343] [PATCH 03/12] Also move boot-parameters->menu-entry Felix Lechner via Guix-patches via
2024-02-24  1:51 ` [bug#69343] [PATCH 04/12] Rename seconds->string procedure to epoch->date-string Felix Lechner via Guix-patches via
2024-02-24  1:51 ` [bug#69343] [PATCH 05/12] Move epoch->date-string to gnu/system/boot.scm and use it elsewhere Felix Lechner via Guix-patches via
2024-02-24  1:51 ` [bug#69343] [PATCH 06/12] Offer a uniform decorated-boot-label and use it Felix Lechner via Guix-patches via
2024-02-24  1:51 ` [bug#69343] [PATCH 07/12] Rename boot-parameters to boot-alternatives when appropriate Felix Lechner via Guix-patches via
2024-02-24  1:51 ` [bug#69343] [PATCH 08/12] Rename two remote variables confusingly named 'generations' Felix Lechner via Guix-patches via
2024-02-24  1:51 ` [bug#69343] [PATCH 09/12] Give a separate name to a commonly used expression Felix Lechner via Guix-patches via
2024-02-24  1:51 ` [bug#69343] [PATCH 10/12] Simplify profile->boot-alternatives Felix Lechner via Guix-patches via
2024-02-24  1:51 ` [bug#69343] [PATCH 11/12] Split generation->boot-parameters out of profile->boot-alternatives Felix Lechner via Guix-patches via
2024-02-24  1:51 ` [bug#69343] [PATCH 12/12] Encapsulate <boot-parameters> to retain generation, system-path and epoch Felix Lechner via Guix-patches via
2024-03-02 23:46 ` [bug#69343] Simplify bootloader data structures and procedures Lilah Tascheter via Guix-patches
2024-03-08  8:11 ` [bug#69343] [PATCH v2 00/12] " Lilah Tascheter via Guix-patches
2024-03-08  8:11   ` [bug#69343] [PATCH v2 01/12] Fix bug where the extra menu entries for a bootloader were shown twice Lilah Tascheter via Guix-patches
2024-03-08  8:11   ` [bug#69343] [PATCH v2 02/12] Move <boot-parameters> record to a separate file Lilah Tascheter via Guix-patches
2024-03-08  8:11   ` [bug#69343] [PATCH v2 03/12] Also move boot-parameters->menu-entry Lilah Tascheter via Guix-patches
2024-03-08  8:12   ` [bug#69343] [PATCH v2 04/12] Rename seconds->string procedure to epoch->date-string Lilah Tascheter via Guix-patches
2024-03-08  8:12   ` Lilah Tascheter via Guix-patches [this message]
2024-03-08  8:12   ` [bug#69343] [PATCH v2 06/12] Offer a uniform decorated-boot-label and use it Lilah Tascheter via Guix-patches
2024-03-08  8:12   ` [bug#69343] [PATCH v2 07/12] Rename boot-parameters to boot-alternatives when appropriate Lilah Tascheter via Guix-patches
2024-03-08  8:12   ` [bug#69343] [PATCH v2 08/12] Rename two remote variables confusingly named 'generations' Lilah Tascheter via Guix-patches
2024-03-08  8:12   ` [bug#69343] [PATCH v2 09/12] Give a separate name to a commonly used expression Lilah Tascheter via Guix-patches
2024-03-08  8:12   ` [bug#69343] [PATCH v2 10/12] Simplify profile->boot-alternatives Lilah Tascheter via Guix-patches
2024-03-08  8:12   ` [bug#69343] [PATCH v2 11/12] Split generation->boot-parameters out of profile->boot-alternatives Lilah Tascheter via Guix-patches
2024-03-08  8:12   ` [bug#69343] [PATCH v2 12/12] Encapsulate <boot-parameters> to retain generation, system-path and epoch Lilah Tascheter via Guix-patches
2024-03-08 16:33   ` [bug#69343] Simplify bootloader data structures and procedures Felix Lechner via Guix-patches via

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

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=7adf6f188991d9d7052adb0056c0fb8b618c5059.1709885528.git.lilah@lunabee.space \
    --to=guix-patches@gnu.org \
    --cc=69343@debbugs.gnu.org \
    --cc=dev@jpoiret.xyz \
    --cc=felix.lechner@lease-up.com \
    --cc=guix@cbaines.net \
    --cc=lilah@lunabee.space \
    --cc=ludo@gnu.org \
    --cc=me@tobias.gr \
    --cc=othacehe@gnu.org \
    --cc=rekado@elephly.net \
    --cc=zimon.toutoune@gmail.com \
    /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 external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.