summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'sys-kernel/linux-firmware/linux-firmware-20190514.ebuild')
-rw-r--r--sys-kernel/linux-firmware/linux-firmware-20190514.ebuild22
1 files changed, 12 insertions, 10 deletions
diff --git a/sys-kernel/linux-firmware/linux-firmware-20190514.ebuild b/sys-kernel/linux-firmware/linux-firmware-20190514.ebuild
index aee768144050..1d485cb57d48 100644
--- a/sys-kernel/linux-firmware/linux-firmware-20190514.ebuild
+++ b/sys-kernel/linux-firmware/linux-firmware-20190514.ebuild
@@ -25,17 +25,10 @@ SLOT="0"
IUSE="+redistributable savedconfig unknown-license"
RESTRICT="binchecks strip
unknown-license? ( bindist )"
-REQUIRED_USE="unknown-license? ( redistributable )"
RDEPEND="!savedconfig? (
redistributable? (
!sys-firmware/alsa-firmware[alsa_cards_ca0132]
- 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]
- )
!media-tv/cx18-firmware
!<sys-firmware/ivtv-firmware-20080701-r1
!media-tv/linuxtv-dvb-firmware[dvb_cards_cx231xx]
@@ -69,7 +62,14 @@ RDEPEND="!savedconfig? (
!sys-firmware/iwl3160-7260-bt-ucode
!sys-firmware/radeon-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]
+ )
)"
+
#add anything else that collides to this
src_unpack() {
@@ -229,15 +229,17 @@ src_prepare() {
rm -r ${source_files[@]} || die
if use !unknown-license; then
- # remove files in the unknown_license blacklist
+ # remove files in unknown_license
rm "${unknown_license[@]}" || die
fi
if use !redistributable; then
- # remove files _not_ in the free_software whitelist
+ # remove files _not_ in the free_software whitelist or unknown_license
+ # everything else is confirmed (or assumed) to be redistributable based on upstream acceptance policy
local file remove=()
while IFS= read -d "" -r file; do
- has "${file#./}" "${free_software[@]}" || remove+=("${file}")
+ has "${file#./}" "${free_software[@]}" "${unknown_license[@]}" \
+ || remove+=("${file}")
done < <(find * ! -type d -print0 || die)
printf "%s\0" "${remove[@]}" | xargs -0 rm || die
fi