Debian Package Tracker
Register | Log in
Subscribe

firmware-free

Binary firmware for various drivers in the Linux kernel

Choose email to subscribe with

general
  • source: firmware-free (main)
  • version: 20241210-3
  • maintainer: Debian Kernel Team (archive) (DMD)
  • uploaders: Salvatore Bonaccorso [DMD] – Ben Hutchings [DMD]
  • arch: all
  • std-ver: 4.5.0
  • VCS: Git (Browse, QA)
versions [more versions can be listed by madison] [old versions available from snapshot.debian.org]
[pool directory]
  • o-o-stable: 20200122-1
  • oldstable: 20200122-1
  • stable: 20241210-2
  • testing: 20241210-3
  • unstable: 20241210-3
versioned links
  • 20200122-1: [.dsc, use dget on this link to retrieve source package] [changelog] [copyright] [rules] [control]
  • 20241210-2: [.dsc, use dget on this link to retrieve source package] [changelog] [copyright] [rules] [control]
  • 20241210-3: [.dsc, use dget on this link to retrieve source package] [changelog] [copyright] [rules] [control]
binaries
  • firmware-linux-free (2 bugs: 0, 1, 1, 0)
action needed
A new upstream version is available: 20260519 high
A new upstream version 20260519 is available, you should consider packaging it.
Created: 2025-11-26 Last update: 2026-06-07 23:01
1 bug tagged patch in the BTS normal
The BTS contains patches fixing 1 bug, consider including or untagging them.
Created: 2026-06-02 Last update: 2026-06-07 22:30
version in VCS is newer than in repository, is it time to upload? normal
vcswatch reports that this package seems to have a new changelog entry (version 20241210-4, distribution UNRELEASED) and new commits in its VCS. You should consider whether it's time to make an upload.

Here are the relevant commit messages:
commit 23e54681645e39119822dfd21f3547a447766e9f
Merge: 6f32c7d dbaf044
Author: Ben Hutchings <benh@debian.org>
Date:   Tue Jun 2 17:11:14 2026 +0200

    Merge branch 'sync-from-nonfree' into 'debian/latest'
    
    Apply relevant changes from firmware-nonfree
    
    See merge request kernel-team/firmware-free!11

commit dbaf044fcee3f64604c71255492b8ec8e4d932a2
Author: Agathe Porte <agathe.porte@oss.qualcomm.com>
Date:   Tue May 5 13:22:40 2026 +0200

    control: stop suggesting initramfs-tools
    
    The use of initramfs-tools in forky is being phased out for dracut, so
    this suggestion is becoming obsolete. Suggesting an initramfs generator
    for every firmware package also do not seem to be a sensible solution,
    since some firmware can just be loaded when the root file system is
    mounted.
    
    Remove the Suggest: initramfs-tools line in the generated binary
    packages to reflect this.
    
    Closes: #1135736
    Signed-off-by: Agathe Porte <agathe.porte@oss.qualcomm.com>
    
    [bwh: Cherry-picked from firmware-nonfree commit
     cf0df1b48a6284fd5a5da49a931dac3f475f9897]

commit 1c2f18fb99be2b71f4986bfe5c6196953f4788e2
Author: Agathe Porte <debian@microjoe.org>
Date:   Tue May 5 14:07:33 2026 +0200

    gencontrol: s/initramfs-tools/update-initramfs/
    
    [bwh: Cherry-picked from firmware-nonfree commit
     02124d59c838bc17905bd085d7d9ea9334c70b20]

commit 510fbd72da5e8c8dc075adf95b28bd4b65ccfaa4
Author: Ben Hutchings <benh@debian.org>
Date:   Thu Apr 2 19:38:54 2026 +0200

    Move EULA text into configuration file
    
    Since TOML supports multi-line strings with newlines preserved, we can
    now include the EULAs for ipw2x00 and ivtv firmware in the
    configuration file.  Do that, removing the last per-package files
    under debian/config.
    
    Group the 2 EULA fields into a subsection so we can require that both
    or neither are present.
    
    [Cherry-picked from firmware-nonfree commit
     3328ca498600e9a23e46dbe5776d47fd381a35fb:
     - There are no EULAs here, but I need to keep the scripts in sync
     - Leave the config fields undocumented here as we will never use
       them here
    ]

