From: Guy Martin <gmsoft@gentoo.org>
To: gentoo-catalyst@lists.gentoo.org
Subject: [gentoo-catalyst] [PATCH 08/11] Fix and improve kernel build when kerncache is enabled.
Date: Wed, 5 Feb 2014 11:40:03 +0100 [thread overview]
Message-ID: <1391596806-14955-9-git-send-email-gmsoft@gentoo.org> (raw)
In-Reply-To: <1391596806-14955-1-git-send-email-gmsoft@gentoo.org>
This patch gets rid of setting ROOT for merging kernel sources. Instead, the
sources are moved manually to the kerncache directory. A new file is created
containing the kernel version and it is fed into package.provided to prevent
merging the kernel sources again.
---
targets/support/kmerge.sh | 38 ++++++++++++++++++++++++++++++--------
1 file changed, 30 insertions(+), 8 deletions(-)
diff --git a/targets/support/kmerge.sh b/targets/support/kmerge.sh
index 7c7f8fe..ababc57 100755
--- a/targets/support/kmerge.sh
+++ b/targets/support/kmerge.sh
@@ -197,8 +197,17 @@ then
# Create the kerncache directory if it doesn't exists
mkdir -p /tmp/kerncache/${clst_kname}
- clst_root_path=/tmp/kerncache/${clst_kname} PKGDIR=${PKGDIR} clst_myemergeopts="--quiet --nodeps --update --newuse" run_merge "${clst_ksource}" || exit 1
- KERNELVERSION=`portageq best_visible / "${clst_ksource}"`
+
+
+ if [ -e /tmp/kerncache/${clst_kname}/${clst_kname}-${clst_version_stamp}.KERNELVERSION ]
+ then
+ KERNELVERSION=$(</tmp/kerncache/${clst_kname}/${clst_kname}-${clst_version_stamp}.KERNELVERSION)
+ mkdir -p ${clst_port_conf}/profile
+ echo "${KERNELVERSION}" > ${clst_port_conf}/profile/package.provided
+ else
+ rm -f ${clst_port_conf}/profile/package.provided
+ fi
+
if [ ! -e ${clst_port_conf}/profile/package.provided ]
then
mkdir -p ${clst_port_conf}/profile
@@ -209,8 +218,26 @@ then
echo "${KERNELVERSION}" >> ${clst_port_conf}/profile/package.provided
fi
fi
+
[ -L /usr/src/linux ] && rm -f /usr/src/linux
- ln -s /tmp/kerncache/${clst_kname}/usr/src/linux /usr/src/linux
+
+ PKGDIR=${PKGDIR} clst_myemergeopts="--quiet --nodeps --update --newuse" run_merge "${clst_ksource}" || exit 1
+
+ SOURCESDIR="/tmp/kerncache/${clst_kname}/sources"
+ if [ -L /usr/src/linux ]
+ then
+
+ # A kernel was merged, move it to $SOURCESDIR
+ [ -e ${SOURCESDIR} ] && rm -Rf ${SOURCESDIR}
+
+ KERNELVERSION=`portageq best_visible / "${clst_ksource}"`
+ echo "${KERNELVERSION}" > /tmp/kerncache/${clst_kname}/${clst_kname}-${clst_version_stamp}.KERNELVERSION
+
+ echo "Moving kernel sources to ${SOURCESDIR} ..."
+ mv `readlink -f /usr/src/linux` ${SOURCESDIR}
+
+ fi
+ ln -sf ${SOURCESDIR} /usr/src/linux
# If catalyst has set to a empty string, extraversion wasn't specified so we
# skip this part
@@ -259,9 +286,4 @@ unset USE
if [ -n "${clst_KERNCACHE}" ]
then
echo ${clst_kernel_use} > /tmp/kerncache/${clst_kname}/${clst_kname}-${clst_version_stamp}.USE
-
- if [ -e ${clst_port_conf}/profile/package.provided ]
- then
- sed -i "/^$(echo "${KERNELVERSION}" | sed -e 's|/|\\/|g')\$/d" ${clst_port_conf}/profile/package.provided
- fi
fi
--
1.8.3.2
next prev parent reply other threads:[~2014-02-05 10:40 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-02-05 10:39 [gentoo-catalyst] [PATCH 00/11] Livecd updates for catalyst 3.0 Guy Martin
2014-02-05 10:39 ` [gentoo-catalyst] [PATCH 01/11] update-modules doesn't exists anymore Guy Martin
2014-02-05 10:39 ` [gentoo-catalyst] [PATCH 02/11] depscan.sh " Guy Martin
2014-02-05 10:39 ` [gentoo-catalyst] [PATCH 03/11] /etc/conf.d/rc " Guy Martin
2014-02-05 10:39 ` [gentoo-catalyst] [PATCH 04/11] Fix merging kernel without kerncache enabled Guy Martin
2014-02-05 10:40 ` [gentoo-catalyst] [PATCH 05/11] Rename System.map in a way that it won't be matched if multiple kernel are used Guy Martin
2014-02-05 10:40 ` [gentoo-catalyst] [PATCH 06/11] Allow kernelopts as a valid value for kernels Guy Martin
2014-02-05 10:40 ` [gentoo-catalyst] [PATCH 07/11] Make use of _kernelopts for hppa Guy Martin
2014-02-05 10:40 ` Guy Martin [this message]
2014-02-05 10:40 ` [gentoo-catalyst] [PATCH 09/11] Don't make cdtar mandatory Guy Martin
2014-02-05 10:40 ` [gentoo-catalyst] [PATCH 10/11] Use the system's iplboot to be sure it matches palo's version Guy Martin
2014-02-05 10:40 ` [gentoo-catalyst] [PATCH 11/11] Remove unused hppa cdtar Guy Martin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1391596806-14955-9-git-send-email-gmsoft@gentoo.org \
--to=gmsoft@gentoo.org \
--cc=gentoo-catalyst@lists.gentoo.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox