sys-kernel/linux-firmware: drop 20250109-r1

Signed-off-by: Mike Pagano <mpagano@gentoo.org>
This commit is contained in:
Mike Pagano
2025-04-11 11:25:39 -04:00
parent 9dc199b75b
commit dcda7202ec
2 changed files with 0 additions and 407 deletions

View File

@@ -1,4 +1,3 @@
DIST linux-firmware-20250109.tar.xz 411464912 BLAKE2B c23ed6d5e0b8ff80666e2c7f3727b991a51dae251778e9ee6e2ab23f45996fbc75d724fbe148d39a180d50384034a01f538daa2abb4f4f5939a7e9773a684240 SHA512 d7bc9d19e1c03ec75d62903f3c6e79947a10aea61aec8958dfea44cfbeb6fec73f2db41e750cf007a7e937380c5956ed919ae24b8a0a92df87b1d4c57464809d
DIST linux-firmware-20250211.tar.xz 431514160 BLAKE2B 65531857e4225dca6f8acbc84f539b2f44c8aac3f0949ee1c6b54596c1232738ee0a98ca5025e0b6fe60862fe2d7d20b708854f917d2da9b708a7a5d6f41ab6b SHA512 84c49837ef50d3b43fa0b5c9835c115dfa17dca62706d0e81bf17d640a26a42abfa2e5575683191474042be22d7613fb3f7f1710e72bea340a49d6cc2fc4892a
DIST linux-firmware-20250311.tar.xz 434375512 BLAKE2B a12d42dcea9ec2b7e220ab4da6592cabf77095b41f2b0138626e71c62fa7e311da6efca24e3616a811b3489c23e21fe13684a2b93c0ff746f67e50b097f3f42e SHA512 4686c398a712e4f3fb61e07791fafc9950ed0da71f1db78ebe8ac2dc0b031d19ad64a7e98b8b643c20ef99f195db5a3ca337b762b43c631b99b599fb90892a48
DIST linux-firmware-20250410.tar.xz 462143576 BLAKE2B 6902b64ff4cd4cc8636c669ddae1823097f5cf7621dab999cd8d6be4a0150491c7e05decf1bcca3db7e3a8dd2a228e66184458d5b2770e9ccc9ffe10b7f79d40 SHA512 7b82312a69cd831e576129a6af5ceb5f96d94e2683788b2462aabfd03a46a18ba06978834822af45acc60ac07e4b1758d51c2b36d3233a8bd806071fa21b08c0

View File