commit 69db420323a0febdd669dc7391df55ff20cd7b83
Author: Ben Hutchings <benh@debian.org>
Date:   Mon Apr 6 15:18:16 2026 +0200

    d/b/gencontrol.py: Disable makefile generation more cleanly
    
    Instead of monkey-patching the bundle object's write_makefile method,
    override our own write method to only call write_control.
    
    [Cherry-picked from firmware-nonfree commit
     2db9c73610bb39a6b60c19520769d8c97f7b9cf1]

commit 78daefc22246e9e6bf9f554ff7c5636a1433184a
Author: Ben Hutchings <benh@debian.org>
Date:   Thu Apr 2 17:47:46 2026 +0200

    Change configuration handling to use TOML format and dacite
    
    Switch configuration parsing over to TOML, with a schema defined via
    dacite and dataclasses.  The same change was previously done in
    src:linux.
    
    Since TOML allows defining an 'array of tables', take this opportunity
    to put the per-package and global config together.
    
    - debian_firmware.config:
      - Define dataclasses for global and per-package config
      - Read the config from d/c/defines.toml using tomllib and dacite
      - Rename some fields to use underscores instead of hyphens
    - d/config: Convert to the new format
    - d/rules: Update CONTROL_FILES for the above change
    - d/README.source: Update to describe the new format
    - d/b/{check_upstream.py,gencontrol.py,install-files}: Update to use
      the new config API
    - d/t/source.control.in: Add dependency on dacite
    
    [Cherry-picked from firmware-nonfree commit
     9499157d141d63b144f49477af0e8ca8330b497c:
     - Apply the same conversion to our configuration
     - Leave the license_title field undocumented here as we will never
       use it
     - Also update d/b/release-update, fixed separately in
       firmware-nonfree
    ]

commit 2c7a890dca897cdbbd7af61c4fbceb625d6ce9ed
Author: Ben Hutchings <benh@debian.org>
Date:   Thu Apr 2 17:16:56 2026 +0200

    Move added/replacement firmware to debian/added-firmware/
    
    Currently added and replacement firmware files and symlinks are placed
    under debian/config/<package>, but they are not config so this doesn't
    make a lot of sense.  It also complicates install-files which has to
    filter out various filenames to determine whether any of that firmware
    is unused.
    
    - d/config: Move all firmware files and symlinks directly under
      debian/added-firmware/
    - d/bin: Change check_upstream.py and install-files to look there
    - d/copyright, d/source/include-binaries: Update filenames and patterns
    - d/c/misc-nonfree: Since this includes v4l-*, exclude files that
      belong in ivtv and would otherwise now be included
    - d/README.source: Remove text stating non-upstream files go under
      debian/config and add a separate section describing
      debian/added-firmware
    
    [Cherry-picked from firmware-nonfree commit
     650c376c4ba850204a4be634808596b1dbd3bc99:
     - There are no such firmware blobs here, but I need to keep the
       scripts in sync
     - In d/b/check_upstream.py, update the second call to update_file()
       as well
    ]

commit 837aa369bb7260832ece1341fb27adc7a7ae04b8
Author: Ben Hutchings <benh@debian.org>
Date:   Thu Apr 2 19:04:02 2026 +0200

    d/b/check_upstream.py: Fix name of 'files-excluded' config field
    
    The package config field is called 'files-excluded', like in
    debian/copyright, not 'files-exclude'.
    
    This fix results in reporting several more files as not included in
    binary packages, but these seem to all be either legal notices which
    we don't need to include (as they are already copied into
    debian/copyright) or firmware that we intentionally don't want to
    ship.  These should be resolved later on.
    
    [Cherry-picked from firmware-nonfree commit
     403c960195eb8917a92727a11cc75c07eba7b010]

