add --pkg-ccache option 41/254741/1
authorHyunggi Lee <hyunggi.lee@samsung.com>
Tue, 9 Mar 2021 05:53:30 +0000 (14:53 +0900)
committerHyunggi Lee <hyunggi.lee@samsung.com>
Tue, 9 Mar 2021 05:53:30 +0000 (14:53 +0900)
1. first build. create _ccache.tar
$ gbs build -A armv7l --ccache

after build is done
_ccache.tar file will be created
BUILD-ROOTS/scratch.armv7l.0/home/abuild/rpmbuild/OTHER/_ccache.tar
backup _ccache.tar file to your storage

2. rebuild with _ccache.tar
$ gbs build -A armv7l --pkg-ccache /path/to/_ccache.tar

test
build chromium-efl
build env: laptop NT371B5M
  - Intel(R) Core(TM) i7-7700HQ CPU @ 2.80GHz
  - SAMSUNG MZNLN256 256G SSD

first clean build
gbs build -A armv7l --ccache
build time: 29806s

rebuild
 gbs build -A armv7l --ccache --overwrite --pkg-ccache ~/_ccache.tar
build time: 3294s

rebuild (with qemu-accel (ccache, ninja)
gbs build -A armv7l --ccache --overwrite --pkg-ccache ~/_ccache.tar
build time: 2209s

Change-Id: I5df049e15eaa16a9859c8193a2b922f52406cd44
Signed-off-by: Hyunggi Lee <hyunggi.lee@samsung.com>
gitbuildsys/cmd_build.py
tools/gbs

index 4e89f95..d8e3f62 100644 (file)
@@ -613,6 +613,9 @@ def prepare_depanneur_cmd(args, buildarch, profile, workdir):
     if args.ccache:
         cmd += ['--ccache']
 
+    if args.pkg_ccache:
+        cmd += ['--pkg-ccache=%s' % args.pkg_ccache]
+
     if args.extra_packs:
         cmd += ['--extra-packs=%s' % args.extra_packs]
 
index 14d4119..99bea89 100755 (executable)
--- a/tools/gbs
+++ b/tools/gbs
@@ -258,6 +258,9 @@ def build_parser(parser):
                         help='working in offline mode. Start building directly')
     group.add_argument('--ccache', action="store_true",
                         help='use ccache to speed up rebuilds')
+    group.add_argument('--pkg-ccache',
+                        help='set ccache.tar file and enable ccache option '
+                       ', use ccache.tar file to speed up rebuilds')
     group.add_argument('--icecream', type=int, default=0,
                         help='Use N parallel build jobs with icecream')
     group.add_argument('--threads', type=int, default=1,