summaryrefslogtreecommitdiff
path: root/eclass
diff options
context:
space:
mode:
Diffstat (limited to 'eclass')
-rw-r--r--eclass/kernel-libre.eclass39
1 files changed, 39 insertions, 0 deletions
diff --git a/eclass/kernel-libre.eclass b/eclass/kernel-libre.eclass
new file mode 100644
index 0000000..4e7dbc0
--- /dev/null
+++ b/eclass/kernel-libre.eclass
@@ -0,0 +1,39 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+#
+# Original Author: nick
+# Purpose: override of kernel-2.eclass for the linux-libre kernel
+#
+
+inherit kernel-2
+EXPORT_FUNCTIONS src_unpack
+
+DEBLOB_CHECK="deblob-check"
+LIBRE_URI_BASE="http://www.linux-libre.fsfla.org/pub/linux-libre/releases/${PV}-libre"
+LIBREKERNEL_URI="${LIBRE_URI_BASE}/linux-${PV}-libre.tar.bz2"
+DEBLOB_URI="${LIBRE_URI_BASE}/${DEBLOB_CHECK}"
+
+kernel-libre_src_unpack() {
+ # kernel revision patches included in tarball
+ UNIPATCH_LIST_DEFAULT=""
+
+ # universal_unpack expects a different kernel tarball name
+ expected_tarball=${DISTDIR}/linux-${OKV}.tar.bz2
+
+ # temporarily move any preexisting kernel tarball
+ moved_tarball=${expected_tarball}-original
+ [[ -f $expected_tarball ]] && \
+ mv $expected_tarball $moved_tarball
+
+ ln -sf ${DISTDIR}/linux-${OKV}-libre.tar.bz2 $expected_tarball
+
+ kernel-2_src_unpack
+
+ rm $expected_tarball
+
+ # put any preexisting tarball back in its original location
+ [[ -f $moved_tarball ]] && \
+ mv $moved_tarball $expected_tarball
+}