[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

[Git][lintian/lintian][master] field-too-long: allow Static-Built-Using



Title: GitLab

Maytham Alsudany pushed to branch master at lintian / lintian

Commits:

  • f8d3f94d
    by Fabian Grünbichler at 2025-07-22T12:18:36+08:00
    field-too-long: allow Static-Built-Using
    
    this field is emitted by dh-cargo-built-using, the length of the field
    is directly related to the size of the (transitive) (build-)dependency
    tree.
    
    the field needs to capture the complete (transitive build-)dependency
    tree in order to determine which packages need to be rebuilt (e.g.
    during freeze time to ensure no outdated builds are part of a
    soon-to-be-released Debian version, or after some library crate was
    patched to fix a security issue or other serious bug), since rust
    doesn't have (usable) dynamic linking yet, and all shipped rust binaries
    are statically linked with their crate dependencies (regular
    C-compatible libraries like libssl/.. are linked dynamically).
    
    as an alternative, a second much higher limit for this and some other
    fields might make sense as well, as originally discussed in #942493
    
    Signed-off-by: Fabian Grünbichler <debian@fabian.gruenbichler.email>
    

5 changed files:

Changes:

  • lib/Lintian/Check/Fields/Length.pm
    ... ... @@ -46,6 +46,7 @@ my @ALLOWED_FIELDS = qw(
    46 46
       Package-List
    
    47 47
       Installed-Build-Depends
    
    48 48
       Checksums-Sha256
    
    49
    +  Static-Built-Using
    
    49 50
     );
    
    50 51
     
    
    51 52
     sub always {
    

  • t/recipes/checks/fields/length/static-built-using-field-not-too-long/build-spec/debian/control.in
    1
    +Source: [% $source %]
    
    2
    +Priority: [% $priority %]
    
    3
    +Section: [% $section %]
    
    4
    +Maintainer: [% $author %]
    
    5
    +Standards-Version: [% $standards_version %]
    
    6
    +Build-Depends: [% $build_depends %]
    
    7
    +Rules-Requires-Root: [% $rules_requires_root %]
    
    8
    +Homepage: [% $homepage %]
    
    9
    +
    
    10
    +Package: [% $source %]
    
    11
    +Architecture: [% $package_architecture %]
    
    12
    +Pre-Depends: ${misc:Pre-Depends}
    
    13
    +Depends: ${shlibs:Depends}, ${misc:Depends}
    
    14
    +Built-Using: rust-ahash (= 0.8.11-9), rust-axum (= 0.7.9-13), rust-axum-server (= 0.7.2-2), rust-colored (= 2.2.0-1), rust-curve25519-dalek (= 4.1.3+20240618+dfsg-9), rust-ed25519 (= 2.2.3+ds-6), rust-event-listener (= 5.4.0-3), rust-fast-srgb8 (= 1.0.0-7), rust-flume (= 0.11.1+20241019-2), rust-hyper-rustls (= 0.27.5-2), rust-option-ext (= 0.2.0-1), rust-rustls (= 0.23.26+ds-1), rust-rustls-native-certs (= 0.6.3-7), rust-rustls-pki-types (= 1.11.0-2), rust-rustls-webpki (= 0.102.8-5), rust-signature (= 2.2.0+ds-5), rust-tonic (= 0.12.3+dfsg-4), rustc (= 1.85.0+dfsg3-1)
    
    15
    +Static-Built-Using: rust-adler (= 1.0.2-2), rust-aead (= 0.5.2-2), rust-ahash (= 0.8.11-9), rust-aho-corasick (= 1.1.3-1), rust-allocator-api2 (= 0.2.16-2), rust-anstream (= 0.6.15-1), rust-anstyle (= 1.0.8-1), rust-anstyle-parse (= 0.2.1-1), rust-anstyle-query (= 1.0.0-1), rust-anyhow (= 1.0.95-1), rust-approx (= 0.5.1-1), rust-arboard (= 3.5.0-1), rust-arc-swap (= 1.7.1-1), rust-argon2 (= 0.5.3-1), rust-async-stream (= 0.3.4-2), rust-atoi (= 2.0.0-1), rust-atomic-waker (= 1.1.2-1), rust-axum (= 0.7.9-13), rust-axum-server (= 0.7.2-2), rust-base64 (= 0.22.1-1), rust-base64ct (= 1.6.0-1), rust-bitflags (= 2.8.0-1), rust-bitflags-1 (= 1.3.2-7), rust-blake2 (= 0.10.6-3), rust-block-buffer (= 0.10.4-1), rust-bytemuck (= 1.21.0-1), rust-byteorder (= 1.5.0-1), rust-bytes (= 1.9.0-1), rust-cassowary (= 0.3.0-2), rust-castaway (= 0.2.3-1), rust-cfg-if (= 1.0.0-1), rust-chacha20 (= 0.9.1-1), rust-cipher (= 0.4.4-3), rust-clap (= 4.5.23-1), rust-clap-builder (= 4.5.23-1), rust-clap-complete (= 4.5.40-1), rust-clap-lex (= 0.7.4-1), rust-colorchoice (= 1.0.0-1), rust-colored (= 2.2.0-1), rust-compact-str (= 0.8.1-1), rust-concurrent-queue (= 2.5.0-4), rust-config (= 0.15.9-2), rust-console (= 0.15.10-1), rust-cpufeatures (= 0.2.16-1), rust-crc (= 3.2.1-1), rust-crc-catalog (= 2.4.0-1), rust-crc32fast (= 1.4.2-1), rust-crossbeam-deque (= 0.8.5-1), rust-crossbeam-epoch (= 0.9.18-1), rust-crossbeam-queue (= 0.3.11-1), rust-crossbeam-utils (= 0.8.19-1), rust-crossterm (= 0.27.0-5), rust-crypto-common (= 0.1.6-1), rust-crypto-secretbox (= 0.1.1-1), rust-curve25519-dalek (= 4.1.3+20240618+dfsg-9), rust-dashmap (= 6.1.0-1), rust-deranged (= 0.3.11-1), rust-diff (= 0.1.13-1), rust-digest (= 0.10.7-2), rust-directories (= 5.0.1-1), rust-dirs (= 5.0.1-1), rust-dirs-sys (= 0.4.1-1), rust-dotenvy (= 0.15.7-1), rust-downcast-rs (= 1.2.0-1), rust-ed25519 (= 2.2.3+ds-6), rust-either (= 1.13.0-1), rust-equivalent (= 1.0.1-1), rust-event-listener (= 5.4.0-3), rust-eyre (= 0.6.12-1), rust-fast-srgb8 (= 1.0.0-7), rust-fastrand (= 2.1.1-4), rust-filedescriptor (= 0.8.2-1), rust-fixedbitset (= 0.4.2-1), rust-flate2 (= 1.1.0-1), rust-flume (= 0.11.1+20241019-2), rust-fnv (= 1.0.7-1), rust-foreign-types-0.3 (= 0.3.2-2), rust-foreign-types-shared-0.1 (= 0.1.1-2), rust-form-urlencoded (= 1.2.1-1), rust-fs-err (= 3.1.0-1), rust-futures (= 0.3.31-2), rust-futures-channel (= 0.3.31-1), rust-futures-core (= 0.3.31-1), rust-futures-executor (= 0.3.31-1), rust-futures-intrusive (= 0.5.0-1), rust-futures-io (= 0.3.31-1), rust-futures-sink (= 0.3.31-1), rust-futures-task (= 0.3.31-3), rust-futures-util (= 0.3.31-1), rust-fuzzy-matcher (= 0.3.7-1), rust-generic-array (= 0.14.7-1), rust-getrandom (= 0.2.15-1), rust-h2 (= 0.4.7-3), rust-hashbrown (= 0.14.5-5), rust-hashlink (= 0.8.4-1), rust-hex (= 0.4.3-2), rust-hkdf (= 0.12.4-1), rust-hmac (= 0.12.1-1), rust-home (= 0.5.9-1), rust-http (= 1.2.0-1), rust-http-body (= 1.0.1-1), rust-http-body-util (= 0.1.2-1), rust-httparse (= 1.8.0-1), rust-httpdate (= 1.0.2-1), rust-humantime (= 2.1.0-2), rust-hyper (= 1.5.2-1), rust-hyper-rustls (= 0.27.5-2), rust-hyper-timeout (= 0.5.2-3), rust-hyper-util (= 0.1.10-1), rust-idna (= 1.0.3-2), rust-idna-adapter (= 1.1.0-1), rust-idna-mapping (= 1.0.0-1), rust-image (= 0.25.5-3), rust-indenter (= 0.3.3-1), rust-indexmap (= 2.7.0-1), rust-indicatif (= 0.17.8-1), rust-inout (= 0.1.3-3), rust-interim (= 0.1.2-2), rust-ipnet (= 2.11.0-1), rust-iso8601 (= 0.6.1-1), rust-itertools (= 0.13.0-3), rust-itoa (= 1.0.14-1), rust-lazy-static (= 1.5.0-1), rust-libc (= 0.2.169-1), rust-libsqlite3-sys (= 0.26.0-1), rust-linux-raw-sys (= 0.4.14-1), rust-listenfd (= 1.0.0-1), rust-lock-api (= 0.4.12-1), rust-log (= 0.4.26-1), rust-logos (= 0.14.0-1), rust-lru (= 0.12.3-2), rust-matchers (= 0.2.0-1), rust-matchit (= 0.7.3-2), rust-md-5 (= 0.10.6-1), rust-memchr (= 2.7.4-1), rust-mime (= 0.3.17-1), rust-minijinja (= 2.5.0-1), rust-minimal-lexical (= 0.2.1-2), rust-miniz-oxide (= 0.7.1-2), rust-minspan (= 0.1.1-1), rust-mio (= 1.0.2-3), rust-native-tls (= 0.2.13-1), rust-nom (= 7.1.3-1), rust-nu-ansi-term (= 0.50.1-1), rust-num-conv (= 0.1.0-1), rust-num-threads (= 0.1.7-1), rust-num-traits (= 0.2.19-2), rust-number-prefix (= 0.4.0-1), rust-once-cell (= 1.20.2-1), rust-opaque-debug (= 0.3.0-1), rust-openssl (= 0.10.72-1), rust-openssl-probe (= 0.1.2-1), rust-openssl-sys (= 0.9.107-1), rust-option-ext (= 0.2.0-1), rust-os-pipe (= 1.2.1-1), rust-palette (= 0.7.6-1), rust-parking (= 2.2.0-1), rust-parking-lot (= 0.12.3-1), rust-parking-lot-core (= 0.9.10-1), rust-password-hash (= 0.5.0-1), rust-pathdiff (= 0.2.3-1), rust-pbkdf2 (= 0.12.2-1), rust-percent-encoding (= 2.3.1-1), rust-petgraph (= 0.6.4-1), rust-phf (= 0.11.2-1), rust-phf-shared (= 0.11.2-2), rust-pin-project (= 1.1.3-1), rust-pin-project-lite (= 0.2.13-1), rust-pin-utils (= 0.1.0-1), rust-png (= 0.17.7-4), rust-poly1305 (= 0.8.0-1), rust-portable-atomic (= 1.10.0-3), rust-powerfmt (= 0.2.0-1), rust-ppv-lite86 (= 0.2.20-1), rust-pretty-assertions (= 1.4.0-2), rust-prost (= 0.12.6-1), rust-prost-types (= 0.12.6-1), rust-rand (= 0.8.5-1), rust-rand-chacha (= 0.3.1-2), rust-rand-core (= 0.6.4-2), rust-ratatui (= 0.28.1-9), rust-rayon (= 1.10.0-1), rust-rayon-core (= 1.12.1-1), rust-regex (= 1.11.1-2), rust-regex-automata (= 0.4.9-2), rust-regex-syntax (= 0.8.5-1), rust-reqwest (= 0.12.15-1), rust-ring (= 0.17.14-2), rust-rmp (= 0.8.14-1), rust-rpassword (= 7.2.0-1), rust-rtoolbox (= 0.0.1-1), rust-runtime-format (= 0.1.3-1), rust-rustc-hash (= 1.1.0-1), rust-rustix (= 0.38.37-4), rust-rustls (= 0.23.26+ds-1), rust-rustls-native-certs (= 0.6.3-7), rust-rustls-pemfile (= 2.2.0-3), rust-rustls-pki-types (= 1.11.0-2), rust-rustls-webpki (= 0.102.8-5), rust-rusty-paserk (= 0.4.0-3), rust-rusty-paseto (= 0.7.1-4), rust-ryu (= 1.0.19-1), rust-salsa20 (= 0.10.2-1), rust-scopeguard (= 1.2.0-1), rust-semver (= 1.0.23-1), rust-serde (= 1.0.217-1), rust-serde-json (= 1.0.139-1), rust-serde-path-to-error (= 0.1.9-1), rust-serde-regex (= 1.1.0-1), rust-serde-spanned (= 0.6.7-1), rust-serde-urlencoded (= 0.7.1-1), rust-serde-with (= 3.12.0-1), rust-sha2 (= 0.10.8-1), rust-sharded-slab (= 0.1.4-2), rust-shellexpand (= 3.1.0-4), rust-signal-hook (= 0.3.17-1), rust-signal-hook-mio (= 0.2.4-2), rust-signal-hook-registry (= 1.4.0-1), rust-signature (= 2.2.0+ds-5), rust-siphasher (= 1.0.1-1), rust-slab (= 0.4.9-1), rust-smallvec (= 1.13.2-1), rust-socket2 (= 0.5.8-1), rust-spin (= 0.9.8-4), rust-sql-builder (= 3.1.1-1), rust-sqlx (= 0.8.3-2), rust-sqlx-core (= 0.8.3-2), rust-sqlx-postgres (= 0.8.3-1), rust-sqlx-sqlite (= 0.8.3-1), rust-static-assertions (= 1.1.0-1), rust-stringprep (= 0.1.5-1), rust-strsim (= 0.11.1-1), rust-strum (= 0.26.3-2), rust-subtle (= 2.6.1-1), rust-sync-wrapper (= 1.0.2-1), rust-sysinfo (= 0.30.13-7), rust-tempfile (= 3.15.0-1), rust-thiserror (= 2.0.11-1), rust-thiserror-1 (= 1.0.69-1), rust-thread-local (= 1.1.4-1), rust-time (= 0.3.37-1), rust-time-core (= 0.1.2-1), rust-tiny-bip39 (= 1.0.0-1), rust-tinyvec (= 1.6.0-2), rust-tinyvec-macros (= 0.1.0-1), rust-tokio (= 1.43.1-1), rust-tokio-rustls (= 0.26.1-2), rust-tokio-stream (= 0.1.16-1), rust-tokio-util (= 0.7.10-1), rust-toml (= 0.8.19-1), rust-toml-datetime (= 0.6.8-1), rust-toml-edit (= 0.22.22-1), rust-tonic (= 0.12.3+dfsg-4), rust-tower (= 0.5.2-2), rust-tower-0.4 (= 0.4.13-5), rust-tower-http (= 0.6.2-1), rust-tower-layer (= 0.3.3-1), rust-tower-service (= 0.3.3-1), rust-tracing (= 0.1.40-1), rust-tracing-core (= 0.1.32-1), rust-tracing-log (= 0.2.0-3), rust-tracing-subscriber (= 0.3.18-4), rust-tree-magic-mini (= 3.1.6-1), rust-try-lock (= 0.2.5-1), rust-typed-builder (= 0.20.1-1), rust-typenum (= 1.17.0-3), rust-unicode-bidi (= 0.3.17-1), rust-unicode-joining-type (= 1.0.0-1), rust-unicode-normalization (= 0.1.24-1), rust-unicode-properties (= 0.1.0-1), rust-unicode-segmentation (= 1.12.0-1), rust-unicode-truncate (= 2.0.0-1), rust-unicode-width (= 0.2.0-1), rust-unicode-width-0.1 (= 0.1.14-2), rust-universal-hash (= 0.5.1-1), rust-untrusted (= 0.9.0-2), rust-url (= 2.5.4-3), rust-urlencoding (= 2.1.3-1), rust-utf8-iter (= 1.0.4-1), rust-utf8parse (= 0.2.1-1), rust-uuid (= 1.10.0-1), rust-want (= 0.3.0-1), rust-wayland-backend (= 0.3.8-3), rust-wayland-client (= 0.31.8-1), rust-wayland-protocols (= 0.32.6-1), rust-wayland-protocols-wlr (= 0.3.6-1), rust-wayland-sys (= 0.31.6-2), rust-whoami (= 1.5.2-1), rust-winnow (= 0.6.26-1), rust-wl-clipboard-rs (= 0.9.2-1), rust-x11rb (= 0.13.0-2), rust-x11rb-protocol (= 0.13.1-2), rust-yansi (= 1.0.1-1), rust-zerocopy (= 0.7.34-1), rust-zeroize (= 1.8.1-1), rustc (= 1.85.0+dfsg3-1)
    
    16
    +Description: [% $description %]
    
    17
    + This is a test package designed to exercise some feature or tag of
    
    18
    + Lintian.  It is part of the Lintian test suite and may do very odd
    
    19
    + things.  It should not be installed like a regular package.  It may
    
    20
    + be an empty package.

  • t/recipes/checks/fields/length/static-built-using-field-not-too-long/build-spec/fill-values
    1
    +Skeleton: upload-native
    
    2
    +Testname: static-built-using-field-not-too-long
    
    3
    +Description: The Static-Built-Using: field in d/control is not too long, even if exceeding 5k characters

  • t/recipes/checks/fields/length/static-built-using-field-not-too-long/eval/desc
    1
    +Testname: static-built-using-field-not-too-long
    
    2
    +See-Also: Debian Bug#1069256
    
    3
    +Check: fields/length
    
    4
    +Test-Against: field-too-long

  • t/recipes/checks/fields/length/static-built-using-field-not-too-long/eval/hints
    1
    +


  • Reply to: