Here are some tips and tricks to speed-up the snap building process. Feel free to share yours as well.
Compiler Cache(CCache)
FIXME: The remote part feature is no longer supported by Snapcraft and should be replaced by ccache build-snaps
You can set up compiler cache to cache the build intermediate object code so that future build can reuse it. To accomplish this you may incorporate the ccache
remote part.
parts:
ccache: # empty, if it doesn't work you have an outdated snapcraft distribution
your-part:
after:
- ccache
<...>
NOTE
- This will slightly slow down clean build.
Disable Unused Build Options
You may disable the building of some software components to cut off some build time via custom configflags
. The following of some possible options:
- A subset of libraries in a library part that is not depended by your snapped application
- Documentation that isn’t currently easily accessible from the end users:
- Manpages
- Infodoc
- Manuals in HTML format
- Developer-oriented documentations (like Doxygen, Javadoc, …etc)
- Static or dynamic linking libraries of a library part that is not used by the depending part
- Optional features of a part that are not depended by your snapped application or parts
- Tests that is only beneficial to the upstream