sys-kernel/linux-firmware: new snapshot

Package-Manager: Portage-3.0.3, Repoman-3.0.0
Signed-off-by: Thomas Deutschmann <whissi@gentoo.org>
This commit is contained in:
Thomas Deutschmann
2020-08-18 15:51:50 +02:00
parent 216bff6377
commit 73d48347d4
2 changed files with 343 additions and 0 deletions

View File

@@ -3,3 +3,4 @@ DIST linux-firmware-20200421.tar.xz 98988760 BLAKE2B 171c8fdbf0724d1cf851a6daa44
DIST linux-firmware-20200519.tar.xz 101137720 BLAKE2B b73744d4f8d0fc74fb1388ee13c04e44db8ee68f51ceb0c5ad363b2dfa4b381806b18c3f2a926b6ee13e290db874ea41b3388d647a662f462eebfe93051bd95b SHA512 88fad2a87cfad329d89e266eee3f5afcf6d0b3bc29510e6ba7ca96a9e18ff9e8e15a7895d600d289bf2ba0c73a908affdd68697fd3f1753e22d9920f9d859e81
DIST linux-firmware-20200619.tar.xz 117836800 BLAKE2B 09312c70f81791f91547cf815ca0f07297c7ea4c527996504008e4c9dcc9d17c1eea192a646efc89146de62e886ccbf916a041247d642265ca375252e6af825e SHA512 8433646f2837fb5f52b2303316329f7c05423642085288f219d9955588441d50d6901cd31e0705a08453bda1882596ae6d8f8f922520579695f1b36b774b404b
DIST linux-firmware-20200721.tar.xz 118013188 BLAKE2B 648f22d63e8e8a791e3243f9afb2d097fb206cfa1c1fd37fede0fd555d4b7cf6af6b27f4d67e4dc32a6c70fc25c6aee813dc330b4861dbd13373f703a04edd1a SHA512 1dbbf92efd1ac282a72e2f7483c9b35fe3ec348ab3f6062edb34b7922b6c1a007851a87b1835ece16d3cf147fb20ce8602a0262b0c8c94902728ac2f108796e9
DIST linux-firmware-20200817.tar.xz 121401548 BLAKE2B 77a9ddbab368994801c5f834b65e0c991798eb5ecaeecb84a5b69e886f7aae6e6186f60ebdd4f18449ffe639fb8230c3db108151026161ab23740da63be928a2 SHA512 dba347534d1b51ebcc55600c05293fad5f04f0bfdaec80b2ba27b40a9a20eb5c8bd76cb29d8ca6c814b067952cba4ee3fdb903510a171df98959d592b2c00c13

View File

