Store pre-oldconfig busybox .config for use in bincache comparison
authorAndrew Gaffney <agaffney@gentoo.org>
Sat, 10 May 2008 01:16:38 +0000 (01:16 +0000)
committerAndrew Gaffney <agaffney@gentoo.org>
Sat, 10 May 2008 01:16:38 +0000 (01:16 +0000)
git-svn-id: svn+ssh://svn.gentoo.org/var/svnroot/genkernel/trunk@676 67a159dc-881f-0410-a524-ba9dfbe2cb84

ChangeLog
gen_compile.sh

index 1461b1dab5a98c70cd72550546ee92764c9a77b8..458243c3506edc180d73858f987912c9fd13d39c 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -2,6 +2,9 @@
 # Copyright 2006-2008 Gentoo Foundation; Distributed under the GPL v2
 # $Header: $
 
+  10 May 2008; Andrew Gaffney <agaffney@gentoo.org> gen_compile.sh:
+  Store pre-oldconfig busybox .config for use in bincache comparison
+
   09 May 2008; Andrew Gaffney <agaffney@gentoo.org> generic/initrd.defaults,
   generic/initrd.scripts, generic/linuxrc:
   Add nomodules kernel commandline parameter to disable loading of modules
index 91b0a7f1548d00d454d978900098e39feb1c5a8a..80b9a2ed1cbd8a6bed96c33384c2d68ca1c2c782 100644 (file)
@@ -360,27 +360,12 @@ compile_busybox() {
                gen_die "Could not find busybox source tarball: ${BUSYBOX_SRCTAR}!"
        [ -f "${BUSYBOX_CONFIG}" ] ||
                gen_die "Cound not find busybox config file: ${BUSYBOX_CONFIG}!"
-       cd "${TEMP}"
-       rm -rf "${BUSYBOX_DIR}" > /dev/null
-       /bin/tar -jxpf ${BUSYBOX_SRCTAR} ||
-               gen_die 'Could not extract busybox source tarball!'
-       [ -d "${BUSYBOX_DIR}" ] ||
-               gen_die 'Busybox directory ${BUSYBOX_DIR} is invalid!'
-       cp "${BUSYBOX_CONFIG}" "${BUSYBOX_DIR}/.config"
-#      sed -i ${BUSYBOX_DIR}/.config -e 's/#\? \?CONFIG_FEATURE_INSTALLER[ =].*/CONFIG_FEATURE_INSTALLER=y/g'
-       cd "${BUSYBOX_DIR}"
-#      patch -p1 < "${GK_SHARE}/pkg/busybox-1.1.3+gentoo-mdadm.patch"
-#      patch -p1 < "${GK_SHARE}/pkg/busybox-1.1.3+gentoo-mdadm2.patch"
-#      patch -p1 < "${GK_SHARE}/pkg/busybox-1.1.3+gentoo-mdadm3.patch"
-       apply_patches busybox ${BUSYBOX_VER}
-       print_info 1 'busybox: >> Configuring...'
-       yes '' 2>/dev/null | compile_generic oldconfig utils
 
        # Delete cache if stored config's MD5 does not match one to be used
-       if [ -f "${BUSYBOX_BINCACHE}" -a -f "${BUSYBOX_CONFIG}" ]
+       if [ -f "${BUSYBOX_BINCACHE}" ]
        then
-               oldconfig_md5=$(tar -xjf "${BUSYBOX_BINCACHE}" -O .config | md5sum)
-               newconfig_md5=$(md5sum < .config)
+               oldconfig_md5=$(tar -xjf "${BUSYBOX_BINCACHE}" -O .config.gk_orig 2>/dev/null | md5sum)
+               newconfig_md5=$(md5sum < "${BUSYBOX_CONFIG}")
                if [ "${oldconfig_md5}" != "${newconfig_md5}" ]
                then
                        print_info 1 "busybox: >> Removing stale cache..."
@@ -392,6 +377,19 @@ compile_busybox() {
 
        if [ ! -f "${BUSYBOX_BINCACHE}" ]
        then
+               cd "${TEMP}"
+               rm -rf "${BUSYBOX_DIR}" > /dev/null
+               /bin/tar -jxpf ${BUSYBOX_SRCTAR} ||
+                       gen_die 'Could not extract busybox source tarball!'
+               [ -d "${BUSYBOX_DIR}" ] ||
+                       gen_die 'Busybox directory ${BUSYBOX_DIR} is invalid!'
+               cp "${BUSYBOX_CONFIG}" "${BUSYBOX_DIR}/.config"
+               cp "${BUSYBOX_CONFIG}" "${BUSYBOX_DIR}/.config.gk_orig"
+               cd "${BUSYBOX_DIR}"
+               apply_patches busybox ${BUSYBOX_VER}
+               print_info 1 'busybox: >> Configuring...'
+               yes '' 2>/dev/null | compile_generic oldconfig utils
+
                print_info 1 'busybox: >> Compiling...'
                compile_generic all utils
                print_info 1 'busybox: >> Copying to cache...'
@@ -399,12 +397,12 @@ compile_busybox() {
                        gen_die 'Busybox executable does not exist!'
                strip "${TEMP}/${BUSYBOX_DIR}/busybox" ||
                        gen_die 'Could not strip busybox binary!'
-               tar -cj -C "${TEMP}/${BUSYBOX_DIR}" -f "${BUSYBOX_BINCACHE}" busybox .config ||
+               tar -cj -C "${TEMP}/${BUSYBOX_DIR}" -f "${BUSYBOX_BINCACHE}" busybox .config .config.gk_orig ||
                        gen_die 'Could not create the busybox bincache!'
-       fi
 
-       cd "${TEMP}"
-       rm -rf "${BUSYBOX_DIR}" > /dev/null
+               cd "${TEMP}"
+               rm -rf "${BUSYBOX_DIR}" > /dev/null
+       fi
 }
 
 compile_lvm() {