Added eclass for binary kernel bugfix modules prepare

atratsevskiy
Mike Hiretsky 15 years ago
parent e70297be83
commit 794c297e00

@ -0,0 +1,103 @@
# Copyright 1999-2010 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $
#
# Original Author: © 2007-2009 Mir Calculate, Ltd.
# Purpose: Installing linux-desktop, linux-server.
# Build the kernel from source.
inherit calculate eutils kernel-2 linux-mod
EXPORT_FUNCTIONS pkg_setup src_unpack src_compile src_install pkg_postinst pkg_postrm pkg_prerm
SRC_URI="x86?
( ftp://ftp.calculate.ru/pub/calculate/${PN}/${PN}-i686-${PV}.tar.bz2 )
amd64?
( ftp://ftp.calculate.ru/pub/calculate/${PN}/${PN}-x86_64-${PV}.tar.bz2 )"
SLOT="${KV_MAJOR}.${KV_MINOR}.${KV_PATCH}"
GENTOO_SOURCES_PV="${SLOT}"
GENTOO_SOURCES_PVR="${GENTOO_SOURCES_PV}-${GENTOO_SOURCES_PR}"
SRC_NAME=linux-${GENTOO_SOURCES_PV}-gentoo-${GENTOO_SOURCES_PR}
KV_FULL="${SLOT}${KV_TYPE}"
SLOT_T="${PORTAGE_TMPDIR}/portage/${CATEGORY}/${PN}-${SLOT}/temp"
DEPEND="=sys-kernel/gentoo-sources-${GENTOO_SOURCES_PVR}"
RDEPEND="${DEPEND}"
calculate-kernel_pkg_setup() {
mkdir -p ${SLOT_T}
}
calculate-kernel_src_unpack() {
unpack ${PN}-`arch`-${PV}.tar.bz2
#unpack ${A}
}
calculate-kernel_src_compile() {
cd ${WORKDIR}
addwrite "/usr/src/"
cp -Rpt ${ROOT}/usr/src/ usr/src/*
calculate_set_kernelversion ${ROOT}/usr/src/${SRC_NAME}
rm ${ROOT}/usr/src/linux
ln -sf ${SRC_NAME} ${ROOT}/usr/src/linux
cd ${ROOT}/usr/src/linux
local GENTOOARCH="${ARCH}"
[[ ${ARCH} = x86 ]] && ARCH=i686 || unset ARCH
make modules_prepare
ARCH="${GENTOOARCH}"
cd ${WORKDIR}
}
calculate-kernel_src_install() {
dodir /usr/src/${SRC_NAME}
insinto /
doins -r boot
doins -r lib
dosym /usr/src/${SRC_NAME} \
"/lib/modules/${GENTOO_SOURCES_PV}-calculate/source" ||
die "cannot install source symlink"
dosym /usr/src/${SRC_NAME} \
"/lib/modules/${GENTOO_SOURCES_PV}-calculate/build" ||
die "cannot install build symlink"
addwrite "/lib/firmware"
# Workaround kernel issue with colliding
# firmwares across different kernel versions
for fwfile in `find "${D}/lib/firmware" -type f`; do
sysfile="${ROOT}/${fwfile/${D}}"
if [ -f "${sysfile}" ]; then
#ewarn "Removing duplicated: ${sysfile}"
rm ${sysfile} || die "failed to remove ${sysfile}"
fi
done
PKG_CONTENTS=${ROOT}/var/db/pkg/${CATEGORY}/${PN}-${SLOT}*/CONTENTS
test -f ${PKG_CONTENTS} && calculate_rm_modules_dir ${PKG_CONTENTS}
}
calculate-kernel_pkg_prerm() {
calculate_rm_modules_dir ${ROOT}/var/db/pkg/${CATEGORY}/${PF}/CONTENTS
}
calculate-kernel_pkg_postinst() {
calculate_update_splash ${ROOT}/boot/initramfs-${SYSTEM}-${SLOT}-calculate
calculate_update_kernel ${SYSTEM} ${SLOT} ${ROOT}/boot
KV_OUT_DIR=/usr/src/${SRC_NAME}
kernel-2_pkg_postinst
UPDATE_MODULEDB=false
linux-mod_pkg_postinst
}
calculate-kernel_pkg_postrm() {
rm -f ${SLOT_T}/.alreadydel
rmdir ${SLOT_T} &>/dev/null
calculate_restore_kernel ${ROOT}/boot
}

@ -1,5 +1,5 @@
DIST linux-desktop-i686-2.6.31.10.tar.bz2 22466319 RMD160 40940a5d9d178d90af8da04200349cf381c3f9b6 SHA1 d8f4db68c46af8432a13145129ff457a44024242 SHA256 b3a92c08d21558459883a97a600e89a291e62a8b5de70f3f18b88ccbdb436e49
DIST linux-desktop-x86_64-2.6.31.10.tar.bz2 23187560 RMD160 a01eea0768d4e1ac3704703de1236c8bf236f360 SHA1 5a448674044192a1fdd28e0756ede48029ce0582 SHA256 5c528d3fd8c95b04cbfc1c3e97d8999f40655e7735926114b816516f33c7ccd5
EBUILD linux-desktop-2.6.31.10.ebuild 2606 RMD160 331641c9066f0bf941357526cecef90ac996c1e3 SHA1 11bb0949b1c3a291f9ce8e52ac9c8fb2453990bb SHA256 3d53b5737d0d476525049a835b7e1997c0c6896201f31317cc9a35f4ed1d26aa
EBUILD linux-desktop-2.6.31.10.ebuild 507 RMD160 0a0c9fc8677cd6faf28b08605cb0427bdfe4b77c SHA1 24d04e2e3f6d182c8a89205aec852336230568ae SHA256 5c739f898553df1e29a945d0a08c7637f8531516affde038a41b11b21b726c3d
MISC ChangeLog 438 RMD160 14d3ecc39e03397ddec05b7eb76c901758f3aa32 SHA1 3f66f71ae244e30e69ed273fece6228c1140dc63 SHA256 f45966bf552f3c5bb69449167314bafb281b5fc6cf426d0aea1ab7851ebadc48
MISC metadata.xml 301 RMD160 02bb86eab6405a3ef4c456cb74a1e75af6aa5908 SHA1 b175ee74e8df391d076f7eb5938f56a3b145ba14 SHA256 85b67abd7fbdbaf56de54b4d63580250b6f7ea0cfda624072a7601ee6d25ffd2

@ -3,102 +3,22 @@
# $Header: $
ETYPE="sources"
inherit calculate kernel-2 linux-mod
DESCRIPTION="Binary kernel including the Gentoo patchset for the 2.6 kernel tree"
HOMEPAGE="http://www.calculate-linux.org/linux-desktop"
SRC_URI="ftp://ftp.calculate.ru/pub/calculate/${PN}/${PN}-`arch`-${PV}.tar.bz2"
LICENSE="GPL-2"
KEYWORDS="x86 amd64"
IUSE=""
KV_MAJOR=2
KV_MINOR=6
KV_PATCH=31
KV_TYPE=-calculate
SLOT="${KV_MAJOR}.${KV_MINOR}.${KV_PATCH}"
GENTOO_SOURCES_PV="${SLOT}"
GENTOO_SOURCES_PR="r9"
GENTOO_SOURCES_PVR="${GENTOO_SOURCES_PV}-${GENTOO_SOURCES_PR}"
SRC_NAME=linux-${GENTOO_SOURCES_PV}-gentoo-${GENTOO_SOURCES_PR}
SYSTEM="desktop"
KV_FULL="${SLOT}${KV_TYPE}"
SLOT_T="${PORTAGE_TMPDIR}/portage/${CATEGORY}/${PN}-${SLOT}/temp"
DEPEND="=sys-kernel/gentoo-sources-${GENTOO_SOURCES_PVR}
>=sys-apps/calculate-1.3.3"
RDEPEND="${DEPEND}"
pkg_setup() {
mkdir -p ${SLOT_T}
}
src_unpack() {
unpack ${A}
}
src_compile() {
cd ${WORKDIR}
addwrite "/usr/src/"
cp -Rpt ${ROOT}/usr/src/ usr/src/*
calculate_set_kernelversion ${ROOT}/usr/src/${SRC_NAME}
rm ${ROOT}/usr/src/linux
ln -sf ${SRC_NAME} ${ROOT}/usr/src/linux
cd ${ROOT}/usr/src/linux
make modules_prepare
cd ${WORKDIR}
}
inherit calculate-kernel
src_install() {
dodir /usr/src/${SRC_NAME}
insinto /
doins -r boot
doins -r lib
dosym /usr/src/${SRC_NAME} \
"/lib/modules/${GENTOO_SOURCES_PV}-calculate/source" ||
die "cannot install source symlink"
dosym /usr/src/${SRC_NAME} \
"/lib/modules/${GENTOO_SOURCES_PV}-calculate/build" ||
die "cannot install build symlink"
addwrite "/lib/firmware"
# Workaround kernel issue with colliding
# firmwares across different kernel versions
for fwfile in `find "${D}/lib/firmware" -type f`; do
sysfile="${ROOT}/${fwfile/${D}}"
if [ -f "${sysfile}" ]; then
ewarn "Removing duplicated: ${sysfile}"
rm ${sysfile} || die "failed to remove ${sysfile}"
fi
done
PKG_CONTENTS=${ROOT}/var/db/pkg/${CATEGORY}/${PN}-${SLOT}*/CONTENTS
test -f ${PKG_CONTENTS} && calculate_rm_modules_dir ${PKG_CONTENTS}
}
pkg_prerm() {
calculate_rm_modules_dir ${ROOT}/var/db/pkg/${CATEGORY}/${PF}/CONTENTS
}
pkg_postinst() {
calculate_update_splash ${ROOT}/boot/initramfs-${SYSTEM}-${SLOT}-calculate
calculate_update_kernel ${SYSTEM} ${SLOT} ${ROOT}/boot
KV_OUT_DIR=/usr/src/${SRC_NAME}
DESCRIPTION="Desktop binary kernel including the Gentoo patchset for the 2.6 kernel tree"
HOMEPAGE="http://www.calculate-linux.org/linux-desktop"
kernel-2_pkg_postinst
UPDATE_MODULEDB=false
linux-mod_pkg_postinst
cd $KV_OUT_DIR
make modules_prepare
}
LICENSE="GPL-2"
KEYWORDS="x86 amd64"
IUSE=""
pkg_postrm() {
rm -f ${SLOT_T}/.alreadydel
rmdir ${SLOT_T} &>/dev/null
calculate_restore_kernel ${ROOT}/boot
}
DEPEND=">=sys-apps/calculate-1.3.3"
RDEPEND="${DEPEND}"

@ -1,5 +1,5 @@
DIST linux-server-i686-2.6.31.10.tar.bz2 22404445 RMD160 42fda2842588aaf968bc8e78768f5185824d752d SHA1 8975108811827adccf554b007ddb8d5b934f3384 SHA256 ba15df30ebd0cc7a416f09d973a4b50c5df7ccbadc503179e08d2b717000c828
DIST linux-server-x86_64-2.6.31.10.tar.bz2 23051925 RMD160 430f260a3394544b25a7b731ba078b5590598a64 SHA1 ad6baf11479372758b7204bb736a3d2fd6db4803 SHA256 1a985121c1934b9f7dd430187fd9241a9485e5d711ca519ab114cdfa75e8a56f
EBUILD linux-server-2.6.31.10.ebuild 2605 RMD160 6584b256ce4828d7cb3c35c08e5f3c0ac98e71c8 SHA1 38a181449c4ee38381c7f2984a9a4c791b4254e3 SHA256 b06dbdf0823dac48ce3e6ecef652a0c7c918bd8741d282d20bd1aa9fa58b5e58
EBUILD linux-server-2.6.31.10.ebuild 505 RMD160 afc4b35d99589443d8f9beef62c23d257b32c5a0 SHA1 e2370402689779155eabcb40c51d91498dec24fd SHA256 0e540b51beec05b8a39e2e4366c340ddbcd0b2c98aa7e7b85c97cf189f8dabd4
MISC ChangeLog 434 RMD160 36ce8852efe13c558c364c0e2226d415b092d20a SHA1 553fc53f5a0a418a661ca31c03ffecfc87111bfb SHA256 d1c6409cd5ca84d48bc89449598ca4ea27e88edfc1373648f2ff09f0c87e5e0a
MISC metadata.xml 288 RMD160 5fd5b532cfce86a2e9a2a8b6ed45d37b50e35cbc SHA1 2cce1a3a0269f00995b3021bb73e27ded1de11e7 SHA256 876cd412c7719fddeb9a0e9c39179fe240cfa198f9db5db3b599e23f644b2459

@ -3,102 +3,22 @@
# $Header: $
ETYPE="sources"
inherit calculate kernel-2 linux-mod
DESCRIPTION="Binary kernel including the Gentoo patchset for the 2.6 kernel tree"
HOMEPAGE="http://www.calculate-linux.org/linux-desktop"
SRC_URI="ftp://ftp.calculate.ru/pub/calculate/${PN}/${PN}-`arch`-${PV}.tar.bz2"
LICENSE="GPL-2"
KEYWORDS="x86 amd64"
IUSE=""
KV_MAJOR=2
KV_MINOR=6
KV_PATCH=31
KV_TYPE=-calculate
SLOT="${KV_MAJOR}.${KV_MINOR}.${KV_PATCH}"
GENTOO_SOURCES_PV="${SLOT}"
GENTOO_SOURCES_PR="r9"
GENTOO_SOURCES_PVR="${GENTOO_SOURCES_PV}-${GENTOO_SOURCES_PR}"
SRC_NAME=linux-${GENTOO_SOURCES_PV}-gentoo-${GENTOO_SOURCES_PR}
SYSTEM="server"
KV_FULL="${SLOT}${KV_TYPE}"
SLOT_T="${PORTAGE_TMPDIR}/portage/${CATEGORY}/${PN}-${SLOT}/temp"
DEPEND="=sys-kernel/gentoo-sources-${GENTOO_SOURCES_PVR}
>=sys-apps/calculate-1.3.3"
RDEPEND="${DEPEND}"
pkg_setup() {
mkdir -p ${SLOT_T}
}
src_unpack() {
unpack ${A}
}
src_compile() {
cd ${WORKDIR}
addwrite "/usr/src/"
cp -Rpt ${ROOT}/usr/src/ usr/src/*
calculate_set_kernelversion ${ROOT}/usr/src/${SRC_NAME}
rm ${ROOT}/usr/src/linux
ln -sf ${SRC_NAME} ${ROOT}/usr/src/linux
cd ${ROOT}/usr/src/linux
make modules_prepare
cd ${WORKDIR}
}
inherit calculate-kernel
src_install() {
dodir /usr/src/${SRC_NAME}
insinto /
doins -r boot
doins -r lib
dosym /usr/src/${SRC_NAME} \
"/lib/modules/${GENTOO_SOURCES_PV}-calculate/source" ||
die "cannot install source symlink"
dosym /usr/src/${SRC_NAME} \
"/lib/modules/${GENTOO_SOURCES_PV}-calculate/build" ||
die "cannot install build symlink"
addwrite "/lib/firmware"
# Workaround kernel issue with colliding
# firmwares across different kernel versions
for fwfile in `find "${D}/lib/firmware" -type f`; do
sysfile="${ROOT}/${fwfile/${D}}"
if [ -f "${sysfile}" ]; then
ewarn "Removing duplicated: ${sysfile}"
rm ${sysfile} || die "failed to remove ${sysfile}"
fi
done
PKG_CONTENTS=${ROOT}/var/db/pkg/${CATEGORY}/${PN}-${SLOT}*/CONTENTS
test -f ${PKG_CONTENTS} && calculate_rm_modules_dir ${PKG_CONTENTS}
}
pkg_prerm() {
calculate_rm_modules_dir ${ROOT}/var/db/pkg/${CATEGORY}/${PF}/CONTENTS
}
pkg_postinst() {
calculate_update_splash ${ROOT}/boot/initramfs-${SYSTEM}-${SLOT}-calculate
calculate_update_kernel ${SYSTEM} ${SLOT} ${ROOT}/boot
KV_OUT_DIR=/usr/src/${SRC_NAME}
DESCRIPTION="Server binary kernel including the Gentoo patchset for the 2.6 kernel tree"
HOMEPAGE="http://www.calculate-linux.org/linux-desktop"
kernel-2_pkg_postinst
UPDATE_MODULEDB=false
linux-mod_pkg_postinst
cd $KV_OUT_DIR
make modules_prepare
}
LICENSE="GPL-2"
KEYWORDS="x86 amd64"
IUSE=""
pkg_postrm() {
rm -f ${SLOT_T}/.alreadydel
rmdir ${SLOT_T} &>/dev/null
calculate_restore_kernel ${ROOT}/boot
}
DEPEND=">=sys-apps/calculate-1.3.3"
RDEPEND="${DEPEND}"

Loading…
Cancel
Save