pkg_add feature proposal

Stephen Montgomery-Smith stephen at math.missouri.edu
Mon Aug 25 15:02:18 UTC 2008


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."


More information about the freebsd-ports mailing list