sys-kernel/genkernel: add mdadm

git-svn-id: https://svn.disconnected-by-peer.at/svn/linamh/trunk/genlink@2588 6952d904-891a-0410-993b-d76249ca496b
This commit is contained in:
geos_one 2010-10-25 16:43:00 +00:00
parent 6ad300b510
commit 897223da9c
6 changed files with 437 additions and 16 deletions

View File

@ -0,0 +1,11 @@
# ChangeLog for sys-kernel/genkernel
# Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2
# $Header: $
25 Oct 2010; Mario Fetka <mario.fetka@gmail.com>
-genkernel-3.4.10.907-r3.ebuild, +genkernel-3.4.10.907-r13.ebuild,
+files/3.4.11/genkernel-3.4.10.907-nice-option.patch,
+files/3.4.11/0001-use-mdadm-instead-of-bundled-stripped-down-mdassembl.pa
tch, +metadata.xml:
add mdadm

View File

@ -1,3 +1,5 @@
AUX 3.4.11/0001-use-mdadm-instead-of-bundled-stripped-down-mdassembl.patch 5450 RMD160 03c674f453a3256181db93346856ae05fec3c52c SHA1 acf12ec07e152bd367c511a2d01747b6d2bb0f00 SHA256 3b32865584756e053be14358286de9246621e14b6c135e2fc03e2d99279bb7be
AUX 3.4.11/genkernel-3.4.10.907-nice-option.patch 7439 RMD160 c1c767aafad796fc7ce72cbf752ef046af509914 SHA1 3d439d59bcd1b938bd3033ccde4766f1e3738df0 SHA256 fc39b41c58be3853267c7a3186a973ed9bc0a2b1671e36d5716ef5513fbe9afe
AUX 3.4.11/genkernel-3.4.11-aufs-slowusb.patch 3425 RMD160 74add9c16143240da14ad307a25d5cccba58e893 SHA1 ffeee71f9e2146e0533591e62c0b3d1e0f77efd7 SHA256 8a131caf94253c0799daa18e0146b13b96f0667552ad6f97ce246c13f403a900
AUX 3.4.11/genkernel-3.4.11-branding.patch 3273 RMD160 8234e9da1ee6e4f89074b3a97a8508db07a6be01 SHA1 f7fa1b8b07aa334b54e96a510756d6f82954ed90 SHA256 d9a9907c5bd316ee7384f4dcb3f2d80775b5aed1fb6b40763bce8543ecee86a2
AUX 3.4.11/genkernel-3.4.11-btrfs-partial-support-bug-303529.patch 291 RMD160 06cea814b7f1a44bda3a46bb5939ebc5649be485 SHA1 eb65b70222e3063379d71d3e2091ffb8b6b2cbc6 SHA256 c4f83688c1bec65bd7082d93be0e014163c9ecf0c9f5a0d36ec1ed5645bfca2b
@ -5,13 +7,16 @@ AUX 3.4.11/genkernel-3.4.11-partial-fix-to-console-arg.patch 464 RMD160 d2d132f6
AUX 3.4.11/genkernel-3.4.11-sdelay-compat.patch 274 RMD160 5170828fb8039d246f8a7357d3a78274fc25cc50 SHA1 e4bf22da7fe1ceedd300a37332c3295d342202b1 SHA256 fcaa04f4ae9183ebe0512f1100a4ee74bcffbaa02d91b75c3c075e95c02b215c
AUX genkernel-crypt-config.patch 1005 RMD160 4a72594eeb122022acb70854720196cb80fa3114 SHA1 86b2c46afd686a846fdf59b7ad030761cfbcc5c6 SHA256 547eadbb63b54c28d6ff4fe197478408c76ec30d863e8ee0d9cce4169b9f9cb1
AUX genkernel.bash 2438 RMD160 b3d8e4436d8768c07d18c5aaff9c14fc16641729 SHA1 e15a9c6ef506aa6872a6a97d26751246dedded04 SHA256 e7de9771ba79ef878e2c9a21a1c1720f092c6047d3cc7d4a49ff6b90e7e2c248
DIST LVM2.2.02.28.tgz 531905 RMD160 bf6f25db6e34bf362353ae9557691a7f01962502 SHA1 6eb2f6e1228b017ad23d0b7f2bb12fd113f96616 SHA256 2d8d7b123e427d0bfb7471d7c17dfd88890eb98257ca22ea3be5d7307e83aceb
DIST busybox-1.7.4.tar.bz2 1727940 RMD160 a4b71a246449f88a59acda6ecf019f66b9b7c19b SHA1 e5dcaa25525ca63663c3d4e7027897fed54a4f95 SHA256 8480a7c1b9ac0fddff55e8daae807ccf0a47aa292137fa8c9f97cf0733b459c7
DIST device-mapper.1.02.22.tgz 189726 RMD160 8bf9986536c49f53c398d6a2180e21e1235bea18 SHA1 a4533872c32951a1b549bb9207a13b7e4dae0701 SHA256 ff833a6cd6246686f5b3f5692fd6597f1ffbc60f08929e5fe68304cdafb61595
DIST LVM2.2.02.75.tgz 956607 RMD160 0ad7cb0b298bdff744c7a751e23ea6e78a96ade7 SHA1 d16d6bf2b75ae6164fbaa111c75529402664f524 SHA256 f63ad083f9e371b4b490e8eaa9645447d456a76ae6a099e0b910e2e1ada75ba4
DIST busybox-1.17.3.tar.bz2 2094550 RMD160 1abd376ca05da9fb25c1d51207f5be7e291fdd71 SHA1 9c4090b010441cd1f0800830583e1e7612ba19fb SHA256 de2f0274f61a068d75ad33861e0982e99c6b625681460ce420222371c3511ff2
DIST device-mapper.1.02.28.tgz 203182 RMD160 07919b9ddcb707d0c199f64f92718b4e8c88198a SHA1 0d1b4e27b5afa5f68b8bc6e1905f9430470045b7 SHA256 24c7887fe896325a6cdc86b8beeb0d9c2de8b1c4cb20f53c2dc8f90963fc39bf
DIST dmraid-1.0.0.rc14.tar.bz2 164234 RMD160 9cd238a981cfef9c5c1f2f1d6466b70c95ec9c7c SHA1 2b3284db46a995967d88993ae5ae36b57c513bc4 SHA256 a777354d6d69a9b58d84966cc7b37bc3f5c89539f885ad25fd874ed1c388fbec
DIST e2fsprogs-1.41.9.tar.gz 4452610 RMD160 b30a1bb1c984811b82f6130da3ed6ff12573d508 SHA1 e30d6bc67ac7b14cd817986c9bff13fb695d7a35 SHA256 cbf1e34261a16b3d7911b60b91290b19f2010036d6ba628d45b5f0b2af2b66e8
DIST fuse-2.7.4.tar.gz 506658 RMD160 fe1808cfd58ad6651259245b424301e99881faa2 SHA1 7a86f5cf39f38e64ccbae093599d64a895b950ba SHA256 c8b070ece5d4e09bd06eea6c28818c718f803d93a4b85bacb9982deb8ded49e6
DIST e2fsprogs-1.41.12.tar.gz 4496194 RMD160 aa7f9a2e350fcab85c72deaaee5fdc2a5e9fb6e7 SHA1 62b002fe507b2ddafc24b89532e472fe4b55a14f SHA256 9c26d0dc20bfdafd0f27f3564791d6121d1c1876549d4f2ff1e41955c9bb9f20
DIST fuse-2.8.5.tar.gz 503349 RMD160 0b3fee4f2ee84a3d8fad9e0d5bf09383800293bc SHA1 862320b56d6bc4ad5e7be2b1e0b5029166aae09b SHA256 bec80e66ae8ee60dfdf67b2ca291266a45dcfe6bc20c64f3acfceaa38ed29a84
DIST genkernel-3.4.10.907.tar.bz2 202413 RMD160 81ea32bb0b91ed7114bd825b7339132214abc2df SHA1 f2f2ab0658283e3a17caaa3fcc93ddf619e04afa SHA256 0fe4bd273d3ab9fe87e12fbf65b41edafc05cce95e0412e3f5450a0ca6010f12
DIST mdadm-3.1.4.tar.bz2 288578 RMD160 f41a2be4158efac08dbe2e95f1c6812609475fad SHA1 4ee43922d38b15a930daaaa026ef1b4efacdbc8a SHA256 849ad0ad4ad3c1d2d8806a16b30e1f59ab2daf313cb103807207f7cba889ea63
DIST open-iscsi-2.0-871.tar.gz 330514 RMD160 f996d9145bc3727394f1a4999f430bd5ea5c2a0d SHA1 968baf16d4094fb9842bc04b0fe8109103356252 SHA256 bcea8746ae82f2ada7bc05d2aa59bcda1ca0d5197f05f2e16744aae59f0a7dcb
DIST unionfs-fuse-0.22.tar.bz2 27355 RMD160 f29cbf41af0ba8f2181ac565a6663871676f6488 SHA1 e95799923ee3938e1fb44c6fd9aa7154d720063e SHA256 fa0c494a8ce63f235601fcc35e3a96527831169d6d5921ee49faccf3b25feb78
EBUILD genkernel-3.4.10.907-r3.ebuild 4999 RMD160 62c8143b33e3adaa30bdba8f49e2ffce490d14dc SHA1 358b380847cd846633c9edbbb3e700ed4930b31b SHA256 1f3a1f2dd51d2b782b140aeed8cbf362ccf5d6907be24f1c9b4ad5c330f8b696
DIST unionfs-fuse-0.24.tar.bz2 30381 RMD160 27934c23472f6e9d71e622f13aa9fd51a1f8018e SHA1 26f281e4e5f1e82194b430956b94cd7745d5bd97 SHA256 d8abc855eb618ac356b1e716599c82f8f0f74dbaee36d4062edc707567121937
EBUILD genkernel-3.4.10.907-r13.ebuild 5188 RMD160 52d51eb261a8bd09fe08a47e95bcf11a34ba24a0 SHA1 0a79436860416d970cb51318163f07a167ecf671 SHA256 58576b4cb3772d35ddb7b43d7d68200e3c26b28e4bc907990cb5663e1f83c6e8
MISC ChangeLog 409 RMD160 7eaa8efac7007707fe9332bc3e8aaa8f7c7c28d0 SHA1 3411122f3e9cd3b35a773070513a71903e330271 SHA256 004594ce1d78ff498707aea18d46a935dc2625ca0f0c789ef4306bedb0916b85
MISC metadata.xml 1238 RMD160 c82938e77f387291d6a1c3bf9b0d802f2878dd12 SHA1 b5738f14922c69e78cfb867acdc65eeea25977bf SHA256 2c13f98be5fa8bdaf21ac86bcd00bbeb8944df5615de0cfce35ae4c00ef4b4d5

