Gentoo Archives: gentoo-commits

From: Thomas Deutschmann <whissi@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] proj/genkernel:master commit in: /
Date: Thu, 28 Mar 2019 23:43:24
Message-Id: 1553815670.d030a61ea663f567a6df9bf54dd7d25eac21c0fc.whissi@gentoo
1 commit: d030a61ea663f567a6df9bf54dd7d25eac21c0fc
2 Author: Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
3 AuthorDate: Thu Mar 28 23:27:50 2019 +0000
4 Commit: Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
5 CommitDate: Thu Mar 28 23:27:50 2019 +0000
6 URL: https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=d030a61e
7
8 append_modules(): add error checking
9
10 Signed-off-by: Thomas Deutschmann <whissi <AT> gentoo.org>
11
12 gen_initramfs.sh | 38 ++++++++++++++++++++++++++++++--------
13 1 file changed, 30 insertions(+), 8 deletions(-)
14
15 diff --git a/gen_initramfs.sh b/gen_initramfs.sh
16 index 7c41c2c..6ffdf65 100755
17 --- a/gen_initramfs.sh
18 +++ b/gen_initramfs.sh
19 @@ -823,22 +823,34 @@ append_modules() {
20 local group_modules
21 local MOD_EXT="$(modules_kext)"
22
23 - print_info 2 "$(getIndent 2)initramfs: >> Searching for modules..."
24 + if [ -d "${TEMP}/initramfs-modules-${KV}-temp" ]
25 + then
26 + rm -r "${TEMP}/initramfs-modules-${KV}-temp/"
27 + fi
28 +
29 + print_info 2 "$(getIndent 2)modules: >> Copying modules to initramfs..."
30 if [ "${INSTALL_MOD_PATH}" != '' ]
31 then
32 - cd ${INSTALL_MOD_PATH}
33 + cd ${INSTALL_MOD_PATH} || gen_die "Failed to chdir into '${INSTALL_MOD_PATH}'!"
34 else
35 - cd /
36 + cd / || gen_die "Failed to chdir into '/'!"
37 fi
38
39 - if [ -d "${TEMP}/initramfs-modules-${KV}-temp" ]
40 + local _MODULES_DIR="${PWD%/}/lib/modules/${KV}"
41 + if [ ! -d "${_MODULES_DIR}" ]
42 then
43 - rm -r "${TEMP}/initramfs-modules-${KV}-temp/"
44 + error_message="'${_MODULES_DIR}' does not exist! Did you forget"
45 + error_message+=" to compile kernel before building initramfs?"
46 + error_message+=" If you know what you are doing please set '--no-ramdisk-modules'."
47 + gen_die "${error_message}"
48 fi
49 +
50 mkdir -p "${TEMP}/initramfs-modules-${KV}-temp/lib/modules/${KV}"
51 +
52 + local n_copied_modules=0
53 for i in `gen_dep_list`
54 do
55 - mymod=`find ./lib/modules/${KV} -name "${i}${MOD_EXT}" 2>/dev/null| head -n 1 `
56 + mymod=`find "${_MODULES_DIR}" -name "${i}${MOD_EXT}" 2>/dev/null| head -n 1 `
57 if [ -z "${mymod}" ]
58 then
59 print_warning 2 "$(getIndent 3) - ${i}${MOD_EXT} not found; skipping..."
60 @@ -846,10 +858,20 @@ append_modules() {
61 fi
62
63 print_info 2 "$(getIndent 3) - Copying ${i}${MOD_EXT}..."
64 - cp -ax --parents "${mymod}" "${TEMP}/initramfs-modules-${KV}-temp"
65 + cp -ax --parents "${mymod}" "${TEMP}/initramfs-modules-${KV}-temp" ||
66 + gen_die "failed to copy '${mymod}' to '${TEMP}/initramfs-modules-${KV}-temp'"
67 + n_copied_modules=$[$n_copied_modules+1]
68 done
69
70 - cp -ax --parents ./lib/modules/${KV}/modules* ${TEMP}/initramfs-modules-${KV}-temp 2>/dev/null
71 + if [ ${n_copied_modules} -eq 0 ]
72 + then
73 + print_warning 1 "$(getIndent 2)modules: ${n_copied_modules} modules copied. Is that correct?"
74 + else
75 + print_info 2 "$(getIndent 2)modules: ${n_copied_modules} modules copied!"
76 + fi
77 +
78 + cp -ax --parents "${_MODULES_DIR}"/modules* ${TEMP}/initramfs-modules-${KV}-temp ||
79 + gen_die "failed to copy '${_MODULES_DIR}/modules*' to '${TEMP}/initramfs-modules-${KV}-temp'"
80
81 mkdir -p "${TEMP}/initramfs-modules-${KV}-temp/etc/modules"
82 for group_modules in ${!MODULES_*}; do