github.phpd.cn/thought-machine/please@v12.2.0+incompatible/package/BUILD (about) 1 subinclude('//build_defs:version') 2 subinclude('//build_defs:fpm') 3 subinclude('//build_defs:signing') 4 5 # This is the master list of files that get installed. 6 filegroup( 7 name = 'installed_files', 8 srcs = [ 9 '//src:please', 10 '//tools/jarcat', 11 '//tools/java:javac_worker', 12 '//tools/java:junit_runner', 13 '//tools/please_diff_graphs', 14 '//tools/please_go_filter', 15 '//tools/please_go_test', 16 '//tools/please_maven', 17 '//tools/please_pex', 18 ], 19 ) 20 21 signed_fpm_deb( 22 name = 'please', 23 version = VERSION, 24 dirs = {'/opt/please': [':installed_files']}, 25 links = { 26 '/usr/bin/plz': '/opt/please/please', 27 '/usr/bin/plz_diff_graphs': '/opt/please/please_diff_graphs', 28 }, 29 ) 30 31 signed_fpm_deb( 32 name = 'plz_rpc_cache_server', 33 package_name = 'plz-rpc-cache-server', 34 version = VERSION, 35 files = { 36 '/usr/bin/plz_rpc_cache_server': '//tools/cache:rpc_cache_server', 37 }, 38 ) 39 40 signed_fpm_deb( 41 name = 'plz_http_cache_server', 42 package_name = 'plz-http-cache-server', 43 version = VERSION, 44 files = { 45 '/usr/bin/plz_http_cache_server': '//tools/cache:http_cache_server', 46 }, 47 ) 48 49 signed_fpm_deb( 50 name = 'please_sandbox', 51 version = VERSION, 52 files = { 53 '/usr/bin/please_sandbox': '//tools/sandbox:please_sandbox', 54 }, 55 # fpm builds us the deb, but we need to apply the suid bit separately. 56 post_cmds = [ 57 'ar x $OUT', 58 'rm $OUT', 59 'tar -xzf data.tar.gz', 60 'rm data.tar.gz', 61 'tar -czf data.tar.gz --mode="u+s" --owner root --group root usr/bin/please_sandbox', 62 'ar -rc $OUT debian-binary control.tar.gz data.tar.gz', 63 ], 64 ) 65 66 signed_tarball( 67 name = 'please_tarball', 68 srcs = [':installed_files'], 69 out = 'please_%s.tar.gz' % VERSION, 70 subdir = 'please', 71 ) 72 73 signed_tarball( 74 name = 'servers_tarball', 75 srcs = [ 76 '//tools/cache:http_cache_server', 77 '//tools/cache:rpc_cache_server', 78 ], 79 out = 'please_servers_%s.tar.gz' % VERSION, 80 subdir = 'please', 81 ) 82 83 filegroup( 84 name = 'tarballs', 85 srcs = [ 86 ':please_tarball', 87 ':servers_tarball', 88 ], 89 ) 90 91 # This generates a stamped version of the various inputs which will have a unique name. 92 # We don't really use it here, it's for testing purposes really. 93 hash_filegroup( 94 name = 'hash_files', 95 srcs = [':installed_files'], 96 )