Subject: etc/postinstall obsolete check versus SYS_INCLUDE=symlinks ...
To: None <tech-userlevel@netbsd.org>
From: Luke Mewburn <lukem@netbsd.org>
List: tech-userlevel
Date: 11/26/2002 15:27:37
[cc-ed to tech-toolchain@ because SYS_INCLUDE is arguably a toolchain issue]
I recently added support to etc/postinstall to support checking for
and removing "obsolete" files, as specified in distrib/sets/*/obsolete.*
However, Jason disabled that support because it causes problems on
systems which use SYS_INCLUDE=symlinks (where /usr/include/sys
contains symlinks instead of the actual header files). (He
currently has at least one system like this).
Obviously, I think this is not optimal, because I think that the
obsolete check/fix is useful to users, especially those upgrading
(which is what the purpose of postinstall is...)
On discussing this with Jason, there are at least the following
options:
a) Deprecate support for SYS_INCLUDE=symlinks, and always use
SYS_INCLUDE=copies (which is the default anyway).
I believe this is Jason's preferred approach, and I'm happy
to do this as well.
[Jason; please correct me if I'm misrepresented your position.]
b) Reenable the support in postinstall for obsolete file checking,
and people who build using SYS_INCLUDE=symlinks will have to
use NOPOSTINSTALL=1 for their builds, and avoid using
"postinstall fix obsolete" manually.
(Note: SYS_INCLUDE=symlinks only works for DESTDIR=/
builds anyway)
c) Add support into etc/postinstall to determine if make(1)
has SYS_INCLUDE=symlink and skip the obsolete check in
that case.
d) Do nothing, and don't offer the (IMHO) useful functionality
of checking for and/or removing obsolete files.
I don't really consider this as a valid solution...
Comments?
Luke.