From owner-freebsd-ports Thu Feb 8 10: 9: 4 2001 Delivered-To: freebsd-ports@freebsd.org Received: from jason02.u.washington.edu (jason02.u.washington.edu [140.142.8.52]) by hub.freebsd.org (Postfix) with ESMTP id D01A737B6A1 for ; Thu, 8 Feb 2001 10:08:46 -0800 (PST) Received: from mead4.u.washington.edu (kraemer@mead4.u.washington.edu [140.142.12.172]) by jason02.u.washington.edu (8.9.3+UW00.05/8.9.3+UW00.12) with ESMTP id KAA47214; Thu, 8 Feb 2001 10:08:46 -0800 Received: from localhost (kraemer@localhost) by mead4.u.washington.edu (8.9.3+UW00.05/8.9.3+UW00.12) with ESMTP id KAA100742; Thu, 8 Feb 2001 10:08:45 -0800 Date: Thu, 8 Feb 2001 10:08:45 -0800 (PST) From: Brian Kraemer To: Jordan Hubbard Cc: freebsd-ports@FreeBSD.ORG Subject: Re: Ports updating... Good ways? In-Reply-To: <17287.981654580@winston.osd.bsdi.com> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-freebsd-ports@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org On Thu, 8 Feb 2001, Jordan Hubbard wrote: > That's why more sophisticated package management systems than our own > have keywords like "replaces", "augments" and "occludes" in their > metadata, each followed by a list of previous versions for which that > keyword applies. If it replaces a version, it's backwards compatible > with that version. If it augments a version, it's strictly an upgrade > kit (e.g. just the deltas) and if it occludes a version, it means you > have to have both installed if there are remaining dependencies on the > old version. Reference counts also help for knowing when the last > dependency on something drops away and you can remove it too. :) > > Anyway, "make update" is basically a feature which is awaiting a Ports > Hero to come along and add the necessary intelligence to actually > automate it properly. :) If we're willing to sacrifice a little bit of automation, "make update" could ask the user what to do with each dependency. i.e. gtkwooba depends on port gtk. [R]eplace/[A]ugment/[O]cclude? gtkwooba depends on port libwooba. [R]eplace/[A]ugment/[O]cclude? ... Of course all this would be fully documented :) The major downside of this is that it depends (no pun intended) on the user knowing how each dependency should be handled, which they may or may not know. However I would think it would make implementing "make update" much easier. Even with this user-interaction, I still think it would be a big win over updating each port and dependency by hand. -Brian To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-ports" in the body of the message