Go to:
Gentoo Home
Documentation
Forums
Lists
Bugs
Planet
Store
Wiki
Get Gentoo!
Gentoo's Bugzilla – Attachment 84756 Details for
Bug 130130
genkernel --unionfs-dev [PATCH/WORKAROUND]
Home
|
New
–
[Ex]
|
Browse
|
Search
|
Privacy Policy
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
/usr/share/genkernel/gen_compile.sh
gen_compile.sh (text/plain), 27.44 KB, created by
Adam Lowman
on 2006-04-16 00:28:38 UTC
(
hide
)
Description:
/usr/share/genkernel/gen_compile.sh
Filename:
MIME Type:
Creator:
Adam Lowman
Created:
2006-04-16 00:28:38 UTC
Size:
27.44 KB
patch
obsolete
>#!/bin/bash > >compile_kernel_args() >{ > local ARGS > > ARGS='' > if [ "${KERNEL_CROSS_COMPILE}" != '' ] > then > ARGS="${ARGS} CROSS_COMPILE=\"${KERNEL_CROSS_COMPILE}\"" > else > if [ "${KERNEL_CC}" != '' ] > then > ARGS="CC=\"${KERNEL_CC}\"" > fi > if [ "${KERNEL_LD}" != '' ] > then > ARGS="${ARGS} LD=\"${KERNEL_LD}\"" > fi > if [ "${KERNEL_AS}" != '' ] > then > ARGS="${ARGS} AS=\"${KERNEL_AS}\"" > fi > fi > echo -n "${ARGS}" >} > >compile_utils_args() >{ > local ARGS > > ARGS='' > if [ "${UTILS_ARCH}" != '' ] > then > ARGS="ARCH=\"${UTILS_ARCH}\"" > fi > if [ "${UTILS_CC}" != '' ] > then > ARGS="CC=\"${UTILS_CC}\"" > fi > if [ "${UTILS_LD}" != '' ] > then > ARGS="${ARGS} LD=\"${UTILS_LD}\"" > fi > if [ "${UTILS_AS}" != '' ] > then > ARGS="${ARGS} AS=\"${UTILS_AS}\"" > fi > > echo -n "${ARGS}" >} > >export_utils_args() >{ > save_args > if [ "${UTILS_ARCH}" != '' ] > then > export ARCH="${UTILS_ARCH}" > fi > if [ "${UTILS_CC}" != '' ] > then > export CC="${UTILS_CC}" > fi > if [ "${UTILS_LD}" != '' ] > then > export LD="${UTILS_LD}" > fi > if [ "${UTILS_AS}" != '' ] > then > export AS="${UTILS_AS}" > fi >} > >unset_utils_args() >{ > if [ "${UTILS_ARCH}" != '' ] > then > unset ARCH > fi > if [ "${UTILS_CC}" != '' ] > then > unset CC > fi > if [ "${UTILS_LD}" != '' ] > then > unset LD > fi > if [ "${UTILS_AS}" != '' ] > then > unset AS > fi > reset_args >} > >export_kernel_args() >{ > if [ "${KERNEL_CC}" != '' ] > then > export CC="${KERNEL_CC}" > fi > if [ "${KERNEL_LD}" != '' ] > then > export LD="${KERNEL_LD}" > fi > if [ "${KERNEL_AS}" != '' ] > then > export AS="${KERNEL_AS}" > fi > if [ "${KERNEL_CROSS_COMPILE}" != '' ] > then > export CROSS_COMPILE="${KERNEL_CROSS_COMPILE}" > fi >} > >unset_kernel_args() >{ > if [ "${KERNEL_CC}" != '' ] > then > unset CC > fi > if [ "${KERNEL_LD}" != '' ] > then > unset LD > fi > if [ "${KERNEL_AS}" != '' ] > then > unset AS > fi > if [ "${KERNEL_CROSS_COMPILE}" != '' ] > then > unset CROSS_COMPILE > fi >} >save_args() >{ > if [ "${ARCH}" != '' ] > then > export ORIG_ARCH="${ARCH}" > fi > if [ "${CC}" != '' ] > then > export ORIG_CC="${CC}" > fi > if [ "${LD}" != '' ] > then > export ORIG_LD="${LD}" > fi > if [ "${AS}" != '' ] > then > export ORIG_AS="${AS}" > fi > if [ "${CROSS_COMPILE}" != '' ] > then > export ORIG_CROSS_COMPILE="${CROSS_COMPILE}" > fi >} >reset_args() >{ > if [ "${ORIG_ARCH}" != '' ] > then > export ARCH="${ORIG_ARCH}" > unset ORIG_ARCH > fi > if [ "${ORIG_CC}" != '' ] > then > export CC="${ORIG_CC}" > unset ORIG_CC > fi > if [ "${ORIG_LD}" != '' ] > then > export LD="${ORIG_LD}" > unset ORIG_LD > fi > if [ "${ORIG_AS}" != '' ] > then > export AS="${ORIG_AS}" > unset ORIG_AS > fi > if [ "${ORIG_CROSS_COMPILE}" != '' ] > then > export CROSS_COMPILE="${ORIG_CROSS_COMPILE}" > unset ORIG_CROSS_COMPILE > fi >} > >compile_generic() { > local RET > [ "$#" -lt '2' ] && > gen_die 'compile_generic(): improper usage!' > > if [ "${2}" = 'kernel' ] || [ "${2}" = 'runtask' ] > then > export_kernel_args > MAKE=${KERNEL_MAKE} > elif [ "${2}" = 'utils' ] > then > export_utils_args > MAKE=${UTILS_MAKE} > fi > case "$2" in > kernel) ARGS="`compile_kernel_args`" ;; > utils) ARGS="`compile_utils_args`" ;; > *) ARGS="" ;; # includes runtask > esac > > > # the eval usage is needed in the next set of code > # as ARGS can contain spaces and quotes, eg: > # ARGS='CC="ccache gcc"' > if [ "${2}" == 'runtask' ] > then > print_info 2 "COMMAND: ${MAKE} ${MAKEOPTS/-j?/j1} ${ARGS} ${1}" 1 0 1 > eval ${MAKE} -s ${MAKEOPTS/-j?/-j1} "${ARGS}" ${1} > RET=$? > elif [ "${DEBUGLEVEL}" -gt "1" ] > then > # Output to stdout and debugfile > print_info 2 "COMMAND: ${MAKE} ${MAKEOPTS} ${ARGS} ${1}" 1 0 1 > eval ${MAKE} ${MAKEOPTS} ${ARGS} ${1} 2>&1 | tee -a ${DEBUGFILE} > RET=${PIPESTATUS[0]} > else > # Output to debugfile only > print_info 2 "COMMAND: ${MAKE} ${MAKEOPTS} ${ARGS} ${1}" 1 0 1 > eval ${MAKE} ${MAKEOPTS} ${ARGS} ${1} >> ${DEBUGFILE} 2>&1 > RET=$? > fi > [ "${RET}" -ne '0' ] && > gen_die "Failed to compile the \"${1}\" target..." > > unset MAKE > unset ARGS > if [ "${2}" = 'kernel' ] > then > unset_kernel_args > elif [ "${2}" = 'utils' ] > then > unset_utils_args > fi >} > >extract_dietlibc_bincache() { > cd "${TEMP}" > rm -rf "${TEMP}/diet" > /dev/null > /bin/tar -jxpf "${DIETLIBC_BINCACHE}" || > gen_die 'Could not extract dietlibc bincache!' > [ ! -d "${TEMP}/diet" ] && > gen_die "${TEMP}/diet directory not found!" > cd - > /dev/null >} > >clean_dietlibc_bincache() { > cd "${TEMP}" > rm -rf "${TEMP}/diet" > /dev/null > cd - > /dev/null >} > >compile_dep() { > # Only run ``make dep'' for 2.4 kernels > if [ "${VER}" -eq '2' -a "${KERN_24}" -eq '1' ] > then > print_info 1 "kernel: >> Making dependencies..." > cd ${KERNEL_DIR} > compile_generic dep kernel > fi >} > >compile_modules() { > print_info 1 " >> Compiling ${KV} modules..." > cd ${KERNEL_DIR} > compile_generic modules kernel > export UNAME_MACHINE="${ARCH}" > # On 2.4 kernels, if MAKEOPTS > -j1 it can cause failures > if [ "${VER}" -eq '2' -a "${KERN_24}" -eq '1' ] > then > MAKEOPTS_SAVE="${MAKEOPTS}" > MAKEOPTS="${MAKEOPTS_SAVE/-j?/-j1}" > fi > [ "${INSTALL_MOD_PATH}" != '' ] && export INSTALL_MOD_PATH > compile_generic "modules_install" kernel > [ "${VER}" -eq '2' -a "${KERN_24}" -eq '1' ] && MAKEOPTS="${MAKEOPTS_SAVE}" > export MAKEOPTS > unset UNAME_MACHINE >} > >compile_kernel() { > [ "${KERNEL_MAKE}" = '' ] && > gen_die "KERNEL_MAKE undefined - I don't know how to compile a kernel for this arch!" > cd ${KERNEL_DIR} > print_info 1 " >> Compiling ${KV} ${KERNEL_MAKE_DIRECTIVE/_install/ [ install ]/}..." > compile_generic "${KERNEL_MAKE_DIRECTIVE}" kernel > if [ "${KERNEL_MAKE_DIRECTIVE_2}" != '' ] > then > print_info 1 " >> Starting supplimental compile of ${KV}: ${KERNEL_MAKE_DIRECTIVE_2}..." > compile_generic "${KERNEL_MAKE_DIRECTIVE_2}" kernel > fi > if ! isTrue "${CMD_NOINSTALL}" > then > cp "${KERNEL_BINARY}" "/boot/kernel-${KNAME}-${ARCH}-${KV}" || > gen_die 'Could not copy the kernel binary to /boot!' > cp "System.map" "/boot/System.map-${KNAME}-${ARCH}-${KV}" || > gen_die 'Could not copy System.map to /boot!' > if [ "${KERNEL_BINARY_2}" != '' -a "${GENERATE_Z_IMAGE}" = '1' ] > then > cp "${KERNEL_BINARY_2}" "/boot/kernelz-${KV}" || > gen_die 'Could not copy the kernelz binary to /boot!' > fi > else > cp "${KERNEL_BINARY}" "${TMPDIR}/kernel-${KNAME}-${ARCH}-${KV}" || > gen_die "Could not copy the kernel binary to ${TMPDIR}!" > cp "System.map" "${TMPDIR}/System.map-${KNAME}-${ARCH}-${KV}" || > gen_die "Could not copy System.map to ${TMPDIR}!" > if [ "${KERNEL_BINARY_2}" != '' -a "${GENERATE_Z_IMAGE}" = '1' ] > then > cp "${KERNEL_BINARY_2}" "${TMPDIR}/kernelz-${KV}" || > gen_die "Could not copy the kernelz binary to ${TMPDIR}!" > fi > fi >} > >compile_unionfs_modules() { > if [ ! -f "${UNIONFS_MODULES_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 > /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...' > sed -i Makefile -e "s|LINUXSRC =.*|LINUXSRC =${KERNEL_DIR}|g" > #Fix for hardened/selinux systems to have extened attributes > #per r2d2's request > sed -i Makefile -e "s|# \(EXTRACFLAGS=-DUNIONFS_XATTR -DFIST_SETXATTR_CONSTVOID\)|\1|g" > > if [ "${PAT}" -ge '6' ] > then > # Setup the kernel sources to compile modules > cd ${KERNEL_DIR} > compile_generic "modules_prepare" kernel > > cd "${TEMP}" > cd "${UNIONFS_DIR}" > > #This make file auto-detects kernel version > #compile_generic unionfs2.6 kernel > make >> ${DEBUGFILE} 2>&1 > else > #2.4 isn't even supported, why is this here > compile_generic unionfs2.4 kernel > fi > print_info 1 'unionfs: >> Copying to cache...' > > mkdir -p ${TEMP}/unionfs/lib/modules/${KV}/kernel/fs > > if [ -f unionfs.ko ] > then > cp unionfs.ko ${TEMP}/unionfs/lib/modules/${KV}/kernel/fs > else > cp unionfs.o ${TEMP}/unionfs/lib/modules/${KV}/kernel/fs > 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 >} > >compile_unionfs_utils() { > 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_busybox() { > if [ ! -f "${BUSYBOX_BINCACHE}" ] > then > [ -f "${BUSYBOX_SRCTAR}" ] || > 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}" > if [ -f ${GK_SHARE}/pkg/busybox-1.00-headers_fix.patch ] > then > patch -p1 -i \ > ${GK_SHARE}/pkg/busybox-1.00-headers_fix.patch \ > || gen_die "Failed patching busybox" > fi > 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...' > [ -f "${TEMP}/${BUSYBOX_DIR}/busybox" ] || > gen_die 'Busybox executable does not exist!' > strip "${TEMP}/${BUSYBOX_DIR}/busybox" || > gen_die 'Could not strip busybox binary!' > bzip2 "${TEMP}/${BUSYBOX_DIR}/busybox" || > gen_die 'bzip2 compression of busybox failed!' > mv "${TEMP}/${BUSYBOX_DIR}/busybox.bz2" "${BUSYBOX_BINCACHE}" || > gen_die 'Could not copy the busybox binary to the package directory, does the directory exist?' > > cd "${TEMP}" > rm -rf "${BUSYBOX_DIR}" > /dev/null > fi >} > >compile_lvm2() { > compile_device_mapper > if [ ! -f "${LVM2_BINCACHE}" ] > then > [ -f "${LVM2_SRCTAR}" ] || > gen_die "Could not find LVM2 source tarball: ${LVM2_SRCTAR}! Please place it there, or place another version, changing /etc/genkernel.conf as necessary!" > cd "${TEMP}" > rm -rf ${LVM2_DIR} > /dev/null > /bin/tar -zxpf ${LVM2_SRCTAR} || > gen_die 'Could not extract LVM2 source tarball!' > [ -d "${LVM2_DIR}" ] || > gen_die 'LVM2 directory ${LVM2_DIR} is invalid!' > rm -rf "${TEMP}/device-mapper" > /dev/null > /bin/tar -jxpf "${DEVICE_MAPPER_BINCACHE}" -C "${TEMP}" || > gen_die "Could not extract device-mapper binary cache!"; > > cd "${LVM2_DIR}" > print_info 1 'lvm2: >> Configuring...' > LDFLAGS="-L${TEMP}/device-mapper/lib" \ > CFLAGS="-I${TEMP}/device-mapper/include" \ > CPPFLAGS="-I${TEMP}/device-mapper/include" \ > ./configure --enable-static_link --prefix=${TEMP}/lvm2 >> ${DEBUGFILE} 2>&1 || > gen_die 'Configure of lvm2 failed!' > print_info 1 'lvm2: >> Compiling...' > compile_generic '' utils > compile_generic 'install' utils > > cd "${TEMP}/lvm2" > print_info 1 ' >> Copying to bincache...' > strip "sbin/lvm.static" || > gen_die 'Could not strip lvm.static!' > /bin/tar -cjf "${LVM2_BINCACHE}" sbin/lvm.static || > gen_die 'Could not create binary cache' > > cd "${TEMP}" > rm -rf "${TEMP}/device-mapper" > /dev/null > rm -rf "${LVM2_DIR}" lvm2 > fi >} > >compile_dmraid() { > compile_device_mapper > if [ ! -f "${DMRAID_BINCACHE}" ] > then > [ -f "${DMRAID_SRCTAR}" ] || > gen_die "Could not find DMRAID source tarball: ${DMRAID_SRCTAR}! Please place it there, or place another version, changing /etc/genkernel.conf as necessary!" > cd "${TEMP}" > rm -rf ${DMRAID_DIR} > /dev/null > /bin/tar -jxpf ${DMRAID_SRCTAR} || > gen_die 'Could not extract DMRAID source tarball!' > [ -d "${DMRAID_DIR}" ] || > gen_die 'DMRAID directory ${DMRAID_DIR} is invalid!' > rm -rf "${TEMP}/device-mapper" > /dev/null > /bin/tar -jxpf "${DEVICE_MAPPER_BINCACHE}" -C "${TEMP}" || > gen_die "Could not extract device-mapper binary cache!"; > > cd "${DMRAID_DIR}" > print_info 1 'dmraid: >> Configuring...' > > LDFLAGS="-L${TEMP}/device-mapper/lib" \ > CFLAGS="-I${TEMP}/device-mapper/include" \ > CPPFLAGS="-I${TEMP}/device-mapper/include" \ > ./configure --enable-static_link --prefix=${TEMP}/dmraid >> ${DEBUGFILE} 2>&1 || > gen_die 'Configure of dmraid failed!' > > #We dont necessarily have selinux installed yet .. look into selinux global support in the future. > sed -i tools/Makefile -e "s|DMRAIDLIBS += -lselinux||g" > mkdir -p "${TEMP}/dmraid" > print_info 1 'dmraid: >> Compiling...' > compile_generic '' utils > #compile_generic 'install' utils > mkdir ${TEMP}/dmraid/sbin > install -m 0755 -s tools/dmraid "${TEMP}/dmraid/sbin/dmraid" > print_info 1 ' >> Copying to bincache...' > cd "${TEMP}/dmraid" > /bin/tar -cjf "${DMRAID_BINCACHE}" sbin/dmraid || > gen_die 'Could not create binary cache' > > cd "${TEMP}" > rm -rf "${TEMP}/device-mapper" > /dev/null > rm -rf "${DMRAID_DIR}" dmraid > fi >} > >compile_modutils() { > # I've disabled dietlibc support for the time being since the > # version we use misses a few needed system calls. > > local ARGS > if [ ! -f "${MODUTILS_BINCACHE}" ] > then > [ ! -f "${MODUTILS_SRCTAR}" ] && > gen_die "Could not find modutils source tarball: ${MODUTILS_SRCTAR}!" > cd "${TEMP}" > rm -rf "${MODUTILS_DIR}" > /bin/tar -jxpf "${MODUTILS_SRCTAR}" > [ ! -d "${MODUTILS_DIR}" ] && > gen_die "Modutils directory ${MODUTILS_DIR} invalid!" > cd "${MODUTILS_DIR}" > print_info 1 "modutils: >> Configuring..." > ># if [ "${USE_DIETLIBC}" -eq '1' ] ># then ># extract_dietlibc_bincache ># OLD_CC="${UTILS_CC}" ># UTILS_CC="${TEMP}/diet/bin/diet ${UTILS_CC}" ># fi > > export_utils_args > export ARCH=${ARCH} > ./configure --disable-combined --enable-insmod-static >> ${DEBUGFILE} 2>&1 || > gen_die 'Configuring modutils failed!' > unset_utils_args > > print_info 1 'modutils: >> Compiling...' > compile_generic all utils > ># if [ "${USE_DIETLIBC}" -eq '1' ] ># then ># clean_dietlibc_bincache ># UTILS_CC="${OLD_CC}" ># fi > > print_info 1 'modutils: >> Copying to cache...' > [ -f "${TEMP}/${MODUTILS_DIR}/insmod/insmod.static" ] || > gen_die 'insmod.static does not exist after the compilation of modutils!' > strip "${TEMP}/${MODUTILS_DIR}/insmod/insmod.static" || > gen_die 'Could not strip insmod.static!' > bzip2 "${TEMP}/${MODUTILS_DIR}/insmod/insmod.static" || > gen_die 'Compression of insmod.static failed!' > mv "${TEMP}/${MODUTILS_DIR}/insmod/insmod.static.bz2" "${MODUTILS_BINCACHE}" || > gen_die 'Could not move the compressed insmod binary to the package cache!' > > cd "${TEMP}" > rm -rf "${MODULE_INIT_TOOLS_DIR}" > /dev/null > fi >} > >compile_module_init_tools() { > # I've disabled dietlibc support for the time being since the > # version we use misses a few needed system calls. > > local ARGS > if [ ! -f "${MODULE_INIT_TOOLS_BINCACHE}" ] > then > [ ! -f "${MODULE_INIT_TOOLS_SRCTAR}" ] && > gen_die "Could not find module-init-tools source tarball: ${MODULE_INIT_TOOLS_SRCTAR}" > cd "${TEMP}" > rm -rf "${MODULE_INIT_TOOLS_DIR}" > /bin/tar -jxpf "${MODULE_INIT_TOOLS_SRCTAR}" > [ ! -d "${MODULE_INIT_TOOLS_DIR}" ] && > gen_die "Module-init-tools directory ${MODULE_INIT_TOOLS_DIR} is invalid" > cd "${MODULE_INIT_TOOLS_DIR}" > print_info 1 'module-init-tools: >> Configuring' > ># if [ "${USE_DIETLIBC}" -eq '1' ] ># then ># extract_dietlibc_bincache ># OLD_CC="${UTILS_CC}" ># UTILS_CC="${TEMP}/diet/bin/diet ${UTILS_CC}" ># fi > > export_utils_args > ./configure >> ${DEBUGFILE} 2>&1 || > gen_die 'Configure of module-init-tools failed!' > unset_utils_args > print_info 1 ' >> Compiling...' > compile_generic "all" utils > ># if [ "${USE_DIETLIBC}" -eq '1' ] ># then ># clean_dietlibc_bincache ># UTILS_CC="${OLD_CC}" ># fi > > print_info 1 ' >> Copying to cache...' > [ -f "${TEMP}/${MODULE_INIT_TOOLS_DIR}/insmod.static" ] || > gen_die 'insmod.static does not exist after the compilation of module-init-tools!' > strip "${TEMP}/${MODULE_INIT_TOOLS_DIR}/insmod.static" || > gen_die 'Could not strip insmod.static!' > bzip2 "${TEMP}/${MODULE_INIT_TOOLS_DIR}/insmod.static" || > gen_die 'Compression of insmod.static failed!' > [ -f "${TEMP}/${MODULE_INIT_TOOLS_DIR}/insmod.static.bz2" ] || > gen_die 'Could not find compressed insmod.static.bz2 binary!' > mv "${TEMP}/${MODULE_INIT_TOOLS_DIR}/insmod.static.bz2" "${MODULE_INIT_TOOLS_BINCACHE}" || > gen_die 'Could not move the compressed insmod binary to the package cache!' > > cd "${TEMP}" > rm -rf "${MODULE_INIT_TOOLS_DIR}" > /dev/null > fi >} > >compile_devfsd() { > # I've disabled dietlibc support for the time being since the > # version we use misses a few needed system calls. > > local ARGS > if [ ! -f "${DEVFSD_BINCACHE}" ] > then > [ ! -f "${DEVFSD_SRCTAR}" ] && > gen_die "Could not find devfsd source tarball: ${DEVFSD_SRCTAR}" > cd "${TEMP}" > rm -rf "${DEVFSD_DIR}" > /bin/tar -jxpf "${DEVFSD_SRCTAR}" > [ ! -d "${DEVFSD_DIR}" ] && > gen_die "Devfsd directory ${DEVFSD_DIR} invalid" > cd "${DEVFSD_DIR}" > ># if [ "${USE_DIETLIBC}" -eq '1' ] ># then ># extract_dietlibc_bincache ># OLD_CC="${UTILS_CC}" ># UTILS_CC="${TEMP}/diet/bin/diet ${UTILS_CC}" ># fi > > print_info 1 'devfsd: >> Compiling...' ># if [ "${USE_DIETLIBC}" -eq '1' ] ># then ># compile_generic 'has_dlopen=0 has_rpcsvc=0' utils ># else > compile_generic 'LDFLAGS=-static' utils ># fi > ># if [ "${USE_DIETLIBC}" -eq '1' ] ># then ># clean_dietlibc_bincache ># UTILS_CC="${OLD_CC}" ># fi > > print_info 1 ' >> Copying to cache...' > [ -f "${TEMP}/${DEVFSD_DIR}/devfsd" ] || gen_die 'The devfsd executable does not exist after the compilation of devfsd!' > strip "${TEMP}/${DEVFSD_DIR}/devfsd" || gen_die 'Could not strip devfsd!' > bzip2 "${TEMP}/${DEVFSD_DIR}/devfsd" || gen_die 'Compression of devfsd failed!' > [ -f "${TEMP}/${DEVFSD_DIR}/devfsd.bz2" ] || gen_die 'Could not find compressed devfsd.bz2 binary!' > mv "${TEMP}/${DEVFSD_DIR}/devfsd.bz2" "${DEVFSD_BINCACHE}" || gen_die 'Could not move compressed binary to the package cache!' > ># [ -f "${TEMP}/${DEVFSD_DIR}/devfsd.conf" ] || gen_die 'devfsd.conf does not exist after the compilation of devfsd!' ># bzip2 "${TEMP}/${DEVFSD_DIR}/devfsd.conf" || gen_die 'Compression of devfsd.conf failed!' ># mv "${TEMP}/${DEVFSD_DIR}/devfsd.conf.bz2" "${DEVFSD_CONF_BINCACHE}" || gen_die 'Could not move the compressed configuration to the package cache!' > > cd "${TEMP}" > rm -rf "${DEVFSD_DIR}" > /dev/null > fi >} > >compile_device_mapper() { > if [ ! -f "${DEVICE_MAPPER_BINCACHE}" ] > then > [ ! -f "${DEVICE_MAPPER_SRCTAR}" ] && > gen_die "Could not find device-mapper source tarball: ${DEVICE_MAPPER_SRCTAR}. Please place it there, or place another version, changing /etc/genkernel.conf as necessary!" > cd "${TEMP}" > rm -rf "${DEVICE_MAPPER_DIR}" > /bin/tar -zxpf "${DEVICE_MAPPER_SRCTAR}" > [ ! -d "${DEVICE_MAPPER_DIR}" ] && > gen_die "device-mapper directory ${DEVICE_MAPPER_DIR} invalid" > cd "${DEVICE_MAPPER_DIR}" > ./configure --prefix=${TEMP}/device-mapper --enable-static_link >> ${DEBUGFILE} 2>&1 || > gen_die 'Configuring device-mapper failed!' > print_info 1 'device-mapper: >> Compiling...' > compile_generic '' utils > compile_generic 'install' utils > print_info 1 ' >> Copying to cache...' > cd "${TEMP}" > rm -r "${TEMP}/device-mapper/man" || > gen_die 'Could not remove manual pages!' > strip "${TEMP}/device-mapper/sbin/dmsetup" || > gen_die 'Could not strip dmsetup binary!' > /bin/tar -jcpf "${DEVICE_MAPPER_BINCACHE}" device-mapper || > gen_die 'Could not tar up the device-mapper binary!' > [ -f "${DEVICE_MAPPER_BINCACHE}" ] || > gen_die 'device-mapper cache not created!' > cd "${TEMP}" > rm -rf "${DEVICE_MAPPER_DIR}" > /dev/null > rm -rf "${TEMP}/device-mapper" > /dev/null > fi >} > >compile_dietlibc() { > local BUILD_DIETLIBC > local ORIGTEMP > > BUILD_DIETLIBC=0 > [ ! -f "${DIETLIBC_BINCACHE}" ] && BUILD_DIETLIBC=1 > [ ! -f "${DIETLIBC_BINCACHE_TEMP}" ] && BUILD_DIETLIBC=1 > if ! isTrue "${BUILD_DIETLIBC}" > then > ORIGTEMP=`cat "${DIETLIBC_BINCACHE_TEMP}"` > if [ "${TEMP}" != "${ORIGTEMP}" ] > then > print_warning 1 'dietlibc: Bincache exists, but the current temporary directory' > print_warning 1 ' is different to the original. Rebuilding.' > BUILD_DIETLIBC=1 > fi > fi > > if [ "${BUILD_DIETLIBC}" -eq '1' ] > then > [ -f "${DIETLIBC_SRCTAR}" ] || > gen_die "Could not find dietlibc source tarball: ${DIETLIBC_SRCTAR}" > cd "${TEMP}" > rm -rf "${DIETLIBC_DIR}" > /dev/null > /bin/tar -jxpf "${DIETLIBC_SRCTAR}" || > gen_die 'Could not extract dietlibc source tarball' > [ -d "${DIETLIBC_DIR}" ] || > gen_die "Dietlibc directory ${DIETLIBC_DIR} is invalid!" > cd "${DIETLIBC_DIR}" > print_info 1 "dietlibc: >> Compiling..." > compile_generic "prefix=${TEMP}/diet" utils > print_info 1 " >> Installing..." > compile_generic "prefix=${TEMP}/diet install" utils > print_info 1 " >> Copying to bincache..." > cd ${TEMP} > /bin/tar -jcpf "${DIETLIBC_BINCACHE}" diet || > gen_die 'Could not tar up the dietlibc binary!' > [ -f "${DIETLIBC_BINCACHE}" ] || > gen_die 'Dietlibc cache not created!' > echo "${TEMP}" > "${DIETLIBC_BINCACHE_TEMP}" > > cd "${TEMP}" > rm -rf "${DIETLIBC_DIR}" > /dev/null > rm -rf "${TEMP}/diet" > /dev/null > fi >} >compile_klibc() { > cd "${TEMP}" > rm -rf "${KLIBC_DIR}" klibc-build > [ ! -f "${KLIBC_SRCTAR}" ] && > gen_die "Could not find klibc tarball: ${KLIBC_SRCTAR}" > /bin/tar jxpf "${KLIBC_SRCTAR}" || > gen_die 'Could not extract klibc tarball' > [ ! -d "${KLIBC_DIR}" ] && > gen_die "klibc tarball ${KLIBC_SRCTAR} is invalid" > cd "${KLIBC_DIR}" > if [ -f ${GK_SHARE}/pkg/klibc-1.1.16-sparc2.patch ] > then > patch -p1 -i \ > ${GK_SHARE}/pkg/klibc-1.1.16-sparc2.patch \ > || gen_die "Failed patching klibc" > fi > > # Don't install to "//lib" fix > sed -e 's:SHLIBDIR = /lib:SHLIBDIR = $(INSTALLROOT)$(INSTALLDIR)/$(KLIBCCROSS)lib:' -i scripts/Kbuild.install > print_info 1 'klibc: >> Compiling...' > ln -snf "${KERNEL_DIR}" linux || gen_die "Could not link to ${KERNEL_DIR}" > sed -i Makefile -e "s|prefix = /usr|prefix = ${TEMP}/klibc-build|g" > if [ "${UTILS_ARCH}" != '' ] > then > sed -i Makefile -e "s|export ARCH.*|export ARCH := ${UTILS_ARCH}|g" > fi > if [ "${ARCH}" = 'um' ] > then > compile_generic "ARCH=um" utils > elif [ "${ARCH}" = 'x86' ] > then > compile_generic "ARCH=i386" utils > elif [ "${UTILS_CROSS_COMPILE}" != '' ] > then > compile_generic "CROSS=${UTILS_CROSS_COMPILE}" utils > else > compile_generic "" utils > fi > > compile_generic "install" utils > >} >compile_udev() { > if [ ! -f "${UDEV_BINCACHE}" ] > then > # PPC fixup for 2.6.14 > # Headers are moving around .. need to make them available > if [ "${VER}" -eq '2' -a "${PAT}" -eq '6' -a "${SUB}" -ge '14' ] > then > if [ "${ARCH}" = 'ppc' -o "${ARCH}" = 'ppc64' ] > then > cd ${KERNEL_DIR} > echo 'Applying hack to workaround 2.6.14+ PPC header breakages...' > compile_generic 'include/asm' kernel > fi > fi > compile_klibc > cd "${TEMP}" > rm -rf "${UDEV_DIR}" udev > [ ! -f "${UDEV_SRCTAR}" ] && > gen_die "Could not find udev tarball: ${UDEV_SRCTAR}" > /bin/tar -jxpf "${UDEV_SRCTAR}" || > gen_die 'Could not extract udev tarball' > [ ! -d "${UDEV_DIR}" ] && > gen_die "Udev tarball ${UDEV_SRCTAR} is invalid" > > cd "${UDEV_DIR}" > local extras="extras/scsi_id extras/volume_id extras/ata_id extras/run_directory extras/usb_id extras/floppy extras/cdrom_id extras/firmware" > # No selinux support yet .. someday maybe > #use selinux && myconf="${myconf} USE_SELINUX=true" > print_info 1 'udev: >> Compiling...' > # SPARC fixup > if [ "${UTILS_ARCH}" = 'sparc' ] > then > echo "CFLAGS += -mcpu=v8 -mtune=v8" >> Makefile > fi > # PPC fixup for 2.6.14 > if [ "${VER}" -eq '2' -a "${PAT}" -eq '6' -a "${SUB}" -ge '14' ] > then > if [ "${ARCH}" = 'ppc' -o "${ARCH}" = 'ppc64' ] > then > # Headers are moving around .. need to make them available > echo "CFLAGS += -I${KERNEL_DIR}/arch/${ARCH}/include" >> Makefile > fi > fi > > if [ "${ARCH}" = 'um' ] > then > compile_generic "EXTRAS=\"${extras}\" ARCH=um USE_KLIBC=true KLCC=${TEMP}/klibc-build/bin/klcc USE_LOG=false DEBUG=false udevdir=/dev all" utils > else > # This *needs* to be runtask, or else it breakson most > # architectures. -- wolf31o2 > compile_generic "EXTRAS=\"${extras}\" USE_KLIBC=true KLCC=${TEMP}/klibc-build/bin/klcc USE_LOG=false DEBUG=false udevdir=/dev all" runtask > fi > > > print_info 1 ' >> Installing...' > install -d "${TEMP}/udev/etc/udev" "${TEMP}/udev/sbin" "${TEMP}/udev/etc/udev/scripts" "${TEMP}/udev/etc/udev/rules.d" "${TEMP}/udev/etc/udev/permissions.d" "${TEMP}/udev/etc/udev/extras" "${TEMP}/udev/etc" "${TEMP}/udev/sbin" "${TEMP}/udev/usr/" "${TEMP}/udev/usr/bin" "${TEMP}/udev/usr/sbin"|| > gen_die 'Could not create directory hierarchy' > > install -c etc/udev/gentoo/udev.rules "${TEMP}/udev/etc/udev/rules.d/50-udev.rules" || > gen_die 'Could not copy gentoo udev.rules to 50-udev.rules' > > compile_generic "EXTRAS=\"${extras}\" DESTDIR=${TEMP}/udev install-config" utils > compile_generic "EXTRAS=\"${extras}\" DESTDIR=${TEMP}/udev install-bin" utils > install -c extras/ide-devfs.sh "${TEMP}/udev/etc/udev/scripts" > install -c extras/scsi-devfs.sh "${TEMP}/udev/etc/udev/scripts" > install -c extras/raid-devfs.sh "${TEMP}/udev/etc/udev/scripts" > > cd "${TEMP}/udev" > print_info 1 ' >> Copying to bincache...' > /bin/tar -cjf "${UDEV_BINCACHE}" * || > gen_die 'Could not create binary cache' > > cd "${TEMP}" > rm -rf "${UDEV_DIR}" udev > > # PPC fixup for 2.6.14 > if [ "${VER}" -eq '2' -a "${PAT}" -eq '6' -a "${SUB}" -ge '14' ] > then > if [ "${ARCH}" = 'ppc' -o "${ARCH}" = 'ppc64' ] > then > cd ${KERNEL_DIR} > compile_generic 'archclean' kernel > cd "${TEMP}" > fi > fi > fi >} > >compile_e2fsprogs() { > if [ ! -f "${BLKID_BINCACHE}" ] > then > [ ! -f "${E2FSPROGS_SRCTAR}" ] && > gen_die "Could not find e2fsprogs source tarball: ${E2FSPROGS_SRCTAR}. Please place it there, or place another version, changing /etc/genkernel.conf as necessary!" > cd "${TEMP}" > rm -rf "${E2FSPROGS_DIR}" > tar -zxpf "${E2FSPROGS_SRCTAR}" > [ ! -d "${E2FSPROGS_DIR}" ] && > gen_die "e2fsprogs directory ${E2FSPROGS_DIR} invalid" > cd "${E2FSPROGS_DIR}" > print_info 1 'e2fsprogs: >> Configuring...' > ./configure --with-ldopts=-static >> ${DEBUGFILE} 2>&1 || > gen_die 'Configuring e2fsprogs failed!' > print_info 1 'e2fsprogs: >> Compiling...' > MAKE=${UTILS_MAKE} compile_generic "" "" > print_info 1 'blkid: >> Copying to cache...' > [ -f "${TEMP}/${E2FSPROGS_DIR}/misc/blkid" ] || > gen_die 'Blkid executable does not exist!' > strip "${TEMP}/${E2FSPROGS_DIR}/misc/blkid" || > gen_die 'Could not strip blkid binary!' > bzip2 "${TEMP}/${E2FSPROGS_DIR}/misc/blkid" || > gen_die 'bzip2 compression of blkid failed!' > mv "${TEMP}/${E2FSPROGS_DIR}/misc/blkid.bz2" "${BLKID_BINCACHE}" || > gen_die 'Could not copy the blkid binary to the package directory, does the directory exist?' > > cd "${TEMP}" > rm -rf "${E2FSPROGS_DIR}" > /dev/null > fi >}
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Raw
Actions:
View
Attachments on
bug 130130
: 84756