[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