Support use of ccache per project

Bug #1194894 reported by Francis Ginther
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
cupstream2distro Configuration
New
Undecided
Unassigned

Bug Description

Is it possible to safely use ccache on a per-project basis by defining a flag in the project config:
    ccache: True

It's not safe to use cache with concurrent builds, which we do for x86 builds. We can have project-X and project-Y building concurrently and two unique builds of project-X building at the same time (this happens when two or more merge proposals trigger -ci builds at the same time). We also have concurrent builds of amd64 and i386 flavors. The only environment where we do not have concurrent builds is armhf (and that could potentially be made concurrent in the future). However, it may be safe to do concurrent builds if correctly configured:

<Trevinho> fginther: in theory having it (per process config) would be nice... and probably would speed up rebuilds a lot
<Trevinho> fginther: however when using ccache + pch, it seems that the rebuilds are slower than only ccache (see final comment on https://lists.samba.org/archive/ccache/2010q3/000583.html )
<fginther> Trevinho, maybe a per-process config would be good. We can only use ccache builds for armhf because armhf is the only environment where concurrent builds don't happen (but is also where we could use the most speedup).
<Trevinho> fginther: can't we use ccache with different .ccache config also in other builders?
<fginther> Trevinho, I'm not aware of doing that, I can look into that as well
<Trevinho> fginther: in theory only setting CCACHE_DIR per each project should be enough

Need to investigate use of ccache as indicated and determine what parts of the build process need to be updated if it can be used.

Changed in cupstream2distro-config:
status: New → Confirmed
status: Confirmed → New
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.