Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 13 Aug 2007 08:14:46 +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:  <20070813081446.6nxh47n64ocg8ksk@webmail.leidinger.net>
In-Reply-To: <20070812181810.2b17d85f@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.> <20070812142059.35077b0d@deskjail> <20070812181810.2b17d85f@gumby.homeunix.com.>

next in thread | previous in thread | raw e-mail | index | archive | help
Quoting RW <fbsd06@mlists.homeunix.com> (from Sun, 12 Aug 2007 =20
18:18:10 +0100):

> On Sun, 12 Aug 2007 14:20:59 +0200
> Alexander Leidinger <Alexander@Leidinger.net> wrote:
>
>> 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,
>
> I know, I was just pointing out that it is possible to upgrade a port
> manually without removing every single package that depends on it.
>
> Actually having dependencies package version mismatches needn't cause
> any significant problems. And massaging them into self-consistency is

It does cause problems. You have no +REQUIRED_BY file anymore, so =20
pkg_delete allows you to remove it without a warning even if it is =20
still needed. If you make sure to keep the file, you still need to =20
change the dependencies (in +CONTENTS and in +REQUIRED_BY), else the =20
entries in +REQUIRED_BY are not removed on deinstall of a port.

> itself a form of corruption, since you lose information about what was
> built against what.

No, it's not a corruption as long as the changes are ABI compatible =20
(if it isn't compatible, you need to update some more ports, but this =20
is not the subject of the discussion). The dependency tracking in =20
/var/db is meant to reflect the current dependencies of the installed =20
software, not the dependencies when a port was first build. It doesn't =20
matter for e.g. a viruschecker if rar is at version 1.1 or 1.2, as =20
long as the command line options used still have the same syntax and =20
semantic.

Bye,
Alexander.

--=20
I'll burn my books.
=09=09-- Christopher Marlowe

http://www.Leidinger.net    Alexander @ Leidinger.net: PGP ID =3D B0063FE7
http://www.FreeBSD.org       netchild @ FreeBSD.org  : PGP ID =3D 72077137



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