Subject: Re: everything is a dependency and preventing removal
To: None <tech-pkg@netbsd.org>
From: Jeremy C. Reed <reed@reedmedia.net>
List: tech-pkg
Date: 01/10/2003 10:41:06
On Fri, 10 Jan 2003, Frank Cusack wrote:
> Shouldn't be too hard to create a target which does not recursively update.
>
> save +REQUIRED_BY
> save +CONTENTS
> install-in-place
> remove (diff of old +CONTENTS and new +CONTENTS)
This is the hard part. If it was just a list of files, then it would be
easy.
But it also has @exec, @unexec for copying files, making symlinks,
removing directories, deleting from and adding entries to info files,
updating /etc/shells, running ldconfig, setting up GConf schemas, shutting
down the gconfd service, building ScrollKeeper catalog database, ...
But maybe that doesn't matter. Because this functionality is probably only
needed for a few essential packages.
So I am looking at sh-utils, pkg_install, gtar, and then maybe libc (which
could be hard to update in place) and kernel and a /bin/sh shell.
So with updating sh-utils in place, it could run just the @unexec (to
remove info entry) before installing new sh-utils. Then do the diff to
remove any old files (if needed). And then do the @dirrm.
gtar-base is okay.
> restore +REQUIRED_BY
Jeremy C. Reed
http://bsd.reedmedia.net/