Subject: CVS commit: pkgsrc
To: None <pkgsrc-changes@NetBSD.org>
From: Dan McMahill <dmcmahill@netbsd.org>
List: pkgsrc-changes
Date: 05/17/2005 21:46:59
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.