From owner-freebsd-ports@FreeBSD.ORG Mon Aug 13 06:15:01 2007 Return-Path: Delivered-To: freebsd-ports@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 512E716A420 for ; Mon, 13 Aug 2007 06:15:01 +0000 (UTC) (envelope-from alexander@leidinger.net) Received: from redbull.bpaserver.net (redbullneu.bpaserver.net [213.198.78.217]) by mx1.freebsd.org (Postfix) with ESMTP id EECD413C46C for ; Mon, 13 Aug 2007 06:14:55 +0000 (UTC) (envelope-from alexander@leidinger.net) Received: from outgoing.leidinger.net (p54A56F25.dip.t-dialin.net [84.165.111.37]) by redbull.bpaserver.net (Postfix) with ESMTP id 63C762E13F; Mon, 13 Aug 2007 08:14:49 +0200 (CEST) Received: from webmail.leidinger.net (webmail.Leidinger.net [192.168.1.102]) by outgoing.leidinger.net (Postfix) with ESMTP id 7500E5B4926; Mon, 13 Aug 2007 08:14:46 +0200 (CEST) Received: (from www@localhost) by webmail.leidinger.net (8.13.8/8.13.8/Submit) id l7D6EkDj021695; Mon, 13 Aug 2007 08:14:46 +0200 (CEST) (envelope-from Alexander@Leidinger.net) Received: from pslux.cec.eu.int (pslux.cec.eu.int [158.169.9.14]) by webmail.leidinger.net (Horde MIME library) with HTTP; Mon, 13 Aug 2007 08:14:46 +0200 Message-ID: <20070813081446.6nxh47n64ocg8ksk@webmail.leidinger.net> X-Priority: 3 (Normal) Date: Mon, 13 Aug 2007 08:14:46 +0200 From: Alexander Leidinger To: RW 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.> In-Reply-To: <20070812181810.2b17d85f@gumby.homeunix.com.> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8; DelSp="Yes"; format="flowed" Content-Disposition: inline Content-Transfer-Encoding: quoted-printable User-Agent: Internet Messaging Program (IMP) H3 (4.1.4) / FreeBSD-7.0 X-BPAnet-MailScanner-Information: Please contact the ISP for more information X-BPAnet-MailScanner: Found to be clean X-BPAnet-MailScanner-SpamCheck: not spam, SpamAssassin (not cached, score=-14.9, required 8, BAYES_00 -15.00, DKIM_POLICY_SIGNSOME 0.00, RDNS_DYNAMIC 0.10) X-BPAnet-MailScanner-From: alexander@leidinger.net X-Spam-Status: No Cc: freebsd-ports@freebsd.org Subject: Re: How did upgrading applications happen before portupgrade etc? X-BeenThere: freebsd-ports@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Porting software to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 13 Aug 2007 06:15:01 -0000 Quoting RW (from Sun, 12 Aug 2007 =20 18:18:10 +0100): > On Sun, 12 Aug 2007 14:20:59 +0200 > Alexander Leidinger wrote: > >> Quoting RW (Sat, 11 Aug 2007 22:58:58 >> +0100): >> >> > On Sat, 11 Aug 2007 13:33:22 -0700 >> > Jeremy Chadwick 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 ; backup existing package >> > /usr/local/etc/rc.d/foo stop ; stop the daemon if needed >> > pkg_delete -f ; 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