From 668d48a6847bcdc69d2c6e6aa44090f566ecd05b Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Wed, 9 Oct 2013 16:13:02 +0200 Subject: build: 'sync-descriptions' now compares GNU package descriptions. * build-aux/sync-synopses.scm: Rename to... * build-aux/sync-descriptions.scm: ... this. Compare the value of 'gnu-package-doc-description' and 'package-description' and report any mismatch. * Makefile.am (EXTRA_DIST): Adjust accordingly. (sync-synopses): Rename to... (sync-descriptions): ... this. --- Makefile.am | 10 +++--- build-aux/sync-descriptions.scm | 75 +++++++++++++++++++++++++++++++++++++++++ build-aux/sync-synopses.scm | 62 ---------------------------------- 3 files changed, 80 insertions(+), 67 deletions(-) create mode 100644 build-aux/sync-descriptions.scm delete mode 100644 build-aux/sync-synopses.scm diff --git a/Makefile.am b/Makefile.am index 22a3b0824d..c2d6b9338f 100644 --- a/Makefile.am +++ b/Makefile.am @@ -156,7 +156,7 @@ EXTRA_DIST = \ build-aux/check-available-binaries.scm \ build-aux/download.scm \ build-aux/list-packages.scm \ - build-aux/sync-synopses.scm \ + build-aux/sync-descriptions.scm \ srfi/srfi-37.scm.in \ srfi/srfi-64.scm \ srfi/srfi-64.upstream.scm \ @@ -211,12 +211,12 @@ AM_DISTCHECK_CONFIGURE_FLAGS = \ --with-nix-prefix="$(NIX_PREFIX)" \ --enable-daemon -dist-hook: sync-synopses gen-ChangeLog assert-no-store-file-names +dist-hook: sync-descriptions gen-ChangeLog assert-no-store-file-names distcheck-hook: assert-binaries-available -sync-synopses: +sync-descriptions: -$(top_builddir)/pre-inst-env $(GUILE) \ - $(top_srcdir)/build-aux/sync-synopses.scm + $(top_srcdir)/build-aux/sync-descriptions.scm gen-ChangeLog: if test -d .git; then \ @@ -240,5 +240,5 @@ assert-binaries-available: $(top_builddir)/pre-inst-env "$(GUILE)" \ "$(top_srcdir)/build-aux/check-available-binaries.scm" -.PHONY: sync-synopses gen-ChangeLog +.PHONY: sync-descriptions gen-ChangeLog .PHONY: assert-no-store-file-names assert-binaries-available diff --git a/build-aux/sync-descriptions.scm b/build-aux/sync-descriptions.scm new file mode 100644 index 0000000000..61362a1f88 --- /dev/null +++ b/build-aux/sync-descriptions.scm @@ -0,0 +1,75 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2013 Ludovic Courtès +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see . + +;;; +;;; Report package synopses and descriptions that defer from those found in +;;; the GNU Womb. +;;; + +(use-modules (guix gnu-maintenance) + (guix packages) + (guix utils) + (guix ui) + (gnu packages) + (srfi srfi-1) + (srfi srfi-26) + (ice-9 match)) + +(define official + ;; GNU package descriptors from the Womb. + (official-gnu-packages)) + +(define gnus + ;; GNU packages available in the distro. + (let ((lookup (lambda (p) + (find (lambda (descriptor) + (equal? (gnu-package-name descriptor) + (package-name p))) + official)))) + (fold-packages (lambda (package result) + (or (and=> (lookup package) + (cut alist-cons package <> result)) + result)) + '()))) + +;; Iterate over GNU packages. Report those whose synopsis defers from that +;; found upstream. +(for-each (match-lambda + ((package . descriptor) + (let ((upstream (gnu-package-doc-summary descriptor)) + (downstream (package-synopsis package)) + (loc (or (package-field-location package 'synopsis) + (package-location package)))) + (unless (and upstream (string=? upstream downstream)) + (format (guix-warning-port) + "~a: ~a: proposed synopsis: ~s~%" + (location->string loc) (package-name package) + upstream))) + + (let ((upstream (gnu-package-doc-description descriptor)) + (downstream (package-description package)) + (loc (or (package-field-location package 'description) + (package-location package)))) + (when (and upstream + (not (string=? (fill-paragraph upstream 100) + (fill-paragraph downstream 100)))) + (format (guix-warning-port) + "~a: ~a: proposed description:~% ~a~%" + (location->string loc) (package-name package) + (fill-paragraph upstream 77 7)))))) + gnus) diff --git a/build-aux/sync-synopses.scm b/build-aux/sync-synopses.scm deleted file mode 100644 index c1049d3398..0000000000 --- a/build-aux/sync-synopses.scm +++ /dev/null @@ -1,62 +0,0 @@ -;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2013 Ludovic Courtès -;;; -;;; This file is part of GNU Guix. -;;; -;;; GNU Guix is free software; you can redistribute it and/or modify it -;;; under the terms of the GNU General Public License as published by -;;; the Free Software Foundation; either version 3 of the License, or (at -;;; your option) any later version. -;;; -;;; GNU Guix is distributed in the hope that it will be useful, but -;;; WITHOUT ANY WARRANTY; without even the implied warranty of -;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -;;; GNU General Public License for more details. -;;; -;;; You should have received a copy of the GNU General Public License -;;; along with GNU Guix. If not, see . - -;;; -;;; Report synopses that defer from those found in the GNU Womb. -;;; - -(use-modules (guix gnu-maintenance) - (guix packages) - (guix utils) - (guix ui) - (gnu packages) - (srfi srfi-1) - (srfi srfi-26) - (ice-9 match)) - -(define official - ;; GNU package descriptors from the Womb. - (official-gnu-packages)) - -(define gnus - ;; GNU packages available in the distro. - (let ((lookup (lambda (p) - (find (lambda (descriptor) - (equal? (gnu-package-name descriptor) - (package-name p))) - official)))) - (fold-packages (lambda (package result) - (or (and=> (lookup package) - (cut alist-cons package <> result)) - result)) - '()))) - -;; Iterate over GNU packages. Report those whose synopsis defers from that -;; found upstream. -(for-each (match-lambda - ((package . descriptor) - (let ((upstream (gnu-package-doc-summary descriptor)) - (downstream (package-synopsis package)) - (loc (or (package-field-location package 'synopsis) - (package-location package)))) - (unless (and upstream (string=? upstream downstream)) - (format (guix-warning-port) - "~a: ~a: proposed synopsis: ~s~%" - (location->string loc) (package-name package) - upstream))))) - gnus) -- cgit v1.2.3