This is an automated email from the git hooks/post-receive script. guillem pushed a commit to branch main in repository dpkg.
View the commit online: https://git.dpkg.org/cgit/dpkg/dpkg.git/commit/?id=16c412439c5eac5f32930946df9006dfc13efc02 commit 16c412439c5eac5f32930946df9006dfc13efc02 Author: Guillem Jover <[email protected]> AuthorDate: Wed Mar 23 17:56:57 2022 +0100 Dpkg::Control::Fields: Add Static-Built-Using field support This field mimics the previous Built-Using field semantics, but is specifically intended for shadow dependencies stemming from static builds. In Debian, the Rust and Go teams agreed to use this language agnostic field, instead of one for each of the languages. This means it can be easily supported by dpkg, and can be used by other languages and run-times. --- man/deb-control.pod | 12 ++++++++++++ man/deb-src-control.pod | 2 ++ scripts/Dpkg/Control/FieldsCore.pm | 13 ++++++++++++- scripts/t/Dpkg_Control_Fields.t | 6 +++++- 4 files changed, 31 insertions(+), 2 deletions(-) diff --git a/man/deb-control.pod b/man/deb-control.pod index 08649716d..186178fd4 100644 --- a/man/deb-control.pod +++ b/man/deb-control.pod @@ -388,6 +388,18 @@ 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. +=item B<Static-Built-Using:> I<package-list> + +This dependency field lists extra source packages that were used during the +build of this binary package, for static building purposes. +This is useful to track whether this package might need to be rebuilt when +source packages listed here have been updated, for example due to security +updates. +This field must be a comma-separated list of source package names with strict +‘B<=>’ version relationships enclosed within parenthesis. + +Supported since dpkg 1.21.3. + =item B<Built-For-Profiles:> I<profile-list> (obsolete) This field used to specify a whitespace separated list of build profiles that diff --git a/man/deb-src-control.pod b/man/deb-src-control.pod index 996037ba4..18b1ce31b 100644 --- a/man/deb-src-control.pod +++ b/man/deb-src-control.pod @@ -409,6 +409,8 @@ package. =item B<Built-Using:> I<package-list> +=item B<Static-Built-Using:> I<package-list> + These fields declare relationships between packages. They are discussed in the B<deb-control>(5) diff --git a/scripts/Dpkg/Control/FieldsCore.pm b/scripts/Dpkg/Control/FieldsCore.pm index 1550ee364..eaa7615cc 100644 --- a/scripts/Dpkg/Control/FieldsCore.pm +++ b/scripts/Dpkg/Control/FieldsCore.pm @@ -340,7 +340,7 @@ our %FIELDS = ( allowed => CTRL_FILE_BUILDINFO, separator => FIELD_SEP_COMMA, dependency => 'union', - dep_order => 11, + dep_order => 12, }, 'installed-size' => { name => 'Installed-Size', @@ -481,6 +481,13 @@ our %FIELDS = ( name => 'Standards-Version', allowed => ALL_SRC, }, + 'static-built-using' => { + name => 'Static-Built-Using', + allowed => ALL_PKG, + separator => FIELD_SEP_COMMA, + dependency => 'union', + dep_order => 11, + }, 'status' => { name => 'Status', allowed => CTRL_FILE_STATUS, @@ -650,6 +657,7 @@ my @bin_dep_fields = qw( replaces provides built-using + static-built-using ); my @src_test_fields = qw( @@ -748,6 +756,7 @@ our %FIELD_ORDER = ( source version built-using + static-built-using kernel-version built-for-profiles auto-built-package @@ -808,6 +817,7 @@ our %FIELD_ORDER = ( source version built-using + static-built-using kernel-version built-for-profiles auto-built-package @@ -988,6 +998,7 @@ our %FIELD_ORDER = ( build-essential built-for-profiles built-using + static-built-using homepage installer-menu-item kernel-version diff --git a/scripts/t/Dpkg_Control_Fields.t b/scripts/t/Dpkg_Control_Fields.t index 49036012b..cc7e838c0 100644 --- a/scripts/t/Dpkg_Control_Fields.t +++ b/scripts/t/Dpkg_Control_Fields.t @@ -20,7 +20,7 @@ use Test::More; use Test::Dpkg qw(:paths); BEGIN { - plan tests => 2581; + plan tests => 2603; use_ok('Dpkg::Control::Types'); use_ok('Dpkg::Control::FieldsCore'); @@ -50,6 +50,7 @@ my @bin_dep_union_fields = qw( Replaces Provides Built-Using + Static-Built-Using ); my @bin_dep_fields = ( @bin_dep_normal_fields, @@ -182,6 +183,7 @@ my %fields = ( Source Version Built-Using + Static-Built-Using Kernel-Version Built-For-Profiles Auto-Built-Package @@ -245,6 +247,7 @@ my %fields = ( Source Version Built-Using + Static-Built-Using Kernel-Version Built-For-Profiles Auto-Built-Package @@ -456,6 +459,7 @@ my %fields = ( Build-Essential Built-For-Profiles Built-Using + Static-Built-Using Homepage Installer-Menu-Item Kernel-Version -- Dpkg.Org's dpkg

