diff options
author | John Cater <jcater@google.com> | 2017-01-30 17:49:26 +0000 |
---|---|---|
committer | Yun Peng <pcloudy@google.com> | 2017-01-31 08:59:09 +0000 |
commit | b0308d44cba553a2cfd61a7d679a32ad078afe6f (patch) | |
tree | 282f9f5cc5c276e3c7cbf9c04f692a83ba8fd3f1 /scripts/packages/BUILD | |
parent | b7e7ea4da27f989f7670d6087a25f14312ac2dd7 (diff) |
Move debian package building into its own package.
As more package options are added, it's confusing that the
debian package is generated in scripts/package/BUILD, but
scripts/package/debian/ contains the related files (and isn't
itself a Bazel package). This change makes the file locations
more predictable, and also makes it easier to see what
is happening in scripts/packages.
--
Change-Id: Id8c445fc164a1a4aa09c52559a5143578cfdea88
Reviewed-on: https://cr.bazel.build/8510
PiperOrigin-RevId: 146003934
MOS_MIGRATED_REVID=146003934
Diffstat (limited to 'scripts/packages/BUILD')
-rw-r--r-- | scripts/packages/BUILD | 142 |
1 files changed, 3 insertions, 139 deletions
diff --git a/scripts/packages/BUILD b/scripts/packages/BUILD index 955ddab7bc..2f240a0a09 100644 --- a/scripts/packages/BUILD +++ b/scripts/packages/BUILD @@ -3,6 +3,7 @@ package(default_visibility = ["//scripts/packages:__subpackages__"]) filegroup( name = "srcs", srcs = glob(["**"]) + [ + "//scripts/packages/debian:srcs", "//scripts/packages/fedora:srcs", ], visibility = [ @@ -27,9 +28,9 @@ filegroup( "//conditions:default": [ ":install.sh", ":generate-package-info", - ":bazel-debian", - ":bazel-debian-src", "//:bazel-distfile", + "//scripts/packages/debian:bazel-debian", + "//scripts/packages/debian:bazel-debian-src", ], }), ) @@ -87,140 +88,3 @@ self_extract_binary( ], launcher = ":launcher_bin.sh", ) - -load("//tools/build_defs/pkg:pkg.bzl", "pkg_tar", "pkg_deb") - -pkg_tar( - name = "bazel-bin", - files = [ - ":bazel", - ":bazel-real", - ], - mode = "0755", - package_dir = "/usr/bin", - strip_prefix = ".", -) - -pkg_tar( - name = "bazel-rc", - files = ["debian/bazel.bazelrc"], - mode = "0644", - package_dir = "/etc", - strip_prefix = "debian", -) - -genrule( - name = "rename-bazel-completion", - srcs = ["//scripts:bash_completion"], - outs = ["etc/bash_completion.d/bazel"], - cmd = "cp $< $@", -) - -pkg_tar( - name = "bazel-completion", - files = [":etc/bash_completion.d/bazel"], - mode = "0644", - strip_prefix = ".", -) - -pkg_tar( - name = "debian-data", - extension = "tar.gz", - deps = [ - ":bazel-bin", - ":bazel-completion", - ":bazel-rc", - ], -) - -genrule( - name = "embedded_label", - srcs = [":debian-data"], - outs = [ - "version.txt", - ], - cmd = - "find -L . -name stable-status.txt -exec cat '{}' ';'" + - " | grep EMBED_LABEL | cut -d ' ' -f 2-" + - # Debian package manager does not order our rcs correctly, insert a tilde - # Non RC version number are not matched by the regex, example translations: - # 0.1.2 0.1.2 - # 0.1.2rc2 0.1.2~rc2 - # 0.1.2rc2-jdk7 0.1.2~rc2-jdk7 - " | sed -E 's/^([0-9\\.]+)([^0-9\\.].*)$$/\\1~\\2/'" + - " > $@\n", - stamp = 1, -) - -pkg_deb( - name = "bazel-debian", - architecture = "amd64", - built_using = "bazel (HEAD)", - conflicts = [ - "openjdk-9-jdk", - ], - data = ":debian-data", - depends = select({ - "//tools/jdk:jdk7": [ - "java7-jdk | java7-sdk | oracle-java7-installer", - ], - "//conditions:default": [ - "google-jdk | java8-jdk | java8-sdk | oracle-java8-installer", - ], - }) + [ - "g++", - "zlib1g-dev", - "bash-completion", - ], - description_file = "debian/description", - homepage = "http://bazel.build", - maintainer = "The Bazel Authors <bazel-dev@googlegroups.com>", - package = "bazel", - version_file = ":version.txt", -) - -filegroup( - name = "debian-files", - srcs = [ - "debian/compat", - "debian/control", - "debian/copyright", - "debian/rules", - ], -) - -genrule( - name = "generate-changelog-file", - srcs = [ - "convert_changelog.py", - "//:changelog-file", - "//:bazel-srcs", # Force a rebuild on source change - ], - outs = ["changelog"], - cmd = "python $(location convert_changelog.py) bazel-out/volatile-status.txt $(location //:changelog-file) $(location changelog)", - stamp = 1, -) - -genrule( - name = "bazel-debian-src", - srcs = [ - "//:bazel-srcs", - ":debian-files", - ":changelog", - ], - outs = [ - "bazel.dsc", - "bazel.tar.gz", - ], - cmd = """ - mkdir -p bazel/debian - tar -xf $(location //:bazel-srcs) -C ./bazel - for f in $(locations :debian-files); do - cp $$f ./bazel/debian/ - done - cp $(location :changelog) ./bazel/debian - dpkg-source -b ./bazel - cp ./bazel_*.dsc $(location bazel.dsc) - cp ./bazel_*.tar.gz $(location bazel.tar.gz) - """, -) |