Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 25 Aug 2008 09:22:57 -0500
From:      Stephen Montgomery-Smith <stephen@math.missouri.edu>
To:        Peter Pentchev <roam@ringlet.net>
Cc:        ports@freebsd.org, Jeremy Chadwick <koitsu@freebsd.org>, Anton - Valqk <lists@lozenetz.org>
Subject:   Re: pkg_add feature proposal
Message-ID:  <48B2C041.1010204@math.missouri.edu>
In-Reply-To: <20080825130034.GA1070@straylight.m.ringlet.net>
References:  <48B2996C.1050203@lozenetz.org>	<20080825124806.GA78782@eos.sc1.parodius.com> <20080825130034.GA1070@straylight.m.ringlet.net>

next in thread | previous in thread | raw e-mail | index | archive | help
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."



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?48B2C041.1010204>