How to detect portupgrade and barf

Ion-Mihai Tetcu itetcu at people.tecnik93.com
Tue Oct 11 11:38:13 PDT 2005


On Tue, 11 Oct 2005 09:21:37 -0700
Brooks Davis <brooks at one-eyed-alien.net> wrote:

> On Tue, Oct 11, 2005 at 09:46:37AM +0100, Nick Hilliard wrote:
> > > Do what needs to be done in the deinstall script of the package.
> > > If you can't do that for some reason, you must find a way to have
> > > them both installed at once that is supported by the ports
> > > collection.  Short of some sort of new port per version scheme I
> > > don't see a way to do that.
> > 
> > Hi Brooks,
> > 
> > Both old and new package will be installed in version specific
> > directories, so no overlap will occur and the versions can be used
> > and run simultaneously.
> > 
> > The problem is how to detect whether portupgrade is being used to
> > run the pkg_delete, or whether pkg_delete is being run directly
> > from the command line. Is this supported, or is there some good or
> > recommended way of doing this?
> 
> There is no easy way to do this and doing it won't really solve the
> problem

This reminds me (not directly related)  that maybe is time to find some way to:
make reinstall <> make deinstall && make install

>  because it won't prevent people from doing the same thing
> manually.  The problem is that this port violates certain assumptions
> of the ports infrastructure.  Hmm, one slightly evil thought occurs to
> me.  Since the software installs in different directories each time,
> what about copying the previous install into WRKDIR and reinstalling
> it as part of the installation process?  Your plist would be odd, but
> it might work.  Another option that would be more work but might be
> cleaner since it could let you uninstall the old bits after upgrade
> would be a special port that takes care of saving a copy of the old
> for you which is a BUILD_DEPEND and INSTALL_DEPEND if and only if a
> previous install exists.  It wouldn't prevent some types of foot
> shooting, 

Please yell as much as possible in pre-everything (and say: no, this
ain't a temporary thing, it won't change when next port version is
released).


-- 
IOnut
Unregistered ;) FreeBSD "user"
  "Intellectual Property" is   nowhere near as valuable   as "Intellect"




More information about the freebsd-ports mailing list