1 |
commit: 0db56cdc9d5166abaaaf0b23406cf06d775e2bca |
2 |
Author: Sebastian Pipping <sebastian <AT> pipping <DOT> org> |
3 |
AuthorDate: Sun Jul 1 12:03:51 2012 +0000 |
4 |
Commit: Sebastian Pipping <sping <AT> gentoo <DOT> org> |
5 |
CommitDate: Sun Jul 8 17:17:10 2012 +0000 |
6 |
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/genkernel.git;a=commit;h=0db56cdc |
7 |
|
8 |
Support --kernel-config=/proc/config.gz (bug #421027) |
9 |
|
10 |
--- |
11 |
ChangeLog | 4 ++++ |
12 |
gen_configkernel.sh | 8 +++++++- |
13 |
gen_package.sh | 19 +++++++++++++++++-- |
14 |
3 files changed, 28 insertions(+), 3 deletions(-) |
15 |
|
16 |
diff --git a/ChangeLog b/ChangeLog |
17 |
index 7d5ad59..7b90ca8 100644 |
18 |
--- a/ChangeLog |
19 |
+++ b/ChangeLog |
20 |
@@ -5,6 +5,10 @@ |
21 |
# Distributed under the GPL v2 |
22 |
# $Id$ |
23 |
|
24 |
+ 01 Jul 2012; Sebastian Pipping <sping@g.o> gen_configkernel.sh, |
25 |
+ gen_package.sh: |
26 |
+ Support --kernel-config=/proc/config.gz (bug #421027) |
27 |
+ |
28 |
11 Jun 2012; Sebastian Pipping <sping@g.o> genkernel: |
29 |
Bump version to 3.4.36 |
30 |
|
31 |
|
32 |
diff --git a/gen_configkernel.sh b/gen_configkernel.sh |
33 |
index 5d619fa..b0837dd 100755 |
34 |
--- a/gen_configkernel.sh |
35 |
+++ b/gen_configkernel.sh |
36 |
@@ -56,7 +56,13 @@ config_kernel() { |
37 |
# or we might remove configurations someone is trying to test. |
38 |
if isTrue "${MRPROPER}" || [ ! -f "${KERNEL_DIR}/.config" ] |
39 |
then |
40 |
- cp "${KERNEL_CONFIG}" "${KERNEL_DIR}/.config" || gen_die 'Could not copy configuration file!' |
41 |
+ local message='Could not copy configuration file!' |
42 |
+ if [[ "$(file --brief --mime-type "${KERNEL_CONFIG}")" == application/x-gzip ]]; then |
43 |
+ # Support --kernel-config=/proc/config.gz, mainly |
44 |
+ zcat "${KERNEL_CONFIG}" > "${KERNEL_DIR}/.config" || gen_die "${message}" |
45 |
+ else |
46 |
+ cp "${KERNEL_CONFIG}" "${KERNEL_DIR}/.config" || gen_die "${message}" |
47 |
+ fi |
48 |
fi |
49 |
|
50 |
if isTrue "${OLDCONFIG}" |
51 |
|
52 |
diff --git a/gen_package.sh b/gen_package.sh |
53 |
index e7c6142..b83ccc1 100755 |
54 |
--- a/gen_package.sh |
55 |
+++ b/gen_package.sh |
56 |
@@ -78,7 +78,13 @@ gen_kerncache() |
57 |
cd "${KERNEL_DIR}" |
58 |
cp "${tmp_kernel_binary}" "${TEMP}/kerncache/kernel-${ARCH}-${KV}" || gen_die 'Could not the copy kernel for the kernel package!' |
59 |
cp "${KERNEL_DIR}/.config" "${TEMP}/kerncache/config-${ARCH}-${KV}" |
60 |
- cp "${KERNEL_CONFIG}" "${TEMP}/kerncache/config-${ARCH}-${KV}.orig" |
61 |
+ |
62 |
+ if [[ "$(file --brief --mime-type "${KERNEL_CONFIG}")" == application/x-gzip ]]; then |
63 |
+ # Support --kernel-config=/proc/config.gz, mainly |
64 |
+ zcat "${KERNEL_CONFIG}" > "${TEMP}/kerncache/config-${ARCH}-${KV}.orig" |
65 |
+ else |
66 |
+ cp "${KERNEL_CONFIG}" "${TEMP}/kerncache/config-${ARCH}-${KV}.orig" |
67 |
+ fi |
68 |
cp "${KERNEL_DIR}/System.map" "${TEMP}/kerncache/System.map-${ARCH}-${KV}" |
69 |
if isTrue "${GENZIMAGE}" |
70 |
then |
71 |
@@ -180,7 +186,16 @@ gen_kerncache_is_valid() |
72 |
else |
73 |
test1=$(grep -v "^#" ${TEMP}/config-${ARCH}-${KV} | md5sum | cut -d " " -f 1) |
74 |
fi |
75 |
- test2=$(grep -v "^#" ${KERNEL_CONFIG} | md5sum | cut -d " " -f 1) |
76 |
+ |
77 |
+ if [[ "$(file --brief --mime-type "${KERNEL_CONFIG}")" == application/x-gzip ]]; then |
78 |
+ # Support --kernel-config=/proc/config.gz, mainly |
79 |
+ local CONFGREP=zgrep |
80 |
+ else |
81 |
+ local CONFGREP=grep |
82 |
+ fi |
83 |
+ test2=$("${CONFGREP}" -v "^#" ${KERNEL_CONFIG} | md5sum | cut -d " " -f 1) |
84 |
+ |
85 |
+ |
86 |
if [ "${test1}" == "${test2}" ] |
87 |
then |
88 |
echo |