View | Details | Raw Unified
Collapse All | Expand All

(-) /usr/share/genkernel/gen_compile.sh (-81 / +17 lines)
 Lines 1-5    Link Here 
#!/bin/bash
#!/bin/bash
. gen_unionfs_helpers.sh
compile_kernel_args()
compile_kernel_args()
{
{
	local ARGS
	local ARGS
 Lines 318-412    Link Here 
}
}
compile_unionfs_modules() {
compile_unionfs_modules() {
	# This sets ${UNIONFS_VERSION} to the correct value.
	get_unionfs_version
	UNIONFS_MODULES_BINCACHE=${UNIONFS_MODULES_BINCACHE/UNIONFS_VER/${UNIONFS_VERSION}}
	UNIONFS_BINCACHE=${UNIONFS_BINCACHE/UNIONFS_VER/${UNIONFS_VERSION}}
	# subsitute source tarball here.
	# the user can override this functionality by changing
	# ${UNIONFS_SRCTAR} in /etc/genkernel.conf. genkernel can
	# print a warning if the two versions do not match.
	UNIONFS_SRCTAR=${UNIONFS_SRCTAR/UNIONFS_VER/${UNIONFS_VERSION}}
	UNIONFS_DIR="unionfs-${UNIONFS_VERSION}"
	if [ ! -f "${UNIONFS_MODULES_BINCACHE}" ]
	if [ ! -f "${UNIONFS_MODULES_BINCACHE}" ]
	then
	then
		[ -f "${UNIONFS_SRCTAR}" ] ||
		print_info 1 "UNIONFS: ${UNIONFS_VERSION} ${UNIONFS_SRCTAR}"
			gen_die "Could not find unionfs source tarball: ${UNIONFS_SRCTAR}!"
		print_info 1 "UNIONFS callback: ${UNIONFS_COMPILE_FUNC}"
		cd "${TEMP}"
		${UNIONFS_COMPILE_FUNC}
		rm -rf ${UNIONFS_DIR} > /dev/null
		rm -rf unionfs > /dev/null
		mkdir -p unionfs
		/bin/tar -zxpf ${UNIONFS_SRCTAR} ||
			gen_die 'Could not extract unionfs source tarball!'
		[ -d "${UNIONFS_DIR}" ] ||
			gen_die 'Unionfs directory ${UNIONFS_DIR} is invalid!'
		cd "${UNIONFS_DIR}"
		print_info 1 'unionfs modules: >> Compiling...'
		echo "LINUXSRC=${KERNEL_DIR}" >> fistdev.mk
		echo 'TOPINC=-I$(LINUXSRC)/include' >> fistdev.mk
		echo "MODDIR= /lib/modules/${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
		echo "EXTRACFLAGS=-DUNIONFS_XATTR -DFIST_SETXATTR_CONSTVOID -DUNIONFS_UNSUPPORTED" \
			>> fistdev.mk
		# Here we do something really nasty and disable debugging, along with
		# change our default CFLAGS
		echo "UNIONFS_DEBUG_CFLAG=-DUNIONFS_NDEBUG" >> fistdev.mk
		echo "UNIONFS_OPT_CFLAG= -O2 -pipe" >> fistdev.mk
		if [ "${PAT}" -ge '6' ]
		then
			cd "${TEMP}"
			cd "${UNIONFS_DIR}"
			# Compile unionfs module within the unionfs
			# environment not within the kernelsrc dir
			make unionfs.ko || gen_die 'failed to compile unionfs'
		else
			gen_die 'unionfs is only supported on 2.6 targets'
		fi
		print_info 1 'unionfs: >> Copying to cache...'
	
		mkdir -p ${TEMP}/unionfs/lib/modules/${KV}/kernel/fs/unionfs
		
		if [ -f unionfs.ko ]
		then 
			cp -f unionfs.ko ${TEMP}/unionfs/lib/modules/${KV}/kernel/fs/unionfs
		else
			cp -f unionfs.o ${TEMP}/unionfs/lib/modules/${KV}/kernel/fs/unionfs
 		fi
	
		cd ${TEMP}/unionfs
		/bin/tar -cjf "${UNIONFS_MODULES_BINCACHE}" . ||
			gen_die 'Could not create unionfs modules binary cache'
	
		cd "${TEMP}"
		rm -rf "${UNIONFS_DIR}" > /dev/null
		rm -rf unionfs > /dev/null
	fi
	fi
}
}
compile_unionfs_utils() {
compile_unionfs_utils() {
	if [ ! -f "${UNIONFS_BINCACHE}" ]
	if [ ! -f "${UNIONFS_BINCACHE}" ]
	then
	then
		[ -f "${UNIONFS_SRCTAR}" ] ||
		print_info 1 "unionfs tools callback: ${UNIONFS_COMPILE_UTILS_FUNC}"
			gen_die "Could not find unionfs source tarball: ${UNIONFS_SRCTAR}!"
		${UNIONFS_COMPILE_UTILS_FUNC}
		cd "${TEMP}"
		rm -rf ${UNIONFS_DIR} > /dev/null
		rm -rf unionfs > /dev/null
		mkdir -p unionfs/sbin
		/bin/tar -zxpf ${UNIONFS_SRCTAR} ||
			gen_die 'Could not extract unionfs source tarball!'
		[ -d "${UNIONFS_DIR}" ] ||
			gen_die 'Unionfs directory ${UNIONFS_DIR} is invalid!'
		cd "${UNIONFS_DIR}"
		print_info 1 'unionfs tools: >> Compiling...'
		sed -i Makefile -e 's|${CC} -o|${CC} -static -o|g'
		compile_generic utils utils
		
		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	
		/bin/tar -cjf "${UNIONFS_BINCACHE}" . ||
			gen_die 'Could not create unionfs tools binary cache'
		
		cd "${TEMP}"
		rm -rf "${UNIONFS_DIR}" > /dev/null
		rm -rf unionfs > /dev/null
	fi
	fi
}
}
(-) /usr/share/genkernel/gen_unionfs_helpers.sh (+297 lines)
Line 0    Link Here 
#!/bin/bash
# Daniel Casimiro <dan.casimiro@gmail.com>
#
# Emulates:  hash[key]=value
# * This function is from:
#     http://tldp.org/LDP/abs/html/contributed-scripts.html#HASHLIB
#
# Params:
# 1 - hash
# 2 - key
# 3 - value
function hash_set {
	eval "${Hash_config_varname_prefix}${1}_${2}=\"${3}\""
}
# Emulates something similar to:
#   foreach($hash as $key => $value) { fun($key,$value); }
# * This function is from:
#     http://tldp.org/LDP/abs/html/contributed-scripts.html#HASHLIB
#
# It is possible to write different variations of this function.
# Here we use a function call to make it as "generic" as possible.
#
# Params:
# 1 - hash
# 2 - function name
function hash_foreach {
	local keyname oldIFS="$IFS"
	IFS=' '
	for i in $(eval "echo \${!${Hash_config_varname_prefix}${1}_*}"); do
		keyname=$(eval "echo \${i##${Hash_config_varname_prefix}${1}_}")
		eval "$2 $keyname \"\$$i\""
	done
	IFS="$oldIFS"
}
# UnionFS requires different versions for different kernels.
# This list is as of 27 October 2006.
# Kernel Version Compatibility:
# Kernel Version 	Unionfs Version
# 2.4.x (x>19) 	1.0.14
# 2.6.x (x<9) 	Not Supported
# 2.6.9 - 2.6.15 	1.1.5
# 2.6.16 	1.2
# 2.6.17 	1.3
# 2.6.18        1.4
# 2.6.newer 	CVS Snapshots
# $1 unionfs version
# $2 kernel version regular expression
test_unionfs_version() {
    MYKV=`expr match "${KV}" $2`
    # this test can be improved...
    if [ ${MYKV} -gt 0 ]; then
	# The keys cannot contain '.', so underscores are substituted here.
	UNIONFS_VERSION=${1//_/.}
    fi
}
# set kernel versions regular expressions and unionfs versions in config file
# build a hash that maps kernel version re's to unionfs version
# for each hash key, use the value when the key regular expression evals
# true when compared to ${BASEKV}
get_unionfs_version() {
    # Do not support 2.4 kernels yet; just need another RE.
    # The hash is hard coded here, but it could be built from variables defined
    # in /etc/genkernel.conf
    hash_set unionfsversions 1_1_5      "2\.6\.\(\<1[0-5]\>\|9\)"
    hash_set unionfsversions 1_2        "2\.6\.16"
    hash_set unionfsversions 1_3        "2\.6\.17"
    hash_set unionfsversions 1_4        "2\.6\.18"
    # Unset the UNIONFS_VERSION that was set in /etc/genkernel.conf
    # This function could check if the variable is set, and then break
    # Or, it could use a different variable name
    UNIONFS_VERSION=
    hash_foreach unionfsversions test_unionfs_version
    if [ -z ${UNIONFS_VERSION} ]; then
	gen_die "${KV} is an invalid kernel for UNIONFS!"
    fi
    tmpunion=${UNIONFS_VERSION//./_}
    UNIONFS_COMPILE_FUNC=compile_unionfs_modules_${tmpunion:0:3}
    UNIONFS_COMPILE_UTILS_FUNC=compile_unionfs_utils_${tmpunion:0:3}
}
compile_unionfs_modules_1_1() {
    [ -f "${UNIONFS_SRCTAR}" ] ||
	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} ||
	gen_die 'Could not extract unionfs source tarball!'
    [ -d "${UNIONFS_DIR}" ] ||
	gen_die 'Unionfs directory ${UNIONFS_DIR} is invalid!'
    cd "${UNIONFS_DIR}"
    print_info 1 'unionfs modules: >> Compiling...'
    echo "LINUXSRC=${KERNEL_DIR}" >> fistdev.mk
    echo 'TOPINC=-I$(LINUXSRC)/include' >> fistdev.mk
    echo "MODDIR= /lib/modules/${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
    echo "EXTRACFLAGS=-DUNIONFS_XATTR -DFIST_SETXATTR_CONSTVOID -DUNIONFS_UNSUPPORTED" \
	>> fistdev.mk
    # Here we do something really nasty and disable debugging, along with
    # change our default CFLAGS
    echo "UNIONFS_DEBUG_CFLAG=-DUNIONFS_NDEBUG" >> fistdev.mk
    echo "UNIONFS_OPT_CFLAG= -O2 -pipe" >> fistdev.mk
    if [ "${PAT}" -ge '6' ]
    then
	cd "${TEMP}"
	cd "${UNIONFS_DIR}"
	sed -i Makefile -e 's|-Werror||g'
	# Compile unionfs module within the unionfs
	# environment not within the kernelsrc dir
	make unionfs.ko || gen_die 'failed to compile unionfs'
    else
	gen_die 'unionfs is only supported on 2.6 targets'
    fi
    print_info 1 'unionfs: >> Copying to cache...'
	
    mkdir -p ${TEMP}/unionfs/lib/modules/${KV}/kernel/fs/unionfs
		
    if [ -f unionfs.ko ]
    then 
	cp -f unionfs.ko ${TEMP}/unionfs/lib/modules/${KV}/kernel/fs/unionfs
    else
	cp -f unionfs.o ${TEMP}/unionfs/lib/modules/${KV}/kernel/fs/unionfs
    fi
	
    cd ${TEMP}/unionfs
    /bin/tar -cjf "${UNIONFS_MODULES_BINCACHE}" . ||
	gen_die 'Could not create unionfs modules binary cache'
	
    cd "${TEMP}"
    rm -rf "${UNIONFS_DIR}" > /dev/null
    rm -rf unionfs > /dev/null
}
compile_unionfs_modules_1_2() {
    compile_unionfs_modules_1_1
}
compile_unionfs_modules_1_3() {
    [ -f "${UNIONFS_SRCTAR}" ] ||
	gen_die "Could not find unionfs source tarball: ${UNIONFS_SRCTAR}!"
    cd "${TEMP}"
    rm -rf ${UNIONFS_DIR} > /dev/null
    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!'
    cd "${UNIONFS_DIR}"
    print_info 1 'unionfs modules: >> Compiling...'
    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
    echo "EXTRACFLAGS=-DUNIONFS_XATTR -DFIST_SETXATTR_CONSTVOID -DUNIONFS_UNSUPPORTED" \
	>> fistdev.mk
    # Here we do something really nasty and disable debugging, along with
    # change our default CFLAGS
    echo "UNIONFS_DEBUG_CFLAG=-DUNIONFS_NDEBUG" >> fistdev.mk
    echo "UNIONFS_OPT_CFLAG= -O2 -pipe" >> fistdev.mk
    if [ "${PAT}" -ge '6' ]
    then
	# ARCH is used by unionfs - and conflicts with genkernel
	ARCH_PUSH=${ARCH}
	unset ARCH
	#sed -i Makefile -e 's|-Werror||g'
	# 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
    print_info 1 'unionfs: >> Copying to cache...'
	
    mkdir -p ${TEMP}/unionfs/lib/modules/${KV}/kernel/fs/unionfs
		
    if [ -f unionfs.ko ]
    then 
	cp -f unionfs.ko ${TEMP}/unionfs/lib/modules/${KV}/kernel/fs/unionfs
    else
	cp -f unionfs.o ${TEMP}/unionfs/lib/modules/${KV}/kernel/fs/unionfs
    fi
	
    cd ${TEMP}/unionfs
    /bin/tar -cjf "${UNIONFS_MODULES_BINCACHE}" . ||
	gen_die 'Could not create unionfs modules binary cache'
	
    cd "${TEMP}"
    rm -rf "${UNIONFS_DIR}" > /dev/null
    rm -rf unionfs* > /dev/null
}
compile_unionfs_modules_1_4() {
    compile_unionfs_modules_1_3
}
# uniofs_utils
compile_unionfs_utils_1_1() {
	if [ ! -f "${UNIONFS_BINCACHE}" ]
	then
		[ -f "${UNIONFS_SRCTAR}" ] ||
			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/sbin
		/bin/tar -zxpf ${UNIONFS_SRCTAR} ||
			gen_die 'Could not extract unionfs source tarball!'
		[ -d "${UNIONFS_DIR}" ] ||
			gen_die 'Unionfs directory ${UNIONFS_DIR} is invalid!'
		cd "${UNIONFS_DIR}"
		print_info 1 'unionfs tools: >> Compiling...'
		sed -i Makefile -e 's|${CC} -o|${CC} -static -o|g'
		compile_generic utils utils
		
		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	
		/bin/tar -cjf "${UNIONFS_BINCACHE}" . ||
			gen_die 'Could not create unionfs tools binary cache'
		
		cd "${TEMP}"
		rm -rf "${UNIONFS_DIR}" > /dev/null
		rm -rf unionfs > /dev/null
	fi
}
compile_unionfs_utils_1_2() {
    compile_unionfs_utils_1_1
}
compile_unionfs_utils_1_3() {
	if [ ! -f "${UNIONFS_BINCACHE}" ]
	then
		[ -f "${UNIONFS_SRCTAR}" ] ||
			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/sbin
		/bin/tar -zxpf ${UNIONFS_SRCTAR} ||
			gen_die 'Could not extract unionfs source tarball!'
		[ -d "${UNIONFS_DIR}" ] ||
			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
		print_info 1 'moving into utils directory...'
		cd utils
		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	
		/bin/tar -cjf "${UNIONFS_BINCACHE}" . ||
			gen_die 'Could not create unionfs tools binary cache'
		
		cd "${TEMP}"
		rm -rf "${UNIONFS_DIR}" > /dev/null
		rm -rf unionfs > /dev/null
	fi
}
compile_unionfs_utils_1_4() {
    compile_unionfs_utils_1_3
}
(-) /usr/share/genkernel/sample_unionfs_genkernel.conf (+142 lines)
Line 0    Link Here 
# Genkernel Configuration File
# ===========GENKERNEL BASIC CONFIGURATION=============
# Run 'make menuconfig' before compiling this kernel?
MENUCONFIG="no"
# Run 'make clean' before compilation?
# If set to NO, implies MRPROPER WILL NOT be run
# Also, if clean is NO, it won't copy over any configuration
# file, it will use what's there.
CLEAN="yes"
# Run 'make mrproper' before configuration/compilation?
MRPROPER="yes"
# Copy bootsplash into the initrd image?
BOOTSPLASH="yes"
# Override the arch detection?
# ARCH_OVERRIDE="x86"
# Mount BOOTDIR automatically if it isn't mounted?
MOUNTBOOT="yes"
# Save the new configuration in /etc/kernels upon
# successfull compilation
SAVE_CONFIG="yes"
# Use Color output in Genkernel?
USECOLOR="yes"
# Add new kernel to grub?
# BOOTLOADER="grub"
# Clear initramfs cpio cache dir
# CLEAR_CPIO_CACHE="yes"
# Clear build cache dir
# CLEAR_CACHE_DIR="yes"
# =========GENKERNEL LOCATION CONFIGURATION============
# Variables:
#   %%ARCH%%  - Final determined architecture
#   %%CACHE%% - Final determined cache location
# Set the boot directory, default is /boot
#BOOTDIR="/boot"
# Default share directory location
GK_SHARE="/usr/share/genkernel"
# Location of helper-scripts
#GK_BIN="${GK_SHARE}/bin"
GK_BIN="${GK_SHARE}"
# Location of the default cache
CACHE_DIR="${GK_SHARE}/pkg/%%ARCH%%"
# Log output file
DEBUGFILE="/var/log/genkernel.log"
# Debug Level
DEBUGLEVEL=1
# Default location of kernel source
DEFAULT_KERNEL_SOURCE="/usr/src/linux"
# Default kernel config (only use to override using %%ARCH%%/kernel-config-${VER}.${PAT} !)
# DEFAULT_KERNEL_CONFIG="${GK_SHARE}/%%ARCH%%/kernel-config"
# Configuration file for busybox
BUSYBOX_CONFIG="${GK_SHARE}/%%ARCH%%/busy-config"
# BusyBox Version
BUSYBOX_VER="1.1.3+gentoo"
# Busybox bin-cache location, to store pre-compiled busybox
# binary is just a bzip2 busybox executable
BUSYBOX_BINCACHE="%%CACHE%%/busybox-${BUSYBOX_VER}-%%ARCH%%.bz2"
# Location of BusyBox source tarball
BUSYBOX_SRCTAR="${GK_SHARE}/pkg/busybox-${BUSYBOX_VER}.tar.bz2"
# Directory created after busybox tarball is extracted
BUSYBOX_DIR="busybox-${BUSYBOX_VER}"
MODULE_INIT_TOOLS_VER="0.9.15-pre4"
MODULE_INIT_TOOLS_SRCTAR="${GK_SHARE}/pkg/module-init-tools-${MODULE_INIT_TOOLS_VER}.tar.bz2"
MODULE_INIT_TOOLS_DIR="module-init-tools-${MODULE_INIT_TOOLS_VER}"
MODULE_INIT_TOOLS_BINCACHE="%%CACHE%%/insmod-%%ARCH%%-static-2.6.bz2"
MODUTILS_VER="2.4.26"
MODUTILS_SRCTAR="${GK_SHARE}/pkg/modutils-${MODUTILS_VER}.tar.bz2"
MODUTILS_DIR="modutils-${MODUTILS_VER}"
MODUTILS_BINCACHE="%%CACHE%%/insmod-%%ARCH%%-static-2.4.bz2"
DIETLIBC_VER="0.27"
DIETLIBC_SRCTAR="${GK_SHARE}/pkg/dietlibc-${DIETLIBC_VER}.tar.bz2"
DIETLIBC_DIR="dietlibc-${DIETLIBC_VER}"
DIETLIBC_BINCACHE="%%CACHE%%/dietlibc-${DIETLIBC_VER}-%%ARCH%%.tar.bz2"
DIETLIBC_BINCACHE_TEMP="%%CACHE%%/dietlibc-${DIETLIBC_VER}-%%ARCH%%-tempdir"
DEVFSD_VER="1.3.25-dietlibc-kernel25"
DEVFSD_SRCTAR="${GK_SHARE}/pkg/devfsd-${DEVFSD_VER}.tar.bz2"
DEVFSD_DIR="devfsd"
DEVFSD_BINCACHE="%%CACHE%%/devfsd-${DEVFSD_VER}-%%ARCH%%.bz2"
DEVFSD_CONF_BINCACHE="%%CACHE%%/devfsd-conf-${DIETLIBC_VER}-%%ARCH%%.bz2"
#UDEV_VER="VERSION_UDEV"
#UDEV_DIR="udev-${UDEV_VER}"
#UDEV_SRCTAR="${GK_SHARE}/pkg/udev-${UDEV_VER}.tar.bz2"
#UDEV_BINCACHE="%%CACHE%%/udev-${UDEV_VER}-%%ARCH%%.tar.bz2"
#KLIBC_VER="VERSION_KLIBC"
#KLIBC_DIR="klibc-${KLIBC_VER}"
#KLIBC_SRCTAR="${GK_SHARE}/pkg/klibc-${KLIBC_VER}.tar.bz2"
#KLIBC_BINCACHE="%%CACHE%%/klibc-${KLIBC_VER}-%%ARCH%%.tar.bz2"
DEVICE_MAPPER_VER="1.00.17"
DEVICE_MAPPER_DIR="device-mapper.${DEVICE_MAPPER_VER}"
DEVICE_MAPPER_SRCTAR="${GK_SHARE}/pkg/device-mapper.${DEVICE_MAPPER_VER}.tgz"
DEVICE_MAPPER_BINCACHE="%%CACHE%%/device-mapper-${DEVICE_MAPPER_VER}-%%ARCH%%.tar.bz2"
LVM2_VER="2.00.25"
LVM2_DIR="LVM2.${LVM2_VER}"
LVM2_SRCTAR="${GK_SHARE}/pkg/LVM2.${LVM2_VER}.tgz"
LVM2_BINCACHE="%%CACHE%%/LVM2.${LVM2_VER}-%%ARCH%%.tar.bz2"
DMRAID_VER="1.0.0.rc10"
DMRAID_DIR="dmraid/${DMRAID_VER}"
DMRAID_SRCTAR="${GK_SHARE}/pkg/dmraid-${DMRAID_VER}.tar.bz2"
DMRAID_BINCACHE="%%CACHE%%/dmraid-${DMRAID_VER}-%%ARCH%%.tar.bz2"
# Kernel Version Compatibility
# (from http://www.am-utils.org/project-unionfs.html)
# 2.6.9 - 2.6.15	1.1.5
# 2.6.16			1.2
# 2.6.17			1.3
UNIONFS_SRCTAR="${GK_SHARE}/pkg/unionfs-UNIONFS_VER.tar.gz"
UNIONFS_BINCACHE="%%CACHE%%/unionfs-UNIONFS_VER-tools-%%ARCH%%.tar.bz2"
UNIONFS_MODULES_BINCACHE="%%CACHE%%/unionfs-UNIONFS_VER-modules-%%KV%%-%%ARCH%%.tar.bz2"
E2FSPROGS_VER="1.38"
E2FSPROGS_DIR="e2fsprogs-${E2FSPROGS_VER}"
E2FSPROGS_SRCTAR="${GK_SHARE}/pkg/e2fsprogs-${E2FSPROGS_VER}.tar.gz"
BLKID_BINCACHE="%%CACHE%%/blkid-${E2FSPROGS_VER}-%%ARCH%%.bz2"