aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGravatar Yun Peng <pcloudy@google.com>2016-07-01 12:40:41 +0000
committerGravatar Damien Martin-Guillerez <dmarting@google.com>2016-07-01 13:36:44 +0000
commitfdb5a8c06985d78c55981a981a72bd4f0766ddb8 (patch)
treedc7fdc24cecb5f89127a72ea4dae779fa51ec9cc
parentd0d266732afc4f6ac589df31cf45c1f4cc8e300d (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/BUILD3
-rw-r--r--tools/build_defs/pkg/README.md4
-rw-r--r--tools/build_defs/pkg/make_deb.py41
-rw-r--r--tools/build_defs/pkg/pkg.bzl2
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.