commit c4d786a48eb1a3da29896ca2dc6bc295bc46971f
Author: Ben Hutchings <benh@debian.org>
Date:   Thu Mar 26 21:31:09 2026 +0100

    Replace upstream copy-firmware.sh with our own WHENCE parser
    
    The upstream copy-firmware.sh script doesn't work that well for us.
    I've had to patch it to cope with the fact that we exclude some files,
    and it's also rather slow.
    
    Since we already have our own code to parse WHENCE, we don't actually
    need copy-firmware.sh to do it.
    
    In install-files:
    
    - Parse WHENCE to find the upstream files and links.
    - Apply file and link exclusion patterns from debian/copyright and
      debian/config/defines.
    - Report the installation actions, as copy-firmware.sh previously did.
    
    In debian/rules:
    
    - Change override_dh_auto_install to do nothing.
    
    Drop all our patches to copy-firmware.sh.
    
    [Cherry-picked from firmware-nonfree commit
     2934a774f32777d2699f5d4707c90a53af284ba5]

commit c740c39db06b234e878e03642b0431c3b15c5688
Author: Ben Hutchings <benh@debian.org>
Date:   Thu May 7 20:03:25 2026 +0200

    WHENCE: Add separator and Driver field to satisfy our own parser
    
    We create our own WHENCE file from scratch, which was sufficient to
    make copy-firmware.sh work but did not satisfy our own parser(!).  Fix
    that so that we can start using our own parser.

commit 91e3288198496a00b6b5ac9df2ab7412eeb5aee5
Author: Ben Hutchings <benh@debian.org>
Date:   Sat Mar 28 13:07:00 2026 +0100

    debian_firmware.firmware: Handle filename escaping and extra spaces
    
    File/RawFile/Link fields can and do use backslash as an escape in
    filenames.  Change our parser to decode those.
    
    Link fields are also allowed to have multiple spaces to the left or
    right of the '->' separator.  Use a regex to split at the separator.
    
    [Cherry-picked from firmware-nonfree commit
     1875e02d32bd5b14a9d9ea34030ae79a996fe4dc]

commit e34bd1959fd1d852d8d81ab367ea21e8eec91d29
Author: Ben Hutchings <benh@debian.org>
Date:   Sat Mar 28 01:04:05 2026 +0100

    debian_firmware.firmware: Handle file groups with only links
    
    There is currently a single section in WHENCE with only a link and no
    files.  This gets discarded because I failed to update the condition
    for adding a new file group in commit febfc38e00df
    "debian_firmware.firmware: Parse Link fields and include in
    FirmwareGroup".  Update that condition to check for files or links.
    
    [Cherry-picked from firmware-nonfree commit
     1d5adb095ab2c22fde4cd77c76a13dc3922d6a84]

commit 39cfeb13e4d77d45b8549163da14d7056ae44af3
Author: Ben Hutchings <benh@debian.org>
Date:   Sat Mar 28 13:27:51 2026 +0100

    Only install files and generate metainfo.xml at build time
    
    Currently we generate the metainfo.xml files and dh_install file lists
    from gencontrol.py, which requires installing files as part of source
    package preparation.  This was mostly done because it was convenient
    to extend gencontrol.py, but it is not really necessary and it's
    annoying to have to run the file installation multiple times when
    building source and then binary packages.
    
    In a new script debian/bin/install-files:
    
    - Replace the generation of dh_install file lists in gencontrol.py
      with immediate installation of the selected files in this script
    - Move all the metainfo.xml generation from gencontrol.py into this
      script
    
    In debian/rules:
    
    - Remove the now-unneeded execution of copy-firmware.sh from the
      debian/control-real rule
    - Change the execute_after_dh_install rule to override_dh_install and
      run install-files there
    
    [Cherry-picked from firmware-nonfree commit
     56ef6cd062d75f26f1a960376c2c9582992cfc1c.  Also remove the generated
     metainfo files from d/copyright, which was a separate fix in
     firmware-nonfree.]

