All pastes #929689 Raw Edit

Miscellany

public text v1 · immutable
·published 2008-03-05 22:44 UTC
rendered paste body
MAIL=/var/mail/root
MAKEOPTS=-j2
MANPATH=/usr/local/share/man:/usr/share/man:/usr/share/binutils-data/i686-pc-linux-gnu/2.16.1/man::/usr/share/gcc-data/i686-pc-linux-gnu/4.1.1/man
MOPREFIX=makedepend
MULTILIB_ABIS=default
NORMAL=$'\E[0m'
O=/usr/portage/x11-misc/makedepend
OCC=
OCXX=
OLDPWD=/var/tmp/portage/makedepend-1.0.0
OPTERR=1
OPTIND=1
OSTYPE=linux-gnu
PAGER=/usr/bin/less
PDEPEND='   '
PKGDIR=/usr/portage/packages
PKGUSE=
PKG_LOGDIR=/var/tmp/portage/makedepend-1.0.0/temp/logging
PKG_TMPDIR=/var/tmp/binpkgs
PORTAGE_ACTUAL_DISTDIR=/usr/portage/distfiles
PORTAGE_ARCHLIST='ppc s390 amd64 x86 ppc64 x86-fbsd m68k arm sparc sh mips ia64 alpha ppc-macos hppa sparc-fbsd'
PORTAGE_BASHRC=/etc/portage/bashrc
PORTAGE_BINHOST_CHUNKSIZE=3000
PORTAGE_BUILDDIR=/var/tmp/portage/makedepend-1.0.0
PORTAGE_CALLER=emerge
PORTAGE_CONFIGROOT=/
PORTAGE_DEBUG=0
PORTAGE_DEPCACHEDIR=/var/cache/edb/dep
PORTAGE_ELOG_CLASSES='log warn error'
PORTAGE_ELOG_MAILFROM=portage
PORTAGE_ELOG_MAILSUBJECT='[portage] ebuild log for ${PACKAGE} on ${HOST}'
PORTAGE_ELOG_MAILURI=root
PORTAGE_GID=250
PORTAGE_INST_GID=0
PORTAGE_INST_UID=0
PORTAGE_MASTER_PID=23428
PORTAGE_RSYNC_OPTS='--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude='\''/distfiles'\'' --exclude='\''/local'\'' --exclude='\''/packages'\'''
PORTAGE_RSYNC_RETRIES=3
PORTAGE_WORKDIR_MODE=0700
PORTDIR=/usr/portage
PRELINK_PATH=
PRELINK_PATH_MASK=
PROFILE_PATHS=$'/usr/portage/profiles/base\n/usr/portage/profiles/default-linux\n/usr/portage/profiles/default-linux/x86\n/usr/portage/profiles/default-linux/x86/2006.1\n/etc/portage/profile'
PROVIDE=
PS4='+ '
PWD=/var/tmp/portage/makedepend-1.0.0/build-info
PWORKDIR=/var/tmp/portage/makedepend-1.0.0/work
PYTHONPATH=/usr/lib/portage/pym
QA_INTERCEPTORS='javac java-config python python-config perl grep egrep fgrep sed gcc g++ cc bash awk nawk gawk pkg-config'
RC_DEFAULT_INDENT=2
RC_DOT_PATTERN=
RC_ENDCOL=yes
RC_INDENTATION=
RDEPEND=$'   \n\t|| ( >=sys-apps/man-1.6b-r2 >=sys-apps/man-db-2.4.3-r1 )\n\t!<=x11-base/xorg-x11-6.9'
RESTRICT=mirror
RESUMECOMMAND='/usr/bin/wget -c -t 5 -T 60 --passive-ftp -P ${DISTDIR} ${URI}'
ROOT=/
ROOTPATH=/opt/bin:/usr/i686-pc-linux-gnu/gcc-bin/4.1.1:/usr/i686-pc-linux-gnu/gcc-bin/4.1.1
RPMDIR=/usr/portage/rpm
S=/var/tmp/portage/makedepend-1.0.0/work/makedepend-1.0.0
SHELL=/bin/bash
SHLVL=3
SLOT=0
SRC_URI=$'\n\t\thttp://xorg.freedesktop.org/releases/individual/data/makedepend-1.0.0.tar.bz2\n\t\thttp://xorg.freedesktop.org/releases/individual/util/makedepend-1.0.0.tar.bz2\n\t\thttp://xorg.freedesktop.org/releases/individual/data/makedepend-1.0.0.tar.bz2\n\t\thttp://xorg.freedesktop.org/releases/individual/util/makedepend-1.0.0.tar.bz2\n\t\thttp://xorg.freedesktop.org/releases/individual/data/makedepend-1.0.0.tar.bz2\n\t\thttp://xorg.freedesktop.org/releases/individual/util/makedepend-1.0.0.tar.bz2'
STAGE1_USE='nptl nptlonly unicode'
STARTDIR=/root
SYNC=rsync://rsync.gentoo.org/gentoo-portage
TERM=linux
TMP=/var/tmp/portage/makedepend-1.0.0/temp
TMPDIR=/var/tmp/portage/makedepend-1.0.0/temp
USE='x86 X acpi alsa apm bash-completion berkdb bitmap-fonts bluetooth cairo cli cracklib crypt cups dbus dlloader doc dri dv dvd dvdread elibc_glibc encode esd fam firefox fortran ftp gdbm gif gpm gps gstreamer gtk2 hal iconv ieee1394 input_devices_keyboard input_devices_mouse ipv6 isdnlog jabber java javascript jpeg kernel_linux ldap libg++ mad mikmod mp3 mpeg mysql mysqli ncurses nls nptl nptlonly ogg opengl oss pam pcre perl png ppds pppd python qt3 qt4 quicktime readline reflection sdl session spell spl ssl symlink tcpd truetype truetype-fonts type1-fonts udev unicode usb userland_GNU vcd video_cards_fglrx video_cards_vesa vorbis wifi win32codecs xml xorg xv zlib'
USER=root
USERLAND=GNU
USE_EXPAND='CROSSCOMPILE_OPTS DVB_CARDS ELIBC FCDSL_CARDS FOO2ZJS_DEVICES FRITZCAPI_CARDS INPUT_DEVICES KERNEL LINGUAS LIRC_DEVICES MISDN_CARDS USERLAND VIDEO_CARDS'
USE_EXPAND_HIDDEN='CROSSCOMPILE_OPTS ELIBC KERNEL USERLAND'
USE_ORDER=env:pkg:conf:defaults
VIDEO_CARDS='fglrx vesa'
WARN=$'\E[33;01m'
XARGS='xargs -r'
XDIR=/usr
XDPVER=1
_=0
_RC_GET_KV_CACHE=
_pipestatus='0 0'
conf=makedepend-1.0.0-r0
dir=/etc/portage/profile
f=DESCRIPTION
myarg=compile
srcdir=/var/tmp/portage/makedepend-1.0.0/work/makedepend-1.0.0
ELT_find_ltmain_sh () 
{ 
    local x=;
    local dirlist=;
    for x in $(find "${S}" -name 'ltmain.sh');
    do
        dirlist="${dirlist} ${x%/*}";
    done;
    echo "${dirlist}"
}
ELT_libtool_version () 
{ 
    local ltmain_sh=$1;
    local version=;
    version=$(eval $(grep -e '^[[:space:]]*VERSION=' "${ltmain_sh}"); 	                 echo "${VERSION}");
    [[ -z ${version} ]] && version="0";
    echo "${version}"
}
ELT_try_and_apply_patch () 
{ 
    local ret=0;
    local file=$1;
    local patch=$2;
    if patch -p0 --dry-run "${file}" "${patch}" >&"${T}/elibtool.log"; then
        einfo "  Applying $(basename "$(dirname "${patch}")")-${patch##*/}.patch ...";
        patch -p0 -g0 --no-backup-if-mismatch "${file}" "${patch}" >&"${T}/elibtool.log";
        ret=$?;
        export ELT_APPLIED_PATCHES="${ELT_APPLIED_PATCHES} ${patch##*/}";
    else
        ret=1;
    fi;
    return "${ret}"
}
ELT_walk_patches () 
{ 
    local x=;
    local y=;
    local ret=1;
    local file=$1;
    local patch_set=$2;
    local patch_dir=;
    local rem_int_dep=$3;
    if [[ -n ${patch_set} ]]; then
        if [[ -d ${ELT_PATCH_DIR}/${patch_set} ]]; then
            patch_dir="${ELT_PATCH_DIR}/${patch_set}";
        else
            return "${ret}";
        fi;
        for x in $(ls -d "${patch_dir}"/* 2> /dev/null | grep -v 'CVS' | sort -r);
        do
            if [[ -n ${x} && -f ${x} ]]; then
                if [[ -n ${rem_int_dep} ]]; then
                    sed -e "s|@REM_INT_DEP@|${rem_int_dep}|g" ${x} >"${T}/$$.rem_int_deps.patch";
                    x="${T}/$$.rem_int_deps.patch";
                fi;
                if ELT_try_and_apply_patch "${file}" "${x}"; then
                    ret=0;
                    break;
                fi;
            fi;
        done;
    fi;
    return "${ret}"
}
EXPORT_FUNCTIONS () 
{ 
    if [ -z "$ECLASS" ]; then
        echo "EXPORT_FUNCTIONS without a defined ECLASS" 1>&2;
        exit 1;
    fi;
    while [ "$1" ]; do
        debug-print "EXPORT_FUNCTIONS: ${1} -> ${ECLASS}_${1}";
        eval "$1() { ${ECLASS}_$1 "\$@" ; }" >/dev/null;
        shift;
    done
}
KV_major () 
{ 
    [[ -z $1 ]] && return 1;
    local KV=$@;
    echo "${KV%%.*}"
}
KV_micro () 
{ 
    [[ -z $1 ]] && return 1;
    local KV=$@;
    KV=${KV#*.*.};
    echo "${KV%%[^[:digit:]]*}"
}
KV_minor () 
{ 
    [[ -z $1 ]] && return 1;
    local KV=$@;
    KV=${KV#*.};
    echo "${KV%%.*}"
}
KV_to_int () 
{ 
    [[ -z $1 ]] && return 1;
    local KV_MAJOR=$(KV_major "$1");
    local KV_MINOR=$(KV_minor "$1");
    local KV_MICRO=$(KV_micro "$1");
    local KV_int=$(( KV_MAJOR * 65536 + KV_MINOR * 256 + KV_MICRO ));
    if [[ ${KV_int} -ge 131584 ]]; then
        echo "${KV_int}";
        return 0;
    fi;
    return 1
}
VER_major () 
{ 
    [[ -z $1 ]] && return 1;
    local VER=$@;
    echo "${VER%%[^[:digit:]]*}"
}
VER_micro () 
{ 
    [[ -z $1 ]] && return 1;
    local VER=$@;
    VER=${VER#*.*.};
    echo "${VER%%[^[:digit:]]*}"
}
VER_minor () 
{ 
    [[ -z $1 ]] && return 1;
    local VER=$@;
    VER=${VER#*.};
    echo "${VER%%[^[:digit:]]*}"
}
VER_to_int () 
{ 
    [[ -z $1 ]] && return 1;
    local VER_MAJOR=$(VER_major "$1");
    local VER_MINOR=$(VER_minor "$1");
    local VER_MICRO=$(VER_micro "$1");
    local VER_int=$(( VER_MAJOR * 65536 + VER_MINOR * 256 + VER_MICRO ));
    if [[ ${VER_int} -ge 65536 ]]; then
        echo "${VER_int}";
        return 0;
    fi;
    echo 1;
    return 1
}
_cdrom_locate_file_on_cd () 
{ 
    local mline="";
    local showedmsg=0;
    while [[ -z ${CDROM_ROOT} ]]; do
        local i=0;
        local -a cdset=(${*//:/ });
        if [[ -n ${CDROM_SET} ]]; then
            cdset=(${cdset[${CDROM_SET}]});
        fi;
        while [[ -n ${cdset[${i}]} ]]; do
            local dir=$(dirname ${cdset[${i}]});
            local file=$(basename ${cdset[${i}]});
            local point= node= fs= foo=;
            while read point node fs foo; do
                [[ *" ${fs} "* != " cd9660 iso9660 " ]] && continue;
                point=${point//\040/ };
                [[ -z $(find "${point}/${dir}" -maxdepth 1 -iname "${file}") ]] && continue;
                export CDROM_ROOT=${point};
                export CDROM_SET=${i};
                export CDROM_MATCH=${cdset[${i}]};
                return;
            done <<(get_mounts);
            ((++i));
        done;
        echo;
        if [[ ${showedmsg} -eq 0 ]]; then
            if [[ ${CDROM_TOTAL_CDS} -eq 1 ]]; then
                if [[ -z ${CDROM_NAME} ]]; then
                    einfo "Please insert+mount the cdrom for ${PN} now !";
                else
                    einfo "Please insert+mount the ${CDROM_NAME} cdrom now !";
                fi;
            else
                if [[ -z ${CDROM_NAME_1} ]]; then
                    einfo "Please insert+mount cd #${CDROM_CURRENT_CD} for ${PN} now !";
                else
                    local var="CDROM_NAME_${CDROM_CURRENT_CD}";
                    einfo "Please insert+mount the ${!var} cdrom now !";
                fi;
            fi;
            showedmsg=1;
        fi;
        einfo "Press return to scan for the cd again";
        einfo "or hit CTRL+C to abort the emerge.";
        echo;
        einfo "If you are having trouble with the detection";
        einfo "of your CD, it is possible that you do not have";
        einfo "Joliet support enabled in your kernel.  Please";
        einfo "check that CONFIG_JOLIET is enabled in your kernel.";
        read || diefunc "$FUNCNAME" "$LINENO" "$?" "something is screwed with your system";
    done
}
_eend () 
{ 
    local retval=${1:-0} efunc=${2:-eerror} msg;
    shift 2;
    if [[ ${retval} == "0" ]]; then
        msg="${BRACKET}[ ${GOOD}ok${BRACKET} ]${NORMAL}";
    else
        if [[ -n $* ]]; then
            ${efunc} "$*";
        fi;
        msg="${BRACKET}[ ${BAD}!!${BRACKET} ]${NORMAL}";
    fi;
    if [[ ${RC_ENDCOL} == "yes" ]]; then
        echo -e "${ENDCOL}  ${msg}";
    else
        [[ ${LAST_E_CMD} == ebegin ]] || LAST_E_LEN=0;
        printf "%$(( COLS - LAST_E_LEN - 6 ))s%b\n" '' "${msg}";
    fi;
    return ${retval}
}
_elibtoolize () 
{ 
    local opts;
    local lttest;
    lttest="$(autotools_check_macro "AC_PROG_LIBTOOL")$(autotools_check_macro "AM_PROG_LIBTOOL")";
    [[ -n $lttest ]] || return 0;
    [[ -f Makefile.am ]] && opts="--automake";
    [[ "${USERLAND}" == "Darwin" ]] && LIBTOOLIZE="glibtoolize";
    autotools_run_tool ${LIBTOOLIZE:-libtoolize} "$@" ${opts};
    eaclocal
}
_filter-hardened () 
{ 
    local f;
    for f in "$@";
    do
        case "${f}" in 
            -fPIC | -fpic | -fPIE | -fpie | -Wl,pie | -pie)
                gcc-specs-pie || continue;
                is-flagq -nopie || append-flags -nopie
            ;;
            -fstack-protector)
                gcc-specs-ssp || continue;
                is-flagq -fno-stack-protector || append-flags -fno-stack-protector
            ;;
            -fstack-protector-all)
                gcc-specs-ssp-to-all || continue;
                is-flagq -fno-stack-protector-all || append-flags -fno-stack-protector-all
            ;;
        esac;
    done
}
_filter-var () 
{ 
    local f x VAR VAL;
    declare -a new;
    VAR=$1;
    shift;
    eval VAL=\${${VAR}};
    for f in ${VAL};
    do
        for x in "$@";
        do
            [[ ${f} == ${x} ]] && continue 2;
        done;
        eval new\[\${\#new\[@]}]=\${f};
    done;
    eval export ${VAR}=\${new\[*]}
}
_tc_gen_usr_ldscript () 
{ 
    local lib libdir=$(get_libdir) output_format="";
    dodir /usr/${libdir};
    output_format=$($(tc-getCC) ${CFLAGS} ${LDFLAGS} -Wl,--verbose 2>&1 | sed -n 's/^OUTPUT_FORMAT("\([^"]*\)",.*/\1/p');
    [[ -n ${output_format} ]] && output_format="OUTPUT_FORMAT ( ${output_format} )";
    for lib in "$@";
    do
        if [[ ${USERLAND} == "Darwin" ]]; then
            ewarn "Not creating fake dynamic library for $lib on Darwin;";
            ewarn "making a symlink instead.";
            dosym "/${libdir}/${lib}" "/usr/${libdir}/${lib}";
        else
            cat >"${D}/usr/${libdir}/${lib}"  <<-END_LDSCRIPT
/* GNU ld script
   Since Gentoo has critical dynamic libraries
   in /lib, and the static versions in /usr/lib,
   we need to have a "fake" dynamic lib in /usr/lib,
   otherwise we run into linking problems.

   See bug http://bugs.gentoo.org/4411 for more info.
 */
${output_format}
GROUP ( /${libdir}/${lib} )
END_LDSCRIPT

        fi
        fperms a+x "/usr/${libdir}/${lib}" || diefunc "$FUNCNAME" "$LINENO" "$?" "could not change perms on ${lib}";
    done
}
abort_compile () 
{ 
    abort_handler "src_compile" $1;
    rm -f "${PORTAGE_BUILDDIR}/.compiled";
    exit 1
}
abort_handler () 
{ 
    local msg;
    if [ "$2" != "fail" ]; then
        msg="${EBUILD}: ${1} aborted; exiting.";
    else
        msg="${EBUILD}: ${1} failed; exiting.";
    fi;
    echo;
    echo "$msg";
    echo;
    eval ${3};
    trap SIGINT SIGQUIT
}
abort_install () 
{ 
    abort_handler "src_install" $1;
    rm -rf "${PORTAGE_BUILDDIR}/image";
    exit 1
}
abort_test () 
{ 
    abort_handler "dyn_test" $1;
    rm -f "${PORTAGE_BUILDDIR}/.tested";
    exit 1
}
abort_unpack () 
{ 
    abort_handler "src_unpack" $1;
    rm -f "${PORTAGE_BUILDDIR}/.unpacked";
    rm -rf "${PORTAGE_BUILDDIR}/work";
    exit 1
}
adddeny () 
{ 
    export SANDBOX_DENY="$SANDBOX_DENY:$1"
}
addpredict () 
{ 
    export SANDBOX_PREDICT="$SANDBOX_PREDICT:$1"
}
addread () 
{ 
    export SANDBOX_READ="$SANDBOX_READ:$1"
}
addwrite () 
{ 
    export SANDBOX_WRITE="$SANDBOX_WRITE:$1"
}
append-flags () 
{ 
    [[ -z $* ]] && return 0;
    export CFLAGS="${CFLAGS} $*";
    export CXXFLAGS="${CXXFLAGS} $*";
    return 0
}
append-ldflags () 
{ 
    [[ -z $* ]] && return 0;
    export LDFLAGS="${LDFLAGS} $*";
    return 0
}
append-lfs-flags () 
{ 
    [[ -n $@ ]] && diefunc "$FUNCNAME" "$LINENO" "$?" "append-lfs-flags takes no arguments";
    append-flags -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE
}
autotools_check_macro () 
{ 
    [[ -f configure.ac || -f configure.in ]] && WANT_AUTOCONF="2.5" autoconf --trace=$1 2>/dev/null;
    return 0
}
autotools_get_auxdir () 
{ 
    local auxdir_scan_out;
    auxdir_scan_out=$(autotools_check_macro "AC_CONFIG_AUX_DIR");
    [[ -n ${auxdir_scan_out} ]] || return 0;
    echo ${auxdir_scan_out} | gawk '($0 !~ /^[[:space:]]*(#|dnl)/) {
		if (match($0, /AC_CONFIG_AUX_DIR:(.*)$/, res))
			print res[1]
	}' | uniq;
    return 0
}
autotools_get_subdirs () 
{ 
    local subdirs_scan_out;
    subdirs_scan_out=$(autotools_check_macro "AC_CONFIG_SUBDIRS");
    [[ -n ${subdirs_scan_out} ]] || return 0;
    echo "${subdirs_scan_out}" | gawk '($0 !~ /^[[:space:]]*(#|dnl)/) {
		if (match($0, /AC_CONFIG_SUBDIRS:(.*)$/, res))
			print res[1]
	}' | uniq;
    return 0
}
autotools_run_tool () 
{ 
    local STDERR_TARGET="${T}/$$.out";
    local PATCH_TARGET="${T}/$$.patch";
    local ris;
    echo "***** $1 *****" >${STDERR_TARGET%/*}/$1-${STDERR_TARGET##*/};
    echo >>${STDERR_TARGET%/*}/$1-${STDERR_TARGET##*/};
    ebegin "Running $@";
    $@ >>${STDERR_TARGET%/*}/$1-${STDERR_TARGET##*/} 2>&1;
    ris=$?;
    eend ${ris};
    if [[ ${ris} != 0 ]]; then
        echo;
        eerror "Failed Running $1 !";
        eerror;
        eerror "Include in your bugreport the contents of:";
        eerror;
        eerror "  ${STDERR_TARGET%/*}/$1-${STDERR_TARGET##*/}";
        echo;
        diefunc "$FUNCNAME" "$LINENO" "$?" "Failed Running $1 !";
    fi
}
autotools_set_versions () 
{ 
    [[ -n ${autotools_version_sets} ]] && return 0;
    if [[ -n ${WANT_AUTOCONF} ]]; then
        [[ ${WANT_AUTOCONF} == "latest" ]] && WANT_AUTOCONF="2.5";
        export WANT_AUTOCONF;
        einfo "Requested autoconf ${WANT_AUTOCONF}";
        einfo "Using $(autoconf --version 2>/dev/null | head -n 1)";
        einfo "Using $(autoheader --version 2>/dev/null | head -n 1)";
    fi;
    if [[ -n ${WANT_AUTOMAKE} ]]; then
        local latest_automake;
        if [[ ${WANT_AUTOMAKE} == "latest" ]]; then
            latest_automake="latest: ";
            for amver in 1.10 1.9 1.8 1.7 1.6;
            do
                WANT_AUTOMAKE="${amver}";
                ROOT=/ has_version =sys-devel/automake-${amver}* && break;
            done;
        fi;
        export WANT_AUTOMAKE;
        einfo "Requested automake ${latest_automake}${WANT_AUTOMAKE}";
        einfo "Using $(automake --version 2>/dev/null | head -n 1)";
        einfo "Using $(aclocal --version 2>/dev/null | head -n 1)";
    fi;
    autotools_version_sets="yes"
}
best_version () 
{ 
    if [ "${EBUILD_PHASE}" == "depend" ]; then
        diefunc "$FUNCNAME" "$LINENO" "$?" "portageq calls (best_version calls portageq) are not allowed in the global scope";
    fi;
    "${PORTAGE_BIN_PATH}/portageq" 'best_version' "${ROOT}" "$1"
}
bindnow-flags () 
{ 
    case $($(tc-getLD) -v 2>&1 </dev/null) in 
        *GNU* | *'with BFD'*)
            echo "-Wl,-z,now"
        ;;
        *Apple*)
            echo "-bind_at_load"
        ;;
        *)
            case $($(tc-getLD) -V 2>&1 </dev/null) in 
                *Solaris*)
                    echo "-Wl,-z,now"
                ;;
            esac
        ;;
    esac
}
built_with_use () 
{ 
    local opt=$1;
    [[ ${opt:0:1} = "-" ]] && shift || opt="-a";
    local PKG=$(best_version $1);
    [[ -z ${PKG} ]] && diefunc "$FUNCNAME" "$LINENO" "$?" "Unable to resolve $1 to an installed package";
    shift;
    local USEFILE=${ROOT}/var/db/pkg/${PKG}/USE;
    local IUSEFILE=${ROOT}/var/db/pkg/${PKG}/IUSE;
    [[ ! -e ${USEFILE} ]] && diefunc "$FUNCNAME" "$LINENO" "$?" "Unable to determine what USE flags $PKG was built with";
    local IUSE_BUILT=$(<${IUSEFILE});
    local expand;
    for expand in $(echo ${USE_EXPAND} | tr '[:upper:]' '[:lower:]');
    do
        if [[ $1 == ${expand}_* ]]; then
            expand="";
            break;
        fi;
    done;
    if [[ -n ${expand} ]]; then
        has $1 ${IUSE_BUILT} || diefunc "$FUNCNAME" "$LINENO" "$?" "$PKG does not actually support the $1 USE flag!";
    fi;
    local USE_BUILT=$(<${USEFILE});
    while [[ $# -gt 0 ]]; do
        if [[ ${opt} = "-o" ]]; then
            has $1 ${USE_BUILT} && return 0;
        else
            has $1 ${USE_BUILT} || return 1;
        fi;
        shift;
    done;
    [[ ${opt} = "-a" ]]
}
cdrom_get_cds () 
{ 
    local cdcnt=0;
    local f=;
    for f in "$@";
    do
        ((++cdcnt));
        export CDROM_CHECK_${cdcnt}="$f";
    done;
    export CDROM_TOTAL_CDS=${cdcnt};
    export CDROM_CURRENT_CD=1;
    if [[ -n ${CD_ROOT}${CD_ROOT_1} ]]; then
        local var=;
        cdcnt=0;
        while [[ ${cdcnt} -lt ${CDROM_TOTAL_CDS} ]]; do
            ((++cdcnt));
            var="CD_ROOT_${cdcnt}";
            [[ -z ${!var} ]] && var="CD_ROOT";
            if [[ -z ${!var} ]]; then
                eerror "You must either use just the CD_ROOT";
                eerror "or specify ALL the CD_ROOT_X variables.";
                eerror "In this case, you will need ${CDROM_TOTAL_CDS} CD_ROOT_X variables.";
                diefunc "$FUNCNAME" "$LINENO" "$?" "could not locate CD_ROOT_${cdcnt}";
            fi;
        done;
        export CDROM_ROOT=${CD_ROOT_1:-${CD_ROOT}};
        einfo "Found CD #${CDROM_CURRENT_CD} root at ${CDROM_ROOT}";
        export CDROM_SET=-1;
        for f in ${CDROM_CHECK_1//:/ };
        do
            ((++CDROM_SET));
            [[ -e ${CD_ROOT}/${f} ]] && break;
        done;
        export CDROM_MATCH=${f};
        return;
    fi;
    if [[ ${CDROM_TOTAL_CDS} -eq 1 ]]; then
        einfo "This ebuild will need the ${CDROM_NAME:-cdrom for ${PN}}";
        echo;
        einfo "If you do not have the CD, but have the data files";
        einfo "mounted somewhere on your filesystem, just export";
        einfo "the variable CD_ROOT so that it points to the";
        einfo "directory containing the files.";
        echo;
        einfo "For example:";
        einfo "export CD_ROOT=/mnt/cdrom";
        echo;
    else
        if [[ -n ${CDROM_NAME_SET} ]]; then
            cdcnt=0;
            while [[ ${cdcnt} -lt ${CDROM_TOTAL_CDS} ]]; do
                ((++cdcnt));
                export CDROM_NAME_${cdcnt}="${CDROM_NAME_SET[$((${cdcnt}-1))]}";
            done;
        fi;
        einfo "This package will need access to ${CDROM_TOTAL_CDS} cds.";
        cdcnt=0;
        while [[ ${cdcnt} -lt ${CDROM_TOTAL_CDS} ]]; do
            ((++cdcnt));
            var="CDROM_NAME_${cdcnt}";
            [[ ! -z ${!var} ]] && einfo " CD ${cdcnt}: ${!var}";
        done;
        echo;
        einfo "If you do not have the CDs, but have the data files";
        einfo "mounted somewhere on your filesystem, just export";
        einfo "the following variables so they point to the right place:";
        einfon "";
        cdcnt=0;
        while [[ ${cdcnt} -lt ${CDROM_TOTAL_CDS} ]]; do
            ((++cdcnt));
            echo -n " CD_ROOT_${cdcnt}";
        done;
        echo;
        einfo "Or, if you have all the files in the same place, or";
        einfo "you only have one cdrom, you can export CD_ROOT";
        einfo "and that place will be used as the same data source";
        einfo "for all the CDs.";
        echo;
        einfo "For example:";
        einfo "export CD_ROOT_1=/mnt/cdrom";
        echo;
    fi;
    export CDROM_SET="";
    export CDROM_CURRENT_CD=0;
    cdrom_load_next_cd
}
cdrom_load_next_cd () 
{ 
    local var;
    ((++CDROM_CURRENT_CD));
    unset CDROM_ROOT;
    var=CD_ROOT_${CDROM_CURRENT_CD};
    [[ -z ${!var} ]] && var="CD_ROOT";
    if [[ -z ${!var} ]]; then
        var="CDROM_CHECK_${CDROM_CURRENT_CD}";
        _cdrom_locate_file_on_cd ${!var};
    else
        export CDROM_ROOT=${!var};
    fi;
    einfo "Found CD #${CDROM_CURRENT_CD} root at ${CDROM_ROOT}"
}
check_KV () 
{ 
    if [ -z "${KV}" ]; then
        eerror "";
        eerror "Could not determine your kernel version.";
        eerror "Make sure that you have /usr/src/linux symlink.";
        eerror "And that said kernel has been configured.";
        eerror "You can also simply run the following command";
        eerror "in the kernel referenced by /usr/src/linux:";
        eerror " make include/linux/version.h";
        eerror "";
        diefunc "$FUNCNAME" "$LINENO" "$?";
    fi
}
check_license () 
{