summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChí-Thanh Christopher Nguyễn <chithanh@gentoo.org>2011-06-02 00:12:53 +0000
committerChí-Thanh Christopher Nguyễn <chithanh@gentoo.org>2011-06-02 00:12:53 +0000
commit6556af922bfa57644b5ddce11e7849b9a14c6dda (patch)
tree822186538560c9bb61ebd0e57743ec40dd23dc46 /sys-kernel
parentQA: workaround bug #369713 by using make -j1. (diff)
downloadhistorical-6556af922bfa57644b5ddce11e7849b9a14c6dda.tar.gz
historical-6556af922bfa57644b5ddce11e7849b9a14c6dda.tar.bz2
historical-6556af922bfa57644b5ddce11e7849b9a14c6dda.zip
New snapshot. Update live ebuild to git-2.eclass, allow individual selection of firmware files through savedconfig. Remove old.
Package-Manager: portage-2.2.0_alpha34/cvs/Linux x86_64
Diffstat (limited to 'sys-kernel')
-rw-r--r--sys-kernel/linux-firmware/ChangeLog12
-rw-r--r--sys-kernel/linux-firmware/Manifest26
-rw-r--r--sys-kernel/linux-firmware/linux-firmware-20090421.ebuild20
-rw-r--r--sys-kernel/linux-firmware/linux-firmware-20100930.ebuild16
-rw-r--r--sys-kernel/linux-firmware/linux-firmware-20110128.ebuild51
-rw-r--r--sys-kernel/linux-firmware/linux-firmware-20110311.ebuild51
-rw-r--r--sys-kernel/linux-firmware/linux-firmware-20110601.ebuild81
-rw-r--r--sys-kernel/linux-firmware/linux-firmware-99999999.ebuild80
-rw-r--r--sys-kernel/linux-firmware/metadata.xml3
9 files changed, 155 insertions, 185 deletions
diff --git a/sys-kernel/linux-firmware/ChangeLog b/sys-kernel/linux-firmware/ChangeLog
index 31ffe9b0aee3..632d18707357 100644
--- a/sys-kernel/linux-firmware/ChangeLog
+++ b/sys-kernel/linux-firmware/ChangeLog
@@ -1,6 +1,16 @@
# ChangeLog for sys-kernel/linux-firmware
# Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sys-kernel/linux-firmware/ChangeLog,v 1.15 2011/05/31 15:45:24 phajdan.jr Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-kernel/linux-firmware/ChangeLog,v 1.16 2011/06/02 00:12:53 chithanh Exp $
+
+*linux-firmware-20110601 (02 Jun 2011)
+
+ 02 Jun 2011; Chí-Thanh Christopher Nguyễn <chithanh@gentoo.org>
+ -linux-firmware-20090421.ebuild, -linux-firmware-20100930.ebuild,
+ -linux-firmware-20110128.ebuild, -linux-firmware-20110311.ebuild,
+ +linux-firmware-20110601.ebuild, linux-firmware-99999999.ebuild,
+ metadata.xml:
+ New snapshot. Update live ebuild to git-2.eclass, allow individual selection
+ of firmware files through savedconfig. Remove old.
31 May 2011; Pawel Hajdan jr <phajdan.jr@gentoo.org>
linux-firmware-20110429.ebuild:
diff --git a/sys-kernel/linux-firmware/Manifest b/sys-kernel/linux-firmware/Manifest
index c3cd49cdbf29..999a84618943 100644
--- a/sys-kernel/linux-firmware/Manifest
+++ b/sys-kernel/linux-firmware/Manifest
@@ -1,23 +1,7 @@
------BEGIN PGP SIGNED MESSAGE-----
-Hash: SHA1
-
-DIST linux-firmware-20090421.tar.bz2 4419117 RMD160 4eb474907ed3e38982462fe8df18711239c2f2e5 SHA1 650b6c548b69ddace298e94971db9254ed3e89b7 SHA256 382c6291c7b2dd881ea1d8f0b3ad33f5f35159b2ee4da0ec890c8a8a289274da
-DIST linux-firmware-20100930.tar.bz2 10872245 RMD160 92a70cbf95469e4443a496f554ae569c022bf6a6 SHA1 38b814cfc7f922b1cbe755307af688cd8003d347 SHA256 8e123dea916938b074fe8180b570b94afd2d48f8e2f8e399be3425ee8f0fde7f
-DIST linux-firmware-20110128.tar.bz2 12004175 RMD160 57ef40e81cc7276c92196de8749e545911ebffad SHA1 a2de5c37c1dda506736a08e27b0a73127c723b70 SHA256 842f380efd74969623876b3420ae671b08b02b98c94e64e105068a6b5028b20e
-DIST linux-firmware-20110311.tar.bz2 12470709 RMD160 fdf3864ce78e3820542bdf4a135e76ba427d1255 SHA1 0be30ce2a1216bf244868c80030a490b186407e8 SHA256 ec8f40d7f0eed6c375df1eeff1d5be36d5e5059193da5ef4153f031df6508237
DIST linux-firmware-20110429.tar.bz2 13924650 RMD160 e39d87367100f13ca06006b57ab9b52455e2d3f6 SHA1 58d014c4cf6ea7db42d9e2d6f6982a47b697abdf SHA256 8da999839763035e734203f32b364fda6a02c7c88157b0582f9d25bc1ed0609b
-EBUILD linux-firmware-20090421.ebuild 627 RMD160 8cf754b221d60e0a480772b10331399ee05801bb SHA1 bdb7b6f7f60fad1bffeda340019f4041a9cbcb7e SHA256 1cacf6c4b254b73e7f68140b2c3591454138b787fc22e16be46479ee53c77ff3
-EBUILD linux-firmware-20100930.ebuild 558 RMD160 f2d8a3e77941f0f4506ce7375e3bf602efe81b62 SHA1 95db574a50a3083abe30c7f603457137d78dbe1f SHA256 b1b7f29ec864913fe4afe1a060e65c6fc38bd9e44db7d55fa71147d3273a0fc3
-EBUILD linux-firmware-20110128.ebuild 1573 RMD160 7063078d878b510f34129d305d088e35b6e60024 SHA1 5aa76950fc0f80beebfc0eac7504a3edcd62027a SHA256 72171c30125f52f25cf8fee72b3b36d0bed04e2301c03975595e896b41c8162c
-EBUILD linux-firmware-20110311.ebuild 1576 RMD160 ee490420885d02fa17cc7f95836fab2c8c70baf5 SHA1 d6d6c6db0d3182e77308f0f072cb34faef190c1b SHA256 0592ad39d49852d8111ea20fe95cb0870d7f88ba127eae7dec4bf06b435917f1
+DIST linux-firmware-20110601.tar.bz2 13913763 RMD160 e8107be7b8bb9268ef98f55a6a1ed296b42bf3d9 SHA1 cca25e2dc0bb23f700de55a37dd645bb386c1564 SHA256 991eda8b618549fa44fcfeb8aa708e7f39b2d36c4347e5e25aaf8b4310a904c9
EBUILD linux-firmware-20110429.ebuild 1576 RMD160 b245a7584d7a0ffa2f9a5f30254f8e592c7f8502 SHA1 5f4fab1d18a1f33fc5ce348880b337726c1b470b SHA256 d0534dc05e908683a74f147218c176326a6297f44bf71e1bc3d3d24b138f0381
-EBUILD linux-firmware-99999999.ebuild 1562 RMD160 c3cdb94676a2bc258be4b7440309d19e6d17141a SHA1 81c561d9412e961851cf2974ac00c132fad84b55 SHA256 00a7ccaeff295d3c0df47373329ee7f8b78e5858a5bff0d3dfc3452750367e4f
-MISC ChangeLog 2677 RMD160 3dd7b72eb98d48bceb87af6374e28d3b2a05ad71 SHA1 d1aeaf2714ae137874333f36453aad60e168d842 SHA256 c47f57799b1b404ff3ea5856c4b98d78d117656de6257e48d062666d4da31bd6
-MISC metadata.xml 362 RMD160 e2a756e596a8263c4d89f03d86be7a89c7f14ed0 SHA1 4ea3e2c72103a01e7d76bca465bbef72fe2dfaca SHA256 e8cb50ef20e7fb4ea25db468934d08e8fe9c7c8f23461dbc289fb83c8db52d6e
------BEGIN PGP SIGNATURE-----
-Version: GnuPG v2.0.17 (GNU/Linux)
-
-iEYEARECAAYFAk3lDRkACgkQuUQtlDBCeQKdlACfb3HeTF4hAquUQRQtrNETmQJd
-uQsAoIL59TWD7MhYML3RBxXWwz2pXgne
-=KBig
------END PGP SIGNATURE-----
+EBUILD linux-firmware-20110601.ebuild 2390 RMD160 46b85a93b9e685f764ab20f28b80510336eb2d2a SHA1 067da86f37f17cf3fd14598000836b7ec8a98117 SHA256 3d2b6d7dfed5803f308c50407e1b4d97a45d7399fdeb89dd430c66b31893a278
+EBUILD linux-firmware-99999999.ebuild 2374 RMD160 b192cae90d7be0f26a7b996ef14cd92dfa116d31 SHA1 947d9ac45695cc5587e5142f3dcd2695f5e08d60 SHA256 87ea81afca728c0d8e434b3935d7cf3a5f38e8747e4fe490bb5da515b4349849
+MISC ChangeLog 3136 RMD160 3ce6e2356e4716e4210ff19e9cd8063ff4f98c19 SHA1 7af5503d48f57a3b0368b4297eab36ae298da6c5 SHA256 46a7e7cf68fc276e2b57bb350e33c3de8a86b38e5790f9fc3e9ab9f9871d6d0f
+MISC metadata.xml 454 RMD160 486442b015182f3a69ac3420ee1fa8af56ca3938 SHA1 c9bbe5d0d641c8545d6f93be32e0fbb4751bc49e SHA256 981ce29c1ab948ee695b585601283674cb5079e054457829d9da06620e199f14
diff --git a/sys-kernel/linux-firmware/linux-firmware-20090421.ebuild b/sys-kernel/linux-firmware/linux-firmware-20090421.ebuild
deleted file mode 100644
index f82af28d4baa..000000000000
--- a/sys-kernel/linux-firmware/linux-firmware-20090421.ebuild
+++ /dev/null
@@ -1,20 +0,0 @@
-# Copyright 1999-2010 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sys-kernel/linux-firmware/linux-firmware-20090421.ebuild,v 1.4 2010/05/07 18:18:21 robbat2 Exp $
-
-DESCRIPTION="Linux firmware files"
-HOMEPAGE="http://www.kernel.org/pub/linux/kernel/people/dwmw2/firmware"
-SRC_URI="mirror://kernel/linux/kernel/people/dwmw2/firmware/${P}.tar.bz2"
-
-LICENSE="GPL-1 GPL-2 GPL-3 BSD freedist"
-KEYWORDS="~amd64 ~x86"
-SLOT="0"
-
-src_unpack() {
- unpack ${A}
-}
-
-src_install() {
- dodir /lib/firmware
- cp -R "${S}/"* "${D}lib/firmware/" || die "Install failed!"
-}
diff --git a/sys-kernel/linux-firmware/linux-firmware-20100930.ebuild b/sys-kernel/linux-firmware/linux-firmware-20100930.ebuild
deleted file mode 100644
index 6cb9051cbcdc..000000000000
--- a/sys-kernel/linux-firmware/linux-firmware-20100930.ebuild
+++ /dev/null
@@ -1,16 +0,0 @@
-# Copyright 1999-2010 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sys-kernel/linux-firmware/linux-firmware-20100930.ebuild,v 1.1 2010/10/20 18:24:47 scarabeus Exp $
-
-DESCRIPTION="Linux firmware files"
-HOMEPAGE="http://www.kernel.org/pub/linux/kernel/people/dwmw2/firmware"
-SRC_URI="mirror://kernel/linux/kernel/people/dwmw2/firmware/${P}.tar.bz2"
-
-LICENSE="GPL-1 GPL-2 GPL-3 BSD freedist"
-KEYWORDS="~amd64 ~x86"
-SLOT="0"
-
-src_install() {
- insinto /lib/firmware
- doins -r * || die
-}
diff --git a/sys-kernel/linux-firmware/linux-firmware-20110128.ebuild b/sys-kernel/linux-firmware/linux-firmware-20110128.ebuild
deleted file mode 100644
index 78ac10a4e48f..000000000000
--- a/sys-kernel/linux-firmware/linux-firmware-20110128.ebuild
+++ /dev/null
@@ -1,51 +0,0 @@
-# Copyright 1999-2011 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sys-kernel/linux-firmware/linux-firmware-20110128.ebuild,v 1.3 2011/03/15 01:11:22 flameeyes Exp $
-
-EAPI=3
-
-if [[ ${PV} == 99999999* ]]; then
- inherit git
- SRC_URI=""
- EGIT_REPO_URI="git://git.kernel.org/pub/scm/linux/kernel/git/dwmw2/${PN}.git"
-else
- SRC_URI="mirror://kernel/linux/kernel/people/dwmw2/firmware/${P}.tar.bz2"
-fi
-
-DESCRIPTION="Linux firmware files"
-HOMEPAGE="http://www.kernel.org/pub/linux/kernel/people/dwmw2/firmware"
-
-LICENSE="GPL-1 GPL-2 GPL-3 BSD freedist"
-KEYWORDS="~amd64 ~x86"
-SLOT="0"
-IUSE=""
-
-DEPEND=""
-RDEPEND="!media-sound/alsa-firmware[alsa_cards_korg1212]
- !media-sound/alsa-firmware[alsa_cards_maestro3]
- !media-sound/alsa-firmware[alsa_cards_sb16]
- !media-sound/alsa-firmware[alsa_cards_ymfpci]
- !media-tv/cx18-firmware
- !media-tv/ivtv-firmware
- !media-tv/linuxtv-dvb-firmware[dvb_cards_cx231xx]
- !media-tv/linuxtv-dvb-firmware[dvb_cards_cx23885]
- !media-tv/linuxtv-dvb-firmware[dvb_cards_usb-dib0700]
- !net-wireless/libertas-firmware
- !net-wireless/i2400m-fw
- !net-wireless/iwl1000-ucode
- !net-wireless/iwl3945-ucode
- !net-wireless/iwl4965-ucode
- !net-wireless/iwl5000-ucode
- !net-wireless/iwl5150-ucode
- !net-wireless/iwl6000-ucode
- !net-wireless/iwl6050-ucode
- !net-wireless/rt61-firmware
- !net-wireless/rt73-firmware
- !sys-block/qla-fc-firmware
- !x11-drivers/radeon-ucode"
-#add anything else that collides to this
-
-src_install() {
- insinto /lib/firmware/
- doins -r * || die "Install failed!"
-}
diff --git a/sys-kernel/linux-firmware/linux-firmware-20110311.ebuild b/sys-kernel/linux-firmware/linux-firmware-20110311.ebuild
deleted file mode 100644
index b39db8acb0b9..000000000000
--- a/sys-kernel/linux-firmware/linux-firmware-20110311.ebuild
+++ /dev/null
@@ -1,51 +0,0 @@
-# Copyright 1999-2011 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sys-kernel/linux-firmware/linux-firmware-20110311.ebuild,v 1.2 2011/04/09 09:51:20 armin76 Exp $
-
-EAPI=3
-
-if [[ ${PV} == 99999999* ]]; then
- inherit git
- SRC_URI=""
- EGIT_REPO_URI="git://git.kernel.org/pub/scm/linux/kernel/git/dwmw2/${PN}.git"
-else
- SRC_URI="mirror://kernel/linux/kernel/people/dwmw2/firmware/${P}.tar.bz2"
-fi
-
-DESCRIPTION="Linux firmware files"
-HOMEPAGE="http://www.kernel.org/pub/linux/kernel/people/dwmw2/firmware"
-
-LICENSE="GPL-1 GPL-2 GPL-3 BSD freedist"
-KEYWORDS="~amd64 ~arm ~x86"
-SLOT="0"
-IUSE=""
-
-DEPEND=""
-RDEPEND="!media-sound/alsa-firmware[alsa_cards_korg1212]
- !media-sound/alsa-firmware[alsa_cards_maestro3]
- !media-sound/alsa-firmware[alsa_cards_sb16]
- !media-sound/alsa-firmware[alsa_cards_ymfpci]
- !media-tv/cx18-firmware
- !media-tv/ivtv-firmware
- !media-tv/linuxtv-dvb-firmware[dvb_cards_cx231xx]
- !media-tv/linuxtv-dvb-firmware[dvb_cards_cx23885]
- !media-tv/linuxtv-dvb-firmware[dvb_cards_usb-dib0700]
- !net-wireless/libertas-firmware
- !net-wireless/i2400m-fw
- !net-wireless/iwl1000-ucode
- !net-wireless/iwl3945-ucode
- !net-wireless/iwl4965-ucode
- !net-wireless/iwl5000-ucode
- !net-wireless/iwl5150-ucode
- !net-wireless/iwl6000-ucode
- !net-wireless/iwl6050-ucode
- !net-wireless/rt61-firmware
- !net-wireless/rt73-firmware
- !sys-block/qla-fc-firmware
- !x11-drivers/radeon-ucode"
-#add anything else that collides to this
-
-src_install() {
- insinto /lib/firmware/
- doins -r * || die "Install failed!"
-}
diff --git a/sys-kernel/linux-firmware/linux-firmware-20110601.ebuild b/sys-kernel/linux-firmware/linux-firmware-20110601.ebuild
new file mode 100644
index 000000000000..9b858b2aefd4
--- /dev/null
+++ b/sys-kernel/linux-firmware/linux-firmware-20110601.ebuild
@@ -0,0 +1,81 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-kernel/linux-firmware/linux-firmware-20110601.ebuild,v 1.1 2011/06/02 00:12:53 chithanh Exp $
+
+EAPI=3
+inherit savedconfig
+
+if [[ ${PV} == 99999999* ]]; then
+ inherit git-2
+ SRC_URI=""
+ EGIT_REPO_URI="git://git.kernel.org/pub/scm/linux/kernel/git/dwmw2/${PN}.git"
+else
+ SRC_URI="mirror://kernel/linux/kernel/people/dwmw2/firmware/${P}.tar.bz2"
+fi
+
+DESCRIPTION="Linux firmware files"
+HOMEPAGE="http://www.kernel.org/pub/linux/kernel/people/dwmw2/firmware"
+
+LICENSE="GPL-1 GPL-2 GPL-3 BSD freedist"
+KEYWORDS="~amd64 ~arm ~x86"
+SLOT="0"
+IUSE="savedconfig"
+
+DEPEND=""
+RDEPEND="!savedconfig? (
+ !media-sound/alsa-firmware[alsa_cards_korg1212]
+ !media-sound/alsa-firmware[alsa_cards_maestro3]
+ !media-sound/alsa-firmware[alsa_cards_sb16]
+ !media-sound/alsa-firmware[alsa_cards_ymfpci]
+ !media-tv/cx18-firmware
+ !media-tv/ivtv-firmware
+ !media-tv/linuxtv-dvb-firmware[dvb_cards_cx231xx]
+ !media-tv/linuxtv-dvb-firmware[dvb_cards_cx23885]
+ !media-tv/linuxtv-dvb-firmware[dvb_cards_usb-dib0700]
+ !net-wireless/i2400m-fw
+ !net-wireless/iwl1000-ucode
+ !net-wireless/iwl3945-ucode
+ !net-wireless/iwl4965-ucode
+ !net-wireless/iwl5000-ucode
+ !net-wireless/iwl5150-ucode
+ !net-wireless/iwl6000-ucode
+ !net-wireless/iwl6050-ucode
+ !net-wireless/libertas-firmware
+ !net-wireless/rt61-firmware
+ !net-wireless/rt73-firmware
+ !sys-block/qla-fc-firmware
+ !x11-drivers/radeon-ucode
+ )"
+#add anything else that collides to this
+
+src_prepare() {
+ echo "# Remove files that shall not be installed from this list." > ${PN}.conf
+ find * \( \! -type d -and \! -name ${PN}.conf \) >> ${PN}.conf
+
+ if use savedconfig; then
+ restore_config ${PN}.conf
+ ebegin "Removing all files not listed in config"
+ find * \( \! -type d -and \! -name ${PN}.conf \) \
+ | sort ${PN}.conf ${PN}.conf - \
+ | uniq -u | xargs -r rm
+ eend $? || die
+ fi
+}
+
+src_install() {
+ save_config ${PN}.conf
+ rm ${PN}.conf || die
+ insinto /lib/firmware/
+ doins -r * || die "Install failed!"
+}
+
+pkg_preinst() {
+ if use savedconfig; then
+ ewarn "USE=savedconfig is active. You must handle file collisions manually."
+ fi
+}
+
+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."
+}
diff --git a/sys-kernel/linux-firmware/linux-firmware-99999999.ebuild b/sys-kernel/linux-firmware/linux-firmware-99999999.ebuild
index c44d39b2751d..8ec0b990eec7 100644
--- a/sys-kernel/linux-firmware/linux-firmware-99999999.ebuild
+++ b/sys-kernel/linux-firmware/linux-firmware-99999999.ebuild
@@ -1,11 +1,12 @@
# Copyright 1999-2011 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sys-kernel/linux-firmware/linux-firmware-99999999.ebuild,v 1.7 2011/03/15 01:11:22 flameeyes Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-kernel/linux-firmware/linux-firmware-99999999.ebuild,v 1.8 2011/06/02 00:12:53 chithanh Exp $
EAPI=3
+inherit savedconfig
if [[ ${PV} == 99999999* ]]; then
- inherit git
+ inherit git-2
SRC_URI=""
EGIT_REPO_URI="git://git.kernel.org/pub/scm/linux/kernel/git/dwmw2/${PN}.git"
else
@@ -18,34 +19,63 @@ HOMEPAGE="http://www.kernel.org/pub/linux/kernel/people/dwmw2/firmware"
LICENSE="GPL-1 GPL-2 GPL-3 BSD freedist"
KEYWORDS=""
SLOT="0"
-IUSE=""
+IUSE="savedconfig"
DEPEND=""
-RDEPEND="!media-sound/alsa-firmware[alsa_cards_korg1212]
- !media-sound/alsa-firmware[alsa_cards_maestro3]
- !media-sound/alsa-firmware[alsa_cards_sb16]
- !media-sound/alsa-firmware[alsa_cards_ymfpci]
- !media-tv/cx18-firmware
- !media-tv/ivtv-firmware
- !media-tv/linuxtv-dvb-firmware[dvb_cards_cx231xx]
- !media-tv/linuxtv-dvb-firmware[dvb_cards_cx23885]
- !media-tv/linuxtv-dvb-firmware[dvb_cards_usb-dib0700]
- !net-wireless/libertas-firmware
- !net-wireless/i2400m-fw
- !net-wireless/iwl1000-ucode
- !net-wireless/iwl3945-ucode
- !net-wireless/iwl4965-ucode
- !net-wireless/iwl5000-ucode
- !net-wireless/iwl5150-ucode
- !net-wireless/iwl6000-ucode
- !net-wireless/iwl6050-ucode
- !net-wireless/rt61-firmware
- !net-wireless/rt73-firmware
- !sys-block/qla-fc-firmware
- !x11-drivers/radeon-ucode"
+RDEPEND="!savedconfig? (
+ !media-sound/alsa-firmware[alsa_cards_korg1212]
+ !media-sound/alsa-firmware[alsa_cards_maestro3]
+ !media-sound/alsa-firmware[alsa_cards_sb16]
+ !media-sound/alsa-firmware[alsa_cards_ymfpci]
+ !media-tv/cx18-firmware
+ !media-tv/ivtv-firmware
+ !media-tv/linuxtv-dvb-firmware[dvb_cards_cx231xx]
+ !media-tv/linuxtv-dvb-firmware[dvb_cards_cx23885]
+ !media-tv/linuxtv-dvb-firmware[dvb_cards_usb-dib0700]
+ !net-wireless/i2400m-fw
+ !net-wireless/iwl1000-ucode
+ !net-wireless/iwl3945-ucode
+ !net-wireless/iwl4965-ucode
+ !net-wireless/iwl5000-ucode
+ !net-wireless/iwl5150-ucode
+ !net-wireless/iwl6000-ucode
+ !net-wireless/iwl6050-ucode
+ !net-wireless/libertas-firmware
+ !net-wireless/rt61-firmware
+ !net-wireless/rt73-firmware
+ !sys-block/qla-fc-firmware
+ !x11-drivers/radeon-ucode
+ )"
#add anything else that collides to this
+src_prepare() {
+ echo "# Remove files that shall not be installed from this list." > ${PN}.conf
+ find * \( \! -type d -and \! -name ${PN}.conf \) >> ${PN}.conf
+
+ if use savedconfig; then
+ restore_config ${PN}.conf
+ ebegin "Removing all files not listed in config"
+ find * \( \! -type d -and \! -name ${PN}.conf \) \
+ | sort ${PN}.conf ${PN}.conf - \
+ | uniq -u | xargs -r rm
+ eend $? || die
+ fi
+}
+
src_install() {
+ save_config ${PN}.conf
+ rm ${PN}.conf || die
insinto /lib/firmware/
doins -r * || die "Install failed!"
}
+
+pkg_preinst() {
+ if use savedconfig; then
+ ewarn "USE=savedconfig is active. You must handle file collisions manually."
+ fi
+}
+
+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."
+}
diff --git a/sys-kernel/linux-firmware/metadata.xml b/sys-kernel/linux-firmware/metadata.xml
index 3514433a2328..e7f764657405 100644
--- a/sys-kernel/linux-firmware/metadata.xml
+++ b/sys-kernel/linux-firmware/metadata.xml
@@ -10,4 +10,7 @@
<email>chithanh@gentoo.org</email>
<name>Chí-Thanh Christopher Nguyễn</name>
</maintainer>
+<use>
+ <flag name='savedconfig'>Allows individual selection of firmware files</flag>
+</use>
</pkgmetadata>