[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[commit-womb] gnumaint Makefile gm gnupackages.txt
From: |
Karl Berry |
Subject: |
[commit-womb] gnumaint Makefile gm gnupackages.txt |
Date: |
Thu, 16 Dec 2010 21:49:54 +0000 |
CVSROOT: /sources/womb
Module name: gnumaint
Changes by: Karl Berry <karl> 10/12/16 21:49:53
Modified files:
. : Makefile gm gnupackages.txt
Log message:
incorporate shop urls for printed books
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gnumaint/Makefile?cvsroot=womb&r1=1.28&r2=1.29
http://cvs.savannah.gnu.org/viewcvs/gnumaint/gm?cvsroot=womb&r1=1.32&r2=1.33
http://cvs.savannah.gnu.org/viewcvs/gnumaint/gnupackages.txt?cvsroot=womb&r1=1.78&r2=1.79
Patches:
Index: Makefile
===================================================================
RCS file: /sources/womb/gnumaint/Makefile,v
retrieving revision 1.28
retrieving revision 1.29
diff -u -b -r1.28 -r1.29
--- Makefile 13 Dec 2010 17:47:49 -0000 1.28
+++ Makefile 16 Dec 2010 21:49:53 -0000 1.29
@@ -1,4 +1,4 @@
-# $Id: Makefile,v 1.28 2010/12/13 17:47:49 karl Exp $
+# $Id: Makefile,v 1.29 2010/12/16 21:49:53 karl Exp $
# Copyright 2007-2010 Free Software Foundation, Inc.
#
# Copying and distribution of this file, with or without modification,
@@ -8,7 +8,7 @@
default: test-genmhtml
test-genmhtml mhtml: # result included from www.gnu.org/manual/manual.html
- gm generate manual html
+ gm generate manual html | tee ~/tmp/x.html
test-genphtml phtml: # result included from www.gnu.org/software/software.html
gm generate packages html
Index: gm
===================================================================
RCS file: /sources/womb/gnumaint/gm,v
retrieving revision 1.32
retrieving revision 1.33
diff -u -b -r1.32 -r1.33
--- gm 13 Dec 2010 17:47:49 -0000 1.32
+++ gm 16 Dec 2010 21:49:53 -0000 1.33
@@ -1,6 +1,6 @@
#!/usr/bin/env perl
-# $Id: gm,v 1.32 2010/12/13 17:47:49 karl Exp $
-# More gnumaint-related stuff, in Perl this time instead of TCL.
+# $Id: gm,v 1.33 2010/12/16 21:49:53 karl Exp $
+# GNU maintainer-related operations.
#
# Copyright 2007, 2008, 2009, 2010 Free Software Foundation Inc.
#
@@ -19,7 +19,7 @@
#
# Originally written by Karl Berry.
-$DEBUG = 0;
+$DEBUG = 1;
$ACTIVITY_FILE = "activity-report.txt";
$COPYRIGHT_LIST_FILE = "copyright.list";
$DOC_CATEGORIES_FILE = "doc-categories.txt";
@@ -61,6 +61,10 @@
list packages gplv3 packages with GPLv3 update pending
list packages unanswered packages we've had no contact about
+The idea is that "check" actions do consistency checking,
+"generate" actions write output that's intended to be used directly,
+and "list" actions are for information and further consumption.
+
Correspondence to address@hidden
END_USAGE
return 0;
@@ -200,6 +204,8 @@
my %cat;
my %pkgs = &read_gnupackages ();
+
+ # Sort packages into their categories.
for my $pkgname (sort keys %pkgs) {
next if &skip_pkg_p ($pkgname);
my %p = %{$pkgs{$pkgname}};
@@ -216,6 +222,9 @@
$cat{$short_cat} = address@hidden;
}
+ # show list of all categories at top
+ push (@ret, &output_category_list (%cat));
+
push (@ret, "<table>");
# Sort first by full category name, since the abbreviations sometimes
# start with a completely different string (Libraries -> Software
@@ -226,6 +235,7 @@
push (@ret, &output_cat ($short_cat, $full_cat, $cat_url));
+ # For each package ...
for my $pkg_ref (sort by_pkgname @{$cat{$short_cat}}) {
my %p = %$pkg_ref;
my ($doc_url,$doc_summary) = ($p{"doc-url"}, $p{"doc-summary"});
@@ -246,13 +256,17 @@
}
# start building output string for this package.
- my $str = qq!\n<tr><td width="25%">* !;
+ # first column is the package name and additional manuals.
+ my $str = qq!\n<tr><td width="24%">* !;
# the main package identifier and its doc url. If we have a
- # mundane name, use it.
- my $mundane = $p{"mundane-name"};
- my $main_ident = $mundane || ucfirst ($pkgname);
- $str .= qq!<a href="$doc_urls{$pkgname}">$main_ident</a>!;
+ # mundane name, use it. Otherwise, prettify the pkg identifier.
+ my $main_label = $p{"mundane-name"};
+ if (! $main_label) {
+ ($main_label = $pkgname) =~ s/^gnu/GNU/; # gnufoo -> GNUfoo
+ $main_label = ucfirst ($main_label); # bar -> Bar
+ }
+ $str .= qq!<a href="$doc_urls{$pkgname}">$main_label</a>!;
# followed by other manual identifiers if present.
my @more_manuals = ();
@@ -266,32 +280,40 @@
$str .= join ("\n ", sort @more_manuals);
$str .= ")</small>\n";
}
-
$str .= "</td>\n";
- # one more bit of the info to show them.
- my $home = qq!<a href="$home_url">$pkgname home</a>!;
- $str .= qq!<td width="75%">$doc_summary. [$home]!; # yep, add period
+ # Second column is the package description, any shop url's, and
+ # the package home page.
+ my $summary = "$doc_summary."; # yep, add period
+ my $shop = &find_shop_urls (%p);
+ my $home = qq!\n [<a href="$home_url">$pkgname home</a>]!;
+
+ $str .= qq! <td width="74%">$summary$shop$home!;
$str .= "</td></tr>";
push (@ret, $str);
}
}
-
push (@ret, "</table>");
+
+ # show list of categories again at the end:
+ push (@ret, &output_category_list (%cat));
+
push (@ret, "<!-- End file $autostamp -->");
return @ret;
- # HTML output for the beginning of each doc category -- a blank table
- # row, the table row with the text, a header, a link.
+ # HTML output for the beginning of each doc category --
+ # the table row with the text, a header, a link. The padding-top
+ # leaves a bit of extra space above the header, and padding-left moves
+ # the header right to straddle the columns.
#
sub output_cat {
my ($short_cat,$full_cat,$cat_url) = @_;
- my $ret = "\n\n<tr><td> </td></tr>\n";
- $ret .= "<tr>";
- $ret .= qq!<td colspan="2"><a id="$short_cat">!;
+ my $css = qq!style="padding-top:.8em; padding-left:16%;"!;
+ my $ret = "\n\n<tr>\n";
+ $ret .= qq!<td colspan="2" $css><a id="$short_cat">!;
$ret .= qq!<a href="$cat_url">! if $cat_url;
$ret .= "<big><b>$full_cat</b></big>";
$ret .= "</a>" if $cat_url;
@@ -312,6 +334,21 @@
return $full;
}
+ # return string with all categories as links, as a sort of toc.
+ sub output_category_list {
+ my (%cat) = @_;
+ my $ret = "<p>\n";
+
+ for my $short_cat (sort by_full_cat keys %cat) {
+ my ($full_cat,$cat_url) = &full_category ($short_cat);
+ $full_cat =~ s/ /\ /g; # no spaces in the category name here
+ $ret .= qq!<a href="#$short_cat">$full_cat</a> -\n!;
+ }
+
+ $ret .= "</p>\n";
+ return $ret;
+ }
+
# interpret the doc-url value, return hash where keys are manual
# identifiers and values are their urls.
#
@@ -328,23 +365,55 @@
my %htmlxref = &read_htmlxref ($pkgname);
for my $manual (keys %htmlxref) {
# do not overwrite a url from gnupackages for the main package
- # name with one from the htmlxref:
- next if $manual eq $pkgname && exists $ret{$pkgname};
-
+ # name with one from the htmlxref. Instead, add junk to make
+ # the htmlxref manual have a different key. We don't want to
+ # lose it, since if we have a general entry for "Texinfo"
+ # (pointing to all its manuals), say, it's still useful to
+ # have the direct link to the "texinfo" manual specifically.
+ # Since we uppercase the main label, they're visually
+ # distinct, too.
+ #
+ if ($manual eq $pkgname && exists $ret{$pkgname}) {
+ $ret{"$manual<!-- -->"} = $htmlxref{$manual}
+ } else {
# otherwise, take what we are given.
$ret{$manual} = $htmlxref{$manual};
}
+ }
} else {
$ret{$pkgname} = $val; # always prefer url given in gnupackages.
}
}
-
return %ret;
}
+
+ # Handle FSF shop references. We assume they come in pairs:
+ # description in one entry and url in the next. We return the HTML to
+ # insert in the output, or the empty string.
+ #
+ sub find_shop_urls {
+ my (%pkg) = @_;
+ my $ret;
+ my @shop = split (/\|/, $pkg{"doc-shop"});
+ if (@shop) {
+ $ret = " <br>Available in print: ";
+ # keep ordering from input.
+ my @books = ();
+ for (my $i = 0; $i < @shop; $i += 2) {
+ push (@books, qq!<cite><a href="$shop[$i+1]">$shop[$i]</a></cite>!);
+ }
+ $ret .= join (",\n", @books);
+ $ret .= ".";
+ } else {
+ $ret = "";
+ }
+ return $ret;
+ }
}
+
# Return all packages with all their maintainers, one package per
# line, like the original format of the maintainers file. We run this
# from cron.
@@ -690,7 +759,7 @@
$ret{"gnustandards"} = 1; # no papers, but is copyright FSF
$ret{"goodbye"} = $ret{"network"} = 1; # mattl
$ret{"gsrc"} = 1; # intended to be copyright FSF
- $ret{"libtasn1"} = 1; # intended to be copyright FSF, papers coming
+ $ret{"libtasn1"} = 1; # split off from gnutls, so no separate papers
$ret{"lispintro"} = 1; # no papers, but is copyright FSF
$ret{"mig"} = 1; # part of hurd
$ret{"trans-coord"} = 1; # container
@@ -1183,7 +1252,8 @@
{
my ($pkgname) = @_;
return $pkgname =~ / / # gimp www pages, flex manual
- || $pkgname =~ /^gg-.*$/ # groups
+ || $pkgname =~ /^gg-/ # groups
+ || $pkgname =~ /^(sovix|cfengine)$/ # not really ours
|| $pkgname =~ /\.nongnu/; # specialness, see maintainers
}
Index: gnupackages.txt
===================================================================
RCS file: /sources/womb/gnumaint/gnupackages.txt,v
retrieving revision 1.78
retrieving revision 1.79
diff -u -b -r1.78 -r1.79
--- gnupackages.txt 13 Dec 2010 17:47:49 -0000 1.78
+++ gnupackages.txt 16 Dec 2010 21:49:53 -0000 1.79
@@ -1,4 +1,4 @@
-# $Id: gnupackages.txt,v 1.78 2010/12/13 17:47:49 karl Exp $
+# $Id: gnupackages.txt,v 1.79 2010/12/16 21:49:53 karl Exp $
# Public domain.
#
# This file records information on a per-package basis, *not* including
@@ -155,7 +155,7 @@
doc-summary: Automated program generator
doc-url: /software/autogen/manual/
gplv3-status: done-in-5.9.5
-activity-status: ok 20101208 (5.11.4)
+activity-status: ok 20101213 (5.11.5)
package: automake
language: perl
@@ -243,6 +243,8 @@
doc-category: Software
doc-summary: Parser generator
doc-url: /software/bison/manual/
+doc-shop: The Bison Manual
+doc-shop: http://shop.fsf.org/product/bison-manual/
gplv3-status: needs-exception-#502111 (but-gplv3-in-2.4)
activity-status: ok 20100805 (2.4.3)
@@ -612,6 +614,10 @@
doc-summary: The extensible, customizable, self-documenting text editor
doc-url: /software/emacs/#Manuals
doc-url: htmlxref
+doc-shop: Emacs Reference Cards
+doc-shop: http://shop.fsf.org/product/emacs-reference-cards-21/
+doc-shop: GNU Emacs Manual
+doc-shop: http://shop.fsf.org/product/gnu-emacs-manual-16th-edition/
gplv3-status: done-in-22.3
activity-status: ok 20100507 (23.2)
@@ -775,6 +781,8 @@
doc-summary: GNU Compiler Collection
doc-url: /software/gcc/
doc-url: htmlxref
+doc-shop: Using GCC: The GNU Compiler Collection Reference Manual
+doc-shop:
http://shop.fsf.org/product/using-gcc-gnu-compiler-collection-reference-manual/
logo: /software/gcc/img/gccegg-65.png
gplv3-status: done
activity-status: ok 20100731 (4.5.1)
@@ -804,6 +812,8 @@
doc-summary: The GNU debugger
doc-url: /software/gdb/documentation/
doc-url: htmlxref
+doc-shop: Debugging with GDB: The GNU Source-Level Debugger
+doc-shop: http://shop.fsf.org/product/debugging-gdb-gnu-source-level-debugger/
gplv3-status: done-in-6.7
logo: /software/gdb/images/archer.jpg
activity-status: ok 20100902 (7.2)
@@ -1067,7 +1077,6 @@
last-contact: see powerguru
package: gnubatch
-mundane-name: GNUBatch
doc-category: Sysadmin
doc-summary: Advanced batch scheduling and job control
doc-url: none
@@ -1092,7 +1101,6 @@
activity-status: ok 20080420 (2.2.10)
package: gnubik
-mundane-name: GNUbik
doc-category: Games
doc-summary: The GNUbik toy
doc-url: /software/gnubik/manual/
@@ -1100,7 +1108,6 @@
activity-status: ok 20090105 (2.3)
package: gnucap
-mundane-name: GNUcap
download-url: http://www.geda.seul.org/dist/
doc-category: Science
doc-summary: Mixed analog and digital circuit simulator
@@ -1141,7 +1148,6 @@
activity-status: ok # many packages
package: gnugo
-mundane-name: GNUGo
logo: /software/gnugo/logo-36.jpg
doc-category: Games
doc-summary: Play the game of Go
@@ -1167,7 +1173,6 @@
note: japanese translations of documents
package: gnujump
-mundane-name: GNUjump
logo: /software/gnujump/logo.png
doc-category: Games
doc-summary: Jump to the next floor, trying not to fall
@@ -1201,7 +1206,6 @@
last-contact: see hurd
package: gnumed
-mundane-name: GNUmed
logo: http://gnumed.org/img/gnumedlogo.png
doc-category: Business
doc-summary: Paperless medical practice
@@ -1240,7 +1244,6 @@
activity-status: ok 20091110 (0.4)
package: gnunet
-mundane-name: GNUnet
logo: http://gnunet.org/logos/gnunet-logo-color.png
doc-category: Internet
doc-summary: A secure peer-to-peer framework
@@ -1260,7 +1263,6 @@
activity-status: ok 20091221 (2.0.14)
package: gnupod
-mundane-name: GNUpod
doc-category: Audio
doc-summary: Manage your iPod
doc-url: /software/gnupod/gnupod.html
@@ -1334,7 +1336,6 @@
activity-status: stale no-release # project is active in savannah
package: gnuspool
-mundane-name: GNUSpool
doc-category: Printing
doc-summary: Spooling system with a variety of interfaces
doc-url: none
@@ -1342,7 +1343,7 @@
activity-status: ok 20101021 (1.8)
package: gnustandards
-mundane-name: GNU documents
+mundane-name: GNU organization
doc-category: gnuorg
doc-summary: GNU coding standards and maintainer information
doc-url: htmlxref
@@ -1350,7 +1351,6 @@
activity-status: ok released-through-vc
package: gnustep
-mundane-name: GNUstep
logo: http://wiki.gnustep.org/skins/common/images/GNUstep-MediaWiki.png
doc-category: Software
doc-summary: Object-oriented application development environment
@@ -1377,7 +1377,6 @@
activity-status: stale 20100422 (0.31)
package: gnuzilla
-mundane-name: GNUzilla
doc-category: Internet
doc-summary: Entirely free browser derived from Mozilla Firefox
doc-url: none
@@ -1498,7 +1497,7 @@
doc-summary: Simple Authentication and Security Layer library
doc-url: /software/gsasl/manual/
gplv3-status: stays-lgplv2.1+
-activity-status: ok 20100325 (1.4.4, libgsasl-1.4.4/20100325)
+activity-status: ok 20101214 (1.6.0, libgsasl-1.6.0/20101214)
package: gsegrafix
doc-category: Graphics
@@ -1569,7 +1568,7 @@
doc-summary: Scheme implementation intended especially for extensions
doc-url: /software/guile/manual/
gplv3-status: not-done-in-1.8.6-planned-for-1.10/2.0-in-2009 # neil 12jan09
-activity-status: ok 20090705 (1.8.7)
+activity-status: ok 20101213 (1.8.8)
package: guile-dbi
doc-category: Database
@@ -1706,7 +1705,7 @@
doc-summary: Entirely free browser derived from Mozilla Firefox
doc-url: none
gplv3-status: not-applicable-since-not-our-program
-activity-status: ok 20101031 (3.6.12)
+activity-status: ok 20101213 (3.6.13)
package: idutils
doc-category: Software
@@ -1832,15 +1831,14 @@
mundane-name: GNU C Library
doc-category: Libraries
doc-summary: C library
-doc-url: shop
-doc-url: htmlxref
+doc-url: /software/libc/manual/
doc-shop: http://shop.fsf.org/product/gnu-c-library-application-fundamentals/
-doc-shop: GNU C Library Application Fundamentals (Vol. 1)
+doc-shop: GNU C Library Application Fundamentals (Vol.1)
doc-shop:
http://shop.fsf.org/product/gnu-c-library-system-network-applications/">
-doc-shop: GNU C Library System and Network Applications (Vol. 2)
+doc-shop: GNU C Library System and Network Applications (Vol.2)
gplv3-status: under-discussion
download-url: http://ftp.gnu.org/gnu/glibc/
-activity-status: ok 20100803 (2.12.1)
+activity-status: ok 20101213 (2.12.3)
package: libcdio
doc-category: Audio
@@ -1936,7 +1934,8 @@
doc-url: /software/libtasn1/manual/
gplv3-status: done-as-of-2.6
activity-status: ok 20101206 (2.9)
-note: files say copyright fsf, but no assignment
+note: originated with gnutls, so copyright fsf, even though no explicit
+note: assignment has been needed yet.
package: libtool
doc-category: Libraries
@@ -1991,6 +1990,8 @@
doc-category: Software
doc-summary: Introduction to programming in Emacs Lisp
doc-url: /software/emacs/emacs-lisp-intro/emacs-lisp-intro.html
+doc-shop: An Introduction to Emacs Lisp
+doc-shop: http://shop.fsf.org/product/Intro_to_Emacs_Lisp_3rd_Ed/
gplv3-status: doc
activity-status: ok released-through-emacs
@@ -2046,6 +2047,8 @@
doc-category: Software
doc-summary: Remake files automatically
doc-url: /software/make/manual/
+doc-shop: GNU Make
+doc-shop: http://shop.fsf.org/product/gnu-make-version-381/
gplv3-status: in-dev-sources (gnumaint-reply 28 Aug 2007 08:30:15)
activity-status: ok 20100727 (3.82)
last-contact: 21jan09 replied
@@ -2098,6 +2101,8 @@
doc-category: Education
doc-summary: Virtual development environment for Knuth's MIX
doc-url: /software/mdk/manual/
+doc-shop: GNU MDK
+doc-shop: http://shop.fsf.org/product/gnu-mdk/
gplv3-status: done-in-1.2.4-21mar08
activity-status: ok 20101009 (1.2.6)
@@ -2161,7 +2166,7 @@
activity-status: ok 20100309 (stable.pkg/9.0.1)
package: moe
-doc-category: Text
+doc-category: Editors
doc-summary: Modeless, multiple-buffer, user-friend 8-bit text editor
doc-url: htmlxref
gplv3-status: done-in-1.0
@@ -2208,7 +2213,7 @@
note: gcc assert stuff
package: nano
-doc-category: Text
+doc-category: Editors
doc-summary: Free improved replacement for the pico text editor
doc-url: http://www.nano-editor.org/docs.php
logo: http://www.gnu.org.ua/software/nano/nano.jpg
@@ -2533,6 +2538,8 @@
doc-category: Security
doc-summary: Authentication and accounting services and daemon
doc-url: /software/radius/manual/
+doc-shop: GNU Radius Reference Manual
+doc-shop: http://shop.fsf.org/product/gnu-radius-reference-manual/
gplv3-status: done-in-1.6
activity-status: ok 20081217 (1.6.1)
@@ -2589,10 +2596,10 @@
package: sather
doc-category: Software
-doc-summary: An object-oriented language designed to simple, efficient, safe
+doc-summary: An object-oriented language designed to be simple, efficient, safe
doc-url: /software/sather/#doc
gplv3-status: done-in-1.2.3
-activity-status: nomaint 20070707 (1.2.3)
+activity-status: newmaint/20101213 20070707 (1.2.3)
package: sauce
doc-category: Email
@@ -2976,6 +2983,7 @@
last-contact: see sauce
package: uucp
+mundane-name: UUCP
doc-category: Sysadmin
doc-summary: UUCP protocol implementation
doc-url: none
@@ -2994,7 +3002,6 @@
doc-category: Version
doc-summary: Version-control-agnostic ChangeLog diff and commit tool
doc-url: /software/vc-dwim/manual/
-doc-url: htmlxref
gplv3-status: done-as-of-1.2
activity-status: ok 20101106 (1.3)
@@ -3015,12 +3022,18 @@
activity-status: stable 20060608 (1.17)
package: vmgen
+doc-category: Software
+doc-summary: Generic virtual machine generation, used by gforth
+doc-url: none
download-url: http://ftp.gnu.org/gnu/gforth/
gplv3-status: in-dev-sources (gnumaint-reply 31 Dec 2007 20:31:05)
activity-status: ok 20081102 (gforth-0.7.0)
note: vmgen is distributed as part of gforth
package: vmslib
+doc-category: Software
+doc-summary: Help porting GNU software to VMS
+doc-url: none
gplv3-status: not-done-since-nomaint
activity-status: newmaint/20101003 (1996)
@@ -3035,6 +3048,9 @@
package: wb
mundane-name: WB
logo: http://swiss.csail.mit.edu/~jaffer/TreeRoot96.jpg
+doc-category: Libraries
+doc-summary: Disk-based associative array B-tree database library
+doc-url: http://people.csail.mit.edu/jaffer/wb_toc.html
download-url: http://groups.csail.mit.edu/mac/ftpdir/scm/
gplv3-status: needs-exception-#502112-but-done-in-wb2a2 (info-gnu 4 Feb 2008
00:29:22)
activity-status: ok 20100703 (2b1)
@@ -3056,6 +3072,9 @@
package: webstump
mundane-name: WebSTUMP
+doc-category: Internet
+doc-summary: Web interface to STUMP
+doc-url: none
download-url: http://www.algebra.com/~ichudov/stump/
gplv3-status: see stump
activity-status: stale 1999
@@ -3083,10 +3102,10 @@
gplv3-status: in-dev-sources (aug07)
activity-status: ok released-through-vc
-package: www
-savannah-only: t
-gplv3-status: not-applicable
-activity-status: no-release
+#package: www
+#savannah-only: t
+#gplv3-status: not-applicable
+#activity-status: no-release
package: xaos
mundane-name: XaoS
@@ -3099,6 +3118,9 @@
package: xboard
mundane-name: XBoard
+doc-category: Games
+doc-summary: Graphical user interface for chess programs
+doc-url: /software/xboard/manual/
gplv3-status: done-as-of-4.4.2
activity-status: ok 20100818 (4.4.4)
@@ -3126,12 +3148,18 @@
activity-status: ok 20101015 (3.07)
package: xorriso
+doc-category: Audio
+doc-summary: Create, manipulate, burn ISO-9660 filesystems
+doc-url: /software/xorriso/man_1_xorriso.html
gplv3-status: done
-activity-status: ok 20101026 (0.6.4)
+activity-status: ok 20101212 (0.6.6)
note: Libburnia project = address@hidden
note: xorriso support also on address@hidden
package: zile
+doc-category: Editors
+doc-summary: Zile is lossy Emacs, a lightweight Emacs clone
+doc-url: none
gplv3-status: done-in-2.2.58
activity-status: ok 20101117 (2.3.21)
- [commit-womb] gnumaint Makefile gm gnupackages.txt,
Karl Berry <=