Subject: descriptive PKG_PRESERVE (+PRESERVE)
To: None <tech-pkg@netbsd.org>
From: Jeremy C. Reed <reed@reedmedia.net>
List: tech-pkg
Date: 10/21/2003 21:44:29
A couple packages have PKG_PRESERVE defined.

pkg_install's delete/perform.c has:

	if (fexists(PRESERVE_FNAME)) {
		 printf("Package `%s' is marked as not for deletion\n", pkg);

I'd like to extend this so it has a message like:

PKG_PRESERVE=	This package is essential for ... whatever ...


bsd.pkg.mk has:
.  if defined(PKG_PRESERVE)
	${_PKG_SILENT}${_PKG_DEBUG}${DATE} > ${PRESERVE_FILE}
.  endif

I don't think the date is used, so this could be changed like:
	${_PKG_SILENT}${_PKG_DEBUG}${ECHO} ${CC} > ${PRESERVE_FILE}

And pkg_install's delete/perform.c could output that file.

(I will be using PKG_PRESERVE for my essential packages, like coreutils
and glibc.)

What do you think?

   Jeremy C. Reed
   http://bsd.reedmedia.net/

p.s. mtree Makefile should be fixed so it allows it to be package; it
also has PKG_PRESERVE defined but that isn't even used. Or better yet, it
should be a DEPENDENCY of pkg_install.

And pkg_install should get rid of NO_PACKAGE and NO_PKG_REGISTER too. It
also has PKG_PRESERVE defined that isn't used.

And same with archivers/pax ... if it is a dependency, let it be packaged.
(And the PKG_PRESERVE currently defined isn't even really used.)