Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.debian.bugs.dist > #1194559
| From | Maytham Alsudany <maytha8thedev@gmail.com> |
|---|---|
| Newsgroups | linux.debian.bugs.dist, linux.debian.devel, linux.debian.policy |
| Subject | Bug#1069256: debian-policy: clarify requirement for use of Static-Built-Using |
| Date | 2024-04-18 22:40 +0200 |
| Message-ID | <IuGI1-7dex-1@gated-at.bofh.it> (permalink) |
| Organization | linux.* mail to news gateway |
Cross-posted to 3 groups.
[Multipart message — attachments visible in raw view] - view raw
Package: debian-policy
Version: 4.7.0.0
Severity: normal
X-Debbugs-Cc: debian-devel@lists.debian.org
Dear Policymakers,
With the increasing amount of programs in Debian that Build-Depend and
statically link with Golang and Rust libraries, it's important that the
Debian Policy clearly sets out the requirements for declaring these
statically-linked libraries.
Currently, section 7.8 of the policy is a bit vague regarding stating static
libraries. It begins with saying:
Some binary packages incorporate parts of other packages when built but do
not have to depend on those packages. Examples include linking with static
libraries or incorporating source code from another package during the build.
It then states:
[The Built-Using field] should be used only when there are license or DFSG
requirements to retain the referenced source packages. It should not be added
solely as a way to locate packages that need to be rebuilt against newer
versions of their build dependencies.
This makes it seem that Built-Using shouldn't be used to declare
statically-linked dependencies, though that is not the case[1].
In early 2022, Guillem added support for a new Static-Built-Using field to
dpkg, encouraging packagers to use it over Built-Using to specify
statically-linked dependencies [2]. The commit message states the following:
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.
This was also added to the deb-control(5) manpage, specifically differentiating
it from Built-Using as a field to be used "for static building purposes (for
example linking against static libraries, builds for source-centered languages
such as Go or Rust[...])".
The proposed change is to clarify and formally mandate the requirement to
declare statically-linked libraries used to build packages containing binaries
in Static-Built-Using. Attached is a draft patch of the proposed change.
Feedback is welcome!
Kind regards,
Maytham
[1]: The Go team requires that Built-Using is specified for packages containing
binary programs, and this is evident in the templates outputted by
dh-make-golang. (This is being migrated over to Static-Built-Using, the
correct field for this purpose.)
Similarly, the Rust team also requires that
Static-Built-Using are specified, as evident in debcargo's output when
generating d/control files. (X-Cargo-Built-Using is currently being used
but will soon be replaced by Static-Built-Using with the next upload.)
The Rust team also uses Built-Using when required, where dh-cargo/cargo
will check for and collate a list of any packages with copyleft licenses
in the dependency tree that require accompanying source.
[2]: https://git.dpkg.org/cgit/dpkg/dpkg.git/commit/?id=16c412439c5eac5f32930946df9006dfc13efc02
https://lists.debian.org/debian-devel-changes/2022/03/msg03007.html
Back to linux.debian.bugs.dist | Previous | Next — Next in thread | Find similar | Unroll thread
Bug#1069256: debian-policy: clarify requirement for use of Static-Built-Using Maytham Alsudany <maytha8thedev@gmail.com> - 2024-04-18 22:40 +0200 Bug#1069256: debian-policy: clarify requirement for use of Static-Built-Using Simon Josefsson <simon@josefsson.org> - 2024-04-19 10:30 +0200 Bug#1069256: debian-policy: clarify requirement for use of Static-Built-Using Chris Hofstaedtler <zeha@debian.org> - 2024-04-20 11:50 +0200 Bug#1069256: debian-policy: clarify requirement for use of Static-Built-Using Guillem Jover <guillem@debian.org> - 2024-04-20 20:30 +0200 Bug#1069256: debian-policy: clarify requirement for use of Static-Built-Using Peter B <peter@pblackman.plus.com> - 2024-04-24 16:40 +0200 Bug#1069256: Fwd: Bug#1069256: debian-policy: clarify requirement for use of Static-Built-Using Maytham Alsudany <maytha8thedev@gmail.com> - 2024-05-08 10:10 +0200
csiph-web