commit a2dc266be9627fd15c066dd038001627978629b4
Author: Ben Hutchings <benh@debian.org>
Date:   Thu Mar 26 11:53:17 2026 +0100

    d/README.source: Delete obsolete description of per-file metadata
    
    Since commit 0a3c14827c2f "Remove file lists from package
    descriptions" there is no per-file metadata.
    
    [Cherry-picked from firmware-nonfree commit
     2ab5e459ebaa2438a37a135fe8d1129db77f0509]

commit c44929eed2adf4998f54e989711898f56454d973
Author: Ben Hutchings <benh@debian.org>
Date:   Thu Mar 26 11:37:49 2026 +0100

    d/changelog: Add lines for the preceding changes by Nicolas Boulenguez

commit 7868cf9bf9e4cf177e87b47214abc5ce436d15fc
Author: Nicolas Boulenguez <nicolas@debian.org>
Date:   Thu Feb 19 17:18:18 2026 +0100

    d/rules: remove gencontrol.py from GENCONTROL
    
    GENCONTROL is expanded before each expansion of CONTROL_FILES.
    
    [bwh: Cherry-picked from firmware-nonfree commit
     a74d06106eda570bfb578633e420691da275e268]

commit 906767186ef330859f58578cf9d76950d50c8942
Author: Nicolas Boulenguez <nicolas@debian.org>
Date:   Fri Feb 23 17:22:19 2024 +0100

    gencontrol.py: open files with context managers
    
    [bwh: Cherry-picked from firmware-nonfree commit
     a3db96e108700c941205bc9efd796d55a6456f21]

commit e235a804f5f0e16a24bcfb522cfd7136ed0db020
Author: Nicolas Boulenguez <nicolas@debian.org>
Date:   Sun Feb 25 01:16:09 2024 +0100

    gencontrol.py: remove unused process_template methods
    
    [bwh: Cherry-picked from firmware-nonfree commit
     c1c696f80bfbd7d009534dbe2811a2e424289ea6]

commit 4c5e566b12492aef5810b8b41af01406a237aa56
Author: Nicolas Boulenguez <nicolas@debian.org>
Date:   Fri Feb 23 17:28:04 2024 +0100

    d/rules: include /usr/share/dpkg/pkg-info.mk
    
    Also compute VERSION_SOURCE on demand with one rewriting.
    
    [bwh: Cherry-picked from firmware-nonfree commit
     03363774dad1bcc99a4e2421ea5d44b48d785136]

commit 6f32c7dc1ba840a6254170c6a90f115522c2a997
Author: Ben Hutchings <benh@debian.org>
Date:   Fri Feb 27 16:14:46 2026 +0100

    Fix link check copied from firmware-nonfree
    
    - d/b/check_upstream.py: Check links if distribution status is
      free, not non-free
    - d/c/defines: Add empty links-excluded field

commit 5f00e3b9a8a9812dfa441837f87175981522836e
Author: Ben Hutchings <benh@debian.org>
Date:   Thu Feb 26 21:15:13 2026 +0100

    d/b/check_upstream.py: Check for links not included in binary packages
    
    Check for and report links listed in WHENCE that aren't included in
    any binary packages, similarly to what we do for files.
    
    The checks are a bit different, though:
    
    - Since these links are only defined in WHENCE and created by
      copy-firmware.sh, they aren't affected by debian/copyright's
      Files-Excluded.  So check that the link *target* is not excluded,
      and also support a new config field in debian/config/defines for
      symlinks we want to exclude.  There are some compatibility links in
      the top-level firmware directory that we probably shouldn't bother
      adding.
    
    - Check that the link target is a file listed in the same group.
      Handling links to directories, or files in another group, would be
      much more complicated to do correctly.
    
    [Cherry-picked from firmware-nonfree commit
     4095dab91a108cf45948608d269fc602db4f216a]

commit a1b52e9c4404ebeac68ee043a083b0764b96f610
Author: Ben Hutchings <benh@debian.org>
Date:   Thu Feb 26 20:30:37 2026 +0100

    check_upstream.py: Replace use of os.path with pathlib
    
    [Cherry-picked from firmware-nonfree commit
     0d366622ec1c6146cae6fd0b84f13780ab39c316]
    
    For firmware-free, update the update_file() call for source code too.

