Subject: PR/25390 CVS commit: pkgsrc
To: None <dmcmahill@netbsd.org, gnats-admin@netbsd.org,>
From: Dan McMahill <dmcmahill@netbsd.org>
List: pkgsrc-bugs
Date: 05/17/2005 21:47:01
The following reply was made to PR pkg/25390; it has been noted by GNATS.

From: Dan McMahill <dmcmahill@netbsd.org>
To: gnats-bugs@netbsd.org
Cc: 
Subject: PR/25390 CVS commit: pkgsrc
Date: Tue, 17 May 2005 21:46:59 +0000 (UTC)

 Module Name:	pkgsrc
 Committed By:	dmcmahill
 Date:		Tue May 17 21:46:59 UTC 2005
 
 Modified Files:
 	pkgsrc: Makefile
 	pkgsrc/mk: bsd.pkg.mk
 	pkgsrc/mk/scripts: genreadme.awk mkreadme
 Added Files:
 	pkgsrc/mk/scripts: binpkg-cache
 
 Log Message:
 Rework the README.html generation code.  Major changes are:
 
 - completely redo the code which decides on the machine architecture,
   operating system, and operating system version for the binary packages.
   The old way just used to directory names to take a guess.  The new
   way creates a cache file containing meta-data for all the binary packages
   in each "All" directory.  This cache file is consulted when generating
   the lists of available binary packages.  The meta-data is obtained with
   pkg_info so it should always be correct even if you do something silly
   like mix OS_VERSION or MACHINE_ARCH packages up in the same directory.
 
   Among the benefits are:  works when PACKAGES is not $PKGSRC/packages,
   works with a more or less arbitrary subdirectory structure, works
   when there are subdirectories for multiple operating systems.
 
   This portion of the fix should address PR25390.
 
   The cache files are only updated when the contents of an "All" directory
   changes or if the cache file format changes.  There is some room for
   improving the updating of the cache files, but its not too bad the way
   it is.
 
 - fix up some of the awk code so that generadme.awk works with Solaris
   nawk as well as NetBSD's nawk and gawk (for pre-2.0 systems).
 
 - remove some "if ! foo" shell constructs to increase portability.
 
 - be more consistent with what variables get passed to mkreadme from
   make and which ones are determined automatically.  Mostly this meant
   moving stuff into mkreadme to make it easier to run it standalone.
 
 
 To generate a diff of this commit:
 cvs rdiff -r1.70 -r1.71 pkgsrc/Makefile
 cvs rdiff -r1.1667 -r1.1668 pkgsrc/mk/bsd.pkg.mk
 cvs rdiff -r0 -r1.1 pkgsrc/mk/scripts/binpkg-cache
 cvs rdiff -r1.12 -r1.13 pkgsrc/mk/scripts/genreadme.awk
 cvs rdiff -r1.4 -r1.5 pkgsrc/mk/scripts/mkreadme
 
 Please note that diffs are not public domain; they are subject to the
 copyright notices on the relevant files.