Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 12 Aug 2007 14:20:59 +0200
From:      Alexander Leidinger <Alexander@Leidinger.net>
To:        RW <fbsd06@mlists.homeunix.com>
Cc:        freebsd-ports@freebsd.org
Subject:   Re: How did upgrading applications happen before portupgrade etc?
Message-ID:  <20070812142059.35077b0d@deskjail>
In-Reply-To: <20070811225858.7eb933ef@gumby.homeunix.com.>
References:  <20070811115642.L34115@obelix.home.rakhesh.com> <20070811083357.GA34007@eos.sc1.parodius.com> <20070811145314.A47727@obelix.home.rakhesh.com> <20070811203322.GA78245@eos.sc1.parodius.com> <20070811225858.7eb933ef@gumby.homeunix.com.>

next in thread | previous in thread | raw e-mail | index | archive | help
Quoting RW <fbsd06@mlists.homeunix.com> (Sat, 11 Aug 2007 22:58:58 +0100):

> On Sat, 11 Aug 2007 13:33:22 -0700
> Jeremy Chadwick <koitsu@FreeBSD.org> wrote:
> 
> > On Sat, Aug 11, 2007 at 03:02:53PM +0400, Rakhesh Sasidharan wrote:
> > >> 5.  pkg_delete port
> > >
> > > I see. In step 5, "pkg_delete port" wont work if port is required
> > > by others right? So you delete those apps too? Could be a lot of
> > > stuff to uninstall, right?
> > 
> > Absolutely correct.  That might seem like a nightmare to most people,
> > but to me it's not. 
> 
> It's not correct,  "pkg_delete -f" can force the deletion. I would
> manually upgrade a port like this:
> 
> cd /usr/ports/misc/foo 
> make   ; do the build
> pkg_info -qO misc/foo ; get old package name
> pkg_create -b <old-package-name>  ; backup existing package
> /usr/local/etc/rc.d/foo stop ; stop the daemon if needed
> pkg_delete -f <old-package-name>  ; force removal
> make install

At this point your /var/db/pkg/ directory does not reflect reality
anymore, e.g. all ports which depend upon this port still list the old
version of it. Before I used portupgrade I had some scripts which
dealed with parts of this problem. You also lose the +REQUIRED_BY
file of the updated port. My scripts solved the urgent dependency
problems. When portupgrade came along and was stable it had all those
nice features I would have been happy to see in my own scripts but
never had the pressure to implement because they where not that
important for me. I also have to do less work by hand when using
portupgrade.

It may be not the best implementation for such a tool, but it's a huge
step forward compared to what we had before.

> /usr/local/etc/rc.d/foo start ; start the daemon if needed
> make clean
> rm <back-up package> 

Bye,
Alexander.

-- 
Change is the essential process of all existence.
		-- Spock, "Let That Be Your Last Battlefield", stardate 5730.2
http://www.Leidinger.net  Alexander @ Leidinger.net: PGP ID = B0063FE7
http://www.FreeBSD.org     netchild @ FreeBSD.org  : PGP ID = 72077137



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20070812142059.35077b0d>