commit ee8da055483d28d582f76da491d5a0daab951557
Author: Ben Hutchings <benh@debian.org>
Date:   Thu Feb 26 21:02:21 2026 +0100

    d/b/check_upstream.py: Ignore file existence when checking license status
    
    The tests for file existence here date from when firmware-nonfree was
    a native package, or immediately after.  They don't make sense now,
    because whether a file will be copied from upstream into the source or
    binary is determined by the exclusion and inclusion patterns that we
    are already checking.
    
    Rearrange the per-file checks so we first check whether the file will
    be included in the source package, and never check whether the file is
    currently present.
    
    [Cherry-picked from firmware-nonfree commit
     72063b342715fd4e49c59a64d293d6f71b918063]
    
    For firmware-free, adjust the patch to cover all 3 distribution
    states.

commit ff6388e3535b0640a81f3a70a6297268d4d1eabb
Author: Ben Hutchings <benh@debian.org>
Date:   Thu Feb 26 20:27:59 2026 +0100

    d/b/check_upstream.py: Remove support for encoding file version in filename
    
    Commit 658f5e733956 removed support in debian/bin/gencontrol.py for
    extra or overriding files under debian/config that included a version
    suffix in their filename.  However check_upstream.py also supported
    this, and doesn't need to any more.  Remove that support.
    
    [Cherry-picked from firmware-nonfree commit
     cca15a9ddcb30d69fed938390bd833509588e2d4]

commit 27f5bac6b08d082702bd2f22a9ecb67123181248
Author: Ben Hutchings <benh@debian.org>
Date:   Thu Feb 26 20:15:02 2026 +0100

    debian_firmware.firmware: Parse Link fields and include in FirmwareGroup
    
    [Cherry-picked from firmware-nonfree commit
     febfc38e00dfc6c438bb7558e15a62f0521ed036]

commit 43a7dd69df1db000b7b96f1c3dcff46a9822ffca
Author: Ben Hutchings <benh@debian.org>
Date:   Thu Feb 26 20:08:35 2026 +0100

    debian_firmware.firmware: Use dataclasses to define Firmware{File,Group}
    
    [Cherry-picked from firmware-nonfree commit
     02acbd724a50e9242937f4156039f7b32e1ef38d]

commit 4a86f411a487be0b0b7b89763f043ff0f93b7555
Author: Ben Hutchings <benh@debian.org>
Date:   Thu Feb 26 19:59:26 2026 +0100

    Move Python debian_linux.firmware module into debian_firmware package
    
    This is actually a copy rather than a move, since debian_linux is
    supposed to be copied from src:linux.  I will delete it from src:linux
    later.
    
    Update the one script that uses it.
    
    [Cherry-picked from firmware-nonfree commit
     cb8e165e456e7041db7befcf501135c3e7d853f2]

commit 71d31377d4b60633007e3ad5d953a4303bc55bf6
Author: Ben Hutchings <benh@debian.org>
Date:   Thu Feb 26 19:55:44 2026 +0100

    Replace sys.path manipulation in debian/bin with symlink to debian_firmware
    
    Use a symlink to the debian_firmware package under debian/bin, the
    same way we do with the debian_linux package.  Remove the
    now-redundant change to sys.path in several scripts in debian/bin.
    
    [Cherry-picked from firmware-nonfree commit
     e7005b4754c3c422da29d76e404872c81285e778]

commit 34b675edf265dcda8ec83534da48b09925096a14
Author: Ben Hutchings <benh@debian.org>
Date:   Thu Feb 26 19:51:31 2026 +0100

    Move Python config module into a debian_firmware package
    
    [Cherry-picked from firmware-nonfree commit
     19e296ab1dd00eb50ec3f2dab4fe68f5c0a21fc4]

commit 9361496128124b613965b2d0b5af8621c0f064f5
Author: Ben Hutchings <benh@debian.org>
Date:   Thu Feb 26 18:40:56 2026 +0100

    Change our filename pattern matching to handle '**' without following '/'
    
    Our filename pattern matching is supposed to follow the behaviour of
    glob.glob or pathlib.Path.glob.  That means we should handle '**'
    without a following '/' as matching all descendents.  Currently
    config.pattern_to_re effectively treats it as equivalent to '*'.
    
    [Cherry-picked from firmware-nonfree commit
     55bfc30a99c0528ad0d31a74f715fad265b6510f]
