ccache: Fix for distcc cross-compiling / various improvements (#1026)

* ccache: Fix for distcc cross-compiling / various improvements

* Make ccache work when cross-compiling with distcc (fix #716)
* Allow to configure the ccache size in "pmbootstrap init"
* Moved ccache stats code from pmb/build/other.py to
  pmb/helpers/frontend.py
* Grouped job count, ccache size and timestamp based rebuilds
  together to "build options" and allow to skip them
* Sorted config options that had to be modified anyway
  alphabetically

* Improve comment in arch-bin-masquerade APKBUILD
This commit is contained in:
Oliver Smith 2017-12-21 16:42:29 +00:00 committed by GitHub
parent 071ec4c214
commit 567ac64e26
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
13 changed files with 213 additions and 96 deletions

View file

@ -83,11 +83,16 @@ def is_running(args):
def generate_cmdline(args, arch):
"""
:returns: a dictionary suitable for pmb.chroot.user(), to start the distccd
with the cross-compiler in the path and all options set.
with all options set.
NOTE: The distcc client of the foreign arch chroot passes the
absolute path to the compiler, which points to
"/usr/lib/arch-bin-masquerade/armhf/gcc" for example. This also
exists in the native chroot, and points to the armhf cross-
compiler there (both the native and foreign chroot have the
arch-bin-masquerade package installed, which creates the
wrapper scripts).
"""
path = "/usr/lib/gcc-cross-wrappers/" + arch + "/bin:" + pmb.config.chroot_path
ret = ["PATH=" + path,
"distccd",
ret = ["distccd",
"--pid-file", "/home/pmos/distccd.pid",
"--listen", "127.0.0.1",
"--allow", "127.0.0.1",
@ -110,7 +115,7 @@ def start(args, arch):
if info and info["cmdline"] == " ".join(cmdline):
return
stop(args)
pmb.chroot.apk.install(args, ["distcc", "gcc-cross-wrappers"])
pmb.chroot.apk.install(args, ["distcc", "arch-bin-masquerade"])
# Start daemon with cross-compiler in path
logging.info("(native) start distccd (" + arch + ") on 127.0.0.1:" +