guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

01/01: release: Update process for the 'NEWS' update.


From: Ludovic Courtès
Subject: 01/01: release: Update process for the 'NEWS' update.
Date: Thu, 18 May 2017 11:48:45 -0400 (EDT)

civodul pushed a commit to branch master
in repository maintenance.

commit 94396cfd64cc2b1759196a6b22122f18354156e3
Author: Ludovic Courtès <address@hidden>
Date:   Thu May 18 16:30:43 2017 +0200

    release: Update process for the 'NEWS' update.
    
    * doc/release.org (Update NEWS): Rewrite for use of "make update-NEWS".
---
 doc/release.org | 92 +++++++--------------------------------------------------
 1 file changed, 10 insertions(+), 82 deletions(-)

diff --git a/doc/release.org b/doc/release.org
index 972f3f3..ab54a12 100644
--- a/doc/release.org
+++ b/doc/release.org
@@ -11,93 +11,21 @@ This document describes the typical release process for 
Guix.
 
 Run "git log" and search for "^Fixes".
 
-** Update the list of new packages
+** Update the list of new and updated packages
 
-Typically, you already have a list of package/version pairs from the
-previous version.  And then you build one for the new version:
+Run “make update-NEWSâ€.
 
-#+BEGIN_SRC scheme
-  (use-modules (gnu) (guix)
-               (srfi srfi-1))
+This target needs requires a checkout of
+<git://git.savannah.gnu.org/guix/maintenance.git>, which is where we
+store the list of package/version pairs of each Guix release.
 
-  (define old
-    ;; Get the list of packages of the previous release.
-    (call-with-input-file "packages-0.11.0.txt"
-      read))
+** Commit the new list of packages in maintenance.git
 
-  ;; Don't browse things listed in the user's $GUIX_PACKAGE_PATH.  Here we
-  ;; assume that the last item in (%package-module-path) is the distro
-  ;; directory.
-  (%package-module-path (list (last (%package-module-path))))
+Running “make update-NEWS†creates a ‘data/packages-X.Y.Z.txt’ file in
+your maintenance.git checkout.  Make sure to commit it:
 
-  (define new
-    ;; List of package/version pairs for the new Guix version.
-    (fold-packages (lambda (p r)
-                     (alist-cons (package-name p) (package-version p)
-                                 r))
-                   '()))
-
-#+END_SRC
-
-From there, compute the list of packages that were added:
-
-#+BEGIN_SRC scheme
-  (define added
-    ;; List of packages present in NEW and not in OLD.
-    (lset-difference string=? (map car new) (map car old)))
-
-#+END_SRC
-
-Make that list "camera-ready":
-
-#+BEGIN_SRC scheme
-  (string-join (sort added string<?) ", ")
-#+END_SRC
-
-... and paste it into 'NEWS'.
-
-** Update the list of upgraded packages
-
-Same idea: identify what's been updated:
-
-#+BEGIN_SRC scheme
-  (use-modules (ice-9 match))
-
-  (define upgraded
-    ;; List of package/version pairs for packages that were upgraded.
-    (filter-map (match-lambda
-                 ((package . new-version)
-                  (match (assoc package old)
-                    ((_ . old-version)
-                     (and (version>? new-version old-version)
-                          (cons package new-version)))
-                    (_ #f))))
-                new))
-#+END_SRC
-
-Make that list "camera-ready":
-
-#+BEGIN_SRC scheme
-  (string-join (sort (map (match-lambda
-                           ((package . version)
-                            (string-append package "-" version)))
-                          upgraded)
-                     string<?)
-               ", ")
-#+END_SRC
-
-... and paste it into NEWS.
-
-** Save the current list of packages for later
-
-#+BEGIN_SRC scheme
-  (use-modules (ice-9 pretty-print))
-
-  (call-with-output-file "packages-0.12.0.txt"
-    (lambda (port)
-      (pretty-print new port)))
-
-#+END_SRC
+  git add data/packages-X.Y.Z.txt
+  git commit -m "Data for X.Y.Z."
 
 * Prepare & upload tarball
 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]