From 01a16e0aa25c1a2d5ac568067487239874ad40cb Mon Sep 17 00:00:00 2001 From: Chris Gianelloni Date: Mon, 12 Feb 2007 18:32:45 +0000 Subject: [PATCH] Added patch from Fabio Erculiani to fix unionfs compilation. This is for bug #152945. git-svn-id: svn+ssh://svn.gentoo.org/var/svnroot/genkernel/trunk@481 67a159dc-881f-0410-a524-ba9dfbe2cb84 --- ChangeLog | 5 +++++ gen_cmdline.sh | 6 ++++-- gen_compile.sh | 23 +++++++++++++++-------- genkernel | 2 +- 4 files changed, 25 insertions(+), 11 deletions(-) diff --git a/ChangeLog b/ChangeLog index e855a98..a7cdf37 100644 --- a/ChangeLog +++ b/ChangeLog @@ -2,6 +2,11 @@ # Copyright 2006-2007 Gentoo Foundation; Distributed under the GPL v2 # $Header: $ + 12 Feb 2007; Chris Gianelloni gen_cmdline.sh, + gen_compile.sh, genkernel: + Added patch from Fabio Erculiani to fix unionfs + compilation. This is for bug #152945. + 08 Feb 2007; Chris Gianelloni gen_cmdline.sh, gen_funcs.sh: Added patch from Martin Parm to fix the --no-color option. diff --git a/gen_cmdline.sh b/gen_cmdline.sh index 2561890..a3222bd 100755 --- a/gen_cmdline.sh +++ b/gen_cmdline.sh @@ -209,7 +209,8 @@ parse_cmdline() { ;; --unionfs) echo - print_warning 1 "WARNING: unionfs support is in active development and is not meant for general use." + print_warning 1 "WARNING: unionfs support is in active development and is not meant for general" + print_warning 1 "use." print_warning 1 "DISABLING UNIONFS SUPPORT AT THIS TIME." echo ;; @@ -217,7 +218,8 @@ parse_cmdline() { CMD_UNIONFS=1 print_info 2 "CMD_UNIONFS: $CMD_UNIONFS" echo - print_warning 1 "WARNING: unionfs support is in active development and is not meant for general use." + print_warning 1 "WARNING: unionfs support is in active development and is not meant for general" + print_warning 1 "use." print_warning 1 "Bug Reports without patches/fixes will be ignored." print_warning 1 "Use at your own risk as this could blow up your system." print_warning 1 "This code is subject to change at any time." diff --git a/gen_compile.sh b/gen_compile.sh index 8574380..4dabc14 100644 --- a/gen_compile.sh +++ b/gen_compile.sh @@ -327,9 +327,9 @@ compile_unionfs_modules() { gen_die "Could not find unionfs source tarball: ${UNIONFS_SRCTAR}!" cd "${TEMP}" rm -rf ${UNIONFS_DIR} > /dev/null - rm -rf unionfs > /dev/null - mkdir -p unionfs - /bin/tar -zxpf ${UNIONFS_SRCTAR} || + rm -rf unionfs* > /dev/null + mkdir unionfs + /bin/tar xzpf ${UNIONFS_SRCTAR} || gen_die 'Could not extract unionfs source tarball!' [ -d "${UNIONFS_DIR}" ] || gen_die 'Unionfs directory ${UNIONFS_DIR} is invalid!' @@ -338,6 +338,7 @@ compile_unionfs_modules() { echo "LINUXSRC=${KERNEL_DIR}" >> fistdev.mk echo 'TOPINC=-I$(LINUXSRC)/include' >> fistdev.mk echo "MODDIR= /lib/modules/${KV}" >> fistdev.mk + echo "KVERS=${KV}" >> fistdev.mk echo "KERNELVERSION=${KV}" >> fistdev.mk # Fix for hardened/selinux systems to have extened attributes # per r2d2's request. Also add -DUNIONFS_UNSUPPORTED for 2.6.16 @@ -350,11 +351,13 @@ compile_unionfs_modules() { if [ "${PAT}" -ge '6' ] then - cd "${TEMP}" - cd "${UNIONFS_DIR}" + # ARCH is used by unionfs - and conflicts with genkernel + ARCH_PUSH=${ARCH} + unset ARCH # Compile unionfs module within the unionfs # environment not within the kernelsrc dir make unionfs.ko || gen_die 'failed to compile unionfs' + ARCH=${ARCH_PUSH} else gen_die 'unionfs is only supported on 2.6 targets' fi @@ -386,7 +389,7 @@ compile_unionfs_utils() { gen_die "Could not find unionfs source tarball: ${UNIONFS_SRCTAR}!" cd "${TEMP}" rm -rf ${UNIONFS_DIR} > /dev/null - rm -rf unionfs > /dev/null + rm -rf unionfs* > /dev/null mkdir -p unionfs/sbin /bin/tar -zxpf ${UNIONFS_SRCTAR} || gen_die 'Could not extract unionfs source tarball!' @@ -394,16 +397,20 @@ compile_unionfs_utils() { gen_die 'Unionfs directory ${UNIONFS_DIR} is invalid!' cd "${UNIONFS_DIR}" print_info 1 'unionfs tools: >> Compiling...' + sed -i utils/Makefile -e 's|${CC} -o|${CC} -static -o|g' sed -i Makefile -e 's|${CC} -o|${CC} -static -o|g' compile_generic utils utils - + + if [ ! -e "uniondbg" ]; then + cd utils + fi print_info 1 'unionfs: >> Copying to cache...' strip uniondbg unionctl cp uniondbg ${TEMP}/unionfs/sbin/ || gen_die 'Could not copy the uniondbg binary to the tmp directory' cp unionctl ${TEMP}/unionfs/sbin/ || gen_die 'Could not copy the unionctl binary to the tmp directory' - cd ${TEMP}/unionfs + cd ${TEMP}/unionfs /bin/tar -cjf "${UNIONFS_BINCACHE}" . || gen_die 'Could not create unionfs tools binary cache' diff --git a/genkernel b/genkernel index c39c76a..54247fd 100755 --- a/genkernel +++ b/genkernel @@ -2,7 +2,7 @@ # Genkernel v3 PATH="/bin:/usr/bin:/sbin:/usr/sbin" -GK_V='3.4.6' +GK_V='3.4.7_pre1' TMPDIR='/var/tmp/genkernel' TEMP=${TMPDIR}/$RANDOM.$RANDOM.$RANDOM.$$ -- 2.26.2