overlay/sys-kernel/genkernel/genkernel-3.4.10.907-r13.ebuild

149 lines
4.9 KiB
Bash
Raw Normal View History

# Copyright 1999-2010 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/sys-kernel/genkernel/genkernel-3.4.10.907.ebuild,v 1.1 2009/12/17 04:37:13 robbat2 Exp $
# genkernel-9999 -> latest SVN
# genkernel-9999.REV -> use SVN REV
# genkernel-VERSION -> normal genkernel release
VERSION_BUSYBOX='1.17.3'
VERSION_DMAP='1.02.28'
VERSION_DMRAID='1.0.0.rc16'
VERSION_FUSE='2.7.4'
VERSION_ISCSI='2.0-871'
VERSION_LVM='2.02.75'
VERSION_MDADM='3.1.4'
VERSION_UNIONFS_FUSE='0.24'
MY_HOME="http://wolf31o2.org"
RH_HOME="ftp://sources.redhat.com/pub"
DM_HOME="http://people.redhat.com/~heinzm/sw/dmraid/src"
BB_HOME="http://www.busybox.net/downloads"
COMMON_URI="${DM_HOME}/dmraid-${VERSION_DMRAID}.tar.bz2
${DM_HOME}/old/dmraid-${VERSION_DMRAID}.tar.bz2
${RH_HOME}/lvm2/LVM2.${VERSION_LVM}.tgz
${RH_HOME}/lvm2/old/LVM2.${VERSION_LVM}.tgz
${RH_HOME}/dm/device-mapper.${VERSION_DMAP}.tgz
${RH_HOME}/dm/old/device-mapper.${VERSION_DMAP}.tgz
${BB_HOME}/busybox-${VERSION_BUSYBOX}.tar.bz2
http://www.open-iscsi.org/bits/open-iscsi-${VERSION_ISCSI}.tar.gz
mirror://sourceforge/fuse/fuse-${VERSION_FUSE}.tar.gz
mirror://kernel/linux/utils/raid/mdadm/mdadm-${VERSION_MDADM}.tar.bz2
http://podgorny.cz/unionfs-fuse/releases/unionfs-fuse-${VERSION_UNIONFS_FUSE}.tar.bz2"
if [[ ${PV} == 9999* ]]
then
[[ ${PV} == 9999.* ]] && ESVN_UPDATE_CMD="svn up -r ${PV/9999./}"
EGIT_REPO_URI="git://git.wolf31o2.org/projs/genkernel.git"
#EGIT_BRANCH=''
inherit git bash-completion eutils
S="${WORKDIR}/${PN}"
SRC_URI="${COMMON_URI}"
else
inherit bash-completion eutils
SRC_URI="mirror://gentoo/${P}.tar.bz2
${MY_HOME}/sources/genkernel/${P}.tar.bz2
${COMMON_URI}"
fi
DESCRIPTION="Gentoo automatic kernel building scripts"
HOMEPAGE="http://www.gentoo.org"
LICENSE="GPL-2"
SLOT="0"
RESTRICT=""
# Please don't touch individual KEYWORDS. Since this is maintained/tested by
# Release Engineering, it's easier for us to deal with all arches at once.
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86"
#KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 s390 sparc x86"
#KEYWORDS="~arm"
IUSE="ibm selinux"
DEPEND="sys-fs/e2fsprogs
selinux? ( sys-libs/libselinux )"
RDEPEND="${DEPEND} app-arch/cpio"
src_unpack() {
if [[ ${PV} == 9999* ]] ; then
git_src_unpack
else
unpack ${P}.tar.bz2
fi
use selinux && sed -i 's/###//g' "${S}"/gen_compile.sh
cd "${S}"
# Add unionfs/aufs support.
for i in ${FILESDIR}/3.4.11/*.patch; do
epatch "${i}"
done
# Add crypt support
epatch "${FILESDIR}"/${PN}-crypt-config.patch
}
src_install() {
# This block updates genkernel.conf
sed \
-e "s:VERSION_BUSYBOX:$VERSION_BUSYBOX:" \
-e "s:VERSION_DMAP:$VERSION_DMAP:" \
-e "s:VERSION_DMRAID:$VERSION_DMRAID:" \
-e "s:VERSION_FUSE:$VERSION_FUSE:" \
-e "s:VERSION_ISCSI:$VERSION_ISCSI:" \
-e "s:VERSION_LVM:$VERSION_LVM:" \
-e "s:VERSION_MDADM:$VERSION_MDADM:" \
-e "s:VERSION_UNIONFS_FUSE:$VERSION_UNIONFS_FUSE:" \
"${S}"/genkernel.conf > "${T}"/genkernel.conf \
|| die "Could not adjust versions"
insinto /etc
doins "${T}"/genkernel.conf || die "doins genkernel.conf"
doman genkernel.8 || die "doman"
dodoc AUTHORS ChangeLog README TODO || die "dodoc"
dobin genkernel || die "dobin genkernel"
rm -f genkernel genkernel.8 AUTHORS ChangeLog README TODO genkernel.conf
insinto /usr/share/genkernel
doins -r "${S}"/* || die "doins"
use ibm && cp "${S}"/ppc64/kernel-2.6-pSeries "${S}"/ppc64/kernel-2.6 || \
cp "${S}"/arch/ppc64/kernel-2.6.g5 "${S}"/arch/ppc64/kernel-2.6
# Copy files to /var/cache/genkernel/src
elog "Copying files to /var/cache/genkernel/src..."
mkdir -p "${D}"/var/cache/genkernel/src
cp -f \
"${DISTDIR}"/dmraid-${VERSION_DMRAID}.tar.bz2 \
"${DISTDIR}"/LVM2.${VERSION_LVM}.tgz \
"${DISTDIR}"/device-mapper.${VERSION_DMAP}.tgz \
"${DISTDIR}"/busybox-${VERSION_BUSYBOX}.tar.bz2 \
"${DISTDIR}"/fuse-${VERSION_FUSE}.tar.gz \
"${DISTDIR}"/mdadm-${VERSION_MDADM}.tar.bz2 \
"${DISTDIR}"/unionfs-fuse-${VERSION_UNIONFS_FUSE}.tar.bz2 \
"${DISTDIR}"/open-iscsi-${VERSION_ISCSI}.tar.gz \
"${D}"/var/cache/genkernel/src || die "Copying distfiles..."
dobashcompletion "${FILESDIR}"/genkernel.bash
}
pkg_postinst() {
echo
elog 'Documentation is available in the genkernel manual page'
elog 'as well as the following URL:'
echo
elog 'http://www.gentoo.org/doc/en/genkernel.xml'
echo
ewarn "This package is known to not work with reiser4. If you are running"
ewarn "reiser4 and have a problem, do not file a bug. We know it does not"
ewarn "work and we don't plan on fixing it since reiser4 is the one that is"
ewarn "broken in this regard. Try using a sane filesystem like ext3 or"
ewarn "even reiser3."
echo
ewarn "The LUKS support has changed from versions prior to 3.4.4. Now,"
ewarn "you use crypt_root=/dev/blah instead of real_root=luks:/dev/blah."
echo
bash-completion_pkg_postinst
}