Go to:
Gentoo Home
Documentation
Forums
Lists
Bugs
Planet
Store
Wiki
Get Gentoo!
Gentoo's Bugzilla – Attachment 150944 Details for
Bug 219267
unmerging sys-apps/texinfo-4.8-r5 when upgrading to 4.11-r1 fails with apparently corrupted env
Home
|
New
–
[Ex]
|
Browse
|
Search
|
Privacy Policy
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
/var/tmp/binpkgs/sys-apps/texinfo-4.8-r5/temp/environment
_ENV (text/plain), 133.93 KB, created by
Antek Grzymała (antoszka)
on 2008-04-25 11:56:22 UTC
(
hide
)
Description:
/var/tmp/binpkgs/sys-apps/texinfo-4.8-r5/temp/environment
Filename:
MIME Type:
Creator:
Antek Grzymała (antoszka)
Created:
2008-04-25 11:56:22 UTC
Size:
133.93 KB
patch
obsolete
>ACCEPT_KEYWORDS=x86 >ACCEPT_LICENSE= >ARCH=x86 >ARGS=compile >AUTOCLEAN=yes >BAD=$'\E[31;01m' >BASH=/bin/bash >BRACKET=$'\E[34;01m' >BUILD_PREFIX=/var/tmp/portage >CBUILD=i686-pc-linux-gnu >CDEFINE_default=__unix__ >CFLAGS='-O2 -march=pentium4 -pipe' >CHOST=i686-pc-linux-gnu >CHOST_default=i686-pc-linux-gnu >CLEAN_DELAY=5 >COLS=103 >CONFCACHE= >CONFIG_PROTECT='/etc /var/bind' >CONFIG_PROTECT_MASK='/etc/env.d /etc/gconf /etc/revdep-rebuild /etc/terminfo' >CTARGET_default=i686-pc-linux-gnu >CVS_RSH=ssh >CXXFLAGS='-O2 -march=pentium4 -pipe' >DCCC_PATH=/usr/lib/distcc/bin >DEFAULT_ABI=default >DEPEND=$'!build? ( >=sys-libs/ncurses-5.2-r2 )\n\t!build? ( nls? ( virtual/libintl ) )\n\t!build? ( nls? ( sys-devel/gettext ) ) ' >DESCRIPTION='The GNU info program and utilities' >DESTTREE=/usr >DIROPTIONS=-m0755 >DISTCC_DIR=/var/tmp/.distcc >DISTCC_LOG= >DISTCC_VERBOSE=0 >DISTDIR=/var/tmp/portage/texinfo-4.8-r5/distdir >DOCDESTTREE= >ECLASS= >ECLASSDIR=/usr/portage/eclass >ECLASS_DEPTH=0 >ECONF_SOURCE=. >EDITOR=/usr/bin/vim >ELIBC=glibc >EMERGE_WARNING_DELAY=10 >ENDCOL=$'\E[A\E[103C' >EPATCH_EXCLUDE= >EPATCH_FORCE=no >EPATCH_MULTI_MSG='Applying various patches (bugfixes/updates) ...' >EPATCH_OPTS='-g0 -E --no-backup-if-mismatch' >EPATCH_SINGLE_MSG= >EPATCH_SOURCE=/var/tmp/portage/texinfo-4.8-r5/work/patch >EPATCH_SUFFIX=patch.bz2 >EXEDESTTREE= >EXEOPTIONS=-m0755 >FETCHCOMMAND='/usr/bin/wget -t 5 -T 60 --passive-ftp -P ${DISTDIR} ${URI}' >GCC_SPECS= >GENTOO_MIRRORS='http://gentoo.linux.no ftp://gentoo.inode.at/source/ ftp://ftp.easynet.nl/mirror/gentoo/ http://ftp.easynet.nl/mirror/gentoo/ http://gentoo.inode.at/' >GOOD=$'\E[32;01m' >G_BROKEN_FILENAMES=1 >G_FILENAME_ENCODING=UTF-8 >HILITE=$'\E[36m' >HOME=/var/tmp/portage/texinfo-4.8-r5/homedir >HOMEPAGE=http://www.gnu.org/software/texinfo/ >HOSTTYPE=i686 >IFS=$' \t\n' >INFOPATH=/usr/share/info:/usr/share/binutils-data/i686-pc-linux-gnu/2.16.1/info:/usr/share/gcc-data/i686-pc-linux-gnu/4.1.1/info >INHERITED='toolchain-funcs multilib eutils portability flag-o-matic' >INPUT_DEVICES='keyboard mouse evdev' >INSDESTTREE= >INSOPTIONS=-m0644 >IUSE='nls build static ' >KERNEL=linux >KERNEL_ABI=default >KEYWORDS='~alpha amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc-macos ~ppc64 ~s390 ~sh sparc ~sparc-fbsd x86 ~x86-fbsd' >KV=2.6.16-hardened-r11 >KVERS=. >LAST_E_CMD=ewarn >LC_ALL=en_GB.UTF-8 >LD_PRELOAD=/usr/lib/libsandbox.so >LESS='-R -M --shift 5' >LESSOPEN='|lesspipe.sh %s' >LIBDIR_default=lib >LIBOPTIONS=-m0644 >LICENSE=GPL-2 >LINGUAS='pl en' >LOGNAME=root >LS_COLORS='no=00:fi=00:di=01;34:ln=01;36:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=01;05;37;41:mi=01;05;37;41:su=37;41:sg=30;43:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.gz=01;31:*.bz2=01;31:*.bz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.rar=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.qt=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.pdf=00;32:*.ps=00;32:*.txt=00;32:*.patch=00;32:*.diff=00;32:*.log=00;32:*.tex=00;32:*.doc=00;32:*.flac=01;35:*.mp3=01;35:*.mpc=00;36:*.ogg=00;36:*.wav=00;36:*.mid=00;36:*.midi=00;36:*.au=00;36:*.flac=00;36:*.aac=00;36:' >MACHTYPE=i686-pc-linux-gnu >MAIL=/var/mail/root >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=texinfo >MULTILIB_ABIS=default >NORMAL=$'\E[0m' >O=/portage/sys-apps/texinfo >OCC= >OCXX= >OLDPWD=/var/tmp/portage/texinfo-4.8-r5 >OPTERR=1 >OPTIND=1 >OSTYPE=linux-gnu >PAGER=/usr/bin/less >PDEPEND=' ' >PKGDIR=/usr/portage/packages >PKGUSE= >PKG_LOGDIR=/var/tmp/portage/texinfo-4.8-r5/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/texinfo-4.8-r5 >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=18729 >PORTAGE_RSYNC_EXTRA_OPTS=--progress >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 >PORTDIR_OVERLAY=/usr/local/portage >PORT_ENOTICE_DIR=/var/enotice >PRELINK_PATH= >PRELINK_PATH_MASK= >PROFILE_PATHS=$'/portage/profiles/base\n/portage/profiles/default-linux\n/portage/profiles/default-linux/x86\n/portage/profiles/default-linux/x86/2006.1\n/portage/profiles/default-linux/x86/2006.1/server\n/etc/portage/profile\n/etc/portage/profile' >PROVIDE= >PS4='+ ' >PWD=/var/tmp/portage/texinfo-4.8-r5/build-info >PWORKDIR=/var/tmp/portage/texinfo-4.8-r5/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=$'!build? ( >=sys-libs/ncurses-5.2-r2 )\n\t!build? ( nls? ( virtual/libintl ) ) ' >RESTRICT= >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 >RPMDIR=/usr/portage/rpm >S=/var/tmp/portage/texinfo-4.8-r5/work/texinfo-4.8 >SHELL=/bin/bash >SHLVL=4 >SLOT=0 >SRC_URI=mirror://gnu/texinfo/texinfo-4.8.tar.bz2 >SSH_CLIENT='83.7.166.200 62611 22' >SSH_CONNECTION='83.7.166.200 62611 195.187.82.250 22' >SSH_TTY=/dev/pts/11 >STAGE1_USE='nptl nptlonly unicode' >STARTDIR=/root >STY=16261.pts-11.suita >SYNC=rsync://rsync.europe.gentoo.org/gentoo-portage >TERM=screen >TERMCAP=$'SC|screen|VT 100/ANSI X3.64 virtual terminal:\\\n\t:DO=\\E[%dB:LE=\\E[%dD:RI=\\E[%dC:UP=\\E[%dA:bs:bt=\\E[Z:\\\n\t:cd=\\E[J:ce=\\E[K:cl=\\E[H\\E[J:cm=\\E[%i%d;%dH:ct=\\E[3g:\\\n\t:do=^J:nd=\\E[C:pt:rc=\\E8:rs=\\Ec:sc=\\E7:st=\\EH:up=\\EM:\\\n\t:le=^H:bl=^G:cr=^M:it#8:ho=\\E[H:nw=\\EE:ta=^I:is=\\E)0:\\\n\t:li#51:co#111:am:xn:xv:LP:sr=\\EM:al=\\E[L:AL=\\E[%dL:\\\n\t:cs=\\E[%i%d;%dr:dl=\\E[M:DL=\\E[%dM:dc=\\E[P:DC=\\E[%dP:\\\n\t:im=\\E[4h:ei=\\E[4l:mi:IC=\\E[%d@:ks=\\E[?1h\\E=:\\\n\t:ke=\\E[?1l\\E>:vi=\\E[?25l:ve=\\E[34h\\E[?25h:vs=\\E[34l:\\\n\t:ti=\\E[?1049h:te=\\E[?1049l:us=\\E[4m:ue=\\E[24m:so=\\E[3m:\\\n\t:se=\\E[23m:mb=\\E[5m:md=\\E[1m:mr=\\E[7m:me=\\E[m:ms:\\\n\t:Co#8:pa#64:AF=\\E[3%dm:AB=\\E[4%dm:op=\\E[39;49m:AX:\\\n\t:vb=\\Eg:G0:as=\\E(0:ae=\\E(B:\\\n\t:ac=\\140\\140aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~..--++,,hhII00:\\\n\t:k0=\\E[10~:k1=\\EOP:k2=\\EOQ:k3=\\EOR:k4=\\EOS:k5=\\E[15~:\\\n\t:k6=\\E[17~:k7=\\E[18~:k8=\\E[19~:k9=\\E[20~:k;=\\E[21~:\\\n\t:F1=\\E[23~:F2=\\E[24~:kb=^H:kB=\\E[Z:kh=\\E[1~:@1=\\E[1~:\\\n\t:kH=\\E[4~:@7=\\E[4~:kN=\\E[6~:kP=\\E[5~:kI=\\E[2~:kD=\\E[3~:\\\n\t:ku=\\EOA:kd=\\EOB:kr=\\EOC:kl=\\EOD:km:' >TMP=/var/tmp/portage/texinfo-4.8-r5/temp >TMPDIR=/var/tmp/portage/texinfo-4.8-r5/temp >USE='x86 acl apache2 bash-completion berkdb bitmap-fonts bzip2 caps cdb cgi cli cracklib crypt curl dba dedicated dlloader dri elibc_glibc extensions fam fastcgi fortran frxp gd gdbm gmp gpm iconv idn imap input_devices_evdev input_devices_keyboard input_devices_mouse ipv6 isdnlog javascript jpeg kernel_linux l7filter libg++ linguas_en linguas_pl logrotate mbox mhash mpm-prefork mysql ncurses nls nowebdav nptl nptlonly pam pcre perl pg-hier pg-intdatetime png posix ppds pppd python readline reflection sasl session spell spf spl sqlite sse ssl tcpd type1-fonts udev unicode usb userland_GNU userlocales video_cards_apm video_cards_ark video_cards_ati video_cards_chips video_cards_cirrus video_cards_cyrix video_cards_dummy video_cards_fbdev video_cards_glint video_cards_i128 video_cards_i740 video_cards_i810 video_cards_imstt video_cards_mga video_cards_neomagic video_cards_nsc video_cards_nv video_cards_rendition video_cards_s3 video_cards_s3virge video_cards_savage video_cards_siliconmotion video_cards_sis video_cards_sisusb video_cards_tdfx video_cards_tga video_cards_trident video_cards_tseng video_cards_v4l video_cards_vesa video_cards_vga video_cards_via video_cards_vmware video_cards_voodoo xattr xbase xml xorg 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='apm ark ati chips cirrus cyrix dummy fbdev glint i128 i740 i810 imstt mga neomagic nsc nv rendition s3 s3virge savage siliconmotion sis sisusb tdfx tga trident tseng v4l vesa vga via vmware voodoo' >WARN=$'\E[33;01m' >WINDOW=0 >XARGS='xargs -r' >_=0 >_RC_GET_KV_CACHE= >_pipestatus='0 0' >conf=texinfo-4.8-r5 >dir=/etc/portage/profile >f=DESCRIPTION >myarg=compile >olocation=/usr/local/portage/eclass/multilib.eclass >srcdir=/var/tmp/portage/texinfo-4.8-r5/work/texinfo-4.8 >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 >} >_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} >} >_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 >} >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 () >{ > local lic=$1; > if [ -z "${lic}" ]; then > lic="${PORTDIR}/licenses/${LICENSE}"; > else > if [ -e "${PORTDIR}/licenses/${lic}" ]; then > lic="${PORTDIR}/licenses/${lic}"; > else > if [ -e "${PWD}/${lic}" ]; then > lic="${PWD}/${lic}"; > else > if [ -e "${lic}" ]; then > lic="${lic}"; > fi; > fi; > fi; > fi; > [ ! -f "${lic}" ] && diefunc "$FUNCNAME" "$LINENO" "$?" "Could not find requested license ${lic}"; > local l="`basename ${lic}`"; > local shopts=$-; > local alic; > set -o noglob; > for alic in ${ACCEPT_LICENSE}; > do > if [[ ${alic} == ${l} ]]; then > set +o noglob; > set -${shopts}; > return 0; > fi; > done; > set +o noglob; > set -$shopts; > local licmsg="$(emktemp)"; > cat >${licmsg} <<EOF >********************************************************** >The following license outlines the terms of use of this >package. You MUST accept this license for installation to >continue. When you are done viewing, hit 'q'. If you >CTRL+C out of this, the install will not run! >********************************************************** > >EOF > > cat ${lic} >>${licmsg}; > ${PAGER:-less} ${licmsg} || diefunc "$FUNCNAME" "$LINENO" "$?" "Could not execute pager (${PAGER}) to accept ${lic}"; > einfon "Do you accept the terms of this license (${l})? [yes/no] "; > read alic; > case ${alic} in > yes | Yes | y | Y) > return 0 > ;; > *) > echo; > echo; > echo; > eerror "You MUST accept the license to continue! Exiting!"; > diefunc "$FUNCNAME" "$LINENO" "$?" "Failed to accept license" > ;; > esac >} >create_ml_includes () >{ > local dest=$1; > shift; > local basedirs=$(create_ml_includes-listdirs "$@"); > create_ml_includes-makedestdirs ${dest} ${basedirs}; > local file; > for file in $(create_ml_includes-allfiles ${basedirs}); > do > ( echo "/* Autogenerated by create_ml_includes() in multilib.eclass */"; > local dir; > for dir in ${basedirs}; > do > if [[ -f ${D}/${dir}/${file} ]]; then > echo ""; > local sym=$(create_ml_includes-sym_for_dir ${dir} "$@"); > if [[ ${sym/=} != "${sym}" ]]; then > echo "#if ${sym}"; > else > if [[ ${sym::1} == "!" ]]; then > echo "#ifndef ${sym:1}"; > else > echo "#ifdef ${sym}"; > fi; > fi; > echo "# include <$(create_ml_includes-absolute ${dir}/${file})>"; > echo "#endif /* ${sym} */"; > fi; > done ) >"${D}/${dest}/${file}"; > done >} >create_ml_includes-absolute () >{ > local dst="$(create_ml_includes-tidy_path $1)"; > dst=(${dst//\// }); > local i; > for ((i=0; i<${#dst[*]}; i++)) > do > [ "${dst[i]}" == "include" ] && break; > done; > local strip_upto=$i; > for ((i=strip_upto+1; i<${#dst[*]}-1; i++)) > do > echo -n ${dst[i]}/; > done; > echo -n ${dst[i]} >} >create_ml_includes-allfiles () >{ > local basedir file; > for basedir in "$@"; > do > for file in $(find "${D}"/${basedir} -type f); > do > echo ${file/${D}\/${basedir}\//}; > done; > done | sort | uniq >} >create_ml_includes-listdirs () >{ > local dirs; > local data; > for data in "$@"; > do > dirs="${dirs} ${data/*:/}"; > done; > echo ${dirs:1} >} >create_ml_includes-makedestdirs () >{ > local dest=$1; > shift; > local basedirs=$@; > dodir ${dest}; > local basedir; > for basedir in ${basedirs}; > do > local dir; > for dir in $(find ${D}/${basedir} -type d); > do > dodir ${dest}/${dir/${D}\/${basedir}/}; > done; > done >} >create_ml_includes-sym_for_dir () >{ > local dir=$1; > shift; > local data; > for data in "$@"; > do > if [[ ${data} == *:${dir} ]]; then > echo ${data/:*/}; > return 0; > fi; > done; > echo "Shouldn't be here -- create_ml_includes-sym_for_dir $1 $@"; > exit 1 >} >create_ml_includes-tidy_path () >{ > local removed=$1; > if [ -n "${removed}" ]; then > while [ "${removed}" != "${removed/\/\//\/}" ]; do > removed=${removed/\/\//\/}; > done; > while [ "${removed}" != "${removed//\/.\//\/}" ]; do > removed=${removed//\/.\//\/}; > done; > [ "${removed##*/}" = "." ] && removed=${removed%/*}; > while [ "${removed}" != "${removed//\/..\/}" ]; do > local p1="${removed%%\/..\/*}"; > local p2="${removed#*\/..\/}"; > removed="${p1%\/*}/${p2}"; > done; > [ "${removed##*/}" = ".." ] && removed=${removed%/*/*}; > [ "${removed##*/}" = "" ] && removed=${removed%/*}; > echo ${removed}; > fi >} >debug-print () >{ > [ ! -d "$T" ] && return 0; > while [ "$1" ]; do > if [ "$ECLASS_DEBUG_OUTPUT" == "on" ]; then > echo "debug: $1"; > else > if [ -n "$ECLASS_DEBUG_OUTPUT" ]; then > echo "debug: $1" >>$ECLASS_DEBUG_OUTPUT; > fi; > fi; > echo "$1" >>"${T}/eclass-debug.log"; > chmod g+w "${T}/eclass-debug.log" >&/dev/null; > shift; > done >} >debug-print-function () >{ > str="$1: entering function"; > shift; > debug-print "$str, parameters: $*" >} >debug-print-section () >{ > debug-print "now in section $*" >} >diefunc () >{ > local funcname="$1" lineno="$2" exitcode="$3"; > shift 3; > echo 1>&2; > echo "!!! ERROR: $CATEGORY/$PF failed." 1>&2; > dump_trace 2 1>&2; > echo " $(basename "${BASH_SOURCE[1]}"), line ${BASH_LINENO[0]}: Called die" 1>&2; > echo 1>&2; > echo "!!! ${*:-(no error message)}" 1>&2; > echo "!!! If you need support, post the topmost build error, and the call stack if relevant." 1>&2; > echo 1>&2; > if [ "${EBUILD_PHASE/depend}" == "${EBUILD_PHASE}" ]; then > local x; > for x in $EBUILD_DEATH_HOOKS; > do > ${x} "$@" 1>&2 1>&2; > done; > fi; > exit 1 >} >diropts () >{ > export DIROPTIONS="$@" >} >dlopen_lib () >{ > if [[ ${ELIBC} != *BSD ]]; then > echo "-ldl"; > fi >} >do_newdepend () >{ > debug-print-function do_newdepend $*; > [ -z "$1" ] && diefunc "$FUNCNAME" "$LINENO" "$?" "do_newdepend without arguments"; > [[ ${ECLASS_DEPTH} > 0 ]] && TARGET="E_$1"; > [[ ${ECLASS_DEPTH} > 0 ]] || TARGET="$1"; > shift; > while [ -n "$1" ]; do > eval export ${TARGET}=\"\${${TARGET}} \$1\"; > shift; > done >} >docinto () >{ > if [ "$1" == "/" ]; then > export DOCDESTTREE=""; > else > export DOCDESTTREE="$1"; > if [ ! -d "${D}usr/share/doc/${PF}/${DOCDESTTREE}" ]; then > install -d "${D}usr/share/doc/${PF}/${DOCDESTTREE}"; > fi; > fi >} >doicon () >{ > local i j; > insinto /usr/share/pixmaps; > for i in "$@"; > do > if [[ -f ${i} ]]; then > doins "${i}"; > else > if [[ -d ${i} ]]; then > for j in "${i}"/*.png; > do > doins "${j}"; > done; > fi; > fi; > done >} >domenu () >{ > local i j; > insinto /usr/share/applications; > for i in "$@"; > do > if [[ -f ${i} ]]; then > doins "${i}"; > else > if [[ -d ${i} ]]; then > for j in "${i}"/*.desktop; > do > doins "${j}"; > done; > fi; > fi; > done >} >dopamd () >{ > [[ -z $1 ]] && diefunc "$FUNCNAME" "$LINENO" "$?" "dopamd requires at least one argument"; > use pam || return 0; > INSDESTTREE=/etc/pam.d doins "$@" || diefunc "$FUNCNAME" "$LINENO" "$?" "failed to install $@" >} >dump_trace () >{ > local funcname="" sourcefile="" lineno="" n e s="yes"; > declare -i strip=1; > if [[ -n $1 ]]; then > strip=$(( $1 )); > fi; > echo "Call stack:"; > for ((n = ${#FUNCNAME[@]} - 1, p = ${#BASH_ARGV[@]} ; n > $strip ; n-- )) > do > funcname=${FUNCNAME[${n} - 1]}; > sourcefile=$(basename ${BASH_SOURCE[${n}]}); > lineno=${BASH_LINENO[${n} - 1]}; > args=; > if [[ -n "${BASH_ARGV[@]}" ]]; then > for ((j = 1 ; j <= ${BASH_ARGC[${n} - 1]} ; ++j )) > do > newarg=${BASH_ARGV[$(( p - j - 1 ))]}; > args="${args:+${args} }'${newarg}'"; > done; > (( p -= ${BASH_ARGC[${n} - 1]} )); > fi; > echo " ${sourcefile}, line ${lineno}: Called ${funcname}${args:+ ${args}}"; > done >} >dyn_clean () >{ > if [ -z "${PORTAGE_BUILDDIR}" ]; then > echo "Aborting clean phase because PORTAGE_BUILDDIR is unset!"; > return 1; > fi; > if type -p chflags >&/dev/null; then > chflags -R noschg,nouchg,nosappnd,nouappnd "${PORTAGE_BUILDDIR}"; > chflags -R nosunlnk,nouunlnk "${PORTAGE_BUILDDIR}" 2>/dev/null; > fi; > rm -rf "${PORTAGE_BUILDDIR}/image" "${PORTAGE_BUILDDIR}/homedir"; > if ! hasq keeptemp $FEATURES; then > rm -rf "${T}"; > else > [ -e "${T}/environment" ] && mv "${T}/environment" "${T}/environment.keeptemp"; > fi; > if ! hasq keepwork $FEATURES; then > rm -rf "${PORTAGE_BUILDDIR}/.logid"; > rm -rf "${PORTAGE_BUILDDIR}/.unpacked"; > rm -rf "${PORTAGE_BUILDDIR}/.compiled"; > rm -rf "${PORTAGE_BUILDDIR}/.tested"; > rm -rf "${PORTAGE_BUILDDIR}/.installed"; > rm -rf "${PORTAGE_BUILDDIR}/.packaged"; > rm -rf "${PORTAGE_BUILDDIR}/build-info"; > rm -rf "${WORKDIR}"; > fi; > if [ -f "${PORTAGE_BUILDDIR}/.unpacked" ]; then > find "${PORTAGE_BUILDDIR}" -type d ! -regex "^${WORKDIR}" | sort -r | tr "\n" "\0" | $XARGS -0 rmdir >&/dev/null; > fi; > rm -rf "${PORTAGE_BUILDDIR}/distdir"; > if [ -z "$(find "${PORTAGE_BUILDDIR}" -mindepth 1 -maxdepth 1)" ]; then > rmdir "${PORTAGE_BUILDDIR}"; > fi; > true >} >dyn_compile () >{ > trap "abort_compile" SIGINT SIGQUIT; > [ "$(type -t pre_src_compile)" == "function" ] && pre_src_compile; > [ "${CFLAGS-unset}" != "unset" ] && export CFLAGS; > [ "${CXXFLAGS-unset}" != "unset" ] && export CXXFLAGS; > [ "${LIBCFLAGS-unset}" != "unset" ] && export LIBCFLAGS; > [ "${LIBCXXFLAGS-unset}" != "unset" ] && export LIBCXXFLAGS; > [ "${LDFLAGS-unset}" != "unset" ] && export LDFLAGS; > [ "${ASFLAGS-unset}" != "unset" ] && export ASFLAGS; > [ "${CCACHE_DIR-unset}" != "unset" ] && export CCACHE_DIR; > [ "${CCACHE_SIZE-unset}" != "unset" ] && export CCACHE_SIZE; > [ "${DISTCC_DIR-unset}" == "unset" ] && export DISTCC_DIR="${PORTAGE_TMPDIR}/.distcc"; > [ ! -z "${DISTCC_DIR}" ] && addwrite "${DISTCC_DIR}"; > LIBDIR_VAR="LIBDIR_${ABI}"; > if [ -z "${PKG_CONFIG_PATH}" -a -n "${ABI}" -a -n "${!LIBDIR_VAR}" ]; then > export PKG_CONFIG_PATH="/usr/${!LIBDIR_VAR}/pkgconfig"; > fi; > unset LIBDIR_VAR; > if hasq noauto $FEATURES >&/dev/null && [ ! -f ${PORTAGE_BUILDDIR}/.unpacked ]; then > echo; > echo "!!! We apparently haven't unpacked... This is probably not what you"; > echo "!!! want to be doing... You are using FEATURES=noauto so I'll assume"; > echo "!!! that you know what you are doing... You have 5 seconds to abort..."; > echo; > local x; > for x in 1 2 3 4 5 6 7 8; > do > echo -ne "\a"; > LC_ALL=C sleep 0.25; > done; > sleep 3; > fi; > local srcdir=${PORTAGE_BUILDDIR}; > cd "${PORTAGE_BUILDDIR}"; > if [ ! -e "build-info" ]; then > mkdir build-info; > fi; > cp "${EBUILD}" "build-info/${PF}.ebuild"; > if [[ ${PORTAGE_BUILDDIR}/.compiled -nt ${WORKDIR} ]]; then > vecho ">>> It appears that '${PF}' is already compiled; skipping."; > vecho ">>> Remove '${PORTAGE_BUILDDIR}/.compiled' to force install."; > trap SIGINT SIGQUIT; > [ "$(type -t post_src_compile)" == "function" ] && post_src_compile; > return; > fi; > if [ -d "${S}" ]; then > srcdir=${S}; > cd "${S}"; > fi; > export S D; > export PWORKDIR="$WORKDIR"; > vecho ">>> Compiling source in ${srcdir} ..."; > src_compile; > vecho ">>> Source compiled."; > cd "${PORTAGE_BUILDDIR}"; > touch .compiled; > cd build-info; > for f in ASFLAGS CATEGORY CBUILD CC CFLAGS CHOST CTARGET CXX CXXFLAGS DEPEND EXTRA_ECONF EXTRA_EINSTALL EXTRA_MAKE FEATURES INHERITED IUSE LDFLAGS LIBCFLAGS LIBCXXFLAGS LICENSE PDEPEND PF PKGUSE PROVIDE RDEPEND RESTRICT SLOT KEYWORDS HOMEPAGE SRC_URI DESCRIPTION; > do > [ -n "${!f}" ] && echo $(echo "${!f}" | tr '\n,\r,\t' ' , , ' | sed s/' \+'/' '/g) >${f}; > done; > echo "${USE}" >USE; > echo "${EAPI:-0}" >EAPI; > set >environment; > export -p | sed 's:declare -rx:declare -x:' >>environment; > bzip2 -9 environment; > cp "${EBUILD}" "${PF}.ebuild"; > if hasq nostrip ${FEATURES} ${RESTRICT} || hasq strip ${RESTRICT}; then > touch DEBUGBUILD; > fi; > [ "$(type -t post_src_compile)" == "function" ] && post_src_compile; > trap SIGINT SIGQUIT >} >dyn_help () >{ > echo; > echo "Portage"; > echo "Copyright 1999-2006 Gentoo Foundation"; > echo; > echo "How to use the ebuild command:"; > echo; > echo "The first argument to ebuild should be an existing .ebuild file."; > echo; > echo "One or more of the following options can then be specified. If more"; > echo "than one option is specified, each will be executed in order."; > echo; > echo " help : show this help screen"; > echo " setup : execute package specific setup actions"; > echo " fetch : download source archive(s) and patches"; > echo " digest : creates a digest and a manifest file for the package"; > echo " manifest : creates a manifest file for the package"; > echo " unpack : unpack/patch sources (auto-fetch if needed)"; > echo " compile : compile sources (auto-fetch/unpack if needed)"; > echo " test : test package (auto-fetch/unpack/compile if needed)"; > echo " preinst : execute pre-install instructions"; > echo " postinst : execute post-install instructions"; > echo " install : installs the package to the temporary install directory"; > echo " qmerge : merge image into live filesystem, recording files in db"; > echo " merge : does fetch, unpack, compile, install and qmerge"; > echo " prerm : execute pre-removal instructions"; > echo " postrm : execute post-removal instructions"; > echo " unmerge : remove package from live filesystem"; > echo " config : execute package specific configuration actions"; > echo " package : create tarball package in ${PKGDIR}/All"; > echo " rpm : builds a RedHat RPM package"; > echo " clean : clean up all source and temporary files"; > echo; > echo "The following settings will be used for the ebuild process:"; > echo; > echo " package : ${PF}"; > echo " slot : ${SLOT}"; > echo " category : ${CATEGORY}"; > echo " description : ${DESCRIPTION}"; > echo " system : ${CHOST}"; > echo " c flags : ${CFLAGS}"; > echo " c++ flags : ${CXXFLAGS}"; > echo " make flags : ${MAKEOPTS}"; > echo -n " build mode : "; > if hasq nostrip ${FEATURES} ${RESTRICT} || hasq strip ${RESTRICT}; then > echo "debug (large)"; > else > echo "production (stripped)"; > fi; > echo " merge to : ${ROOT}"; > echo; > if [ -n "$USE" ]; then > echo "Additionally, support for the following optional features will be enabled:"; > echo; > echo " ${USE}"; > fi; > echo >} >dyn_install () >{ > [ -z "$PORTAGE_BUILDDIR" ] && diefunc "$FUNCNAME" "$LINENO" "$?" "${FUNCNAME}: PORTAGE_BUILDDIR is unset"; > if hasq noauto $FEATURES; then > rm -f "${PORTAGE_BUILDDIR}/.installed"; > else > if [[ ${PORTAGE_BUILDDIR}/.installed -nt ${WORKDIR} ]]; then > vecho ">>> It appears that '${PF}' is already installed; skipping."; > vecho ">>> Remove '${PORTAGE_BUILDDIR}/.installed' to force install."; > return 0; > fi; > fi; > trap "abort_install" SIGINT SIGQUIT; > [ "$(type -t pre_src_install)" == "function" ] && pre_src_install; > rm -rf "${PORTAGE_BUILDDIR}/image"; > mkdir "${PORTAGE_BUILDDIR}/image"; > if [ -d "${S}" ]; then > cd "${S}"; > fi; > vecho; > vecho ">>> Install ${PF} into ${D} category ${CATEGORY}"; > export S D; > export PWORKDIR="$WORKDIR"; > src_install; > touch "${PORTAGE_BUILDDIR}/.installed"; > vecho ">>> Completed installing ${PF} into ${D}"; > vecho; > cd ${PORTAGE_BUILDDIR}; > [ "$(type -t post_src_install)" == "function" ] && post_src_install; > trap SIGINT SIGQUIT >} >dyn_preinst () >{ > if [ -z "$IMAGE" ]; then > eerror "${FUNCNAME}: IMAGE is unset"; > return 1; > fi; > [ "$(type -t pre_pkg_preinst)" == "function" ] && pre_pkg_preinst; > declare -r D=${IMAGE}; > pkg_preinst; > [ "$(type -t post_pkg_preinst)" == "function" ] && post_pkg_preinst >} >dyn_setup () >{ > [ "$(type -t pre_pkg_setup)" == "function" ] && pre_pkg_setup; > pkg_setup; > [ "$(type -t post_pkg_setup)" == "function" ] && post_pkg_setup >} >dyn_test () >{ > [ "$(type -t pre_src_test)" == "function" ] && pre_src_test; > if [ "${PORTAGE_BUILDDIR}/.tested" -nt "${WORKDIR}" ]; then > vecho ">>> It appears that ${PN} has already been tested; skipping."; > [ "$(type -t post_src_test)" == "function" ] && post_src_test; > return; > fi; > trap "abort_test" SIGINT SIGQUIT; > if [ -d "${S}" ]; then > cd "${S}"; > fi; > if ! hasq test $FEATURES; then > vecho ">>> Test phase [not enabled]: ${CATEGORY}/${PF}"; > else > if hasq test $RESTRICT; then > ewarn "Skipping make test/check due to ebuild restriction."; > vecho ">>> Test phase [explicitly disabled]: ${CATEGORY}/${PF}"; > else > addpredict /; > src_test; > SANDBOX_PREDICT="${SANDBOX_PREDICT%:/}"; > fi; > fi; > cd "${PORTAGE_BUILDDIR}"; > touch .tested || diefunc "$FUNCNAME" "$LINENO" "$?" "Failed to 'touch .tested' in ${PORTAGE_BUILDDIR}"; > [ "$(type -t post_src_test)" == "function" ] && post_src_test; > trap SIGINT SIGQUIT >} >dyn_unpack () >{ > trap "abort_unpack" SIGINT SIGQUIT; > [ "$(type -t pre_src_unpack)" == "function" ] && pre_src_unpack; > local newstuff="no"; > if [ -e "${WORKDIR}" ]; then > local x; > local checkme; > for x in ${AA}; > do > vecho ">>> Checking ${x}'s mtime..."; > if [ "${PORTAGE_ACTUAL_DISTDIR:-${DISTDIR}}/${x}" -nt "${WORKDIR}" ]; then > vecho ">>> ${x} has been updated; recreating WORKDIR..."; > newstuff="yes"; > rm -rf "${WORKDIR}"; > break; > fi; > done; > if [ "${EBUILD}" -nt "${WORKDIR}" ]; then > vecho ">>> ${EBUILD} has been updated; recreating WORKDIR..."; > newstuff="yes"; > rm -rf "${WORKDIR}"; > else > if [ ! -f "${PORTAGE_BUILDDIR}/.unpacked" ]; then > vecho ">>> Not marked as unpacked; recreating WORKDIR..."; > newstuff="yes"; > rm -rf "${WORKDIR}"; > fi; > fi; > fi; > if [ -e "${WORKDIR}" ]; then > if [ "$newstuff" == "no" ]; then > vecho ">>> WORKDIR is up-to-date, keeping..."; > [ "$(type -t post_src_unpack)" == "function" ] && post_src_unpack; > return 0; > fi; > fi; > if [ ! -d "${WORKDIR}" ]; then > install -m${PORTAGE_WORKDIR_MODE:-0700} -d "${WORKDIR}" || diefunc "$FUNCNAME" "$LINENO" "$?" "Failed to create dir '${WORKDIR}'"; > fi; > cd "${WORKDIR}" || diefunc "$FUNCNAME" "$LINENO" "$?" "Directory change failed: \`cd '${WORKDIR}'\`"; > vecho ">>> Unpacking source..."; > src_unpack; > touch "${PORTAGE_BUILDDIR}/.unpacked" || diefunc "$FUNCNAME" "$LINENO" "$?" "IO Failure -- Failed 'touch .unpacked' in ${PORTAGE_BUILDDIR}"; > vecho ">>> Source unpacked."; > cd "${PORTAGE_BUILDDIR}"; > [ "$(type -t post_src_unpack)" == "function" ] && post_src_unpack; > trap SIGINT SIGQUIT >} >ebeep () >{ > local n; > if [[ -z ${EBEEP_IGNORE} ]]; then > for ((n=1 ; n <= ${1:-5} ; n++)) > do > echo -ne "\a"; > sleep 0.1 >&/dev/null; > sleep 0,1 >&/dev/null; > echo -ne "\a"; > sleep 1; > done; > fi >} >ebegin () >{ > local msg="$*" dots spaces=${RC_DOT_PATTERN//?/ }; > if [[ -n ${RC_DOT_PATTERN} ]]; then > dots=$(printf "%$(( COLS - 3 - ${#RC_INDENTATION} - ${#msg} - 7 ))s" ''); > dots=${dots//${spaces}/${RC_DOT_PATTERN}}; > msg="${msg}${dots}"; > else > msg="${msg} ..."; > fi; > einfon "${msg}"; > [[ ${RC_ENDCOL} == "yes" ]] && echo; > LAST_E_LEN=$(( 3 + ${#RC_INDENTATION} + ${#msg} )); > LAST_E_CMD="ebegin"; > return 0 >} >econf () >{ > local x; > local LOCAL_EXTRA_ECONF="${EXTRA_ECONF}"; > if [ -z "${ECONF_SOURCE}" ]; then > ECONF_SOURCE="."; > fi; > if [ -x "${ECONF_SOURCE}/configure" ]; then > if [ -e /usr/share/gnuconfig/ ]; then > for x in $(find "${WORKDIR}" -type f '(' -name config.guess -o -name config.sub ')'); > do > vecho " * econf: updating ${x/${WORKDIR}\/} with /usr/share/gnuconfig/${x##*/}"; > cp -f /usr/share/gnuconfig/${x##*/} ${x}; > done; > fi; > if [ ! -z "${CBUILD}" ]; then > LOCAL_EXTRA_ECONF="--build=${CBUILD} ${LOCAL_EXTRA_ECONF}"; > fi; > if [ ! -z "${CTARGET}" ]; then > LOCAL_EXTRA_ECONF="--target=${CTARGET} ${LOCAL_EXTRA_ECONF}"; > fi; > LIBDIR_VAR="LIBDIR_${ABI}"; > if [ -n "${ABI}" -a -n "${!LIBDIR_VAR}" ]; then > CONF_LIBDIR="${!LIBDIR_VAR}"; > fi; > unset LIBDIR_VAR; > if [ -n "${CONF_LIBDIR}" ] && [ "${*/--libdir}" == "$*" ]; then > if [ "${*/--exec-prefix}" != "$*" ]; then > local args="$(echo $*)"; > local -a pref=($(echo ${args/*--exec-prefix[= ]})); > CONF_PREFIX=${pref}; > [ "${CONF_PREFIX:0:1}" != "/" ] && CONF_PREFIX="/${CONF_PREFIX}"; > else > if [ "${*/--prefix}" != "$*" ]; then > local args="$(echo $*)"; > local -a pref=($(echo ${args/*--prefix[= ]})); > CONF_PREFIX=${pref}; > [ "${CONF_PREFIX:0:1}" != "/" ] && CONF_PREFIX="/${CONF_PREFIX}"; > else > CONF_PREFIX="/usr"; > fi; > fi; > export CONF_PREFIX; > [ "${CONF_LIBDIR:0:1}" != "/" ] && CONF_LIBDIR="/${CONF_LIBDIR}"; > CONF_LIBDIR_RESULT="$(strip_duplicate_slashes ${CONF_PREFIX}${CONF_LIBDIR})"; > LOCAL_EXTRA_ECONF="--libdir=${CONF_LIBDIR_RESULT} ${LOCAL_EXTRA_ECONF}"; > fi; > local TMP_CONFCACHE_DIR CONFCACHE_ARG; > if hasq confcache $FEATURES && ! hasq confcache $RESTRICT; then > CONFCACHE="$(type -p confcache)"; > if [ -z "${CONFCACHE}" ]; then > ewarn "disabling confcache, binary cannot be found"; > else > CONFCACHE="${CONFCACHE/ /\ }"; > TMP_CONFCACHE_DIR="${CONFCACHE:+${CONFCACHE_DIR:-${PORTAGE_TMPDIR}/confcache}}"; > TMP_CONFCACHE_DIR="${TMP_CONFCACHE_DIR/ /\ }"; > CONFCACHE_ARG="--confcache-dir"; > local s; > if [ -n "$CCACHE_DIR" ]; then > s="$CCACHE_DIR"; > fi; > if [ -n "$DISTCC_DIR" ]; then > s="${s:+${s}:}$DISTCC_DIR"; > fi; > if [ -n "$s" ]; then > CONFCACHE_ARG="--confcache-ignore $s $CONFCACHE_ARG"; > fi; > fi; > else > CONFCACHE=; > fi; > vecho ${CONFCACHE} ${CONFCACHE_ARG} ${TMP_CONFCACHE_DIR} "${ECONF_SOURCE}/configure" --prefix=/usr --host=${CHOST} --mandir=/usr/share/man --infodir=/usr/share/info --datadir=/usr/share --sysconfdir=/etc --localstatedir=/var/lib "$@" ${LOCAL_EXTRA_ECONF}; > if ! ${CONFCACHE} ${CONFCACHE_ARG} ${TMP_CONFCACHE_DIR} "${ECONF_SOURCE}/configure" --prefix=/usr --host=${CHOST} --mandir=/usr/share/man --infodir=/usr/share/info --datadir=/usr/share --sysconfdir=/etc --localstatedir=/var/lib "$@" ${LOCAL_EXTRA_ECONF}; then > if [ -s config.log ]; then > echo; > echo "!!! Please attach the following file when filing a report to bugs.gentoo.org:"; > echo "!!! ${PWD}/config.log"; > fi; > diefunc "$FUNCNAME" "$LINENO" "$?" "econf failed"; > fi; > else > diefunc "$FUNCNAME" "$LINENO" "$?" "no configure script found"; > fi >} >edos2unix () >{ > for f in "$@"; > do > cp "${f}" ${T}/edos2unix; > sed 's/\r$//' ${T}/edos2unix >"${f}"; > done >} >eend () >{ > local retval=${1:-0}; > shift; > _eend ${retval} eerror "$*"; > return ${retval} >} >eerror () >{ > enotice error "${*}" >} >egetent () >{ > case ${CHOST} in > *-darwin*) > case "$2" in > *[!0-9]*) > nidump $1 . | awk -F":" "{ if (\$1 ~ /^$2$/) {print \$0;exit;} }" > ;; > *) > nidump $1 . | awk -F":" "{ if (\$3 == $2) {print \$0;exit;} }" > ;; > esac > ;; > *-freebsd* | *-dragonfly*) > local opts action="user"; > [[ $1 == "passwd" ]] || action="group"; > if [[ $2 == [[:digit:]]* ]]; then > [[ ${action} == "user" ]] && opts="-u" || opts="-g"; > fi; > pw show ${action} ${opts} "$2" -q > ;; > *-netbsd* | *-openbsd*) > grep "$2:\*:" /etc/$1 > ;; > *) > type -p nscd >&/dev/null && nscd -i "$1"; > getent "$1" "$2" > ;; > esac >} >egethome () >{ > ent=$(egetent passwd $1); > case ${CHOST} in > *-darwin* | *-freebsd* | *-dragonfly*) > echo ${ent} | cut -d: -f9 > ;; > *) > echo ${ent} | cut -d: -f6 > ;; > esac >} >egetshell () >{ > ent=$(egetent passwd "$1"); > case ${CHOST} in > *-darwin* | *-freebsd* | *-dragonfly*) > echo ${ent} | cut -d: -f10 > ;; > *) > echo ${ent} cut -d: -f7 > ;; > esac >} >einfo () >{ > enotice info "${*}" >} >einfon () >{ > elog_base INFO "$*"; > [[ ${RC_ENDCOL} != "yes" && ${LAST_E_CMD} == "ebegin" ]] && echo; > echo -ne " ${GOOD}*${NORMAL} $*"; > LAST_E_CMD="einfon"; > return 0 >} >einstall () >{ > LIBDIR_VAR="LIBDIR_${ABI}"; > if [ -n "${ABI}" -a -n "${!LIBDIR_VAR}" ]; then > CONF_LIBDIR="${!LIBDIR_VAR}"; > fi; > unset LIBDIR_VAR; > if [ -n "${CONF_LIBDIR}" ] && [ "${CONF_PREFIX:-unset}" != "unset" ]; then > EI_DESTLIBDIR="${D}/${CONF_PREFIX}/${CONF_LIBDIR}"; > EI_DESTLIBDIR="$(strip_duplicate_slashes ${EI_DESTLIBDIR})"; > EXTRA_EINSTALL="libdir=${EI_DESTLIBDIR} ${EXTRA_EINSTALL}"; > unset EI_DESTLIBDIR; > fi; > if [ -f ./[mM]akefile -o -f ./GNUmakefile ]; then > if [ ! -z "${PORTAGE_DEBUG}" ]; then > make -n prefix=${D}/usr datadir=${D}/usr/share infodir=${D}/usr/share/info localstatedir=${D}/var/lib mandir=${D}/usr/share/man sysconfdir=${D}/etc ${EXTRA_EINSTALL} "$@" install; > fi; > make prefix=${D}/usr datadir=${D}/usr/share infodir=${D}/usr/share/info localstatedir=${D}/var/lib mandir=${D}/usr/share/man sysconfdir=${D}/etc ${EXTRA_EINSTALL} "$@" install || diefunc "$FUNCNAME" "$LINENO" "$?" "einstall failed"; > else > diefunc "$FUNCNAME" "$LINENO" "$?" "no Makefile found"; > fi >} >elog () >{ > elog_base LOG "$*"; > echo -e " ${GOOD}*${NORMAL} $*"; > return 0 >} >elog_base () >{ > local messagetype; > [ -z "${1}" -o -z "${T}" -o ! -d "${T}/logging" ] && return 1; > case "${1}" in > INFO | WARN | ERROR | LOG) > messagetype="${1}"; > shift > ;; > *) > vecho -e " ${BAD}*${NORMAL} Invalid use of internal function elog_base(), next message will not be logged"; > return 1 > ;; > esac; > echo -e "$*" >>${T}/logging/${EBUILD_PHASE:-other}.${messagetype}; > return 0 >} >emktemp () >{ > local exe="touch"; > [[ $1 == -d ]] && exe="mkdir" && shift; > local topdir=$1; > if [[ -z ${topdir} ]]; then > [[ -z ${T} ]] && topdir="/tmp" || topdir=${T}; > fi; > if [[ -z $(type -p mktemp) ]]; then > local tmp=/; > while [[ -e ${tmp} ]]; do > tmp=${topdir}/tmp.${RANDOM}.${RANDOM}.${RANDOM}; > done; > ${exe} "${tmp}" || ${exe} -p "${tmp}"; > echo "${tmp}"; > else > if [[ ${exe} == "touch" ]]; then > [[ ${USERLAND} == "GNU" ]] && mktemp -p "${topdir}" || TMPDIR="${topdir}" mktemp -t tmp; > else > [[ ${USERLAND} == "GNU" ]] && mktemp -d "${topdir}" || TMPDIR="${topdir}" mktemp -dt tmp; > fi; > fi >} >enewgroup () >{ > case ${EBUILD_PHASE} in > unpack | compile | test | install) > eerror "'enewgroup()' called from '${EBUILD_PHASE}()' which is not a pkg_* function."; > eerror "Package fails at QA and at life. Please file a bug."; > diefunc "$FUNCNAME" "$LINENO" "$?" "Bad package! enewgroup is only for use in pkg_* functions!" > ;; > esac; > local egroup="$1"; > shift; > if [ -z "${egroup}" ]; then > eerror "No group specified !"; > diefunc "$FUNCNAME" "$LINENO" "$?" "Cannot call enewgroup without a group"; > fi; > if [[ -n $(egetent group "${egroup}") ]]; then > return 0; > fi; > einfo "Adding group '${egroup}' to your system ..."; > local opts=; > local egid="$1"; > shift; > if [ ! -z "${egid}" ]; then > if [ "${egid}" -gt 0 ]; then > if [ -z "`egetent group ${egid}`" ]; then > if [[ "${CHOST}" == *-darwin* ]]; then > opts="${opts} ${egid}"; > else > opts="${opts} -g ${egid}"; > fi; > else > egid="next available; requested gid taken"; > fi; > else > eerror "Groupid given but is not greater than 0 !"; > diefunc "$FUNCNAME" "$LINENO" "$?" "${egid} is not a valid GID"; > fi; > else > egid="next available"; > fi; > einfo " - Groupid: ${egid}"; > local eextra="$@"; > opts="${opts} ${eextra}"; > local oldsandbox="${SANDBOX_ON}"; > export SANDBOX_ON="0"; > case ${CHOST} in > *-darwin*) > if [ ! -z "${eextra}" ]; then > einfo "Extra options are not supported on Darwin/OS X yet"; > einfo "Please report the ebuild along with the info below"; > einfo "eextra: ${eextra}"; > diefunc "$FUNCNAME" "$LINENO" "$?" "Required function missing"; > fi; > case ${egid} in > *[!0-9]*) > for ((egid = 101; egid <= 999; egid++)) > do > [[ -z $(egetent group ${egid}) ]] && break; > done > ;; > esac; > dscl . create /groups/${egroup} gid ${egid}; > dscl . create /groups/${egroup} passwd '*' > ;; > *-freebsd* | *-dragonfly*) > case ${egid} in > *[!0-9]*) > for ((egid = 101; egid <= 999; egid++)) > do > [[ -z $(egetent group ${egid}) ]] && break; > done > ;; > esac; > pw groupadd ${egroup} -g ${egid} || diefunc "$FUNCNAME" "$LINENO" "$?" "enewgroup failed" > ;; > *-netbsd*) > case ${egid} in > *[!0-9]*) > for ((egid = 101; egid <= 999; egid++)) > do > [[ -z $(egetent group ${egid}) ]] && break; > done > ;; > esac; > groupadd -g ${egid} ${egroup} || diefunc "$FUNCNAME" "$LINENO" "$?" "enewgroup failed" > ;; > *) > groupadd ${opts} ${egroup} || diefunc "$FUNCNAME" "$LINENO" "$?" "enewgroup failed" > ;; > esac; > export SANDBOX_ON="${oldsandbox}" >} >enewuser () >{ > case ${EBUILD_PHASE} in > unpack | compile | test | install) > eerror "'enewuser()' called from '${EBUILD_PHASE}()' which is not a pkg_* function."; > eerror "Package fails at QA and at life. Please file a bug."; > diefunc "$FUNCNAME" "$LINENO" "$?" "Bad package! enewuser is only for use in pkg_* functions!" > ;; > esac; > local euser=$1; > shift; > if [[ -z ${euser} ]]; then > eerror "No username specified !"; > diefunc "$FUNCNAME" "$LINENO" "$?" "Cannot call enewuser without a username"; > fi; > if [[ -n $(egetent passwd "${euser}") ]]; then > return 0; > fi; > einfo "Adding user '${euser}' to your system ..."; > local opts=; > local euid=$1; > shift; > if [[ -n ${euid} && ${euid} != -1 ]]; then > if [[ ${euid} -gt 0 ]]; then > if [[ -n $(egetent passwd ${euid}) ]]; then > euid="next"; > fi; > else > eerror "Userid given but is not greater than 0 !"; > diefunc "$FUNCNAME" "$LINENO" "$?" "${euid} is not a valid UID"; > fi; > else > euid="next"; > fi; > if [[ ${euid} == "next" ]]; then > for ((euid = 101; euid <= 999; euid++)) > do > [[ -z $(egetent passwd ${euid}) ]] && break; > done; > fi; > opts="${opts} -u ${euid}"; > einfo " - Userid: ${euid}"; > local eshell=$1; > shift; > if [[ ! -z ${eshell} ]] && [[ ${eshell} != "-1" ]]; then > if [[ ! -e ${ROOT}${eshell} ]]; then > eerror "A shell was specified but it does not exist !"; > diefunc "$FUNCNAME" "$LINENO" "$?" "${eshell} does not exist in ${ROOT}"; > fi; > if [[ ${eshell} == */false || ${eshell} == */nologin ]]; then > eerror "Do not specify ${eshell} yourself, use -1"; > diefunc "$FUNCNAME" "$LINENO" "$?" "Pass '-1' as the shell parameter"; > fi; > else > for shell in /sbin/nologin /usr/sbin/nologin /bin/false /usr/bin/false /dev/null; > do > [[ -x ${ROOT}${shell} ]] && break; > done; > if [[ ${shell} == "/dev/null" ]]; then > eerror "Unable to identify the shell to use, proceeding with userland default."; > case ${USERLAND} in > GNU) > shell="/bin/false" > ;; > BSD) > shell="/sbin/nologin" > ;; > Darwin) > shell="/usr/sbin/nologin" > ;; > *) > diefunc "$FUNCNAME" "$LINENO" "$?" "Unable to identify the default shell for userland ${USERLAND}" > ;; > esac; > fi; > eshell=${shell}; > fi; > einfo " - Shell: ${eshell}"; > opts="${opts} -s ${eshell}"; > local ehome=$1; > shift; > if [[ -z ${ehome} ]] || [[ ${ehome} == "-1" ]]; then > ehome="/dev/null"; > fi; > einfo " - Home: ${ehome}"; > opts="${opts} -d ${ehome}"; > local egroups=$1; > shift; > if [[ ! -z ${egroups} ]]; then > local oldifs=${IFS}; > local defgroup="" exgroups=""; > export IFS=","; > for g in ${egroups}; > do > export IFS=${oldifs}; > if [[ -z $(egetent group "${g}") ]]; then > eerror "You must add group ${g} to the system first"; > diefunc "$FUNCNAME" "$LINENO" "$?" "${g} is not a valid GID"; > fi; > if [[ -z ${defgroup} ]]; then > defgroup=${g}; > else > exgroups="${exgroups},${g}"; > fi; > export IFS=","; > done; > export IFS=${oldifs}; > opts="${opts} -g ${defgroup}"; > if [[ ! -z ${exgroups} ]]; then > opts="${opts} -G ${exgroups:1}"; > fi; > else > egroups="(none)"; > fi; > einfo " - Groups: ${egroups}"; > local oldsandbox=${SANDBOX_ON}; > export SANDBOX_ON="0"; > case ${CHOST} in > *-darwin*) > if [[ -z $@ ]]; then > dscl . create /users/${euser} uid ${euid}; > dscl . create /users/${euser} shell ${eshell}; > dscl . create /users/${euser} home ${ehome}; > dscl . create /users/${euser} realname "added by portage for ${PN}"; > local oldifs=${IFS}; > export IFS=","; > for g in ${egroups}; > do > dscl . merge /groups/${g} users ${euser}; > done; > export IFS=${oldifs}; > else > einfo "Extra options are not supported on Darwin yet"; > einfo "Please report the ebuild along with the info below"; > einfo "eextra: $@"; > diefunc "$FUNCNAME" "$LINENO" "$?" "Required function missing"; > fi > ;; > *-freebsd* | *-dragonfly*) > if [[ -z $@ ]]; then > pw useradd ${euser} ${opts} -c "added by portage for ${PN}" die "enewuser failed"; > else > einfo " - Extra: $@"; > pw useradd ${euser} ${opts} "$@" || diefunc "$FUNCNAME" "$LINENO" "$?" "enewuser failed"; > fi > ;; > *-netbsd*) > if [[ -z $@ ]]; then > useradd ${opts} ${euser} || diefunc "$FUNCNAME" "$LINENO" "$?" "enewuser failed"; > else > einfo " - Extra: $@"; > useradd ${opts} ${euser} "$@" || diefunc "$FUNCNAME" "$LINENO" "$?" "enewuser failed"; > fi > ;; > *-openbsd*) > if [[ -z $@ ]]; then > useradd -u ${euid} -s ${eshell} -d ${ehome} -c "Added by portage for ${PN}" -g ${egroups} ${euser} || diefunc "$FUNCNAME" "$LINENO" "$?" "enewuser failed"; > else > einfo " - Extra: $@"; > useradd -u ${euid} -s ${eshell} -d ${ehome} -c "Added by portage for ${PN}" -g ${egroups} ${euser} "$@" || diefunc "$FUNCNAME" "$LINENO" "$?" "enewuser failed"; > fi > ;; > *) > if [[ -z $@ ]]; then > useradd ${opts} ${euser} -c "added by portage for ${PN}" || diefunc "$FUNCNAME" "$LINENO" "$?" "enewuser failed"; > else > einfo " - Extra: $@"; > useradd ${opts} ${euser} "$@" || diefunc "$FUNCNAME" "$LINENO" "$?" "enewuser failed"; > fi > ;; > esac; > if [[ ! -e ${ROOT}/${ehome} ]]; then > einfo " - Creating ${ehome} in ${ROOT}"; > mkdir -p "${ROOT}/${ehome}"; > chown ${euser} "${ROOT}/${ehome}"; > chmod 755 "${ROOT}/${ehome}"; > fi; > export SANDBOX_ON=${oldsandbox} >} >enotice () >{ > local color; > local type; > type="${1}"; > case "${type}" in > "info") > color="${GOOD}" > ;; > "warn") > color="${WARN}" > ;; > "error") > color="${BAD}" > ;; > esac; > shift; > if [ ! -z "${PORT_ENOTICE_DIR}" ]; then > echo "${type}:${*}" >>${PORT_ENOTICE_DIR}/${PF}; > fi; > echo " ${color}*${NORMAL} ${*}" >} >epatch () >{ > function _epatch_draw_line () > { > [[ -z $1 ]] && set "$(printf "%65s" '')"; > echo "${1//?/=}" > }; > function _epatch_assert () > { > local _pipestatus=${PIPESTATUS[*]}; > [[ ${_pipestatus// /} -eq 0 ]] > }; > local PIPE_CMD=""; > local STDERR_TARGET="${T}/$$.out"; > local PATCH_TARGET="${T}/$$.patch"; > local PATCH_SUFFIX=""; > local SINGLE_PATCH="no"; > local x=""; > unset P4CONFIG P4PORT P4USER; > if [ "$#" -gt 1 ]; then > local m=""; > for m in "$@"; > do > epatch "${m}"; > done; > return 0; > fi; > if [ -n "$1" -a -f "$1" ]; then > SINGLE_PATCH="yes"; > local EPATCH_SOURCE="$1"; > local EPATCH_SUFFIX="${1##*\.}"; > else > if [ -n "$1" -a -d "$1" ]; then > if [ "${EPATCH_FORCE}" = "yes" ] && [ -z "${EPATCH_SUFFIX}" ]; then > local EPATCH_SOURCE="$1/*"; > else > local EPATCH_SOURCE="$1/*.${EPATCH_SUFFIX}"; > fi; > else > if [ ! -d ${EPATCH_SOURCE} ] || [ -n "$1" ]; then > if [ -n "$1" -a "${EPATCH_SOURCE}" = "${WORKDIR}/patch" ]; then > EPATCH_SOURCE="$1"; > fi; > echo; > eerror "Cannot find \$EPATCH_SOURCE! Value for \$EPATCH_SOURCE is:"; > eerror; > eerror " ${EPATCH_SOURCE}"; > eerror " ( ${EPATCH_SOURCE##*/} )"; > echo; > diefunc "$FUNCNAME" "$LINENO" "$?" "Cannot find \$EPATCH_SOURCE!"; > fi; > local EPATCH_SOURCE="${EPATCH_SOURCE}/*.${EPATCH_SUFFIX}"; > fi; > fi; > case ${EPATCH_SUFFIX##*\.} in > bz2) > PIPE_CMD="bzip2 -dc"; > PATCH_SUFFIX="bz2" > ;; > gz | Z | z) > PIPE_CMD="gzip -dc"; > PATCH_SUFFIX="gz" > ;; > ZIP | zip) > PIPE_CMD="unzip -p"; > PATCH_SUFFIX="zip" > ;; > *) > PIPE_CMD="cat"; > PATCH_SUFFIX="patch" > ;; > esac; > if [ "${SINGLE_PATCH}" = "no" ]; then > einfo "${EPATCH_MULTI_MSG}"; > fi; > for x in ${EPATCH_SOURCE}; > do > if [ -f ${x} ] && ( [ "${SINGLE_PATCH}" = "yes" -o "${x/_all_}" != "${x}" -o "${x/_${ARCH}_}" != "${x}" ] || [ "${EPATCH_FORCE}" = "yes" ] ); then > local count=0; > local popts="${EPATCH_OPTS}"; > local patchname=${x##*/}; > if [ -n "${EPATCH_EXCLUDE}" ]; then > if [ "${EPATCH_EXCLUDE/${patchname}}" != "${EPATCH_EXCLUDE}" ]; then > continue; > fi; > fi; > if [ "${SINGLE_PATCH}" = "yes" ]; then > if [ -n "${EPATCH_SINGLE_MSG}" ]; then > einfo "${EPATCH_SINGLE_MSG}"; > else > einfo "Applying ${patchname} ..."; > fi; > else > einfo " ${patchname} ..."; > fi; > echo "***** ${patchname} *****" >${STDERR_TARGET%/*}/${patchname}-${STDERR_TARGET##*/}; > echo >>${STDERR_TARGET%/*}/${patchname}-${STDERR_TARGET##*/}; > while [ "${count}" -lt 5 ]; do > _epatch_draw_line "***** ${patchname} *****" >>${STDERR_TARGET%/*}/${patchname}-${STDERR_TARGET##*/}; > echo >>${STDERR_TARGET%/*}/${patchname}-${STDERR_TARGET##*/}; > if [ "${PATCH_SUFFIX}" != "patch" ]; then > echo -n "PIPE_COMMAND: " >>${STDERR_TARGET%/*}/${patchname}-${STDERR_TARGET##*/}; > echo "${PIPE_CMD} ${x} > ${PATCH_TARGET}" >>${STDERR_TARGET%/*}/${patchname}-${STDERR_TARGET##*/}; > else > PATCH_TARGET="${x}"; > fi; > echo -n "PATCH COMMAND: " >>${STDERR_TARGET%/*}/${patchname}-${STDERR_TARGET##*/}; > echo "patch -p${count} ${popts} < ${PATCH_TARGET}" >>${STDERR_TARGET%/*}/${patchname}-${STDERR_TARGET##*/}; > echo >>${STDERR_TARGET%/*}/${patchname}-${STDERR_TARGET##*/}; > _epatch_draw_line "***** ${patchname} *****" >>${STDERR_TARGET%/*}/${patchname}-${STDERR_TARGET##*/}; > if [ "${PATCH_SUFFIX}" != "patch" ]; then > if ! ( ${PIPE_CMD} ${x} >${PATCH_TARGET} ) >>${STDERR_TARGET%/*}/${patchname}-${STDERR_TARGET##*/} 2>&1; then > echo; > eerror "Could not extract patch!"; > count=5; > break; > fi; > fi; > if ( cat ${PATCH_TARGET} | patch -p${count} ${popts} --dry-run -f; > _epatch_assert ) >>${STDERR_TARGET%/*}/${patchname}-${STDERR_TARGET##*/} 2>&1; then > _epatch_draw_line "***** ${patchname} *****" >${STDERR_TARGET%/*}/${patchname}-${STDERR_TARGET##*/}.real; > echo >>${STDERR_TARGET%/*}/${patchname}-${STDERR_TARGET##*/}.real; > echo "ACTUALLY APPLYING ${patchname} ..." >>${STDERR_TARGET%/*}/${patchname}-${STDERR_TARGET##*/}.real; > echo >>${STDERR_TARGET%/*}/${patchname}-${STDERR_TARGET##*/}.real; > _epatch_draw_line "***** ${patchname} *****" >>${STDERR_TARGET%/*}/${patchname}-${STDERR_TARGET##*/}.real; > cat ${PATCH_TARGET} | patch -p${count} ${popts} >>${STDERR_TARGET%/*}/${patchname}-${STDERR_TARGET##*/}.real 2>&1; > _epatch_assert; > if [ "$?" -ne 0 ]; then > cat ${STDERR_TARGET%/*}/${patchname}-${STDERR_TARGET##*/}.real >>${STDERR_TARGET%/*}/${patchname}-${STDERR_TARGET##*/}; > echo; > eerror "A dry-run of patch command succeeded, but actually"; > eerror "applying the patch failed!"; > count=5; > fi; > rm -f ${STDERR_TARGET%/*}/${patchname}-${STDERR_TARGET##*/}.real; > break; > fi; > count=$((count + 1)); > done; > if [ "${PATCH_SUFFIX}" != "patch" ]; then > rm -f ${PATCH_TARGET}; > fi; > if [ "${count}" -eq 5 ]; then > echo; > eerror "Failed Patch: ${patchname} !"; > eerror " ( ${PATCH_TARGET} )"; > eerror; > eerror "Include in your bugreport the contents of:"; > eerror; > eerror " ${STDERR_TARGET%/*}/${patchname}-${STDERR_TARGET##*/}"; > echo; > diefunc "$FUNCNAME" "$LINENO" "$?" "Failed Patch: ${patchname}!"; > fi; > rm -f ${STDERR_TARGET%/*}/${patchname}-${STDERR_TARGET##*/}; > eend 0; > fi; > done; > if [ "${SINGLE_PATCH}" = "no" ]; then > einfo "Done with patching"; > fi >} >epause () >{ > [[ -z ${EPAUSE_IGNORE} ]] && sleep ${1:-5} >} >epunt_cxx () >{ > local dir=$1; > [[ -z ${dir} ]] && dir=${S}; > ebegin "Removing useless C++ checks"; > local f; > for f in $(find ${dir} -name configure); > do > patch -p0 "${f}" "${PORTDIR}/eclass/ELT-patches/nocxx/nocxx.patch" >/dev/null; > done; > eend 0 >} >esyslog () >{ > return 0 >} >ewarn () >{ > enotice warn "${*}" >} >exeinto () >{ > if [ "$1" == "/" ]; then > export EXEDESTTREE=""; > else > export EXEDESTTREE="$1"; > if [ ! -d "${D}${EXEDESTTREE}" ]; then > install -d "${D}${EXEDESTTREE}"; > fi; > fi >} >exeopts () >{ > export EXEOPTIONS="$@"; > hasq -s ${EXEOPTIONS} && diefunc "$FUNCNAME" "$LINENO" "$?" "Never call exeopts() with -s" >} >filter-flags () >{ > _filter-hardened "$@"; > _filter-var CFLAGS "$@"; > _filter-var CXXFLAGS "$@"; > return 0 >} >filter-ldflags () >{ > _filter-var LDFLAGS "$@"; > return 0 >} >filter-lfs-flags () >{ > [[ -n $@ ]] && diefunc "$FUNCNAME" "$LINENO" "$?" "filter-lfs-flags takes no arguments"; > filter-flags -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE >} >filter-mfpmath () >{ > local orig_mfpmath new_math prune_math; > orig_mfpmath=$(get-flag -mfpmath); > new_math=$(get-flag mfpmath); > new_math=" ${new_math//,/ } "; > prune_math=""; > for prune_math in "$@"; > do > new_math=${new_math/ ${prune_math} / }; > done; > new_math=$(echo ${new_math}); > new_math=${new_math// /,}; > if [[ -z ${new_math} ]]; then > filter-flags ${orig_mfpmath}; > else > replace-flags ${orig_mfpmath} -mfpmath=${new_math}; > fi; > return 0 >} >find_unpackable_file () >{ > local src=$1; > if [[ -z ${src} ]]; then > src=${DISTDIR}/${A}; > else > if [[ -e ${DISTDIR}/${src} ]]; then > src=${DISTDIR}/${src}; > else > if [[ -e ${PWD}/${src} ]]; then > src=${PWD}/${src}; > else > if [[ -e ${src} ]]; then > src=${src}; > fi; > fi; > fi; > fi; > [[ ! -e ${src} ]] && return 1; > echo "${src}" >} >gcc-fullversion () >{ > echo "$($(tc-getCC) -dumpversion)" >} >gcc-major-version () >{ > echo "$(gcc-version | cut -f1 -d.)" >} >gcc-micro-version () >{ > echo "$(gcc-fullversion | cut -f3 -d. | cut -f1 -d-)" >} >gcc-minor-version () >{ > echo "$(gcc-version | cut -f2 -d.)" >} >gcc-specs-directive () >{ > local cc=$(tc-getCC); > local specfiles=$(LC_ALL=C ${cc} -v 2>&1 | awk '$1=="Reading" {print $NF}'); > ${cc} -dumpspecs 2>/dev/null | cat - ${specfiles} | awk -v directive=$1 'BEGIN { pspec=""; spec=""; outside=1 } >$1=="*"directive":" { pspec=spec; spec=""; outside=0; next } > outside || NF==0 || ( substr($1,1,1)=="*" && substr($1,length($1),1)==":" ) { outside=1; next } > spec=="" && substr($0,1,1)=="+" { spec=pspec " " substr($0,2); next } > { spec=spec $0 } >END { print spec }'; > return 0 >} >gcc-specs-now () >{ > local directive; > directive=$(gcc-specs-directive link_command); > return $([[ ${directive/\{!nonow:} != ${directive} ]]) >} >gcc-specs-pie () >{ > local directive; > directive=$(gcc-specs-directive cc1); > return $([[ ${directive/\{!nopie:} != ${directive} ]]) >} >gcc-specs-relro () >{ > local directive; > directive=$(gcc-specs-directive link_command); > return $([[ ${directive/\{!norelro:} != ${directive} ]]) >} >gcc-specs-ssp () >{ > local directive; > directive=$(gcc-specs-directive cc1); > return $([[ ${directive/\{!fno-stack-protector:} != ${directive} ]]) >} >gcc-specs-ssp-to-all () >{ > local directive; > directive=$(gcc-specs-directive cc1); > return $([[ ${directive/\{!fno-stack-protector-all:} != ${directive} ]]) >} >gcc-version () >{ > echo "$(gcc-fullversion | cut -f1,2 -d.)" >} >gcc2-flags () >{ > if [[ $(tc-arch) == "x86" || $(tc-arch) == "amd64" ]]; then > CFLAGS=${CFLAGS//-mtune=/-mcpu=}; > CXXFLAGS=${CXXFLAGS//-mtune=/-mcpu=}; > fi; > replace-cpu-flags k6-{2,3} k6; > replace-cpu-flags athlon{,-{tbird,4,xp,mp}} i686; > replace-cpu-flags pentium-mmx i586; > replace-cpu-flags pentium{2,3,4} i686; > replace-cpu-flags ev6{7,8} ev6; > export CFLAGS CXXFLAGS >} >gen_usr_ldscript () >{ > _tc_gen_usr_ldscript "$@" >} >gen_wrapper () >{ > cat >"$1" <<-EOF >#!/bin/sh >exec $2 "\$@" >EOF > > chmod 0755 "$1" >} >get-flag () >{ > local f findflag="$1"; > for f in ${CFLAGS} ${CXXFLAGS}; > do > if [ "${f/${findflag}}" != "${f}" ]; then > printf "%s\n" "${f/-${findflag}=}"; > return 0; > fi; > done; > return 1 >} >get_KV () >{ > [[ -z ${_RC_GET_KV_CACHE} ]] && _RC_GET_KV_CACHE=$(uname -r); > echo $(KV_to_int "${_RC_GET_KV_CACHE}"); > return $? >} >get_abi_ASFLAGS () >{ > get_abi_var ASFLAGS "$@" >} >get_abi_CDEFINE () >{ > get_abi_var CDEFINE "$@" >} >get_abi_CFLAGS () >{ > get_abi_var CFLAGS "$@" >} >get_abi_CHOST () >{ > get_abi_var CHOST "$@" >} >get_abi_CTARGET () >{ > get_abi_var CTARGET "$@" >} >get_abi_FAKE_TARGETS () >{ > get_abi_var FAKE_TARGETS "$@" >} >get_abi_LDFLAGS () >{ > get_abi_var LDFLAGS "$@" >} >get_abi_LIBDIR () >{ > get_abi_var LIBDIR "$@" >} >get_abi_var () >{ > local flag=$1; > local abi; > if [ $# -gt 1 ]; then > abi=${2}; > else > if [ -n "${ABI}" ]; then > abi=${ABI}; > else > if [ -n "${DEFAULT_ABI}" ]; then > abi=${DEFAULT_ABI}; > else > abi="default"; > fi; > fi; > fi; > local var="${flag}_${abi}"; > echo ${!var} >} >get_all_abis () >{ > local order=""; > if [[ -z ${MULTILIB_ABIS} ]]; then > echo "default"; > return 0; > fi; > for x in ${MULTILIB_ABIS}; > do > if [[ ${x} != ${DEFAULT_ABI} ]]; then > order="${order:+${order} }${x}"; > fi; > done; > order="${order:+${order} }${DEFAULT_ABI}"; > echo ${order}; > return 0 >} >get_all_libdirs () >{ > local libdirs="lib"; > local abi; > local dir; > for abi in ${MULTILIB_ABIS}; > do > [ "$(get_abi_LIBDIR ${abi})" != "lib" ] && libdirs="${libdirs} $(get_abi_LIBDIR ${abi})"; > done; > echo "${libdirs}" >} >get_bmake () >{ > if [[ ${USERLAND} == *BSD ]]; then > echo make; > else > if [[ ${USERLAND} == "Darwin" ]]; then > echo bsdmake; > else > echo pmake; > fi; > fi >} >get_install_abis () >{ > local order=""; > if [[ -z ${MULTILIB_ABIS} ]]; then > echo "default"; > return 0; > fi; > if hasq multilib-pkg-force ${RESTRICT} || { > hasq multilib-pkg ${FEATURES} && hasq multilib-pkg ${RESTRICT} > }; then > for x in ${MULTILIB_ABIS}; > do > if [[ ${x} != "${DEFAULT_ABI}" ]]; then > hasq ${x} ${ABI_DENY} || ordera="${ordera} ${x}"; > fi; > done; > hasq ${DEFAULT_ABI} ${ABI_DENY} || order="${ordera} ${DEFAULT_ABI}"; > if [[ -n ${ABI_ALLOW} ]]; then > local ordera=""; > for x in ${order}; > do > if hasq ${x} ${ABI_ALLOW}; then > ordera="${ordera} ${x}"; > fi; > done; > order=${ordera}; > fi; > else > order=${DEFAULT_ABI}; > fi; > if [[ -z ${order} ]]; then > diefunc "$FUNCNAME" "$LINENO" "$?" "The ABI list is empty. Are you using a proper multilib profile? Perhaps your USE flags or MULTILIB_ABIS are too restrictive for this package."; > fi; > echo ${order}; > return 0 >} >get_libdir () >{ > local CONF_LIBDIR; > if [ -n "${CONF_LIBDIR_OVERRIDE}" ]; then > echo ${CONF_LIBDIR_OVERRIDE}; > else > get_abi_LIBDIR; > fi >} >get_libdir_override () >{ > if has_multilib_profile; then > eerror "get_libdir_override called, but it shouldn't be needed with the new multilib approach. Please file a bug at http://bugs.gentoo.org and assign it to eradicator@gentoo.org"; > exit 1; > fi; > CONF_LIBDIR="$1"; > CONF_LIBDIR_OVERRIDE="$1"; > LIBDIR_default="$1" >} >get_libname () >{ > local libname; > local ver=$1; > case ${CHOST} in > *-darwin*) > libname="dylib" > ;; > *) > libname="so" > ;; > esac; > if [[ -z $@ ]]; then > echo ".${libname}"; > else > for ver in "$@"; > do > case ${CHOST} in > *-darwin*) > echo ".${ver}.${libname}" > ;; > *) > echo ".${libname}.${ver}" > ;; > esac; > done; > fi >} >get_ml_incdir () >{ > local dir=/usr/include; > if [[ $# -gt 0 ]]; then > incdir=$1; > shift; > fi; > if [[ -z "${MULTILIB_ABIS}" ]]; then > echo ${incdir}; > return 0; > fi; > local abi=${ABI-${DEFAULT_ABI}}; > if [[ $# -gt 0 ]]; then > abi=$1; > shift; > fi; > if [[ -d "${dir}/gentoo-multilib/${abi}" ]]; then > echo ${dir}/gentoo-multilib/${abi}; > else > echo ${dir}; > fi >} >get_mounts () >{ > local point= node= fs= opts= foo=; > if [[ $(uname -s) == "Linux" ]]; then > while read node point fs opts foo; do > echo "${point} ${node} ${fs} ${opts}"; > done </proc/mounts; > return; > fi; > local IFS=' '; > LC_ALL=C mount -p | while read node point fs foo; do > opts=${fs#* }; > fs=${fs%% *}; > echo "${point// /\040} ${node// /\040} ${fs%% *} ${opts// /\040}"; > done >} >get_multilibdir () >{ > if has_multilib_profile; then > eerror "get_multilibdir called, but it shouldn't be needed with the new multilib approach. Please file a bug at http://bugs.gentoo.org and assign it to eradicator@gentoo.org"; > exit 1; > fi; > echo ${CONF_MULTILIBDIR:=lib32} >} >has () >{ > hasq "$@" >} >has_hardened () >{ > ewarn "has_hardened: deprecated, please use gcc-specs-{relro,now}()!" 1>&2; > test_version_info Hardened && return 0; > [[ -f ${GCC_SPECS} && ${GCC_SPECS} != ${GCC_SPECS/hardened/} ]] >} >has_m32 () >{ > [ "$(tc-arch)" = "amd64" ] && has_multilib_profile && return 0; > local temp=$(emktemp); > echo "int main() { return(0); }" >"${temp}".c; > MY_CC=$(tc-getCC); > ${MY_CC/ .*/} -m32 -o "$(emktemp)" "${temp}".c >/dev/null 2>&1; > local ret=$?; > rm -f "${temp}".c; > [[ ${ret} != 1 ]] && return 0; > return 1 >} >has_m64 () >{ > local temp="$(emktemp)"; > echo "int main() { return(0); }" >"${temp}".c; > MY_CC=$(tc-getCC); > ${MY_CC/ .*/} -m64 -o "$(emktemp)" "${temp}".c >/dev/null 2>&1; > local ret=$?; > rm -f "${temp}".c; > [[ ${ret} != 1 ]] && return 0; > return 1 >} >has_multilib_profile () >{ > [ -n "${MULTILIB_ABIS}" -a "${MULTILIB_ABIS}" != "${MULTILIB_ABIS/ /}" ] >} >has_pic () >{ > ewarn "has_pic: deprecated, please use gcc-specs-pie()!" 1>&2; > [[ ${CFLAGS/-fPIC} != ${CFLAGS} || ${CFLAGS/-fpic} != ${CFLAGS} ]] || gcc-specs-pie >} >has_pie () >{ > ewarn "has_pie: deprecated, please use gcc-specs-pie()!" 1>&2; > [[ ${CFLAGS/-fPIE} != ${CFLAGS} || ${CFLAGS/-fpie} != ${CFLAGS} ]] || gcc-specs-pie >} >has_ssp () >{ > ewarn "has_ssp: deprecated, please use gcc-specs-ssp()!" 1>&2; > [[ ${CFLAGS/-fstack-protector} != ${CFLAGS} || -n $(echo | $(tc-getCC) ${CFLAGS} -E -dM - | grep __SSP__) ]] || gcc-specs-ssp >} >has_ssp_all () >{ > ewarn "has_ssp_all: deprecated, please use gcc-specs-ssp()!" 1>&2; > [[ ${CFLAGS/-fstack-protector-all} != ${CFLAGS} || -n $(echo | $(tc-getCC) ${CFLAGS} -E -dM - | grep __SSP_ALL__) ]] || gcc-specs-ssp-all >} >has_version () >{ > if [ "${EBUILD_PHASE}" == "depend" ]; then > diefunc "$FUNCNAME" "$LINENO" "$?" "portageq calls (has_version calls portageq) are not allowed in the global scope"; > fi; > if "${PORTAGE_BIN_PATH}/portageq" 'has_version' "${ROOT}" "$1"; then > return 0; > else > return 1; > fi >} >hasq () >{ > [[ " ${*:2} " == *" $1 "* ]] >} >hasv () >{ > if hasq "$@"; then > echo "$1"; > return 0; > fi; > return 1 >} >inherit () >{ > ECLASS_DEPTH=$(($ECLASS_DEPTH + 1)); > if [[ ${ECLASS_DEPTH} > 1 ]]; then > debug-print "*** Multiple Inheritence (Level: ${ECLASS_DEPTH})"; > fi; > local location; > local PECLASS; > local B_IUSE; > local B_DEPEND; > local B_RDEPEND; > local B_PDEPEND; > while [ "$1" ]; do > location="${ECLASSDIR}/${1}.eclass"; > PECLASS="$ECLASS"; > export ECLASS="$1"; > if [ "$EBUILD_PHASE" != "depend" ]; then > if ! hasq $ECLASS $INHERITED; then > vecho; > vecho "QA Notice: ECLASS '$ECLASS' inherited illegally in $CATEGORY/$PF" 1>&2; > vecho; > fi; > fi; > if [ -n "$PORTDIR_OVERLAY" ]; then > local overlay; > for overlay in ${PORTDIR_OVERLAY}; > do > olocation="${overlay}/eclass/${1}.eclass"; > if [ -e "$olocation" ]; then > location="${olocation}"; > debug-print " eclass exists: ${location}"; > fi; > done; > fi; > debug-print "inherit: $1 -> $location"; > [ ! -e "$location" ] && diefunc "$FUNCNAME" "$LINENO" "$?" "${1}.eclass could not be found by inherit()"; > set -f; > unset B_IUSE B_DEPEND B_RDEPEND B_PDEPEND; > [ "${IUSE-unset}" != "unset" ] && B_IUSE="${IUSE}"; > [ "${DEPEND-unset}" != "unset" ] && B_DEPEND="${DEPEND}"; > [ "${RDEPEND-unset}" != "unset" ] && B_RDEPEND="${RDEPEND}"; > [ "${PDEPEND-unset}" != "unset" ] && B_PDEPEND="${PDEPEND}"; > unset IUSE DEPEND RDEPEND PDEPEND; > set +f; > source "$location" || diefunc "$FUNCNAME" "$LINENO" "$?" "died sourcing $location in inherit()"; > set -f; > [ "${IUSE-unset}" != "unset" ] && export E_IUSE="${E_IUSE} ${IUSE}"; > [ "${DEPEND-unset}" != "unset" ] && export E_DEPEND="${E_DEPEND} ${DEPEND}"; > [ "${RDEPEND-unset}" != "unset" ] && export E_RDEPEND="${E_RDEPEND} ${RDEPEND}"; > [ "${PDEPEND-unset}" != "unset" ] && export E_PDEPEND="${E_PDEPEND} ${PDEPEND}"; > [ "${B_IUSE-unset}" != "unset" ] && IUSE="${B_IUSE}"; > [ "${B_IUSE-unset}" != "unset" ] || unset IUSE; > [ "${B_DEPEND-unset}" != "unset" ] && DEPEND="${B_DEPEND}"; > [ "${B_DEPEND-unset}" != "unset" ] || unset DEPEND; > [ "${B_RDEPEND-unset}" != "unset" ] && RDEPEND="${B_RDEPEND}"; > [ "${B_RDEPEND-unset}" != "unset" ] || unset RDEPEND; > [ "${B_PDEPEND-unset}" != "unset" ] && PDEPEND="${B_PDEPEND}"; > [ "${B_PDEPEND-unset}" != "unset" ] || unset PDEPEND; > set +f; > hasq $1 $INHERITED || export INHERITED="$INHERITED $1"; > export ECLASS="$PECLASS"; > shift; > done; > ((--ECLASS_DEPTH)); > return 0 >} >insinto () >{ > if [ "$1" == "/" ]; then > export INSDESTTREE=""; > else > export INSDESTTREE=$1; > if [ ! -d "${D}${INSDESTTREE}" ]; then > install -d "${D}${INSDESTTREE}"; > fi; > fi >} >insopts () >{ > export INSOPTIONS="$@"; > hasq -s ${INSOPTIONS} && diefunc "$FUNCNAME" "$LINENO" "$?" "Never call insopts() with -s" >} >into () >{ > if [ "$1" == "/" ]; then > export DESTTREE=""; > else > export DESTTREE=$1; > if [ ! -d "${D}${DESTTREE}" ]; then > install -d "${D}${DESTTREE}"; > fi; > fi >} >is-flag () >{ > if is-flagq ${1}; then > echo true; > return 0; > fi; > return 1 >} >is-flagq () >{ > local x; > for x in ${CFLAGS} ${CXXFLAGS}; > do > if [[ ${x} == ${1} ]]; then > return 0; > fi; > done; > return 1 >} >is-ldflag () >{ > if is-ldflagq ${1}; then > echo true; > return 0; > fi; > return 1 >} >is-ldflagq () >{ > local x; > for x in ${LDFLAGS}; > do > if [[ ${x} == ${1} ]]; then > return 0; > fi; > done; > return 1 >} >is-login-disabled () >{ > shell=$(egetshell "$1"); > case ${shell} in > /bin/false | /usr/bin/false | /sbin/nologin | /usr/sbin/nologin) > return 0 > ;; > *) > return 1 > ;; > esac >} >is_final_abi () >{ > has_multilib_profile || return 0; > local ALL_ABIS=$(get_install_abis); > local LAST_ABI=${ALL_ABIS/* /}; > [[ ${LAST_ABI} == ${ABI} ]] >} >keepdir () >{ > dodir "$@"; > local x; > if [ "$1" == "-R" ] || [ "$1" == "-r" ]; then > shift; > find "$@" -type d -printf "${D}/%p/.keep_${CATEGORY}_${PN}-${SLOT}\n" | tr "\n" "\0" | $XARGS -0 -n100 touch || diefunc "$FUNCNAME" "$LINENO" "$?" "Failed to recursive create .keep files"; > else > for x in "$@"; > do > touch "${D}/${x}/.keep_${CATEGORY}_${PN}-${SLOT}" || diefunc "$FUNCNAME" "$LINENO" "$?" "Failed to create .keep in ${D}/${x}"; > done; > fi >} >lchgrp () >{ > chgrp -h "$@" >} >lchown () >{ > chown -h "$@" >} >libopts () >{ > export LIBOPTIONS="$@"; > hasq -s ${LIBOPTIONS} && diefunc "$FUNCNAME" "$LINENO" "$?" "Never call libopts() with -s" >} >make_desktop_entry () >{ > [[ -z $1 ]] && eerror "make_desktop_entry: You must specify the executable" && return 1; > local exec=${1}; > local name=${2:-${PN}}; > local icon=${3:-${PN}.png}; > local type=${4}; > local path=${5}; > if [[ -z ${type} ]]; then > local catmaj=${CATEGORY%%-*}; > local catmin=${CATEGORY##*-}; > case ${catmaj} in > app) > case ${catmin} in > admin) > type=System > ;; > cdr) > type=DiscBurning > ;; > dicts) > type=Dictionary > ;; > editors) > type=TextEditor > ;; > emacs) > type=TextEditor > ;; > emulation) > type=Emulator > ;; > laptop) > type=HardwareSettings > ;; > office) > type=Office > ;; > vim) > type=TextEditor > ;; > xemacs) > type=TextEditor > ;; > *) > type= > ;; > esac > ;; > dev) > type="Development" > ;; > games) > case ${catmin} in > action) > type=ActionGame > ;; > arcade) > type=ArcadeGame > ;; > board) > type=BoardGame > ;; > kids) > type=KidsGame > ;; > emulation) > type=Emulator > ;; > puzzle) > type=LogicGame > ;; > rpg) > type=RolePlaying > ;; > roguelike) > type=RolePlaying > ;; > simulation) > type=Simulation > ;; > sports) > type=SportsGame > ;; > strategy) > type=StrategyGame > ;; > *) > type= > ;; > esac; > type="Game;${type}" > ;; > mail) > type="Network;Email" > ;; > media) > case ${catmin} in > gfx) > type=Graphics > ;; > radio) > type=Tuner > ;; > sound) > type=Audio > ;; > tv) > type=TV > ;; > video) > type=Video > ;; > *) > type= > ;; > esac; > type="AudioVideo;${type}" > ;; > net) > case ${catmin} in > dialup) > type=Dialup > ;; > ftp) > type=FileTransfer > ;; > im) > type=InstantMessaging > ;; > irc) > type=IRCClient > ;; > mail) > type=Email > ;; > news) > type=News > ;; > nntp) > type=News > ;; > p2p) > type=FileTransfer > ;; > *) > type= > ;; > esac; > type="Network;${type}" > ;; > sci) > case ${catmin} in > astro*) > type=Astronomy > ;; > bio*) > type=Biology > ;; > calc*) > type=Calculator > ;; > chem*) > type=Chemistry > ;; > geo*) > type=Geology > ;; > math*) > type=Math > ;; > *) > type= > ;; > esac; > type="Science;${type}" > ;; > www) > case ${catmin} in > client) > type=WebBrowser > ;; > *) > type= > ;; > esac; > type="Network" > ;; > *) > type= > ;; > esac; > fi; > if [ "${SLOT}" == "0" ]; then > local desktop_name="${PN}"; > else > local desktop_name="${PN}-${SLOT}"; > fi; > local desktop=${T}/${exec%% *}-${desktop_name}.desktop; > echo "[Desktop Entry] >Encoding=UTF-8 >Version=0.9.2 >Name=${name} >Type=Application >Comment=${DESCRIPTION} >Exec=${exec} >TryExec=${exec%% *} >Path=${path} >Icon=${icon} >Categories=Application;${type};" >"${desktop}"; > ( insinto /usr/share/applications; > doins "${desktop}" ) >} >make_session_desktop () >{ > [[ -z $1 ]] && eerror "make_session_desktop: You must specify the title" && return 1; > [[ -z $2 ]] && eerror "make_session_desktop: You must specify the command" && return 1; > local title=$1; > local command=$2; > local desktop=${T}/${wm}.desktop; > echo "[Desktop Entry] >Encoding=UTF-8 >Name=${title} >Comment=This session logs you into ${title} >Exec=${command} >TryExec=${command} >Type=Application" >"${desktop}"; > insinto /usr/share/xsessions; > doins "${desktop}" >} >make_wrapper () >{ > local wrapper=$1 bin=$2 chdir=$3 libdir=$4 path=$5; > local tmpwrapper=$(emktemp); > cat >"${tmpwrapper}" <<EOF >#!/bin/sh >cd "${chdir:-.}" >if [ -n "${libdir}" ] ; then > if [ "\${LD_LIBRARY_PATH+set}" = "set" ] ; then > export LD_LIBRARY_PATH="\${LD_LIBRARY_PATH}:${libdir}" > else > export LD_LIBRARY_PATH="${libdir}" > fi >fi >exec ${bin} "\$@" >EOF > > chmod go+rx "${tmpwrapper}"; > if [[ -n ${path} ]]; then > exeinto "${path}"; > newexe "${tmpwrapper}" "${wrapper}"; > else > newbin "${tmpwrapper}" "${wrapper}"; > fi >} >multilib_env () >{ > local CTARGET=${1:-${CTARGET}}; > case ${CTARGET} in > x86_64*) > export CFLAGS_x86=${CFLAGS_x86--m32}; > export CHOST_x86=${CTARGET/x86_64/i686}; > export CTARGET_x86=${CHOST_x86}; > export CDEFINE_x86="__i386__"; > export LIBDIR_x86="lib"; > export CFLAGS_amd64=${CFLAGS_amd64--m64}; > export CHOST_amd64=${CTARGET}; > export CTARGET_amd64=${CHOST_amd64}; > export CDEFINE_amd64="__x86_64__"; > export LIBDIR_amd64="lib64"; > export MULTILIB_ABIS="amd64 x86"; > export DEFAULT_ABI="amd64" > ;; > mips64*) > export CFLAGS_o32=${CFLAGS_o32--mabi=32}; > export CHOST_o32=${CTARGET/mips64/mips}; > export CTARGET_o32=${CHOST_o32}; > export CDEFINE_o32="_MIPS_SIM == _ABIO32"; > export LIBDIR_o32="lib"; > export CFLAGS_n32=${CFLAGS_n32--mabi=n32}; > export CHOST_n32=${CTARGET}; > export CTARGET_n32=${CHOST_n32}; > export CDEFINE_n32="_MIPS_SIM == _ABIN32"; > export LIBDIR_n32="lib32"; > export CFLAGS_n64=${CFLAGS_n64--mabi=64}; > export CHOST_n64=${CTARGET}; > export CTARGET_n64=${CHOST_n64}; > export CDEFINE_n64="_MIPS_SIM == _ABI64"; > export LIBDIR_n64="lib64"; > export MULTILIB_ABIS="n64 n32 o32"; > export DEFAULT_ABI="n32" > ;; > powerpc64*) > export CFLAGS_ppc=${CFLAGS_ppc--m32}; > export CHOST_ppc=${CTARGET/powerpc64/powerpc}; > export CTARGET_ppc=${CHOST_ppc}; > export CDEFINE_ppc="!__powerpc64__"; > export LIBDIR_ppc="lib"; > export CFLAGS_ppc64=${CFLAGS_ppc64--m64}; > export CHOST_ppc64=${CTARGET}; > export CTARGET_ppc64=${CHOST_ppc64}; > export CDEFINE_ppc64="__powerpc64__"; > export LIBDIR_ppc64="lib64"; > export MULTILIB_ABIS="ppc64 ppc"; > export DEFAULT_ABI="ppc64" > ;; > s390x*) > export CFLAGS_s390=${CFLAGS_s390--m31}; > export CHOST_s390=${CTARGET/s390x/s390}; > export CTARGET_s390=${CHOST_s390}; > export CDEFINE_s390="!__s390x__"; > export LIBDIR_s390="lib"; > export CFLAGS_s390x=${CFLAGS_s390x--m64}; > export CHOST_s390x=${CTARGET}; > export CTARGET_s390x=${CHOST_s390x}; > export CDEFINE_s390x="__s390x__"; > export LIBDIR_s390x="lib64"; > export MULTILIB_ABIS="s390x s390"; > export DEFAULT_ABI="s390x" > ;; > sparc64*) > export CFLAGS_sparc32=${CFLAGS_sparc32--m32}; > export CHOST_sparc32=${CTARGET/sparc64/sparc}; > export CTARGET_sparc32=${CHOST_sparc32}; > export CDEFINE_sparc32="!__arch64__"; > export LIBDIR_sparc32="lib"; > export CFLAGS_sparc64=${CFLAGS_sparc64--m64}; > export CHOST_sparc64=${CTARGET}; > export CTARGET_sparc64=${CHOST_sparc64}; > export CDEFINE_sparc64="__arch64__"; > export LIBDIR_sparc64="lib64"; > export MULTILIB_ABIS="sparc64 sparc32"; > export DEFAULT_ABI="sparc64" > ;; > *) > export MULTILIB_ABIS="default"; > export DEFAULT_ABI="default" > ;; > esac >} >multilib_toolchain_setup () >{ > export ABI=$1; > if has_version app-admin/eselect-compiler; then > export LD="ld $(get_abi_LDFLAGS $1)"; > export AS="as $(get_abi_ASFLAGS $1)"; > export CHOST=$(get_abi_CHOST $1); > export CBUILD=$(get_abi_CHOST $1); > else > tc-export CC; > fi >} >newdepend () >{ > debug-print-function newdepend $*; > debug-print "newdepend: E_DEPEND=$E_DEPEND E_RDEPEND=$E_RDEPEND"; > while [ -n "$1" ]; do > case $1 in > "/autotools") > do_newdepend DEPEND sys-devel/autoconf sys-devel/automake sys-devel/make > ;; > "/c") > do_newdepend DEPEND sys-devel/gcc virtual/libc; > do_newdepend RDEPEND virtual/libc > ;; > *) > do_newdepend DEPEND $1 > ;; > esac; > shift; > done >} >newicon () >{ > insinto /usr/share/pixmaps; > newins "$1" "$2" >} >newmenu () >{ > insinto /usr/share/applications; > newins "$1" "$2" >} >newpamd () >{ > [[ $# -ne 2 ]] && diefunc "$FUNCNAME" "$LINENO" "$?" "newpamd requires two arguements"; > use pam || return 0; > INSDESTTREE=/etc/pam.d newins "$1" "$2" || diefunc "$FUNCNAME" "$LINENO" "$?" "failed to install $1 as $2" >} >newpdepend () >{ > debug-print-function newpdepend $*; > do_newdepend PDEPEND $1 >} >newrdepend () >{ > debug-print-function newrdepend $*; > do_newdepend RDEPEND $1 >} >number_abis () >{ > get_install_abis | wc -w >} >pkg_config () >{ > eerror "This ebuild does not have a config function." >} >pkg_nofetch () >{ > [ -z "${SRC_URI}" ] && return; > echo "!!! The following are listed in SRC_URI for ${PN}:"; > local x; > for x in $(echo ${SRC_URI}); > do > echo "!!! ${x}"; > done >} >pkg_postinst () >{ > return >} >pkg_postrm () >{ > return >} >pkg_preinst () >{ > return >} >pkg_prerm () >{ > return >} >pkg_setup () >{ > return >} >portageq () >{ > if [ "${EBUILD_PHASE}" == "depend" ]; then > diefunc "$FUNCNAME" "$LINENO" "$?" "portageq calls are not allowed in the global scope"; > fi; > "${PORTAGE_BIN_PATH}/portageq" "$@" >} >prep_ml_includes () >{ > if [[ $(number_abis) -gt 1 ]]; then > local dir; > local dirs; > local base; > if [[ $# -eq 0 ]]; then > dirs=/usr/include; > else > dirs="$@"; > fi; > for dir in ${dirs}; > do > base=${T}/gentoo-multilib/${dir}/gentoo-multilib; > mkdir -p "${base}"; > [[ -d ${base}/${ABI} ]] && rm -rf "${base}/${ABI}"; > mv "${D}/${dir}" "${base}/${ABI}"; > done; > if is_final_abi; then > base=${T}/gentoo-multilib; > pushd "${base}"; > find . | tar -c -T - -f - | tar -x --no-same-owner -f - -C ${D}; > popd; > set --; > for dir in ${dirs}; > do > set -- "$@" "${dir}"; > local abi; > for abi in $(get_install_abis); > do > set -- "$@" "$(get_abi_CDEFINE ${abi}):${dir}/gentoo-multilib/${abi}"; > done; > create_ml_includes "$@"; > done; > fi; > fi >} >preserve_old_lib () >{ > LIB=$1; > if [ -n "${LIB}" -a -f "${ROOT}${LIB}" ]; then > SONAME=`basename ${LIB}`; > DIRNAME=`dirname ${LIB}`; > dodir ${DIRNAME}; > cp ${ROOT}${LIB} ${D}${DIRNAME}; > touch ${D}${LIB}; > fi >} >preserve_old_lib_notify () >{ > LIB=$1; > if [ -n "${LIB}" -a -f "${ROOT}${LIB}" ]; then > SONAME=`basename ${LIB}`; > ewarn "An old version of an installed library was detected on your system."; > ewarn "In order to avoid breaking packages that link against it, this older version"; > ewarn "is not being removed. In order to make full use of this newer version,"; > ewarn "you will need to execute the following command:"; > ewarn " revdep-rebuild --library ${SONAME}"; > ewarn; > ewarn "After doing that, you can safely remove ${LIB}"; > ewarn "Note: 'emerge gentoolkit' to get revdep-rebuild"; > fi >} >quiet_mode () >{ > [[ ${PORTAGE_QUIET} -eq 1 ]] >} >raw-ldflags () >{ > local x input="$@"; > [[ -z ${input} ]] && input=${LDFLAGS}; > set --; > for x in ${input}; > do > x=${x#-Wl,}; > set -- "$@" ${x//,/ }; > done; > echo "$@" >} >register_die_hook () >{ > export EBUILD_DEATH_HOOKS="${EBUILD_DEATH_HOOKS} $*" >} >remove_path_entry () >{ > [ "${IFS:-unset}" != "unset" ] && old_IFS="${IFS}"; > IFS=":"; > stripped_path="${PATH}"; > while [ -n "$1" ]; do > cur_path=""; > for p in ${stripped_path}; > do > if [ "${p/${1}}" == "${p}" ]; then > cur_path="${cur_path}:${p}"; > fi; > done; > stripped_path="${cur_path#:*}"; > shift; > done; > if [ "${old_IFS:-unset}" != "unset" ]; then > IFS="${old_IFS}"; > unset old_IFS; > else > unset IFS; > fi; > PATH="${stripped_path}" >} >replace-cpu-flags () >{ > local newcpu="$#"; > newcpu="${!newcpu}"; > while [ $# -gt 1 ]; do > replace-flags "-march=${1}" "-march=${newcpu}"; > replace-flags "-mcpu=${1}" "-mcpu=${newcpu}"; > replace-flags "-mtune=${1}" "-mtune=${newcpu}"; > shift; > done; > return 0 >} >replace-flags () >{ > [[ $# != 2 ]] && echo && eerror "Usage: replace-flags <old flag> <new flag>" && diefunc "$FUNCNAME" "$LINENO" "$?" "replace-flags takes 2 arguments, not $#"; > local f fset; > declare -a new_CFLAGS new_CXXFLAGS; > for fset in CFLAGS CXXFLAGS; > do > for f in ${!fset}; > do > [[ ${f} == ${1} ]] && f=${2}; > eval new_${fset}\[\${\#new_${fset}\[@]}]=\${f}; > done; > eval export ${fset}=\${new_${fset}\[*]}; > done; > return 0 >} >replace-sparc64-flags () >{ > local SPARC64_CPUS="ultrasparc3 ultrasparc v9"; > if [ "${CFLAGS/mtune}" != "${CFLAGS}" ]; then > for x in ${SPARC64_CPUS}; > do > CFLAGS="${CFLAGS/-mcpu=${x}/-mcpu=v8}"; > done; > else > for x in ${SPARC64_CPUS}; > do > CFLAGS="${CFLAGS/-mcpu=${x}/-mcpu=v8 -mtune=${x}}"; > done; > fi; > if [ "${CXXFLAGS/mtune}" != "${CXXFLAGS}" ]; then > for x in ${SPARC64_CPUS}; > do > CXXFLAGS="${CXXFLAGS/-mcpu=${x}/-mcpu=v8}"; > done; > else > for x in ${SPARC64_CPUS}; > do > CXXFLAGS="${CXXFLAGS/-mcpu=${x}/-mcpu=v8 -mtune=${x}}"; > done; > fi; > export CFLAGS CXXFLAGS >} >seq () >{ > local p=$(type -P seq); > case $# in > 1) > min=1 max=$1 step=1 > ;; > 2) > min=$1 max=$2 step=1 > ;; > 3) > min=$1 max=$3 step=$2 > ;; > *) > diefunc "$FUNCNAME" "$LINENO" "$?" "seq called with wrong number of arguments" > ;; > esac; > if [[ -z ${p} ]]; then > local reps; > if [[ ${step} != 0 ]]; then > reps=$(( ($max-$min) / $step +1 )); > else > reps=0; > fi; > jot $reps $min $max $step; > else > "${p}" $min $step $max; > fi >} >set_arch_to_kernel () >{ > i=10; > while ((i--)); do > ewarn "PLEASE UPDATE TO YOUR PACKAGE TO USE linux-info.eclass"; > done; > export EUTILS_ECLASS_PORTAGE_ARCH="${ARCH}"; > case ${ARCH} in > x86) > export ARCH="i386" > ;; > amd64) > export ARCH="x86_64" > ;; > hppa) > export ARCH="parisc" > ;; > mips) > export ARCH="mips" > ;; > sparc) > export ARCH="$(tc-arch-kernel)" > ;; > *) > export ARCH="${ARCH}" > ;; > esac >} >set_arch_to_portage () >{ > i=10; > while ((i--)); do > ewarn "PLEASE UPDATE TO YOUR PACKAGE TO USE linux-info.eclass"; > done; > export ARCH="${EUTILS_ECLASS_PORTAGE_ARCH}" >} >set_colors () >{ > COLS=${COLUMNS:-0}; > (( COLS == 0 )) && COLS=$(set -- $(stty size 2>/dev/null) ; echo $2); > (( COLS > 0 )) || (( COLS = 80 )); > COLS=$((${COLS} - 8)); > ENDCOL='[A['${COLS}'C'; > [ -z "${GOOD}" ] && GOOD='[32;01m'; > [ -z "${WARN}" ] && WARN='[33;01m'; > [ -z "${BAD}" ] && BAD='[31;01m'; > [ -z "${HILITE}" ] && HILITE='[36;01m'; > [ -z "${BRACKET}" ] && BRACKET='[34;01m'; > NORMAL='[0m' >} >setup-allowed-flags () >{ > if [[ -z ${ALLOWED_FLAGS} ]]; then > export ALLOWED_FLAGS="-pipe"; > export ALLOWED_FLAGS="${ALLOWED_FLAGS} -O -O0 -O1 -O2 -mcpu -march -mtune"; > export ALLOWED_FLAGS="${ALLOWED_FLAGS} -fstack-protector -fstack-protector-all"; > export ALLOWED_FLAGS="${ALLOWED_FLAGS} -fbounds-checking -fno-bounds-checking"; > export ALLOWED_FLAGS="${ALLOWED_FLAGS} -fno-PIE -fno-pie -fno-unit-at-a-time"; > export ALLOWED_FLAGS="${ALLOWED_FLAGS} -g -g0 -g1 -g2 -g3 -ggdb -ggdb0 -ggdb1 -ggdb2 -ggdb3"; > export ALLOWED_FLAGS="${ALLOWED_FLAGS} -fno-ident"; > fi; > ALLOWED_FLAGS="${ALLOWED_FLAGS} -fno-stack-protector -fno-stack-protector-all"; > ALLOWED_FLAGS="${ALLOWED_FLAGS} -mregparm -mno-app-regs -mapp-regs -mno-mmx -mno-sse -mno-sse2 -mno-sse3 -mno-3dnow -mips1 -mips2 -mips3 -mips4 -mips32 -mips64 -mips16 -msoft-float -mno-soft-float -mhard-float -mno-hard-float -mfpu -mieee -mieee-with-inexact -mschedule -mtls-direct-seg-refs -mno-tls-direct-seg-refs -mflat -mno-flat -mno-faster-structs -mfaster-structs -m32 -m64 -mabi -mlittle-endian -mbig-endian -EL -EB -fPIC -mlive-g0 -mcmodel -mstack-bias -mno-stack-bias"; > export UNSTABLE_FLAGS="-Os -O3 -freorder-blocks"; > return 0 >} >src_compile () >{ > local myconf=; > if ! use nls || use build; then > myconf="--disable-nls"; > fi; > use static && append-ldflags -static; > econf ${myconf} || diefunc "$FUNCNAME" "$LINENO" "$?"; > if tc-is-cross-compiler; then > emake -C tools || diefunc "$FUNCNAME" "$LINENO" "$?" "emake tools"; > fi; > emake -C lib || diefunc "$FUNCNAME" "$LINENO" "$?" "emake lib"; > emake -C info makedoc || diefunc "$FUNCNAME" "$LINENO" "$?" "emake makedoc"; > emake -C info doc.c || diefunc "$FUNCNAME" "$LINENO" "$?" "emake doc.c"; > emake || diefunc "$FUNCNAME" "$LINENO" "$?" "emake" >} >src_install () >{ > if use build; then > newbin util/ginstall-info install-info; > dobin makeinfo/makeinfo util/{texi2dvi,texindex}; > else > make DESTDIR="${D}" install || diefunc "$FUNCNAME" "$LINENO" "$?" "install failed"; > dosbin ${FILESDIR}/mkinfodir; > has_version '<app-text/tetex-3' && rm -f "${D}"/usr/bin/texi2pdf; > if [[ ! -f ${D}/usr/share/info/texinfo.info ]]; then > diefunc "$FUNCNAME" "$LINENO" "$?" "Could not install texinfo.info!!!"; > fi; > dodoc AUTHORS ChangeLog INTRODUCTION NEWS README TODO; > newdoc info/README README.info; > newdoc makeinfo/README README.makeinfo; > fi >} >src_test () >{ > if emake -j1 check -n >&/dev/null; then > vecho ">>> Test phase [check]: ${CATEGORY}/${PF}"; > if ! emake -j1 check; then > hasq test $FEATURES && diefunc "$FUNCNAME" "$LINENO" "$?" "Make check failed. See above for details."; > hasq test $FEATURES || eerror "Make check failed. See above for details."; > fi; > else > if emake -j1 test -n >&/dev/null; then > vecho ">>> Test phase [test]: ${CATEGORY}/${PF}"; > if ! emake -j1 test; then > hasq test $FEATURES && diefunc "$FUNCNAME" "$LINENO" "$?" "Make test failed. See above for details."; > hasq test $FEATURES || eerror "Make test failed. See above for details."; > fi; > else > vecho ">>> Test phase [none]: ${CATEGORY}/${PF}"; > fi; > fi >} >src_unpack () >{ > unpack ${A}; > cd "${S}"; > epatch "${FILESDIR}"/${P}-freebsd.patch; > epatch "${FILESDIR}"/${P}-tempfile-owl.patch; > epatch "${FILESDIR}"/${P}-bounds-check.patch; > epatch "${FILESDIR}"/${P}-buf-overflow-CVE-2006-4810.patch; > cd doc; > sed -i 's:setfilename texinfo:setfilename texinfo.info:' texinfo.txi; > sed -i -e 's:INFO_DEPS = texinfo:INFO_DEPS = texinfo.info:' -e 's:texinfo\::texinfo.info\::' Makefile.in >} >strip-flags () >{ > local x y flag NEW_CFLAGS NEW_CXXFLAGS; > setup-allowed-flags; > local NEW_CFLAGS=""; > local NEW_CXXFLAGS=""; > if has ~$(tc-arch) ${ACCEPT_KEYWORDS}; then > ALLOWED_FLAGS="${ALLOWED_FLAGS} ${UNSTABLE_FLAGS}"; > fi; > set -f; > for x in ${CFLAGS}; > do > for y in ${ALLOWED_FLAGS}; > do > flag=${x%%=*}; > if [ "${flag%%${y}}" = "" ]; then > NEW_CFLAGS="${NEW_CFLAGS} ${x}"; > break; > fi; > done; > done; > for x in ${CXXFLAGS}; > do > for y in ${ALLOWED_FLAGS}; > do > flag=${x%%=*}; > if [ "${flag%%${y}}" = "" ]; then > NEW_CXXFLAGS="${NEW_CXXFLAGS} ${x}"; > break; > fi; > done; > done; > if [ "${CFLAGS/-O}" != "${CFLAGS}" -a "${NEW_CFLAGS/-O}" = "${NEW_CFLAGS}" ]; then > NEW_CFLAGS="${NEW_CFLAGS} -O2"; > fi; > if [ "${CXXFLAGS/-O}" != "${CXXFLAGS}" -a "${NEW_CXXFLAGS/-O}" = "${NEW_CXXFLAGS}" ]; then > NEW_CXXFLAGS="${NEW_CXXFLAGS} -O2"; > fi; > set +f; > export CFLAGS="${NEW_CFLAGS}"; > export CXXFLAGS="${NEW_CXXFLAGS}"; > return 0 >} >strip-linguas () >{ > local ls newls nols; > if [[ $1 == "-i" ]] || [[ $1 == "-u" ]]; then > local op=$1; > shift; > ls=$(find "$1" -name '*.po' -exec basename {} .po \;); > shift; > local d f; > for d in "$@"; > do > if [[ ${op} == "-u" ]]; then > newls=${ls}; > else > newls=""; > fi; > for f in $(find "$d" -name '*.po' -exec basename {} .po \;); > do > if [[ ${op} == "-i" ]]; then > hasq ${f} ${ls} && newls="${newls} ${f}"; > else > hasq ${f} ${ls} || newls="${newls} ${f}"; > fi; > done; > ls=${newls}; > done; > else > ls="$@"; > fi; > nols=""; > newls=""; > for f in ${LINGUAS}; > do > if hasq ${f} ${ls}; then > newls="${newls} ${f}"; > else > nols="${nols} ${f}"; > fi; > done; > [[ -n ${nols} ]] && ewarn "Sorry, but ${PN} does not support the LINGUAs:" ${nols}; > export LINGUAS=${newls:1} >} >strip-unsupported-flags () >{ > local x NEW_CFLAGS NEW_CXXFLAGS; > for x in ${CFLAGS}; > do > NEW_CFLAGS="${NEW_CFLAGS} $(test-flags ${x})"; > done; > for x in ${CXXFLAGS}; > do > NEW_CXXFLAGS="${NEW_CXXFLAGS} $(test-flags ${x})"; > done; > export CFLAGS=${NEW_CFLAGS}; > export CXXFLAGS=${NEW_CXXFLAGS} >} >strip_duplicate_slashes () >{ > if [[ -n $1 ]]; then > local removed=$1; > while [[ ${removed} == *//* ]]; do > removed=${removed//\/\///}; > done; > echo ${removed}; > fi >} >tc-arch () >{ > tc-ninja_magic_to_arch portage $@ >} >tc-arch-kernel () >{ > tc-ninja_magic_to_arch kern $@ >} >tc-endian () >{ > local host=$1; > [[ -z ${host} ]] && host=${CTARGET:-${CHOST}}; > host=${host%%-*}; > case ${host} in > alpha*) > echo big > ;; > arm*b*) > echo big > ;; > arm*) > echo little > ;; > cris*) > echo little > ;; > hppa*) > echo big > ;; > i?86*) > echo little > ;; > ia64*) > echo little > ;; > m68*) > echo big > ;; > mips*l*) > echo little > ;; > mips*) > echo big > ;; > powerpc*) > echo big > ;; > s390*) > echo big > ;; > sh*b*) > echo big > ;; > sh*) > echo little > ;; > sparc*) > echo big > ;; > x86_64*) > echo little > ;; > *) > echo wtf > ;; > esac >} >tc-export () >{ > local var; > for var in "$@"; > do > eval tc-get${var} >/dev/null; > done >} >tc-getAR () >{ > tc-getPROG AR ar "$@" >} >tc-getAS () >{ > tc-getPROG AS as "$@" >} >tc-getBUILD_CC () >{ > local v; > for v in CC_FOR_BUILD BUILD_CC HOSTCC; > do > if [[ -n ${!v} ]]; then > export BUILD_CC=${!v}; > echo "${!v}"; > return 0; > fi; > done; > local search=; > if [[ -n ${CBUILD} ]]; then > search=$(type -p ${CBUILD}-gcc); > search=${search##*/}; > fi; > search=${search:-gcc}; > export BUILD_CC=${search}; > echo "${search}" >} >tc-getCC () >{ > tc-getPROG CC gcc "$@" >} >tc-getCPP () >{ > tc-getPROG CPP cpp "$@" >} >tc-getCXX () >{ > tc-getPROG CXX g++ "$@" >} >tc-getF77 () >{ > tc-getPROG F77 f77 "$@" >} >tc-getF90 () >{ > tc-getPROG F90 gfortran "$@" >} >tc-getFORTRAN () >{ > tc-getPROG FORTRAN gfortran "$@" >} >tc-getGCJ () >{ > tc-getPROG GCJ gcj "$@" >} >tc-getLD () >{ > tc-getPROG LD ld "$@" >} >tc-getNM () >{ > tc-getPROG NM nm "$@" >} >tc-getPROG () >{ > local var=$1; > local prog=$2; > if [[ -n ${!var} ]]; then > echo "${!var}"; > return 0; > fi; > local search=; > [[ -n $3 ]] && search=$(type -p "$3-${prog}"); > [[ -z ${search} && -n ${CHOST} ]] && search=$(type -p "${CHOST}-${prog}"); > [[ -n ${search} ]] && prog=${search##*/}; > export ${var}=${prog}; > echo "${!var}" >} >tc-getRANLIB () >{ > tc-getPROG RANLIB ranlib "$@" >} >tc-getSTRIP () >{ > tc-getPROG STRIP strip "$@" >} >tc-is-cross-compiler () >{ > return $([[ ${CBUILD:-${CHOST}} != ${CHOST} ]]) >} >tc-ninja_magic_to_arch () >{ > function ninj () > { > [[ ${type} == "kern" ]] && echo $1 || echo $2 > }; > local type=$1; > local host=$2; > [[ -z ${host} ]] && host=${CTARGET:-${CHOST}}; > case ${host} in > alpha*) > echo alpha > ;; > arm*) > echo arm > ;; > bfin*) > ninj blackfin bfin > ;; > cris*) > echo cris > ;; > hppa*) > ninj parisc hppa > ;; > i?86*) > ninj i386 x86 > ;; > ia64*) > echo ia64 > ;; > m68*) > echo m68k > ;; > mips*) > echo mips > ;; > nios2*) > echo nios2 > ;; > nios*) > echo nios > ;; > powerpc*) > if [[ $(KV_to_int ${KV}) -ge $(KV_to_int 2.6.16) ]] && [[ ${type} == "kern" ]]; then > echo powerpc; > else > if [[ $(KV_to_int ${KV}) -eq $(KV_to_int 2.6.15) ]] && [[ ${type} == "kern" ]]; then > if [[ ${host} == powerpc64* ]] || [[ ${PROFILE_ARCH} == "ppc64" ]]; then > echo powerpc; > else > echo ppc; > fi; > else > if [[ ${host} == powerpc64* ]]; then > echo ppc64; > else > if [[ ${PROFILE_ARCH} == "ppc64" ]]; then > ninj ppc64 ppc; > else > echo ppc; > fi; > fi; > fi; > fi > ;; > s390*) > echo s390 > ;; > sh64*) > ninj sh64 sh > ;; > sh*) > echo sh > ;; > sparc64*) > ninj sparc64 sparc > ;; > sparc*) > [[ ${PROFILE_ARCH} == "sparc64" ]] && ninj sparc64 sparc || echo sparc > ;; > vax*) > echo vax > ;; > x86_64*) > ninj x86_64 amd64 > ;; > *) > echo ${ARCH} > ;; > esac >} >test-flag-CC () >{ > test-flag-PROG "CC" "$1" >} >test-flag-CXX () >{ > test-flag-PROG "CXX" "$1" >} >test-flag-PROG () >{ > local comp=$1; > local flags="$2"; > [[ -z ${comp} || -z ${flags} ]] && return 1; > local PROG=$(tc-get${comp}); > ${PROG} ${flags} -S -o /dev/null -xc /dev/null >/dev/null 2>&1 >} >test-flags () >{ > test-flags-CC "$@" >} >test-flags-CC () >{ > test-flags-PROG "CC" "$@" >} >test-flags-CXX () >{ > test-flags-PROG "CXX" "$@" >} >test-flags-PROG () >{ > local comp=$1; > local flags; > local x; > shift; > [[ -z ${comp} ]] && return 1; > for x in "$@"; > do > test-flag-${comp} "${x}" && flags="${flags} ${x}"; > done; > echo "${flags}"; > [[ -n ${flags} ]] >} >test_flag () >{ > ewarn "test_flag: deprecated, please use test-flags()!" 1>&2; > test-flags-CC "$@" >} >test_version_info () >{ > if [[ $($(tc-getCC) --version 2>&1) == *$1* ]]; then > return 0; > else > return 1; > fi >} >treecopy () >{ > dest=${!#}; > files_count=$#; > while (( $# > 1 )); do > dirstruct=$(dirname "$1"); > mkdir -p "${dest}/${dirstruct}"; > cp -pPR "$1" "${dest}/${dirstruct}"; > shift; > done >} >unpack () >{ > local x; > local y; > local myfail; > local tarvars; > if [ "$USERLAND" == "BSD" ]; then > tarvars=""; > else > tarvars="--no-same-owner"; > fi; > [ -z "$*" ] && diefunc "$FUNCNAME" "$LINENO" "$?" "Nothing passed to the 'unpack' command"; > for x in "$@"; > do > vecho ">>> Unpacking ${x} to ${PWD}"; > y=${x%.*}; > y=${y##*.}; > myfail="${x} does not exist"; > if [ "${x:0:2}" = "./" ]; then > srcdir=""; > else > srcdir="${DISTDIR}/"; > fi; > [[ ${x} == ${DISTDIR}* ]] && diefunc "$FUNCNAME" "$LINENO" "$?" "Arguments to unpack() should not begin with \${DISTDIR}."; > [ ! -s "${srcdir}${x}" ] && diefunc "$FUNCNAME" "$LINENO" "$?" "$myfail"; > myfail="failure unpacking ${x}"; > case "${x##*.}" in > tar) > tar xf "${srcdir}${x}" ${tarvars} || diefunc "$FUNCNAME" "$LINENO" "$?" "$myfail" > ;; > tgz) > tar xzf "${srcdir}${x}" ${tarvars} || diefunc "$FUNCNAME" "$LINENO" "$?" "$myfail" > ;; > tbz | tbz2) > bzip2 -dc "${srcdir}${x}" | tar xf - ${tarvars}; > _pipestatus="${PIPESTATUS[*]}"; > [[ "${_pipestatus// /}" -eq 0 ]] || diefunc "$FUNCNAME" "$LINENO" "$_pipestatus" "$myfail" > ;; > ZIP | zip | jar) > unzip -qo "${srcdir}${x}" || diefunc "$FUNCNAME" "$LINENO" "$?" "$myfail" > ;; > gz | Z | z) > if [ "${y}" == "tar" ]; then > tar zxf "${srcdir}${x}" ${tarvars} || diefunc "$FUNCNAME" "$LINENO" "$?" "$myfail"; > else > gzip -dc "${srcdir}${x}" >${x%.*} || diefunc "$FUNCNAME" "$LINENO" "$?" "$myfail"; > fi > ;; > bz2 | bz) > if [ "${y}" == "tar" ]; then > bzip2 -dc "${srcdir}${x}" | tar xf - ${tarvars}; > _pipestatus="${PIPESTATUS[*]}"; > [[ "${_pipestatus// /}" -eq 0 ]] || diefunc "$FUNCNAME" "$LINENO" "$_pipestatus" "$myfail"; > else > bzip2 -dc "${srcdir}${x}" >${x%.*} || diefunc "$FUNCNAME" "$LINENO" "$?" "$myfail"; > fi > ;; > 7Z | 7z) > local my_output; > my_output="$(7z x -y "${srcdir}/${x}")"; > if [ $? -ne 0 ]; then > echo "${my_output}" 1>&2; > diefunc "$FUNCNAME" "$LINENO" "$?" "$myfail"; > fi > ;; > RAR | rar) > unrar x -idq -o+ "${srcdir}/${x}" || diefunc "$FUNCNAME" "$LINENO" "$?" "$myfail" > ;; > LHa | LHA | lha | lzh) > lha xqf "${srcdir}/${x}" || diefunc "$FUNCNAME" "$LINENO" "$?" "$myfail" > ;; > a | deb) > ar x "${srcdir}/${x}" || diefunc "$FUNCNAME" "$LINENO" "$?" "$myfail" > ;; > *) > vecho "unpack ${x}: file format not recognized. Ignoring." > ;; > esac; > done; > chmod -Rf a+rX,u+w,g-w,o-w . >} >unpack_makeself () >{ > local src_input=${1:-${A}}; > local src=$(find_unpackable_file "${src_input}"); > local skip=$2; > local exe=$3; > [[ -z ${src} ]] && diefunc "$FUNCNAME" "$LINENO" "$?" "Could not locate source for '${src_input}'"; > local shrtsrc=$(basename "${src}"); > echo ">>> Unpacking ${shrtsrc} to ${PWD}"; > if [[ -z ${skip} ]]; then > local ver=$(grep -a '#.*Makeself' "${src}" | awk '{print $NF}'); > local skip=0; > exe=tail; > case ${ver} in > 1.5.* | 1.6.0-nv) > skip=$(grep -a ^skip= "${src}" | cut -d= -f2) > ;; > 2.0 | 2.0.1) > skip=$(grep -a ^' 'tail "${src}" | awk '{print $2}' | cut -b2-) > ;; > 2.1.1) > skip=$(grep -a ^offset= "${src}" | awk '{print $2}' | cut -b2-); > let skip="skip + 1" > ;; > 2.1.2) > skip=$(grep -a ^offset= "${src}" | awk '{print $3}' | head -n 1); > let skip="skip + 1" > ;; > 2.1.3) > skip=`grep -a ^offset= "${src}" | awk '{print $3}'`; > let skip="skip + 1" > ;; > 2.1.4 | 2.1.5) > skip=$(grep -a offset=.*head.*wc "${src}" | awk '{print $3}' | head -n 1); > skip=$(head -n ${skip} "${src}" | wc -c); > exe="dd" > ;; > *) > eerror "I'm sorry, but I was unable to support the Makeself file."; > eerror "The version I detected was '${ver}'."; > eerror "Please file a bug about the file ${shrtsrc} at"; > eerror "http://bugs.gentoo.org/ so that support can be added."; > diefunc "$FUNCNAME" "$LINENO" "$?" "makeself version '${ver}' not supported" > ;; > esac; > debug-print "Detected Makeself version ${ver} ... using ${skip} as offset"; > fi; > case ${exe} in > tail) > exe="tail -n +${skip} '${src}'" > ;; > dd) > exe="dd ibs=${skip} skip=1 obs=1024 conv=sync if='${src}'" > ;; > *) > diefunc "$FUNCNAME" "$LINENO" "$?" "makeself cant handle exe '${exe}'" > ;; > esac; > local tmpfile="$(emktemp)"; > eval ${exe} 2>/dev/null | head -c 512 >"${tmpfile}"; > local filetype="$(file -b "${tmpfile}")"; > case ${filetype} in > *tar\ archive*) > eval ${exe} | tar --no-same-owner -xf - > ;; > bzip2*) > eval ${exe} | bzip2 -dc | tar --no-same-owner -xf - > ;; > gzip*) > eval ${exe} | tar --no-same-owner -xzf - > ;; > compress*) > eval ${exe} | gunzip | tar --no-same-owner -xf - > ;; > *) > eerror "Unknown filetype \"${filetype}\" ?"; > false > ;; > esac; > _pipestatus="${PIPESTATUS[*]}"; > [[ "${_pipestatus// /}" -eq 0 ]] || diefunc "$FUNCNAME" "$LINENO" "$_pipestatus" "failure unpacking (${filetype}) makeself ${shrtsrc} ('${ver}' +${skip})" >} >unpack_pdv () >{ > local src=$(find_unpackable_file $1); > local sizeoff_t=$2; > [[ -z ${src} ]] && diefunc "$FUNCNAME" "$LINENO" "$?" "Could not locate source for '$1'"; > [[ -z ${sizeoff_t} ]] && diefunc "$FUNCNAME" "$LINENO" "$?" "No idea what off_t size was used for this pdv :("; > local shrtsrc=$(basename "${src}"); > echo ">>> Unpacking ${shrtsrc} to ${PWD}"; > local metaskip=`tail -c ${sizeoff_t} ${src} | hexdump -e \"%i\"`; > local tailskip=`tail -c $((${sizeoff_t}*2)) ${src} | head -c ${sizeoff_t} | hexdump -e \"%i\"`; > local metafile="$(emktemp)"; > tail -c +$((${metaskip}+1)) ${src} >${metafile}; > local datafile="`tail -c +$((${metaskip}+1)) ${src} | strings | head -n 1`"; > datafile="`basename ${datafile}`"; > local tmpfile="$(emktemp)"; > tail -c +$((${tailskip}+1)) ${src} 2>/dev/null | head -c 512 >${tmpfile}; > local iscompressed="`file -b ${tmpfile}`"; > if [ "${iscompressed:0:8}" == "compress" ]; then > iscompressed=1; > mv ${tmpfile}{,.Z}; > gunzip ${tmpfile}; > else > iscompressed=0; > fi; > local istar="`file -b ${tmpfile}`"; > if [ "${istar:0:9}" == "POSIX tar" ]; then > istar=1; > else > istar=0; > fi; > if [ ${iscompressed} -eq 1 ]; then > if [ ${istar} -eq 1 ]; then > tail -c +$((${tailskip}+1)) ${src} 2>/dev/null | head -c $((${metaskip}-${tailskip})) | tar -xzf -; > else > tail -c +$((${tailskip}+1)) ${src} 2>/dev/null | head -c $((${metaskip}-${tailskip})) | gzip -dc >${datafile}; > fi; > else > if [ ${istar} -eq 1 ]; then > tail -c +$((${tailskip}+1)) ${src} 2>/dev/null | head -c $((${metaskip}-${tailskip})) | tar --no-same-owner -xf -; > else > tail -c +$((${tailskip}+1)) ${src} 2>/dev/null | head -c $((${metaskip}-${tailskip})) >${datafile}; > fi; > fi; > true >} >unset_colors () >{ > COLS="25 80"; > ENDCOL=; > GOOD=; > WARN=; > BAD=; > NORMAL=; > HILITE=; > BRACKET= >} >use () >{ > useq ${1} >} >use_enable () >{ > if [ -z "$1" ]; then > echo "!!! use_enable() called without a parameter." 1>&2; > echo "!!! use_enable <USEFLAG> [<flagname> [value]]" 1>&2; > return 1; > fi; > local UE_SUFFIX=""; > if [ ! -z "${3}" ]; then > UE_SUFFIX="=${3}"; > fi; > local UWORD="$2"; > if [ -z "${UWORD}" ]; then > UWORD="$1"; > fi; > if useq $1; then > echo "--enable-${UWORD}${UE_SUFFIX}"; > else > echo "--disable-${UWORD}"; > fi; > return 0 >} >use_with () >{ > if [ -z "$1" ]; then > echo "!!! use_with() called without a parameter." 1>&2; > echo "!!! use_with <USEFLAG> [<flagname> [value]]" 1>&2; > return 1; > fi; > local UW_SUFFIX=""; > if [ ! -z "${3}" ]; then > UW_SUFFIX="=${3}"; > fi; > local UWORD="$2"; > if [ -z "${UWORD}" ]; then > UWORD="$1"; > fi; > if useq $1; then > echo "--with-${UWORD}${UW_SUFFIX}"; > else > echo "--without-${UWORD}"; > fi; > return 0 >} >useq () >{ > local u=$1; > local found=0; > if [[ ${u:0:1} == "!" ]]; then > u=${u:1}; > found=1; > fi; > if ! hasq "${u}" ${IUSE} ${E_IUSE} && ! hasq "${u}" ${PORTAGE_ARCHLIST} selinux; then > vecho "QA Notice: USE Flag '${u}' not in IUSE for ${CATEGORY}/${PF}" 1>&2; > fi; > if hasq ${u} ${USE}; then > return ${found}; > else > return $((!found)); > fi >} >usev () >{ > if useq ${1}; then > echo "${1}"; > return 0; > fi; > return 1 >} >vecho () >{ > quiet_mode || echo "$@" >} >declare -x ACCEPT_KEYWORDS="x86" >declare -x ACCEPT_LICENSE="" >declare -x ARCH="x86" >declare -x AUTOCLEAN="yes" >declare -x BUILD_PREFIX="/var/tmp/portage" >declare -x CBUILD="i686-pc-linux-gnu" >declare -x CDEFINE_default="__unix__" >declare -x CFLAGS="-O2 -march=pentium4 -pipe" >declare -x CFLAGS_default >declare -x CHOST="i686-pc-linux-gnu" >declare -x CHOST_default="i686-pc-linux-gnu" >declare -x CLEAN_DELAY="5" >declare -x CONFIG_PROTECT="/etc /var/bind" >declare -x CONFIG_PROTECT_MASK="/etc/env.d /etc/gconf /etc/revdep-rebuild /etc/terminfo" >declare -x CTARGET_default="i686-pc-linux-gnu" >declare -x CVS_RSH="ssh" >declare -x CXXFLAGS="-O2 -march=pentium4 -pipe" >declare -x DCCC_PATH="/usr/lib/distcc/bin" >declare -x DEFAULT_ABI="default" >declare -x DESTTREE="/usr" >declare -x DIROPTIONS="-m0755" >declare -x DISTCC_DIR="/var/tmp/.distcc" >declare -x DISTCC_LOG="" >declare -x DISTCC_VERBOSE="0" >declare -x DISTDIR="/var/tmp/portage/texinfo-4.8-r5/distdir" >declare -x DOCDESTTREE="" >declare -x ECLASS="" >declare -x ECLASSDIR="/usr/portage/eclass" >declare -ix ECLASS_DEPTH="0" >declare -x EDITOR="/usr/bin/vim" >declare -x ELIBC="glibc" >declare -x EMERGE_WARNING_DELAY="10" >declare -x EXEDESTTREE="" >declare -x EXEOPTIONS="-m0755" >declare -x FETCHCOMMAND="/usr/bin/wget -t 5 -T 60 --passive-ftp -P \${DISTDIR} \${URI}" >declare -x GCC_SPECS="" >declare -x GENTOO_MIRRORS="http://gentoo.linux.no ftp://gentoo.inode.at/source/ ftp://ftp.easynet.nl/mirror/gentoo/ http://ftp.easynet.nl/mirror/gentoo/ http://gentoo.inode.at/" >declare -x G_BROKEN_FILENAMES="1" >declare -x G_FILENAME_ENCODING="UTF-8" >declare -x HOME="/var/tmp/portage/texinfo-4.8-r5/homedir" >declare -x INFOPATH="/usr/share/info:/usr/share/binutils-data/i686-pc-linux-gnu/2.16.1/info:/usr/share/gcc-data/i686-pc-linux-gnu/4.1.1/info" >declare -x INHERITED="toolchain-funcs multilib eutils portability flag-o-matic" >declare -x INPUT_DEVICES="keyboard mouse evdev" >declare -x INSDESTTREE="" >declare -x INSOPTIONS="-m0644" >declare -x KERNEL="linux" >declare -x KERNEL_ABI="default" >declare -x KV="2.6.16-hardened-r11" >declare -x KVERS="." >declare -x LC_ALL="en_GB.UTF-8" >declare -x LDFLAGS_default >declare -x LD_PRELOAD="/usr/lib/libsandbox.so" >declare -x LESS="-R -M --shift 5" >declare -x LESSOPEN="|lesspipe.sh %s" >declare -x LIBDIR_default="lib" >declare -x LIBOPTIONS="-m0644" >declare -x LINGUAS="pl en" >declare -x LOGNAME="root" >declare -x LS_COLORS="no=00:fi=00:di=01;34:ln=01;36:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=01;05;37;41:mi=01;05;37;41:su=37;41:sg=30;43:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.gz=01;31:*.bz2=01;31:*.bz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.rar=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.qt=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.pdf=00;32:*.ps=00;32:*.txt=00;32:*.patch=00;32:*.diff=00;32:*.log=00;32:*.tex=00;32:*.doc=00;32:*.flac=01;35:*.mp3=01;35:*.mpc=00;36:*.ogg=00;36:*.wav=00;36:*.mid=00;36:*.midi=00;36:*.au=00;36:*.flac=00;36:*.aac=00;36:" >declare -x MAIL="/var/mail/root" >declare -x 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" >declare -x MOPREFIX="texinfo" >declare -x MULTILIB_ABIS="default" >declare -x O="/portage/sys-apps/texinfo" >declare -x OLDPWD="/var/tmp/portage/texinfo-4.8-r5" >declare -x PAGER="/usr/bin/less" >declare -x PKGDIR="/usr/portage/packages" >declare -x PKGUSE="" >declare -x PKG_LOGDIR="/var/tmp/portage/texinfo-4.8-r5/temp/logging" >declare -x PKG_TMPDIR="/var/tmp/binpkgs" >declare -x PORTAGE_ACTUAL_DISTDIR="/usr/portage/distfiles" >declare -x PORTAGE_ARCHLIST="ppc s390 amd64 x86 ppc64 x86-fbsd m68k arm sparc sh mips ia64 alpha ppc-macos hppa sparc-fbsd" >declare -x PORTAGE_BASHRC="/etc/portage/bashrc" >declare -x PORTAGE_BINHOST_CHUNKSIZE="3000" >declare -x PORTAGE_BUILDDIR="/var/tmp/portage/texinfo-4.8-r5" >declare -x PORTAGE_CALLER="emerge" >declare -x PORTAGE_CONFIGROOT="/" >declare -x PORTAGE_DEBUG="0" >declare -x PORTAGE_DEPCACHEDIR="/var/cache/edb/dep" >declare -x PORTAGE_ELOG_CLASSES="log warn error" >declare -x PORTAGE_ELOG_MAILFROM="portage" >declare -x PORTAGE_ELOG_MAILSUBJECT="[portage] ebuild log for \${PACKAGE} on \${HOST}" >declare -x PORTAGE_ELOG_MAILURI="root" >declare -x PORTAGE_GID="250" >declare -x PORTAGE_INST_GID="0" >declare -x PORTAGE_INST_UID="0" >declare -x PORTAGE_MASTER_PID="18729" >declare -x PORTAGE_RSYNC_EXTRA_OPTS="--progress" >declare -x 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'" >declare -x PORTAGE_RSYNC_RETRIES="3" >declare -x PORTAGE_WORKDIR_MODE="0700" >declare -x PORTDIR="/usr/portage" >declare -x PORTDIR_OVERLAY="/usr/local/portage" >declare -x PORT_ENOTICE_DIR="/var/enotice" >declare -x PRELINK_PATH="" >declare -x PRELINK_PATH_MASK="" >declare -x PROFILE_PATHS="/portage/profiles/base >/portage/profiles/default-linux >/portage/profiles/default-linux/x86 >/portage/profiles/default-linux/x86/2006.1 >/portage/profiles/default-linux/x86/2006.1/server >/etc/portage/profile >/etc/portage/profile" >declare -x PWD="/var/tmp/portage/texinfo-4.8-r5/build-info" >declare -x PWORKDIR="/var/tmp/portage/texinfo-4.8-r5/work" >declare -x PYTHONPATH="/usr/lib/portage/pym" >declare -x RESTRICT="" >declare -x RESUMECOMMAND="/usr/bin/wget -c -t 5 -T 60 --passive-ftp -P \${DISTDIR} \${URI}" >declare -x ROOT="/" >declare -x ROOTPATH="/opt/bin:/usr/i686-pc-linux-gnu/gcc-bin/4.1.1" >declare -x RPMDIR="/usr/portage/rpm" >declare -x S="/var/tmp/portage/texinfo-4.8-r5/work/texinfo-4.8" >declare -x SHELL="/bin/bash" >declare -x SHLVL="4" >declare -x SLOT="0" >declare -x SSH_CLIENT="83.7.166.200 62611 22" >declare -x SSH_CONNECTION="83.7.166.200 62611 195.187.82.250 22" >declare -x SSH_TTY="/dev/pts/11" >declare -x STAGE1_USE="nptl nptlonly unicode" >declare -x STARTDIR="/root" >declare -x STY="16261.pts-11.suita" >declare -x SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage" >declare -x TERM="screen" >declare -x TERMCAP="SC|screen|VT 100/ANSI X3.64 virtual terminal:\\ > :DO=\\E[%dB:LE=\\E[%dD:RI=\\E[%dC:UP=\\E[%dA:bs:bt=\\E[Z:\\ > :cd=\\E[J:ce=\\E[K:cl=\\E[H\\E[J:cm=\\E[%i%d;%dH:ct=\\E[3g:\\ > :do=^J:nd=\\E[C:pt:rc=\\E8:rs=\\Ec:sc=\\E7:st=\\EH:up=\\EM:\\ > :le=^H:bl=^G:cr=^M:it#8:ho=\\E[H:nw=\\EE:ta=^I:is=\\E)0:\\ > :li#51:co#111:am:xn:xv:LP:sr=\\EM:al=\\E[L:AL=\\E[%dL:\\ > :cs=\\E[%i%d;%dr:dl=\\E[M:DL=\\E[%dM:dc=\\E[P:DC=\\E[%dP:\\ > :im=\\E[4h:ei=\\E[4l:mi:IC=\\E[%d@:ks=\\E[?1h\\E=:\\ > :ke=\\E[?1l\\E>:vi=\\E[?25l:ve=\\E[34h\\E[?25h:vs=\\E[34l:\\ > :ti=\\E[?1049h:te=\\E[?1049l:us=\\E[4m:ue=\\E[24m:so=\\E[3m:\\ > :se=\\E[23m:mb=\\E[5m:md=\\E[1m:mr=\\E[7m:me=\\E[m:ms:\\ > :Co#8:pa#64:AF=\\E[3%dm:AB=\\E[4%dm:op=\\E[39;49m:AX:\\ > :vb=\\Eg:G0:as=\\E(0:ae=\\E(B:\\ > :ac=\\140\\140aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~..--++,,hhII00:\\ > :k0=\\E[10~:k1=\\EOP:k2=\\EOQ:k3=\\EOR:k4=\\EOS:k5=\\E[15~:\\ > :k6=\\E[17~:k7=\\E[18~:k8=\\E[19~:k9=\\E[20~:k;=\\E[21~:\\ > :F1=\\E[23~:F2=\\E[24~:kb=^H:kB=\\E[Z:kh=\\E[1~:@1=\\E[1~:\\ > :kH=\\E[4~:@7=\\E[4~:kN=\\E[6~:kP=\\E[5~:kI=\\E[2~:kD=\\E[3~:\\ > :ku=\\EOA:kd=\\EOB:kr=\\EOC:kl=\\EOD:km:" >declare -x TMP="/var/tmp/portage/texinfo-4.8-r5/temp" >declare -x TMPDIR="/var/tmp/portage/texinfo-4.8-r5/temp" >declare -x USE="x86 acl apache2 bash-completion berkdb bitmap-fonts bzip2 caps cdb cgi cli cracklib crypt curl dba dedicated dlloader dri elibc_glibc extensions fam fastcgi fortran frxp gd gdbm gmp gpm iconv idn imap input_devices_evdev input_devices_keyboard input_devices_mouse ipv6 isdnlog javascript jpeg kernel_linux l7filter libg++ linguas_en linguas_pl logrotate mbox mhash mpm-prefork mysql ncurses nls nowebdav nptl nptlonly pam pcre perl pg-hier pg-intdatetime png posix ppds pppd python readline reflection sasl session spell spf spl sqlite sse ssl tcpd type1-fonts udev unicode usb userland_GNU userlocales video_cards_apm video_cards_ark video_cards_ati video_cards_chips video_cards_cirrus video_cards_cyrix video_cards_dummy video_cards_fbdev video_cards_glint video_cards_i128 video_cards_i740 video_cards_i810 video_cards_imstt video_cards_mga video_cards_neomagic video_cards_nsc video_cards_nv video_cards_rendition video_cards_s3 video_cards_s3virge video_cards_savage video_cards_siliconmotion video_cards_sis video_cards_sisusb video_cards_tdfx video_cards_tga video_cards_trident video_cards_tseng video_cards_v4l video_cards_vesa video_cards_vga video_cards_via video_cards_vmware video_cards_voodoo xattr xbase xml xorg zlib" >declare -x USER="root" >declare -x USERLAND="GNU" >declare -x USE_EXPAND="CROSSCOMPILE_OPTS DVB_CARDS ELIBC FCDSL_CARDS FOO2ZJS_DEVICES FRITZCAPI_CARDS INPUT_DEVICES KERNEL LINGUAS LIRC_DEVICES MISDN_CARDS USERLAND VIDEO_CARDS" >declare -x USE_EXPAND_HIDDEN="CROSSCOMPILE_OPTS ELIBC KERNEL USERLAND" >declare -x USE_ORDER="env:pkg:conf:defaults" >declare -x VIDEO_CARDS="apm ark ati chips cirrus cyrix dummy fbdev glint i128 i740 i810 imstt mga neomagic nsc nv rendition s3 s3virge savage siliconmotion sis sisusb tdfx tga trident tseng v4l vesa vga via vmware voodoo" >declare -x WINDOW="0" >declare -x XARGS="xargs -r"
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 219267
: 150944 |
150945