@@ -1,406 +0,0 @@
# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
PYTHON_COMPAT=( python3_{10..13} )
inherit dist-kernel-utils linux-info mount-boot python-any-r1 savedconfig
# In case this is a real snapshot, fill in commit below.
# For normal, tagged releases, leave blank
MY_COMMIT=""
if [[ ${PV} == 99999999* ]]; then
inherit git-r3
EGIT_REPO_URI="https://git.kernel.org/pub/scm/linux/kernel/git/firmware/${PN}.git"
else
if [[ -n "${MY_COMMIT}" ]]; then
SRC_URI="https://git.kernel.org/cgit/linux/kernel/git/firmware/linux-firmware.git/snapshot/${MY_COMMIT}.tar.gz -> ${P}.tar.gz"
S="${WORKDIR}/${MY_COMMIT}"
else
SRC_URI="https://mirrors.edge.kernel.org/pub/linux/kernel/firmware/${P}.tar.xz"
fi
KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
fi
DESCRIPTION="Linux firmware files"
HOMEPAGE="https://git.kernel.org/?p=linux/kernel/git/firmware/linux-firmware.git"
LICENSE="GPL-2 GPL-2+ GPL-3 BSD MIT || ( MPL-1.1 GPL-2 )
redistributable? ( linux-fw-redistributable BSD-2 BSD BSD-4 ISC MIT )
unknown-license? ( all-rights-reserved )"
SLOT="0"
IUSE="bindist compress-xz compress-zstd deduplicate dist-kernel +initramfs +redistributable savedconfig unknown-license"
REQUIRED_USE="initramfs? ( redistributable )
?? ( compress-xz compress-zstd )
savedconfig? ( !deduplicate )"
RESTRICT="binchecks strip test
!bindist? ( bindist )
unknown-license? ( bindist )"
BDEPEND="initramfs? ( app-alternatives/cpio )
compress-xz? ( app-arch/xz-utils )
compress-zstd? ( app-arch/zstd )
deduplicate? ( app-misc/rdfind )
${PYTHON_DEPS}"
#add anything else that collides to this
RDEPEND="!savedconfig? (
redistributable? (
!sys-firmware/alsa-firmware[alsa_cards_ca0132]
!sys-block/qla-fc-firmware
!sys-firmware/raspberrypi-wifi-ucode
)
unknown-license? (
!sys-firmware/alsa-firmware[alsa_cards_korg1212]
!sys-firmware/alsa-firmware[alsa_cards_maestro3]
!sys-firmware/alsa-firmware[alsa_cards_sb16]
!sys-firmware/alsa-firmware[alsa_cards_ymfpci]
)
)
dist-kernel? (
virtual/dist-kernel
initramfs? (
app-alternatives/cpio
)
)
"
IDEPEND="
dist-kernel? (
initramfs? ( sys-kernel/installkernel )
)
"
QA_PREBUILT="*"
PATCHES=(
"${FILESDIR}"/${PN}-copy-firmware-r8.patch
)
pkg_pretend() {
if use initramfs; then
if use dist-kernel; then
# Check, but don't die because we can fix the problem and then
# emerge --config ... to re-run installation.
nonfatal mount-boot_check_status
else
mount-boot_pkg_pretend
fi
fi
}
pkg_setup() {
if use compress-xz || use compress-zstd ; then
local CONFIG_CHECK
if kernel_is -ge 5 19; then
use compress-xz && CONFIG_CHECK="~FW_LOADER_COMPRESS_XZ"
use compress-zstd && CONFIG_CHECK="~FW_LOADER_COMPRESS_ZSTD"
else
use compress-xz && CONFIG_CHECK="~FW_LOADER_COMPRESS"
if use compress-zstd; then
eerror "Kernels <5.19 do not support ZSTD-compressed firmware files"
fi
fi
fi
linux-info_pkg_setup
}
src_unpack() {
if [[ ${PV} == 99999999* ]]; then
git-r3_src_unpack
else
default
# rename directory from git snapshot tarball
if [[ ${#GIT_COMMIT} -gt 8 ]]; then
mv ${PN}-*/ ${P} || die
fi
fi
}
src_prepare() {
default
cp "${FILESDIR}/${PN}-make-amd-ucode-img.bash" "${T}/make-amd-ucode-img" || die
chmod +x "${T}/make-amd-ucode-img" || die
if use initramfs && ! use dist-kernel; then
if [[ -d "${S}/amd-ucode" ]]; then
"${T}/make-amd-ucode-img" "${S}" "${S}/amd-ucode" || die
else
# If this will ever happen something has changed which
# must be reviewed
die "'${S}/amd-ucode' not found!"
fi
fi
# whitelist of misc files
local misc_files=(
build_packages.py
carl9170fw/autogen.sh
carl9170fw/genapi.sh
contrib/process_linux_firmware.py
copy-firmware.sh
check_whence.py
dedup-firmware.sh
LICEN[CS]E.*
README.md
WHENCE
)
# whitelist of images with a free software license
local free_software=(
# keyspan_pda (GPL-2+)
keyspan_pda/keyspan_pda.fw
keyspan_pda/xircom_pgs.fw
# dsp56k (GPL-2+)
dsp56k/bootstrap.bin
# ath9k_htc (BSD GPL-2+ MIT)
ath9k_htc/htc_7010-1.4.0.fw
ath9k_htc/htc_9271-1.4.0.fw
# pcnet_cs, 3c589_cs, 3c574_cs, serial_cs (dual GPL-2/MPL-1.1)
cis/LA-PCM.cis
cis/PCMLM28.cis
cis/DP83903.cis
cis/NE2K.cis
cis/tamarack.cis
cis/PE-200.cis
cis/PE520.cis
cis/3CXEM556.cis
cis/3CCFEM556.cis
cis/MT5634ZLX.cis
cis/RS-COM-2P.cis
cis/COMpad2.cis
cis/COMpad4.cis
# serial_cs (GPL-3)
cis/SW_555_SER.cis
cis/SW_7xx_SER.cis
cis/SW_8xx_SER.cis
# dvb-ttpci (GPL-2+)
av7110/bootcode.bin
# usbdux, usbduxfast, usbduxsigma (GPL-2+)
usbdux_firmware.bin
usbduxfast_firmware.bin
usbduxsigma_firmware.bin
# brcmfmac (GPL-2+)
brcm/brcmfmac4330-sdio.Prowise-PT301.txt
brcm/brcmfmac43340-sdio.meegopad-t08.txt
brcm/brcmfmac43362-sdio.cubietech,cubietruck.txt
brcm/brcmfmac43362-sdio.lemaker,bananapro.txt
brcm/brcmfmac43430a0-sdio.jumper-ezpad-mini3.txt
"brcm/brcmfmac43430a0-sdio.ONDA-V80 PLUS.txt"
brcm/brcmfmac43430-sdio.AP6212.txt
brcm/brcmfmac43430-sdio.Hampoo-D2D3_Vi8A1.txt
brcm/brcmfmac43430-sdio.MUR1DX.txt
brcm/brcmfmac43430-sdio.raspberrypi,3-model-b.txt
brcm/brcmfmac43455-sdio.raspberrypi,3-model-b-plus.txt
brcm/brcmfmac4356-pcie.gpd-win-pocket.txt
# isci (GPL-2)
isci/isci_firmware.bin
# carl9170 (GPL-2+)
carl9170-1.fw
# atusb (GPL-2+)
atusb/atusb-0.2.dfu
atusb/atusb-0.3.dfu
atusb/rzusb-0.3.bin
# mlxsw_spectrum (dual BSD/GPL-2)
mellanox/mlxsw_spectrum-13.1420.122.mfa2
mellanox/mlxsw_spectrum-13.1530.152.mfa2
mellanox/mlxsw_spectrum-13.1620.192.mfa2
mellanox/mlxsw_spectrum-13.1702.6.mfa2
mellanox/mlxsw_spectrum-13.1703.4.mfa2
mellanox/mlxsw_spectrum-13.1910.622.mfa2
mellanox/mlxsw_spectrum-13.2000.1122.mfa2
)
# blacklist of images with unknown license
local unknown_license=(
korg/k1212.dsp
ess/maestro3_assp_kernel.fw
ess/maestro3_assp_minisrc.fw
yamaha/ds1_ctrl.fw
yamaha/ds1_dsp.fw
yamaha/ds1e_ctrl.fw
ttusb-budget/dspbootcode.bin
emi62/bitstream.fw
emi62/loader.fw
emi62/midi.fw
emi62/spdif.fw
ti_3410.fw
ti_5052.fw
mts_mt9234mu.fw
mts_mt9234zba.fw
whiteheat.fw
whiteheat_loader.fw
cpia2/stv0672_vp4.bin
vicam/firmware.fw
edgeport/boot.fw
edgeport/boot2.fw
edgeport/down.fw
edgeport/down2.fw
edgeport/down3.bin
sb16/mulaw_main.csp
sb16/alaw_main.csp
sb16/ima_adpcm_init.csp
sb16/ima_adpcm_playback.csp
sb16/ima_adpcm_capture.csp
sun/cassini.bin
acenic/tg1.bin
acenic/tg2.bin
adaptec/starfire_rx.bin
adaptec/starfire_tx.bin
yam/1200.bin
yam/9600.bin
ositech/Xilinx7OD.bin
qlogic/isp1000.bin
myricom/lanai.bin
yamaha/yss225_registers.bin
lgs8g75.fw
)
if use !unknown-license; then
einfo "Removing files with unknown license ..."
rm -v "${unknown_license[@]}" || die
fi
if use !redistributable; then
# remove files _not_ in the free_software or unknown_license lists
# everything else is confirmed (or assumed) to be redistributable
# based on upstream acceptance policy
einfo "Removing non-redistributable files ..."
local OLDIFS="${IFS}"
local IFS=$'\n'
set -o pipefail
find ! -type d -printf "%P\n" \
| grep -Fvx -e "${misc_files[*]}" -e "${free_software[*]}" -e "${unknown_license[*]}" \
| xargs -d '\n' --no-run-if-empty rm -v
[[ ${?} -ne 0 ]] && die "Failed to remove non-redistributable files"
IFS="${OLDIFS}"
fi
restore_config ${PN}.conf
}
src_install() {
local FW_OPTIONS=( "-v" "-j1" )
local files_to_keep=
if use savedconfig; then
if [[ -s "${S}/${PN}.conf" ]]; then
files_to_keep="${T}/files_to_keep.lst"
grep -v '^#' "${S}/${PN}.conf" 2>/dev/null > "${files_to_keep}" || die
[[ -s "${files_to_keep}" ]] || die "grep failed, empty config file?"
FW_OPTIONS+=( "--firmware-list" "${files_to_keep}" )
fi
fi
if use compress-xz; then
FW_OPTIONS+=( "--xz" )
elif use compress-zstd; then
FW_OPTIONS+=( "--zstd" )
fi
FW_OPTIONS+=( "${ED}/lib/firmware" )
./copy-firmware.sh "${FW_OPTIONS[@]}" || die
use deduplicate && { ./dedup-firmware.sh "${ED}/lib/firmware" || die; }
pushd "${ED}/lib/firmware" &>/dev/null || die
# especially use !redistributable will cause some broken symlinks
einfo "Removing broken symlinks ..."
find * -xtype l -print -delete || die
# remove empty directories, bug #396073
find -type d -empty -delete || die
# sanity check
if ! ( shopt -s failglob; : * ) 2>/dev/null; then
eerror "No files to install. Check your USE flag settings"
eerror "and the list of files in your saved configuration."
die "Refusing to install an empty package"
fi
# create config file
echo "# Remove files that shall not be installed from this list." > "${S}"/${PN}.conf || die
find * ! -type d >> "${S}"/${PN}.conf || die
save_config "${S}"/${PN}.conf
popd &>/dev/null || die
# Instruct Dracut on whether or not we want the microcode in initramfs
(
insinto /usr/lib/dracut/dracut.conf.d
newins - 10-${PN}.conf <<<"early_microcode=$(usex initramfs)"
)
if use initramfs; then
# Install installkernel/kernel-install hooks for non-dracut initramfs
# generators that don't bundled the microcode
dobin "${T}/make-amd-ucode-img"
(
exeinto /usr/lib/kernel/preinst.d
doexe "${FILESDIR}/35-amd-microcode.install"
exeinto /usr/lib/kernel/install.d
doexe "${FILESDIR}/35-amd-microcode-systemd.install"
)
fi
if use initramfs && ! use dist-kernel; then
insinto /boot
doins "${S}"/amd-uc.img
fi
dodoc README.md
# some licenses require copyright and permission notice to be included
use bindist && dodoc WHENCE LICEN[CS]E.*
}
pkg_preinst() {
if use savedconfig; then
ewarn "USE=savedconfig is active. You must handle file collisions manually."
fi
# Fix 'symlink is blocked by a directory' Bug #871315
if has_version "<${CATEGORY}/${PN}-20220913-r2" ; then
rm -rf "${EROOT}"/lib/firmware/qcom/LENOVO/21BX
fi
# Make sure /boot is available if needed.
use initramfs && ! use dist-kernel && mount-boot_pkg_preinst
}
pkg_postinst() {
elog "If you are only interested in particular firmware files, edit the saved"
elog "configfile and remove those that you do not want."
local ver
for ver in ${REPLACING_VERSIONS}; do
if ver_test ${ver} -lt 20190514; then
elog
elog 'Starting with version 20190514, installation of many firmware'
elog 'files is controlled by USE flags. Please review your USE flag'
elog 'and package.license settings if you are missing some files.'
break
fi
done
if use initramfs; then
if use dist-kernel; then
dist-kernel_reinstall_initramfs "${KV_DIR}" "${KV_FULL}" --all
else
# Don't forget to umount /boot if it was previously mounted by us.
mount-boot_pkg_postinst
fi
fi
}
pkg_prerm() {
# Make sure /boot is mounted so that we can remove /boot/amd-uc.img!
use initramfs && ! use dist-kernel && mount-boot_pkg_prerm
}
pkg_postrm() {
# Don't forget to umount /boot if it was previously mounted by us.
use initramfs && ! use dist-kernel && mount-boot_pkg_postrm
}