Created: 2026-02-27 Last update: 2026-06-02 17:32
lintian reports 1 warning normal
Lintian reports 1 warning about this package. You should make the package lintian clean getting rid of them.
Created: 2025-04-25 Last update: 2026-02-19 07:01
Standards version of the package is outdated. wishlist
The package should be updated to follow the last version of Debian Policy (Standards-Version 4.7.4 instead of 4.5.0).
Created: 2020-11-17 Last update: 2026-03-31 15:01
news
[rss feed]
  • [2026-02-24] firmware-free 20241210-3 MIGRATED to testing (Debian testing watch)
  • [2026-02-18] Accepted firmware-free 20241210-3 (source) into unstable (Ben Hutchings)
  • [2025-05-05] firmware-free 20241210-2 MIGRATED to testing (Debian testing watch)
  • [2025-04-25] Accepted firmware-free 20241210-2 (source) into unstable (Ben Hutchings)
  • [2024-12-25] firmware-free 20241210-1 MIGRATED to testing (Debian testing watch)
  • [2024-12-19] Accepted firmware-free 20241210-1 (source) into unstable (Ben Hutchings)
  • [2024-06-22] firmware-free 20240610-1 MIGRATED to testing (Debian testing watch)
  • [2024-06-16] Accepted firmware-free 20240610-1 (source) into unstable (Ben Hutchings)
  • [2024-02-24] firmware-free 20200122-4 MIGRATED to testing (Debian testing watch)
  • [2024-02-24] firmware-free 20200122-4 MIGRATED to testing (Debian testing watch)
  • [2024-02-18] Accepted firmware-free 20200122-4 (source) into unstable (Salvatore Bonaccorso)
  • [2023-11-25] Accepted firmware-free 20200122-3 (source) into experimental (Ben Hutchings)
  • [2023-08-26] firmware-free 20200122-2 MIGRATED to testing (Debian testing watch)
  • [2023-08-20] Accepted firmware-free 20200122-2 (source) into unstable (Ben Hutchings)
  • [2020-02-08] firmware-free 20200122-1 MIGRATED to testing (Debian testing watch)
  • [2020-02-02] Accepted firmware-free 20200122-1 (source) into unstable (Ben Hutchings)
  • [2015-08-22] firmware-free 3.4 MIGRATED to testing (Britney)
  • [2015-08-16] Accepted firmware-free 3.4 (all source) into unstable (Ben Hutchings)
  • [2014-02-28] firmware-free 3.3 MIGRATED to testing (Debian testing watch)
  • [2014-02-22] Accepted firmware-free 3.3 (source all) (Ben Hutchings)
  • [2013-01-25] firmware-free 3.2 MIGRATED to testing (Debian testing watch)
  • [2013-01-14] Accepted firmware-free 3.2 (source all) (Ben Hutchings)
  • [2012-06-27] firmware-free 3.1 MIGRATED to testing (Debian testing watch)
  • [2012-06-17] Accepted firmware-free 3.1 (source all) (Ben Hutchings)
  • [2011-03-27] firmware-free 3 MIGRATED to testing (Debian testing watch)
  • [2011-03-16] Accepted firmware-free 3 (source all) (Ben Hutchings)
  • [2011-03-12] Accepted firmware-free 3~experimental (source all) (Ben Hutchings)
bugs [bug history graph]
  • all: 2
  • RC: 0
  • I&N: 1
  • M&W: 1
  • F&P: 0
  • patch: 1
links
  • lintian (0, 1)
  • buildd: logs, reproducibility
  • popcon
  • browse source code
  • other distros
  • debian patches

Debian Package Tracker — Copyright 2013-2025 The Distro Tracker Developers
Report problems to the tracker.debian.org pseudo-package in the Debian BTS.
Documentation — Bugs — Git Repository — Contributing