diff options
author | Yun Peng <pcloudy@google.com> | 2016-07-01 12:40:41 +0000 |
---|---|---|
committer | Damien Martin-Guillerez <dmarting@google.com> | 2016-07-01 13:36:44 +0000 |
commit | fdb5a8c06985d78c55981a981a72bd4f0766ddb8 (patch) | |
tree | dc7fdc24cecb5f89127a72ea4dae779fa51ec9cc | |
parent | d0d266732afc4f6ac589df31cf45c1f4cc8e300d (diff) |
Fixed Bazel deb package dependency on Ubuntu 16.04
Declare openjdk-9-jdk as Conflicts
Progress towards #1456
--
Change-Id: I67c17b78f90f81dbcc9c39bf6f3915789662fa94
Reviewed-on: https://bazel-review.googlesource.com/#/c/3951
MOS_MIGRATED_REVID=126402113
-rw-r--r-- | scripts/packages/BUILD | 3 | ||||
-rw-r--r-- | tools/build_defs/pkg/README.md | 4 | ||||
-rw-r--r-- | tools/build_defs/pkg/make_deb.py | 41 | ||||
-rw-r--r-- | tools/build_defs/pkg/pkg.bzl | 2 |
4 files changed, 28 insertions, 22 deletions
diff --git a/scripts/packages/BUILD b/scripts/packages/BUILD index 38fc2f3b15..05702d12b9 100644 --- a/scripts/packages/BUILD +++ b/scripts/packages/BUILD @@ -111,6 +111,9 @@ pkg_deb( name = "bazel-debian", architecture = "amd64", built_using = "bazel (HEAD)", + conflicts = [ + "openjdk-9-jdk", + ], data = ":debian-data", depends = select({ "//tools/jdk:jdk7": [ diff --git a/tools/build_defs/pkg/README.md b/tools/build_defs/pkg/README.md index 80956476b2..4e6b8a600b 100644 --- a/tools/build_defs/pkg/README.md +++ b/tools/build_defs/pkg/README.md @@ -227,7 +227,7 @@ Creates a tar file from a list of inputs. ### pkg_deb ```python -pkg_deb(name, data, package, architecture, maintainer, preinst, postinst, prerm, postrm, version, version_file, description, description_file, built_using, built_using_file, priority, section, homepage, depends, suggests, enhances, predepends, recommends) +pkg_deb(name, data, package, architecture, maintainer, preinst, postinst, prerm, postrm, version, version_file, description, description_file, built_using, built_using_file, priority, section, homepage, depends, suggests, enhances, conflicts, predepends, recommends) ``` Create a debian package. See <a @@ -358,7 +358,7 @@ for more details on this. <tr> <td> <code>depends</code>, <code>suggests</code>, <code>enhances</code>, - <code>predepends</code> and <code>recommends</code>. + <code>conflicts</code>, <code>predepends</code> and <code>recommends</code>. </td> <td> <code>String list, optional</code> diff --git a/tools/build_defs/pkg/make_deb.py b/tools/build_defs/pkg/make_deb.py index 54c5ee9f8b..c2329282a1 100644 --- a/tools/build_defs/pkg/make_deb.py +++ b/tools/build_defs/pkg/make_deb.py @@ -26,22 +26,16 @@ from third_party.py import gflags # list of debian fields : (name, mandatory, wrap[, default]) # see http://www.debian.org/doc/debian-policy/ch-controlfields.html DEBIAN_FIELDS = [ - ('Package', True, False), - ('Version', True, False), + ('Package', True, False), ('Version', True, False), ('Section', False, False, 'contrib/devel'), ('Priority', False, False, 'optional'), - ('Architecture', True, False, 'all'), - ('Depends', False, True, []), - ('Recommends', False, True, []), - ('Suggests', False, True, []), - ('Enhances', False, True, []), - ('Pre-Depends', False, True, []), - ('Installed-Size', False, False), - ('Maintainer', True, False), - ('Description', True, True), - ('Homepage', False, False), - ('Built-Using', False, False, 'Bazel') - ] + ('Architecture', True, False, 'all'), ('Depends', False, True, []), + ('Recommends', False, True, []), ('Suggests', False, True, []), + ('Enhances', False, True, []), ('Conflicts', False, True, []), + ('Pre-Depends', False, True, []), ('Installed-Size', False, False), + ('Maintainer', True, False), ('Description', True, True), + ('Homepage', False, False), ('Built-Using', False, False, 'Bazel') +] gflags.DEFINE_string('output', None, 'The output file, mandatory') gflags.MarkFlagAsRequired('output') @@ -254,20 +248,27 @@ def GetFlagValue(flagvalue, strip=True): def main(unused_argv): - CreateDeb(FLAGS.output, FLAGS.data, + CreateDeb(FLAGS.output, + FLAGS.data, preinst=GetFlagValue(FLAGS.preinst, False), postinst=GetFlagValue(FLAGS.postinst, False), prerm=GetFlagValue(FLAGS.prerm, False), postrm=GetFlagValue(FLAGS.postrm, False), - package=FLAGS.package, version=GetFlagValue(FLAGS.version), + package=FLAGS.package, + version=GetFlagValue(FLAGS.version), description=GetFlagValue(FLAGS.description), maintainer=FLAGS.maintainer, - section=FLAGS.section, architecture=FLAGS.architecture, - depends=FLAGS.depends, suggests=FLAGS.suggests, - enhances=FLAGS.enhances, preDepends=FLAGS.pre_depends, - recommends=FLAGS.recommends, homepage=FLAGS.homepage, + section=FLAGS.section, + architecture=FLAGS.architecture, + depends=FLAGS.depends, + suggests=FLAGS.suggests, + enhances=FLAGS.enhances, + preDepends=FLAGS.pre_depends, + recommends=FLAGS.recommends, + homepage=FLAGS.homepage, builtUsing=GetFlagValue(FLAGS.built_using), priority=FLAGS.priority, + conflicts=FLAGS.conflicts, installedSize=GetFlagValue(FLAGS.installed_size)) CreateChanges( FLAGS.changes, diff --git a/tools/build_defs/pkg/pkg.bzl b/tools/build_defs/pkg/pkg.bzl index 55d15f2f6c..0f00fc3cbb 100644 --- a/tools/build_defs/pkg/pkg.bzl +++ b/tools/build_defs/pkg/pkg.bzl @@ -117,6 +117,7 @@ def _pkg_deb_impl(ctx): args += ["--depends=" + d for d in ctx.attr.depends] args += ["--suggests=" + d for d in ctx.attr.suggests] args += ["--enhances=" + d for d in ctx.attr.enhances] + args += ["--conflicts=" + d for d in ctx.attr.conflicts] args += ["--pre_depends=" + d for d in ctx.attr.predepends] args += ["--recommends=" + d for d in ctx.attr.recommends] @@ -181,6 +182,7 @@ pkg_deb = rule( "depends": attr.string_list(default=[]), "suggests": attr.string_list(default=[]), "enhances": attr.string_list(default=[]), + "conflicts": attr.string_list(default=[]), "predepends": attr.string_list(default=[]), "recommends": attr.string_list(default=[]), # Implicit dependencies. |