@@ -0,0 +1,342 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit mount-boot 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"
else
SRC_URI="https://mirrors.edge.kernel.org/pub/linux/kernel/firmware/${P}.tar.xz"
fi
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 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 no-source-code ) )
unknown-license? ( all-rights-reserved )"
SLOT="0"
IUSE="initramfs +redistributable savedconfig unknown-license"
RESTRICT="binchecks strip
unknown-license? ( bindist )"
REQUIRED_USE="initramfs? ( redistributable )"
BDEPEND="initramfs? ( app-arch/cpio )"
#add anything else that collides to this
RDEPEND="!savedconfig? (
redistributable? (
!sys-firmware/alsa-firmware[alsa_cards_ca0132]
!net-dialup/ueagle-atm
!net-dialup/ueagle4-atm
!sys-block/qla-fc-firmware
!sys-firmware/iwl1000-ucode
!sys-firmware/iwl6005-ucode
!sys-firmware/iwl6030-ucode
!sys-firmware/iwl6050-ucode
!sys-firmware/iwl3160-ucode
!sys-firmware/iwl7260-ucode
!sys-firmware/iwl3160-7260-bt-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]
)
)"
pkg_pretend() {
use initramfs && mount-boot_pkg_pretend
}
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() {
# source and documentation files, not to be installed
local source_files=(
README
WHENCE
"LICEN[CS]E*"
"GPL*"
configure
Makefile
check_whence.py
atusb/ChangeLog
av7110/Boot.S
av7110/Makefile
carl9170fw/
cis/Makefile
cis/src/
dsp56k/bootstrap.asm
dsp56k/concat-bootstrap.pl
dsp56k/Makefile
"isci/*.[ch]"
isci/Makefile
isci/README
"keyspan_pda/*.S"
keyspan_pda/Makefile
usbdux/
)
# 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=(
atmsar11.fw
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
tr_smctr.bin
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
intelliport2.bin
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
3com/3C359.bin
ositech/Xilinx7OD.bin
qlogic/isp1000.bin
myricom/lanai.bin
yamaha/yss225_registers.bin
lgs8g75.fw
)
default
# remove sources and documentation (wildcards are expanded)
rm -r ${source_files[@]} || die
rm -rf .git
if use !unknown-license; then
# remove files in unknown_license
rm "${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
local IFS=$'\n'
find ! -type d -printf "%P\n" \
| grep -Fvx -e "${free_software[*]}" -e "${unknown_license[*]}" \
| xargs -d '\n' rm || die
IFS=$' \t\n'
fi
if use initramfs; then
if [[ -d "${S}/amd-ucode" ]]; then
local UCODETMP="${T}/ucode_tmp"
local UCODEDIR="${UCODETMP}/kernel/x86/microcode"
mkdir -p "${UCODEDIR}" || die
echo 1 > "${UCODETMP}/early_cpio"
local amd_ucode_file="${UCODEDIR}/AuthenticAMD.bin"
cat "${S}"/amd-ucode/*.bin > "${amd_ucode_file}" || die "Failed to concat amd cpu ucode"
if [[ ! -s "${amd_ucode_file}" ]]; then
die "Sanity check failed: '${amd_ucode_file}' is empty!"
fi
pushd "${UCODETMP}" &>/dev/null || die
find . -print0 | cpio --quiet --null -o -H newc -R 0:0 > "${S}"/amd-uc.img
popd &>/dev/null || die
if [[ ! -s "${S}/amd-uc.img" ]]; then
die "Failed to create '${S}/amd-uc.img'!"
fi
else
# If this will ever happen something has changed which
# must be reviewed
die "'${S}/amd-ucode' not found!"
fi
fi
echo "# Remove files that shall not be installed from this list." > ${PN}.conf
find * ! -type d ! \( -name ${PN}.conf -o -name amd-uc.img \) >> ${PN}.conf
if use savedconfig; then
restore_config ${PN}.conf
ebegin "Removing all files not listed in config"
find ! -type d ! \( -name ${PN}.conf -o -name amd-uc.img \) -printf "%P\n" \
| grep -Fvx -f <(grep -v '^#' ${PN}.conf \
|| die "grep failed, empty config file?") \
| xargs -d '\n' --no-run-if-empty rm
eend $? || die
fi
# remove empty directories, bug #396073
find -type d -empty -delete || die
}
src_install() {
save_config ${PN}.conf
rm ${PN}.conf || die
if use initramfs ; then
mkdir "${ED}/boot" || die
mv "${S}"/amd-uc.img "${ED}/boot" || die
fi
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
insinto /lib/firmware/
doins -r *
}
pkg_preinst() {
if use savedconfig; then
ewarn "USE=savedconfig is active. You must handle file collisions manually."
fi
# Make sure /boot is available if needed.
use initramfs && 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
# Don't forget to umount /boot if it was previously mounted by us.
use initramfs && mount-boot_pkg_postinst
}
pkg_prerm() {
# Make sure /boot is mounted so that we can remove /boot/amd-uc.img!
use initramfs && mount-boot_pkg_prerm
}
pkg_postrm() {
# Don't forget to umount /boot if it was previously mounted by us.
use initramfs && mount-boot_pkg_postrm
}