Subject: Re: pkg/32471: Modulization of PLIST handling in bsd.pkg.mk
To: None <pkg-manager@netbsd.org, gnats-admin@netbsd.org,>
From: Johnny C. Lam <jlam@pkgsrc.org>
List: pkgsrc-bugs
Date: 01/10/2006 20:40:02
The following reply was made to PR pkg/32471; it has been noted by GNATS.

From: "Johnny C. Lam" <jlam@pkgsrc.org>
To: gnats-bugs@netbsd.org
Cc: 
Subject: Re: pkg/32471: Modulization of PLIST handling in bsd.pkg.mk
Date: Tue, 10 Jan 2006 20:37:37 +0000

 I have a newer version of these changes.  The full summary is that:
 
     (1) Splits out the PLIST-handling code from bsd.pkg.mk into a
 	separate "plist" module.
 
     (2) Splits out the awk scriptlets into separate awk scripts that
 	may be joined together to post-process PLISTs.  Each of these
 	awk scripts consolidates the processing for one set of files,
 	e.g., man pages, info pages, etc., and is more easily commented
 	than a make variable.
 
     (3) Splits out the print-PLIST code from the regular PLIST code
 	since they have no common pieces (print-plist.mk vs. plist.mk).
 
     (4) Completely re-implements the shared-library handling to be
 	more efficient.  Along the way, this also fixes a problem for
 	Mac OS X users where the PLISTs sometimes incorrectly contained
 	absolute paths.
 
     (5) Completely re-implements the info-file handling so that we
 	can migrate from INFO_FILES definitions to just adding
 	info/foo.info entries in the static PLISTs.
 
     (6) Adds commented-out support for automatically compressed or
 	decompressed info page entries based on the value of MANZ.
 	These changes will be activated after texinfo.mk has been
 	replaced by something that is built using the more modern
 	primitives now available in pkgsrc.
 
     (7) Move the file compression logic into a separate script
 	"doc-compress" that compresses or decompresses files while
 	minding symlinks.  This script is now called by bsd.pkg.mk to
 	do the "autmoatic man page handling".  In the future, it will
 	also handle the "automatic info page handling" and possible
 	others.
 
 In general, the idea is to move stuff out of the Makefiles and into
 separate files where we don't need to worry about quoting rules and
 where each file can have a separate history of commits.  This simplifies
 the makefile logic (especially in terms of readability) and also
 simplifies maintenance of the code.
 
 The code is at:
 
 	http://www.NetBSD.org/~jlam/plist.diff
 	http://www.NetBSD.org/~jlam/plist.tar.gz
 
 They should be applied/extracted within pkgsrc/mk.  I don't have time
 to deal with this patch.  If this works, someone please commit this.
 
 	Cheers,
 
 	-- Johnny Lam <jlam@pkgsrc.org>