On Fri, 12 Aug 2011 02:17:36 -0400, kennytm <[email protected]> wrote:

"Steven Schveighoffer" <[email protected]> wrote:
On Thu, 11 Aug 2011 17:20:04 -0400, Nick Sabalausky <[email protected]> wrote:

> "Andrei Alexandrescu" <[email protected]> wrote in
> message
> news:[email protected]...
>>
>> It's difficult to get all dependencies when not all sources have
> > been  >> yet
>> downloaded.
>>
>
> With DIP11, yes. With a traditional-style package manager, no.

With either style, you need to download a package in order to
determine if  you need to download other packages (package a may
depend on package b  even though your project does not depend on
package b).  The DIP11 version  does this JIT, whereas your version
does it before compilation.  It's not  really any different.

-Steve


In Debian's apt, there will be a central index that records all
dependencies for packages in the repository. So the client only needs to
synchronize that index file regularly. The system will know package A
depends on B which depends on C and D and download all 4 packages.

This could be done (in fact, the tool could have a url system that uses apt). But it's beyond the scope of the DIP, which is to define a way to hook the compiler for a downloading tool when a file is on the Internet.

That said, since you need to download the pakcgaes anyway, having a
central index doesn't reduce the bytes you need to transfer and parse if
DIP11 doesn't support updating.

All the DIP does is provide a hook so the compiler can ask an external tool to download files/packages/whatever. It leaves open the protocol used by the tool, except that it should be in url form.

The tool can implement the download any way it wants (individual files, packages, full-blown metadata-based centralized-indexed kitchen-sinked github or apt or whatever).

-Steve

Reply via email to