From owner-freebsd-ports@FreeBSD.ORG Mon Aug 25 16:51:17 2008 Return-Path: Delivered-To: ports@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 9BD821065675; Mon, 25 Aug 2008 16:51:17 +0000 (UTC) (envelope-from wxs@atarininja.org) Received: from syn.atarininja.org (syn.csh.rit.edu [129.21.60.158]) by mx1.freebsd.org (Postfix) with ESMTP id 6B0DD8FC15; Mon, 25 Aug 2008 16:51:17 +0000 (UTC) (envelope-from wxs@atarininja.org) Received: by syn.atarininja.org (Postfix, from userid 1001) id B5AA15C2E; Mon, 25 Aug 2008 12:37:11 -0400 (EDT) Date: Mon, 25 Aug 2008 12:37:11 -0400 From: Wesley Shields To: Stephen Montgomery-Smith Message-ID: <20080825163711.GO69682@atarininja.org> References: <48B2996C.1050203@lozenetz.org> <20080825124806.GA78782@eos.sc1.parodius.com> <20080825130034.GA1070@straylight.m.ringlet.net> <48B2C041.1010204@math.missouri.edu> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <48B2C041.1010204@math.missouri.edu> User-Agent: Mutt/1.5.18 (2008-05-17) Cc: ports@freebsd.org, Jeremy Chadwick , Peter Pentchev , Anton - Valqk Subject: Re: pkg_add feature proposal 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, 25 Aug 2008 16:51:17 -0000 On Mon, Aug 25, 2008 at 09:22:57AM -0500, Stephen Montgomery-Smith wrote: > Peter Pentchev wrote: > > On Mon, Aug 25, 2008 at 05:48:06AM -0700, Jeremy Chadwick wrote: > >> On Mon, Aug 25, 2008 at 02:37:16PM +0300, Anton - Valqk wrote: > >>> Hi everyone, > >>> > >>> I've just got an Idea (maybe others had it too?). > >>> > >>> When doing pkg_add [-r] wouldn't it be better if pkg_add checks if _all_ > >>> dependent packages exists and checksums are ok (after downloaded if with > >>> -r), etc. checks _before_ installing the packages, because if you get > >>> 3-4 packages broken/missing when one package depends on 30-40 (X apps > >>> etc.) you should delete all already installed... > >>> > >>> I've got this problem when did pkg_add -r mod_musicindex and for some > >>> reason mod_musicindex didn't build the flac and libogg when > >>> $> make package-recursive > >>> specified. > >>> When the pkg_add get to these packages and they were not found on the > >>> web server, I've had to delete all installed packages by hand... uhh... > >>> > >>> so, what would you say about that? > >> I'd say it's a great idea (and an ideal idea), but it's not easily > >> implementable. Where would pkg_add get its list of dependencies from? > >> The port Makefile? And what if the user doesn't have ports installed? > >> > >> This is one of the many quirks of the ports vs. package system. > > > > Well, pkg_add *already* gets the list of dependencies from the .tbz file > > that it is either passed on the command line or it downloads. I believe > > that Anton is asking for a bit more separation between the "fetch all > > packages to be installed" and the "install all fetched (fought?) packages" > > phases of pkg_add's operation. However, given the way that pkg_add > > operates by invoking itself recursively, it might not be easy to do this > > without a major rewrite and algorithm change. > > > > I don't think it would be that hard to do. The root package has a > complete list of its dependencies in +CONTENTS, and they are even listed > in the order they need to be installed (so if it is recursive, it will > only be to one level). > > And it is a good idea. So the only question is "who will do it." Not that I'm volunteering to do it, but I've run into the need to use pkg_fetch and had to install portupgrade just to get it. What we are discussing here is closely related to that. It wouldn't be a hard stretch to implement a pkg_fetch in the base. It's on my todo list but not sure when (if) I will ever get to it. -- WXS