Date: Mon, 25 Aug 2008 12:37:11 -0400 From: Wesley Shields <wxs@FreeBSD.org> To: Stephen Montgomery-Smith <stephen@math.missouri.edu> Cc: ports@freebsd.org, Jeremy Chadwick <koitsu@freebsd.org>, Peter Pentchev <roam@ringlet.net>, Anton - Valqk <lists@lozenetz.org> Subject: Re: pkg_add feature proposal Message-ID: <20080825163711.GO69682@atarininja.org> In-Reply-To: <48B2C041.1010204@math.missouri.edu> References: <48B2996C.1050203@lozenetz.org> <20080825124806.GA78782@eos.sc1.parodius.com> <20080825130034.GA1070@straylight.m.ringlet.net> <48B2C041.1010204@math.missouri.edu>
next in thread | previous in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20080825163711.GO69682>