In recent discussions [0], people raised the possibility that we might accidentally leave non-free firmware blobs in our linux-libre packages. If I understand correctly, the root of the issue is that, currently, we manually specify the versions of the deblobbing scripts. They are not changed with every linux-libre release, so it is usually okay to use an older version number — the scripts themselves will be identical. However, sometimes the scripts do change, and we might not notice, and thus we would fail to remove every blob from the kernel sources. These two patches should make that failure mode impossible, by 1) making sure that the file names of the deblobbing scripts' store items include the full version number of the kernel and 2) only defining the version in one place. The hashes of the deblob scripts will be checked automatically when Guix downloads them for each new kernel release. I had to move the linux-libre-nnn-version variables to an earlier part of the file, so that they are defined when referenced in the deblob-scripts-nnn procedures. I regret changing the way this code is organized... your advice is welcome! [0] https://lists.gnu.org/archive/html/guix-devel/2020-08/msg00040.html