Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 9 Jul 2002 18:19:53 +0200
From:      Rahul Siddharthan <rsidd@online.fr>
To:        Dan Nelson <dnelson@allantgroup.com>
Cc:        arch@FreeBSD.ORG
Subject:   Re: Cleaning old packages (was: Package system flaws?)
Message-ID:  <20020709161953.GA69779@lpt.ens.fr>
In-Reply-To: <20020709154912.GA20718@dan.emsphone.com>
References:  <20020709113549.GA249@lpt.ens.fr> <20020709154912.GA20718@dan.emsphone.com>

next in thread | previous in thread | raw e-mail | index | archive | help
Dan Nelson said on Jul  9, 2002 at 10:49:13:
> > new package.  Suppose you had installed foo-1.3.1, and then another
> > port you were installing overwrote this with foo-1.3.2.  Now both are
> > registered in /var/db/pkg but you can't pkg_delete foo-1.3.1 because
> > it will remove files with common names from foo-1.3.2.
> 
> If you use portupgrade to install ports and packages, it will deinstall
> the old port before installing the new one.

Since you're the third person telling me this (the first two were
off-list) let me clarify -- I know about portupgrade.  Yes, if I use
only portupgrade and nothing else, I won't have the problem.  But
using portupgrade all the time is totally unrealistic: (1) it has
problems with binary packages, and (2) I don't like rebuilding every
dependency which has had the most minor of changes every time I
install a new port.  Besides, portupgrade is not part of the base
system, it's an add-on, so in my opinion saying "use portupgrade" is
not an answer.  If you use the base system tools you *will* run into
the problem of duplicate installed packages, rather quickly.

I was initially impressed with portupgrade, but after using it a while
I realized it solves problems which I don't have and not the ones I
have.  Mainly, I want dependency tracking (which the ports system
supplies already) but I don't want to upgrade old packages
automatically unless it's essential or I specifically ask for it.   As
others have pointed out, what's needed is using version ranges to
express dependencies.

Portupgrade (pkgdb -F) also has a "fix" for duplicate packages but it
doesn't actually remove any redundant files -- it tacks all the
+CONTENTS to the most recently installed package and removes the
entries of the rest.  I think one can do better.  

Gentoo Linux's (http://www.gentoo.org) "portage" system has a lot of
nice ideas worth stealing, in my opinion (in particular it supports
version ranges, but other things too).  At some point during the next
month I was thinking of implementing some gentoo-like features on
freebsd for my own use (but since I'm not an expert C programmer I'll
probably end up using python or something like that.)

- Rahul

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-arch" in the body of the message




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