commit:     f9324a84796a5dbcac9d3a3fe2bead24f2853aa1
Author:     Robin H. Johnson <robbat2 <AT> gentoo <DOT> org>
AuthorDate: Sun Feb  7 01:30:15 2016 +0000
Commit:     Robin H. Johnson <robbat2 <AT> gentoo <DOT> org>
CommitDate: Sun Feb  7 01:30:15 2016 +0000
URL:        https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=f9324a84

Use KERNEL_OUTPUTDIR more consistently.

Signed-off-by: Robin H. Johnson <robbat2 <AT> gentoo.org>

 gen_compile.sh      |  2 +-
 gen_configkernel.sh | 49 ++++++++++++++++++++++++++-----------------------
 gen_initramfs.sh    |  8 ++++----
 gen_moddeps.sh      |  6 +++---
 4 files changed, 34 insertions(+), 31 deletions(-)

diff --git a/gen_compile.sh b/gen_compile.sh
index c26a652..8d8f04a 100755
--- a/gen_compile.sh
+++ b/gen_compile.sh
@@ -697,7 +697,7 @@ compile_iscsi() {
                KEXT=$(modules_kext)
                for modname in iscsi_tcp libiscsi scsi_transport_iscsi
                do
-                       module=${CMD_KERNEL_DIR}/drivers/scsi/${modname}${KEXT}
+                       
module=${KERNEL_OUTPUTDIR}/drivers/scsi/${modname}${KEXT}
                        if [ -e "${module}" ]
                        then
                                cp $module 
"${TEMP}/initramfs-iscsi-temp/lib/modules/${KV}/kernel/drivers/scsi/"

diff --git a/gen_configkernel.sh b/gen_configkernel.sh
index ac29852..81b2b52 100755
--- a/gen_configkernel.sh
+++ b/gen_configkernel.sh
@@ -32,6 +32,15 @@ determine_config_file() {
        fi
 }
 
+function kconfig_set_opt() {
+       kconfig="$1"
+       optname="$2"
+       optval="$3"
+       sed -i "${kconfig}" \
+               -e "s/^#\? \?${optname}[ =].*/${optname}=${optval}/g" \
+       gen_die "Failed to set ${optname}=${optval} in $kconfig"
+}
+
 config_kernel() {
        determine_config_file
        cd "${KERNEL_DIR}" || gen_die 'Could not switch to the kernel 
directory!'
@@ -110,30 +119,29 @@ config_kernel() {
        if isTrue ${CMD_GENZIMAGE}
        then
                # Make sure Ext2 support is on...
-               sed -e 's/#\? \?CONFIG_EXT2_FS[ =].*/CONFIG_EXT2_FS=y/g' \
-                       -i ${KERNEL_OUTPUTDIR}/.config
+               kconfig_set_opt "${KERNEL_OUTPUTDIR}/.config" "CONFIG_EXT2_FS" 
"y"
        fi
 
        # Make sure lvm modules are on if --lvm
        if isTrue ${CMD_LVM}
        then
-               sed -i ${KERNEL_OUTPUTDIR}/.config -e 's/#\? 
\?CONFIG_BLK_DEV_DM is.*/CONFIG_BLK_DEV_DM=m/g'
-               sed -i ${KERNEL_OUTPUTDIR}/.config -e 's/#\? 
\?CONFIG_DM_SNAPSHOT is.*/CONFIG_DM_SNAPSHOT=m/g'
-               sed -i ${KERNEL_OUTPUTDIR}/.config -e 's/#\? \?CONFIG_DM_MIRROR 
is.*/CONFIG_DM_MIRROR=m/g'
+               kconfig_set_opt "${KERNEL_OUTPUTDIR}/.config" 
"CONFIG_BLK_DEV_DM" "m"
+               kconfig_set_opt "${KERNEL_OUTPUTDIR}/.config" 
"CONFIG_DM_SNAPSHOT" "m"
+               kconfig_set_opt "${KERNEL_OUTPUTDIR}/.config" 
"CONFIG_DM_MIRROR" "m"
        fi
 
        # Multipath
        if isTrue ${CMD_MULTIPATH}
        then
-               sed -i ${KERNEL_DIR}/.config -e 's/#\? \?CONFIG_BLK_DEV_DM 
is.*/CONFIG_BLK_DEV_DM=m/g'
-               sed -i ${KERNEL_DIR}/.config -e 's/#\? \?CONFIG_DM_MULTIPATH 
is.*/CONFIG_DM_MULTIPATH=m/g'
-               sed -i ${KERNEL_DIR}/.config -e 's/#\? 
\?CONFIG_DM_MULTIPATH_RDAC is.*/CONFIG_DM_MULTIPATH_RDAC=m/g'
+               kconfig_set_opt "${KERNEL_OUTPUTDIR}/.config" 
"CONFIG_BLK_DEV_DM" "m"
+               kconfig_set_opt "${KERNEL_OUTPUTDIR}/.config" 
"CONFIG_DM_MULTIPATH" "m"
+               kconfig_set_opt "${KERNEL_OUTPUTDIR}/.config" 
"CONFIG_DM_MULTIPATH_RDAC" "m"
        fi
 
        # Make sure dmraid modules are on if --dmraid
        if isTrue ${CMD_DMRAID}
        then
-               sed -i ${KERNEL_OUTPUTDIR}/.config -e 's/#\? 
\?CONFIG_BLK_DEV_DM is.*/CONFIG_BLK_DEV_DM=m/g'
+               kconfig_set_opt "${KERNEL_OUTPUTDIR}/.config" 
"CONFIG_BLK_DEV_DM" "m"
        fi
 
        # Make sure iSCSI modules are enabled in the kernel, if --iscsi
@@ -141,28 +149,23 @@ config_kernel() {
        # CONFIG_ISCSI_TCP
        if isTrue ${CMD_ISCSI}
        then
-               sed -i ${KERNEL_OUTPUTDIR}/.config -e 's/\# CONFIG_ISCSI_TCP is 
not set/CONFIG_ISCSI_TCP=m/g'
-               sed -i ${KERNEL_OUTPUTDIR}/.config -e 's/\# 
CONFIG_SCSI_ISCSI_ATTRS is not set/CONFIG_SCSI_ISCSI_ATTRS=m/g'
-
-               sed -i ${KERNEL_OUTPUTDIR}/.config -e 
's/CONFIG_ISCSI_TCP=y/CONFIG_ISCSI_TCP=m/g'
-               sed -i ${KERNEL_OUTPUTDIR}/.config -e 
's/CONFIG_SCSI_ISCSI_ATTRS=y/CONFIG_SCSI_ISCSI_ATTRS=m/g'
+               kconfig_set_opt "${KERNEL_OUTPUTDIR}/.config" 
"CONFIG_ISCSI_TCP" "m"
+               kconfig_set_opt "${KERNEL_OUTPUTDIR}/.config" 
"CONFIG_SCSI_ISCSI_ATTRS" "m"
        fi
 
        if isTrue ${SPLASH}
        then
-               sed -i ${KERNEL_OUTPUTDIR}/.config -e 's/#\? \?CONFIG_FB_SPLASH 
is.*/CONFIG_FB_SPLASH=y/g'
+               kconfig_set_opt "${KERNEL_OUTPUTDIR}/.config" 
"CONFIG_FB_SPLASH" "y"
        fi
 
        # VirtIO
        if isTrue ${CMD_VIRTIO}
        then
-               sed -i ${KERNEL_DIR}/.config -e 's/#\? 
\?CONFIG_PARAVIRT_GUEST.*/CONFIG_PARAVIRT_GUEST=y/g'
-               sed -i ${KERNEL_DIR}/.config -e 's/#\? 
\?CONFIG_VIRTIO_PCI.*/CONFIG_VIRTIO_PCI=y/g'
-               sed -i ${KERNEL_DIR}/.config -e 's/#\? 
\?CONFIG_VIRTIO_BALLOON.*/CONFIG_VIRTIO_BALLOON=y/g'
-               sed -i ${KERNEL_DIR}/.config -e 's/#\? 
\?CONFIG_VIRTIO_MMIO.*/CONFIG_VIRTIO_MMIO=y/g'
-               sed -i ${KERNEL_DIR}/.config -e 's/#\? 
\?CONFIG_VIRTIO_BLK.*/CONFIG_VIRTIO_BLK=y/g'
-               sed -i ${KERNEL_DIR}/.config -e 's/#\? 
\?CONFIG_SCSI_VIRTIO.*/CONFIG_SCSI_VIRTIO=y/g'
-               sed -i ${KERNEL_DIR}/.config -e 's/#\? 
\?CONFIG_VIRTIO_NET.*/CONFIG_VIRTIO_NET=y/g'
-               sed -i ${KERNEL_DIR}/.config -e 's/#\? 
\?CONFIG_VHOST_NET.*/CONFIG_VHOST_NET=y/g'
+               for k in \
+                       CONFIG_PARAVIRT_GUEST CONFIG_VIRTIO_PCI 
CONFIG_VIRTIO_BALLOON \
+                       CONFIG_VIRTIO_MMIO CONFIG_VIRTIO_BLK CONFIG_SCSI_VIRTIO 
\
+                       CONFIG_VIRTIO_NET CONFIG_VHOST_NET ; do
+                       kconfig_set_opt "${KERNEL_OUTPUTDIR}/.config" 
"CONFIG_FB_SPLASH" "y"
+               done
        fi
 }

diff --git a/gen_initramfs.sh b/gen_initramfs.sh
index 163eedb..a03f5b1 100755
--- a/gen_initramfs.sh
+++ b/gen_initramfs.sh
@@ -898,7 +898,7 @@ create_initramfs() {
                # Explicitly do not compress if we are integrating into the 
kernel.
                # The kernel will do a better job of it than us.
                mv ${TMPDIR}/initramfs-${KV} ${TMPDIR}/initramfs-${KV}.cpio
-               sed -i '/^.*CONFIG_INITRAMFS_SOURCE=.*$/d' ${KERNEL_DIR}/.config
+               sed -i '/^.*CONFIG_INITRAMFS_SOURCE=.*$/d' 
${KERNEL_OUTPUTDIR}/.config
                compress_config='INITRAMFS_COMPRESSION_NONE'
                case ${compress_ext} in
                        gz)  compress_config='INITRAMFS_COMPRESSION_GZIP' ;;
@@ -911,7 +911,7 @@ create_initramfs() {
                esac
                # All N default except XZ, so there it gets used if the kernel 
does
                # compression on it's own.
-               cat >>${KERNEL_DIR}/.config     <<-EOF
+               cat >>${KERNEL_OUTPUTDIR}/.config       <<-EOF
                
CONFIG_INITRAMFS_SOURCE="${TMPDIR}/initramfs-${KV}.cpio${compress_ext}"
                CONFIG_INITRAMFS_ROOT_UID=0
                CONFIG_INITRAMFS_ROOT_GID=0
@@ -929,8 +929,8 @@ create_initramfs() {
                then
                        # NOTE:  We do not work with ${KERNEL_CONFIG} here, 
since things like
                        #        "make oldconfig" or --noclean could be in 
effect.
-                       if [ -f "${KERNEL_DIR}"/.config ]; then
-                               local 
ACTUAL_KERNEL_CONFIG="${KERNEL_DIR}"/.config
+                       if [ -f "${KERNEL_OUTPUTDIR}"/.config ]; then
+                               local 
ACTUAL_KERNEL_CONFIG="${KERNEL_OUTPUTDIR}"/.config
                        else
                                local ACTUAL_KERNEL_CONFIG="${KERNEL_CONFIG}"
                        fi

diff --git a/gen_moddeps.sh b/gen_moddeps.sh
index 415e095..053a183 100755
--- a/gen_moddeps.sh
+++ b/gen_moddeps.sh
@@ -4,9 +4,9 @@
 modules_kext()
 {
        KEXT=".ko"
-       if grep -sq '^CONFIG_MODULE_COMPRESS=y' "${KERNEL_DIR}"/.config; then
-               grep -sq '^CONFIG_MODULE_COMPRESS_XZ=y' "${KERNEL_DIR}"/.config 
&& KEXT='.ko.xz'
-               grep -sq '^CONFIG_MODULE_COMPRESS_GZIP=y' 
"${KERNEL_DIR}"/.config && KEXT='.ko.gz'
+       if grep -sq '^CONFIG_MODULE_COMPRESS=y' "${KERNEL_OUTPUTDIR}"/.config; 
then
+               grep -sq '^CONFIG_MODULE_COMPRESS_XZ=y' 
"${KERNEL_OUTPUTDIR}"/.config && KEXT='.ko.xz'
+               grep -sq '^CONFIG_MODULE_COMPRESS_GZIP=y' 
"${KERNEL_OUTPUTDIR}"/.config && KEXT='.ko.gz'
        fi
        echo ${KEXT}
 }

Reply via email to