View File

@ -0,0 +1,152 @@
From f01e862b38b3219252ee76f7a20179a20a97a0fb Mon Sep 17 00:00:00 2001
From: Matthias Dahl <ua_bugz_gentoo@mortal-soul.de>
Date: Fri, 27 Aug 2010 17:26:52 +0200
Subject: [PATCH] use mdadm instead of bundled stripped down mdassemble (v2)
mdassemble can't handle newer metadata formats and fails for partitioned
arrays, among other things.
This...
- replaces the bundled mdassemble with proper support for mdadm
- fixes raid autodetection/assemble when no mdadm.conf is available
- fixes a compilation failure for newer mdadm versions
Tested w/ genkernel 3.4.10.907 and mdadm 3.1.3.
---
defaults/initrd.scripts | 5 +++--
gen_compile.sh | 35 +++++++++++++++++++++++++++++++++++
gen_determineargs.sh | 2 ++
gen_initramfs.sh | 12 ++++++++++++
genkernel.conf | 5 +++++
5 files changed, 57 insertions(+), 2 deletions(-)
diff --git a/defaults/initrd.scripts b/defaults/initrd.scripts
index e0710c4..531d2bd 100755
--- a/defaults/initrd.scripts
+++ b/defaults/initrd.scripts
@@ -608,9 +608,10 @@ startVolumes() {
then
if [ ! -e '/etc/mdadm.conf' ]
then
- /sbin/mdadm --examine > /etc/mdadm.conf
+ echo "DEVICE /dev/sd[a-z]* /dev/hd[a-z]*" >/etc/mdadm.conf
+ /sbin/mdadm --examine --scan >>/etc/mdadm.conf
fi
- /sbin/mdadm --assemble
+ /sbin/mdadm -A --scan
fi
if [ "${USE_DMRAID_NORMAL}" = '1' ]
diff --git a/gen_compile.sh b/gen_compile.sh
index 7bab9e1..ec5df4b 100755
--- a/gen_compile.sh
+++ b/gen_compile.sh
@@ -444,6 +444,41 @@ compile_lvm() {
fi
}
+compile_mdadm() {
+ if [ ! -f "${MDADM_BINCACHE}" ]
+ then
+ [ -f "${MDADM_SRCTAR}" ] ||
+ gen_die "Could not find MDADM source tarball: ${MDADM_SRCTAR}! Please place it there, or place another version, changing /etc/genkernel.conf as necessary!"
+ cd "${TEMP}"
+ rm -rf "${MDADM_DIR}" > /dev/null
+ /bin/tar -jxpf "${MDADM_SRCTAR}" ||
+ gen_die 'Could not extract MDADM source tarball!'
+ [ -d "${MDADM_DIR}" ] ||
+ gen_die 'MDADM directory ${MDADM_DIR} is invalid!'
+
+ cd "${MDADM_DIR}"
+ sed -i "/^CFLAGS = /s:^CFLAGS = \(.*\)$:CFLAGS = -Os:" Makefile
+ sed -i "/^CXFLAGS = /s:^CXFLAGS = \(.*\)$:CXFLAGS = -Os:" Makefile
+ sed -i "/^CWFLAGS = /s:^CWFLAGS = \(.*\)$:CWFLAGS = -Wall:" Makefile
+ sed -i "s/^# LDFLAGS = -static/LDFLAGS = -static/" Makefile
+
+ print_info 1 'mdadm: >> Compiling...'
+ compile_generic 'mdadm' utils
+
+ mkdir -p "${TEMP}/mdadm/sbin"
+ install -m 0755 -s mdadm "${TEMP}/mdadm/sbin/mdadm"
+ print_info 1 ' >> Copying to bincache...'
+ cd "${TEMP}/mdadm"
+ strip "sbin/mdadm" ||
+ gen_die 'Could not strip mdadm!'
+ /bin/tar -cjf "${MDADM_BINCACHE}" sbin/mdadm ||
+ gen_die 'Could not create binary cache'
+
+ cd "${TEMP}"
+ rm -rf "${MDADM_DIR}" mdadm
+ fi
+}
+
compile_dmraid() {
compile_device_mapper
if [ ! -f "${DMRAID_BINCACHE}" ]
diff --git a/gen_determineargs.sh b/gen_determineargs.sh
index d911f07..b4b31fb 100755
--- a/gen_determineargs.sh
+++ b/gen_determineargs.sh
@@ -128,6 +128,7 @@ determine_real_args() {
BUSYBOX_BINCACHE=`cache_replace "${BUSYBOX_BINCACHE}"`
DEVICE_MAPPER_BINCACHE=`cache_replace "${DEVICE_MAPPER_BINCACHE}"`
LVM_BINCACHE=`cache_replace "${LVM_BINCACHE}"`
+ MDADM_BINCACHE=`cache_replace "${MDADM_BINCACHE}"`
DMRAID_BINCACHE=`cache_replace "${DMRAID_BINCACHE}"`
ISCSI_BINCACHE=`cache_replace "${ISCSI_BINCACHE}"`
BLKID_BINCACHE=`cache_replace "${BLKID_BINCACHE}"`
@@ -139,6 +140,7 @@ determine_real_args() {
BUSYBOX_BINCACHE=`arch_replace "${BUSYBOX_BINCACHE}"`
DEVICE_MAPPER_BINCACHE=`arch_replace "${DEVICE_MAPPER_BINCACHE}"`
LVM_BINCACHE=`arch_replace "${LVM_BINCACHE}"`
+ MDADM_BINCACHE=`arch_replace "${MDADM_BINCACHE}"`
DMRAID_BINCACHE=`arch_replace "${DMRAID_BINCACHE}"`
ISCSI_BINCACHE=`arch_replace "${ISCSI_BINCACHE}"`
BLKID_BINCACHE=`arch_replace "${BLKID_BINCACHE}"`
diff --git a/gen_initramfs.sh b/gen_initramfs.sh
index 231411e..2400b75 100755
--- a/gen_initramfs.sh
+++ b/gen_initramfs.sh
@@ -328,10 +328,22 @@ append_mdadm(){
fi
cd ${TEMP}
mkdir -p "${TEMP}/initramfs-mdadm-temp/etc/"
+ mkdir -p "${TEMP}/initramfs-mdadm-temp/sbin/"
if [ "${MDADM}" -eq '1' ]
then
cp -a /etc/mdadm.conf "${TEMP}/initramfs-mdadm-temp/etc" \
|| gen_die "Could not copy mdadm.conf!"
+ if [ -e '/sbin/mdadm' ] && LC_ALL="C" ldd /sbin/mdadm|grep -q 'not a dynamic executable'
+ then
+ print_info 1 ' MDADM: Adding support (using local static binaries)...'
+ cp /sbin/mdadm "${TEMP}/initramfs-mdadm-temp/sbin/mdadm" ||
+ gen_die 'Could not copy over mdadm!'
+ else
+ print_info 1 ' MDADM: Adding support (compiling binaries)...'
+ compile_mdadm
+ /bin/tar -jxpf "${MDADM_BINCACHE}" -C "${TEMP}/initramfs-mdadm-temp" ||
+ gen_die "Could not extract mdadm binary cache!";
+ fi
fi
cd "${TEMP}/initramfs-mdadm-temp/"
find . -print | cpio ${CPIO_ARGS} --append -F "${CPIO}"
diff --git a/genkernel.conf b/genkernel.conf
index a71ce69..62b7801 100644
--- a/genkernel.conf
+++ b/genkernel.conf
@@ -162,6 +162,11 @@ LVM_DIR="LVM2.${LVM_VER}"
LVM_SRCTAR="${DISTDIR}/LVM2.${LVM_VER}.tgz"
LVM_BINCACHE="%%CACHE%%/LVM2.${LVM_VER}-%%ARCH%%.tar.bz2"
+MDADM_VER="VERSION_MDADM"
+MDADM_DIR="mdadm-${MDADM_VER}"
+MDADM_SRCTAR="${DISTDIR}/mdadm-${MDADM_VER}.tar.bz2"
+MDADM_BINCACHE="%%CACHE%%/mdadm-${MDADM_VER}-%%ARCH%%.tar.bz2"
+
DMRAID_VER="VERSION_DMRAID"
DMRAID_DIR="dmraid/${DMRAID_VER}"
DMRAID_SRCTAR="${DISTDIR}/dmraid-${DMRAID_VER}.tar.bz2"
--
1.7.2.2

View File

@ -0,0 +1,215 @@
Index: genkernel.8
===================================================================
--- genkernel.8 (.../3.4.10.907-jrg-mod2) (revision 974)
+++ genkernel.8 (.../3.4.10.907-jrg-mod3) (revision 974)
@@ -47,7 +47,7 @@
behaviour. Certain options have ``\fB--no-\fR'' variants which
do the opposite thing. You can specify your options in any order.
.PP
-.BR Debugging \ Options
+.BR Debugging\ Options
.TP
\fB\-\-loglevel=\fR<0-5>
This controls the out verbosity level of genkernel output - if this is set
@@ -61,7 +61,7 @@
\fB\-\-\fR[no\-]\fBcolor\fR
Turns on, or off, output in color using escape sequences.
.PP
-.BR Kernel \ Configuration
+.BR Kernel\ Configuration
.TP
\fB\-\-\fR[no\-]\fBmenuconfig\fR
Runs, or does not run "make menuconfig" after running "make oldconfig".
@@ -79,7 +79,7 @@
.I /etc/kernels
if the kernel is successfully compiled.
.PP
-.BR Kernel \ Compilation
+.BR Kernel\ Compilation
.TP
\fB\-\-\fR[no\-]\fBclean\fR
Runs, or does not run, "make clean" before compilation - this erases any
@@ -129,11 +129,21 @@
Implies \fB\-\-no\-clean\fR, and thus \fB\-\-no\-mrproper\fR, running a
"make oldconfig".
.TP
+\fB\-\-makeopts=\fR<makeopts>
+GNU Make options such as \fB\-j2\fR, etc.
+.TP
+\fB\-\-\fR[no\-]\fBnice\fR
+Runs the kernel make at the default niceness (reduction in priority) of 10, or
+in the case of --no-nice, runs the kernel make at normal priority.
+.TP
+\fB\-\-nice=\fR<niceness>
+Runs the kernel make at the specified niceness (reduction in priority).
+.TP
\fB\-\-callback=\fR<...>
Run the specified arguments in the current environment after the kernel and
modules have been compiled.
.PP
-.BR Kernel \ Locations
+.BR Kernel\ Locations
.TP
\fB\-\-kerneldir=\fR<dir>
This specifies the location of the kernel sources; the default is
@@ -144,7 +154,7 @@
default genkernel uses the config from the previous build of the same kernel
version or a default kernel config if there isn't a previous config.
.PP
-.BR Low-Level \ Compilation \ Options
+.BR Low-Level\ Compilation\ Options
.TP
\fB\-\-kernel\-cc=\fR<compiler>
Compiler to use for the kernel compilation (e.g. distcc).
@@ -169,9 +179,6 @@
.TP
\fB\-\-utils\-make=\fR<makeprog>
GNU Make to use for utilities.
-.TP
-\fB\-\-makeopts=\fR<makeopts>
-GNU Make options such as \fB\-j2\fR, etc.
.PP
.BR Initialization
.TP
@@ -225,7 +232,7 @@
\fB\-\-tempdir=\fR<dir>
Sets genkernel's temporary working directory to <dir>.
.PP
-.BR Output \ Settings
+.BR Output\ Settings
.TP
\fB\-\-kernname=\fR<...>
Tag the kernel and initrd with a name, if not defined this option defaults to genkernel
Index: gen_compile.sh
===================================================================
--- gen_compile.sh (.../3.4.10.907-jrg-mod2) (revision 974)
+++ gen_compile.sh (.../3.4.10.907-jrg-mod3) (revision 974)
@@ -244,24 +244,31 @@
esac
shift 2
+ if [ ${NICE} -ne 0 ]
+ then
+ NICEOPTS="nice -n${NICE} "
+ else
+ NICEOPTS=""
+ fi
+
# the eval usage is needed in the next set of code
# as ARGS can contain spaces and quotes, eg:
# ARGS='CC="ccache gcc"'
if [ "${argstype}" == 'runtask' ]
then
- print_info 2 "COMMAND: ${MAKE} ${MAKEOPTS/-j?/-j1} ${ARGS} ${target} $*" 1 0 1
- eval ${MAKE} -s ${MAKEOPTS/-j?/-j1} "${ARGS}" ${target} $*
+ print_info 2 "COMMAND: ${NICEOPTS}${MAKE} ${MAKEOPTS/-j?/-j1} ${ARGS} ${target} $*" 1 0 1
+ eval ${NICEOPTS}${MAKE} -s ${MAKEOPTS/-j?/-j1} "${ARGS}" ${target} $*
RET=$?
elif [ "${LOGLEVEL}" -gt "1" ]
then
# Output to stdout and logfile
- print_info 2 "COMMAND: ${MAKE} ${MAKEOPTS} ${ARGS} ${target} $*" 1 0 1
- eval ${MAKE} ${MAKEOPTS} ${ARGS} ${target} $* 2>&1 | tee -a ${LOGFILE}
+ print_info 2 "COMMAND: ${NICEOPTS}${MAKE} ${MAKEOPTS} ${ARGS} ${target} $*" 1 0 1
+ eval ${NICEOPTS}${MAKE} ${MAKEOPTS} ${ARGS} ${target} $* 2>&1 | tee -a ${LOGFILE}
RET=${PIPESTATUS[0]}
else
# Output to logfile only
- print_info 2 "COMMAND: ${MAKE} ${MAKEOPTS} ${ARGS} ${1} $*" 1 0 1
- eval ${MAKE} ${MAKEOPTS} ${ARGS} ${target} $* >> ${LOGFILE} 2>&1
+ print_info 2 "COMMAND: ${NICEOPTS}${MAKE} ${MAKEOPTS} ${ARGS} ${1} $*" 1 0 1
+ eval ${NICEOPTS}${MAKE} ${MAKEOPTS} ${ARGS} ${target} $* >> ${LOGFILE} 2>&1
RET=$?
fi
[ "${RET}" -ne '0' ] &&
Index: genkernel
===================================================================
--- genkernel (.../3.4.10.907-jrg-mod2) (revision 974)
+++ genkernel (.../3.4.10.907-jrg-mod3) (revision 974)
@@ -4,10 +4,6 @@
PATH="${PATH}:/sbin:/usr/sbin"
GK_V='3.4.10.907'
-# Set the default for TMPDIR. May be modified by genkernel.conf or the
-# --tempdir command line option.
-TMPDIR='/var/tmp/genkernel'
-
TODEBUGCACHE=1 # Until an error occurs or LOGFILE is fully qualified.
small_die() {
@@ -53,8 +49,8 @@
}
cleanup(){
- if [ -n "$TEMP" -a -d "$TEMP" ]; then
- rm -rf "$TEMP"
+ if [ -n "${TEMP}" -a -d "${TEMP}" ]; then
+ rm -rf "${TEMP}"
fi
if isTrue ${POSTCLEAR}
Index: gen_cmdline.sh
===================================================================
--- gen_cmdline.sh (.../3.4.10.907-jrg-mod2) (revision 974)
+++ gen_cmdline.sh (.../3.4.10.907-jrg-mod3) (revision 974)
@@ -47,6 +47,10 @@
echo " --static Build a static (monolithic kernel)"
echo " --genzimage Build zImage.initrd for PowerPC arch"
echo " --no-genzimage Do not build zImage.initrd"
+ echo " --nice Run the kernel make at the default nice level (10)."
+ echo " --nice=<0-19> Run the kernel make at the selected nice level."
+ echo " --no-nice Don't be nice while running the kernel make."
+
echo " Kernel settings"
echo " --kerneldir=<dir> Location of the kernel sources"
echo " --kernel-config=<file> Kernel configuration file to use for compilation"
@@ -595,6 +599,23 @@
--config=*)
print_info 2 "CMD_GK_CONFIG: `parse_opt "$*"`"
;;
+ --nice)
+ CMD_NICE=10
+ print_info 2 "CMD_NICE: ${CMD_NICE}"
+ ;;
+ --nice=*)
+ CMD_NICE=`parse_opt "$*"`
+ if [ ${CMD_NICE} -lt 0 -o ${CMD_NICE} -gt 19 ]
+ then
+ echo "Error: Illegal value specified for --nice= parameter."
+ exit 1
+ fi
+ print_info 2 "CMD_NICE: ${CMD_NICE}"
+ ;;
+ --no-nice)
+ CMD_NICE=0
+ print_info 2 "CMD_NICE: ${CMD_NICE}"
+ ;;
all)
BUILD_KERNEL=1
BUILD_MODULES=1
Index: gen_determineargs.sh
===================================================================
--- gen_determineargs.sh (.../3.4.10.907-jrg-mod2) (revision 974)
+++ gen_determineargs.sh (.../3.4.10.907-jrg-mod3) (revision 974)
@@ -133,6 +133,7 @@
set_config_with_override 1 SLOWUSB CMD_SLOWUSB
set_config_with_override 2 UTILS_ARCH CMD_UTILS_ARCH
set_config_with_override 2 TMPDIR CMD_TMPDIR "/var/tmp/genkernel"
+ set_config_with_override 2 NICE CMD_NICE "10"
BOOTDIR=`arch_replace "${BOOTDIR}"`
BOOTDIR=${BOOTDIR%/} # Remove any trailing slash
Index: genkernel.conf
===================================================================
--- genkernel.conf (.../3.4.10.907-jrg-mod2) (revision 974)
+++ genkernel.conf (.../3.4.10.907-jrg-mod3) (revision 974)
@@ -61,6 +61,9 @@
# argument is: <number of processors>*<number of cores per processor>+1
# MAKEOPTS="-j2"
+# Run the kernel make at the following NICE level. Default is 10.
+# NICE=10
+
# Add in LVM support from static binaries if they exist on the system, or
# compile static LVM binaries if static ones do not exist.
# LVM="no"

View File

@ -1,4 +1,4 @@
# Copyright 1999-2009 Gentoo Foundation
# 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 $
@ -6,14 +6,15 @@
# genkernel-9999.REV -> use SVN REV
# genkernel-VERSION -> normal genkernel release
VERSION_BUSYBOX='1.7.4'
VERSION_DMAP='1.02.22'
VERSION_BUSYBOX='1.17.3'
VERSION_DMAP='1.02.28'
VERSION_DMRAID='1.0.0.rc14'
VERSION_E2FSPROGS='1.41.9'
VERSION_FUSE='2.7.4'
VERSION_E2FSPROGS='1.41.12'
VERSION_FUSE='2.8.5'
VERSION_ISCSI='2.0-871'
VERSION_LVM='2.02.28'
VERSION_UNIONFS_FUSE='0.22'
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"
@ -30,6 +31,7 @@ COMMON_URI="${DM_HOME}/dmraid-${VERSION_DMRAID}.tar.bz2
http://www.open-iscsi.org/bits/open-iscsi-${VERSION_ISCSI}.tar.gz
mirror://sourceforge/e2fsprogs/e2fsprogs-${VERSION_E2FSPROGS}.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* ]]
@ -55,9 +57,9 @@ 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="alpha amd64 arm hppa ia64 ~mips ppc ppc64 s390 sparc x86"
#KEYWORDS=""
KEYWORDS="~arm"
IUSE="ibm selinux"
DEPEND="sys-fs/e2fsprogs
@ -92,6 +94,7 @@ src_install() {
-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"
@ -120,6 +123,7 @@ src_install() {
"${DISTDIR}"/e2fsprogs-${VERSION_E2FSPROGS}.tar.gz \
"${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..."

View File

@ -0,0 +1,34 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<!--
$Header: /var/cvsroot/gentoo-x86/skel.metadata.xml,v 1.18 2008/07/28 19:27:05 cardoe Exp $
This is the example metadata file.
The root element of this file is <pkgmetadata>. Within this element a
number of subelements are allowed: herd, maintainer, and
longdescription. herd is a required subelement.
For a full description look at:
http://www.gentoo.org/proj/en/devrel/handbook/handbook.xml?part=2&chap=4
Before committing, please remove the comments from this file. They are
not relevant for general metadata.xml files.
-->
<pkgmetadata>
<herd>no-herd</herd>
<maintainer>
<email>@gentoo.org</email>
<!-- <description>Description of the maintainership</description> -->
</maintainer>
<!-- <longdescription>Long description of the package</longdescription> -->
<!--
<use>
<flag name='flag'>Description of how USE='flag' affects this package</flag>
<flag name='userland_GNU'>Description of how USERLAND='GNU' affects this
package</flag>
<flag name='aspell'>Uses <pkg>app-text/aspell</pkg> for spell checking.
Requires an installed dictionary from <cat>app-dicts</cat></flag>
</use>
-->
</pkgmetadata>