summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--debian/changelog3
-rw-r--r--dpkg-deb/build.c1
-rw-r--r--man/deb-control.511
-rw-r--r--man/deb-src-control.53
-rw-r--r--scripts/Dpkg/Control/Fields.pm5
5 files changed, 23 insertions, 0 deletions
diff --git a/debian/changelog b/debian/changelog
index 2d0883c31..bf542c943 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -105,6 +105,9 @@ dpkg (1.16.0) UNRELEASED; urgency=low
architecture which should be used as the path component for library
installation.
+ [ Mark Hymers ]
+ * Add support for Built-Using field. Closes: #619311
+
[ Updated programs translations ]
* German (Sven Joachim).
* Portuguese (Miguel Figueiredo).
diff --git a/dpkg-deb/build.c b/dpkg-deb/build.c
index c63425368..8fe89aa69 100644
--- a/dpkg-deb/build.c
+++ b/dpkg-deb/build.c
@@ -289,6 +289,7 @@ check_conffiles(const char *dir)
}
static const char *arbitrary_fields[] = {
+ "Built-Using",
"Package-Type",
"Subarchitecture",
"Kernel-Version",
diff --git a/man/deb-control.5 b/man/deb-control.5
index dae658e57..8afc72428 100644
--- a/man/deb-control.5
+++ b/man/deb-control.5
@@ -229,6 +229,17 @@ and
.B Replaces
fields.
.
+.TP
+.BR Built-Using: " <package list>"
+This field lists extra source packages that were used during the build of this
+binary package. This is an indication to the archive maintenance software that
+these extra source packages must be kept whilst this binary package is
+maintained. This field must be a list of source package names with strict (=)
+version relationships. Note that the archive maintenance software is likely to
+refuse to accept an upload which declares a
+.B Built-Using
+relationship which cannot be satisfied within the archive.
+.
.SH EXAMPLE
.\" .RS
.nf
diff --git a/man/deb-src-control.5 b/man/deb-src-control.5
index 4f51938af..d0f536900 100644
--- a/man/deb-src-control.5
+++ b/man/deb-src-control.5
@@ -252,6 +252,9 @@ package.
.TP
.PD 0
.BR Provides: " <package list>"
+.TP
+.PD 0
+.BR Built-Using: " <package list>"
.br
These fields declare relationships between packages. They are discussed in
the
diff --git a/scripts/Dpkg/Control/Fields.pm b/scripts/Dpkg/Control/Fields.pm
index ea7d800eb..fc6b4284b 100644
--- a/scripts/Dpkg/Control/Fields.pm
+++ b/scripts/Dpkg/Control/Fields.pm
@@ -78,6 +78,11 @@ our %FIELDS = (
dependency => 'normal',
dep_order => 2,
},
+ 'Built-Using' => {
+ allowed => ALL_PKG,
+ dependency => 'union',
+ dep_order => 10,
+ },
'Changed-By' => {
allowed => CTRL_FILE_CHANGES,
},