Algorithms to solve programming contest problems

via Digitalmars-d digitalmars-d at puremagic.com
Mon Oct 27 07:15:02 PDT 2014


On Monday, 27 October 2014 at 13:44:23 UTC, John Colvin wrote:
> On Monday, 27 October 2014 at 13:24:26 UTC, Marc Schütz wrote:
>> On Monday, 27 October 2014 at 09:19:26 UTC, John Colvin wrote:
>>> dub functions fine without internet connection. Packages 
>>> already in ~/.dub (or wherever else you might choose) are 
>>> used.
>>
>> And how is it going to get there? It is common for build 
>> service (openSUSE's OBS for instance) to disable all internet 
>> connectivity. All things that are necessary for building get 
>> installed by the build service from prebuilt packages _before_ 
>> the system is booted. It cannot download additional files 
>> during the build process.
>
> I'm not sure I fully understand, but `dub upgrade` will 
> download all the dependencies for the current package.
>
> The --cache=VALUE option can be used to specify where you want 
> them put.

I'm speaking about this:
https://build.opensuse.org/

This is for openSUSE, but Redhat/Fedore, Debian and others have 
similar services. They are used to build software packages (RPM, 
DEB) for all of a Linux distributions programs and libraries from 
the source. Each build starts off with a completely freshly 
installed environment (VM), and during it there is not internet 
connection. It can only access files from other packages that the 
build service has preinstalled into this system (as specified in 
the package's dependencies), or the package's source files.

This means that in order to build a DUB based project in such a 
system, there must not be external dependencies that DUB itself 
downloads. Instead, these dependencies need to be built 
separately as *-devel packages and then pulled as build 
requirements. Thus DUB needs to be told _not_ to download 
libraries, but use those that are already present in the system.


More information about the Digitalmars-d mailing list