view more/migrate-kernel.sh @ 1357:a1dc80180a05

Update migrate-kernel.sh to work with baseconfigs.
author Rob Landley <rob@landley.net>
date Sun, 22 May 2011 04:13:54 -0500
parents 300e6d919d86
children d51e7c7a35a6
line wrap: on
line source

#!/bin/bash

# Calculate new config for UNSTABLE kernel based on stable kernel config.
# I.E. calculate miniconfig-alt-linux based on miniconfig-linux for a target.

# Expand miniconfig with the old kernel, copy .config to new kernel, run
# make oldconfig, compress to miniconfig, copy to sources/targets/$TARGET

. sources/include.sh

read_arch_dir "$1"
rmdir "$STAGE_DIR"

[ -z "$BOOT_KARCH" ] && BOOT_KARCH="$KARCH"

# Expand config against current kernel

USE_UNSTABLE=

(getconfig linux && echo -e "$MORE_KERNEL_CONFIG") > "$WORK/miniconfig-linux"

setupfor linux

make ARCH=$BOOT_KARCH $LINUX_FLAGS KCONFIG_ALLCONFIG="$WORK/miniconfig-linux" \
  allnoconfig >/dev/null &&
cp .config "$WORK"

cleanup

USE_UNSTABLE=linux

setupfor linux

mv "$WORK/.config" . &&
yes "" | make ARCH="$BOOT_KARCH" oldconfig &&
mv .config walrus &&
ARCH="${BOOT_KARCH}" "$SOURCES/toys/miniconfig.sh" walrus || dienow

CFG="$CONFIG_DIR/$ARCH_NAME/miniconfig-alt-linux"
if [ -e "$CFG" ] && ! cmp mini.config "$CFG"
then
  mv "$CFG" "${CFG}.bak" || dienow
fi
mv mini.config "$CFG"

cleanup

diff -u <(sort "$WORK/miniconfig-linux") <(sort "$CFG") \
 | sed '/^ /d;/^@/d;1,2d' | tee "$WORK/mini.diff"