DIP11

Steven Schveighoffer schveiguy at yahoo.com
Fri Aug 12 06:59:48 PDT 2011


On Fri, 12 Aug 2011 02:17:36 -0400, kennytm <kennytm at gmail.com> wrote:

> "Steven Schveighoffer" <schveiguy at yahoo.com> wrote:
>> On Thu, 11 Aug 2011 17:20:04 -0400, Nick Sabalausky <a at a.a> wrote:
>>
>> > "Andrei Alexandrescu" <SeeWebsiteForEmail at erdani.org> wrote in
>> > message
>> > news:j21g1a$ea4$1 at digitalmars.com...
>> >>
>> >> 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


More information about the Digitalmars-d mailing list