Subject: pkgsrc changes.
To: None <tech-userlevel@NetBSD.ORG>
From: Alistair Crooks <azcb0@amdahl.com>
List: current-users
Date: 06/22/1998 08:14:20
I thought I'd just explain the recent "automatic manual page handling"
changes that I've just made to the pkgsrc system, and outline what I'd
like to do in the near future too.

1. The old package Makefiles used to contain MAN<sect>= foo.<sect>
and CAT<sect>=bar.0, and these definitions were extremely tedious to
put into the Makefile, error-prone when updating a package, and a
duplication of information - the information is encoded in the package's
PLIST.  The "automatic manual page handling" changes simply grab the
information from the pkg/PLIST file, using one gonzo regular expression
and egrep(1), so there's no need to define the MANx and CATx stuff
anymore. Similarly, MANLANG is now gone - that information, too is
available from the PLIST. MANPREFIX is also gone, as is CATPREFIX, as
that information is available from the PLIST.

I have tested this across a lot of packages, but my test machine is a
486 DX2/66 - not the fastest beast on this Earth, so I could have missed
something. If so, please use send-pr in the usual way.

2. The various INFO_FILES files are in the same boat here - we should be
able to get rid of the INFO_FILES definition in the package Makefiles by
using the information in the PLIST.

3. I'd like to do much the same kind of thing for shared object
configuration on a.out NetBSD ports, and symbolic link creation on ELF
NetBSD ports. Once again, the information is in the PLIST, and the type
of port can be ascertained from OBJECT_FMT in pkgsrc/mk/bsd.own.mk.
This would mean that the ${LDCONFIG} || ${TRUE} statements could be
deleted from the package Makefiles, and that some more packages would
work on ELF.

There are no prizes for guessing where we're going in the long-term with
this.