From owner-freebsd-ports@FreeBSD.ORG Mon Aug 25 15:02:18 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 C250D1065685; Mon, 25 Aug 2008 15:02:18 +0000 (UTC) (envelope-from stephen@math.missouri.edu) Received: from math.missouri.edu (math.missouri.edu [128.206.184.200]) by mx1.freebsd.org (Postfix) with ESMTP id 183908FC13; Mon, 25 Aug 2008 15:02:17 +0000 (UTC) (envelope-from stephen@math.missouri.edu) Received: from [128.206.184.213] (cauchy.math.missouri.edu [128.206.184.213]) by math.missouri.edu (8.13.1/8.13.1) with ESMTP id m7PEN6W5044699; Mon, 25 Aug 2008 09:23:07 -0500 (CDT) (envelope-from stephen@math.missouri.edu) Message-ID: <48B2C041.1010204@math.missouri.edu> Date: Mon, 25 Aug 2008 09:22:57 -0500 From: Stephen Montgomery-Smith User-Agent: Mozilla/5.0 (X11; U; FreeBSD i386; en-US; rv:1.8.1.16) Gecko/20080815 SeaMonkey/1.1.11 MIME-Version: 1.0 To: Peter Pentchev References: <48B2996C.1050203@lozenetz.org> <20080825124806.GA78782@eos.sc1.parodius.com> <20080825130034.GA1070@straylight.m.ringlet.net> In-Reply-To: <20080825130034.GA1070@straylight.m.ringlet.net> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Virus-Scanned: ClamAV 0.88/8086/Mon Aug 25 07:20:55 2008 on math.missouri.edu X-Virus-Status: Clean Cc: ports@freebsd.org, Jeremy Chadwick , 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 15:02:18 -0000 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."