Forum > General

How can I configure FPCup to avoid downloading files over and over again?

(1/1)

vfclists:
I want to configure FPCup to avoid downloading stuff repeatedly.

The main things I see are

1. Build Tools -  bootstrap compiler, binutils, gdb etc.

* Can they be downloaded into a fixed location and reused without having to be downloaded again, or at least occasionally. Even if they are installed separately for each build can the original downloaded files be kept and just copied over?
2. The repository - Make local mirrors and synchronize them regularly and checkout from it. This is something I did with Git and it takes just seconds to keep it up to date and checkout the revisions I want.

* Is it possible to copy the whole repos and get FPCup to retrieve the branches or revisions from it, keeping the synchronized with the original repos?
* In the case of the repos can subversion check them out via  a file system based method, rather than a local network mirror which may be more complicated to setup.

* I notice that FPCup has a getfullrepo option. Can the full repo be refreshed regularly to avoid huge repeated downloads.

shobits1:

--- Quote ---1. Build Tools -  bootstrap compiler, binutils, gdb etc.
--- End quote ---
use:

--- Code: ---binutilsdir=...
fpcbootstrapdir=...
... is the path to directory

--- End code ---


--- Quote ---2. The repository - Make local mirrors and synchronize them regularly and checkout from it. This is something I did with Git and it takes just seconds to keep it up to date and checkout the revisions I want.

--- End quote ---
I use

--- Code: ---getfullrepo=true
--- End code ---
It will do a regular svn checkout and get the full repo inside  `.svn` directory... refreshing won't take much time recompiling/building would.

you may take a look at

--- Code: ---; Keeps changes you made to the svn checkout:
keeplocalchanges=true/false

--- End code ---

vfclists:

--- Quote from: shobits1 on July 03, 2016, 09:45:06 pm ---I use

--- Code: ---getfullrepo=true
--- End code ---
It will do a regular svn checkout and get the full repo inside  `.svn` directory... refreshing won't take much time recompiling/building would.

--- End quote ---

When you use the getfullrepo option how do you configure the directory to be shared among multiple build configurations? For instance if I build fixes1.6 using fixes3.0 compiler, and I want to create another configuration using lazarus trunk and fpc trunk, how do I share the repo between them?
I want to have to separate source checkouts which will not clobber one another.

Thanks

shobits1:
you need to use

--- Code: ---installdir=INSTALL_PATH
fpcdir=FPC_PATH
lazdir=LAZARUS_PATH

--- End code ---

also you can share repos/brunch between builds, but you can't mix them up (didn't try it but should work).

to explain it more let say you have:
Build1: lazarus fixes1.6 + fpc 3.0.0
installdir=c:\dev
fpcdir=c:\dev\fpc300
lazdir=c:\dev\laz16

and you want to do second build
Build2: lazarus trunk + fpc 3.0.0
installdir=c:\dev
fpcdir=c:\dev\fpc300 -- > OK
lazdir=c:\dev\laz16   -- > WRONG, because repository already have URL of  lazarus fixes1.6 so you need to specify other directory.

so Build 1 & 2 can share fpc repo (same brunch) but can't share lazarus (different brunch)

PS: personally I prefer to not share repo/brunch between builds.

Navigation

[0] Message Index

Go to full version