A=imlib-1.9.15.tar.bz2 AA=imlib-1.9.15.tar.bz2 ACCEPT_KEYWORDS=x86 ALSA_CARDS=intel8x0 ALSA_PCM_PLUGINS='adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mulaw multi null plug rate route share shm softvol' ANT_HOME=/usr/share/ant-core APACHE2_MODULES='actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias' APACHE2_MPMS= ARCH=x86 AT_GNUCONF_UPDATE=no AT_M4DIR= AUDIODEV=default BASH=/bin/bash BASH_ARGC=([0]="4") BASH_ARGV=([0]="saveenv" [1]="setup" [2]="loadenv" [3]="/usr/portage/media-libs/imlib/imlib-1.9.15-r2.ebuild") BASH_COMMAND='trap DEBUG' BASH_LINENO=([0]="1373" [1]="462" [2]="480" [3]="0") BASH_SOURCE=([0]="/var/tmp/paludis/media-libs-imlib-1.9.15-r2/temp/loadsaveenv" [1]="/var/tmp/paludis/media-libs-imlib-1.9.15-r2/temp/loadsaveenv" [2]="/usr/libexec/paludis/ebuild.bash" [3]="/usr/libexec/paludis/ebuild.bash") BASH_VERSINFO=([0]="3" [1]="2" [2]="33" [3]="1" [4]="release" [5]="i686-pc-linux-gnu") BASH_VERSION='3.2.33(1)-release' CAMERAS= CATEGORY=media-libs CBUILD=i686-pc-linux-gnu CDEFINE_default=__unix__ CFLAGS='-march=pentium3m -O2 -pipe' CHOST=i686-pc-linux-gnu CHOST_default=i686-pc-linux-gnu CLASSPATH=. COLON_SEPARATED=XDG_DATA_DIRS COLORTERM= COLOUR_BAD=$'\E[31;01m' COLOUR_BLUE=$'\E[34;01m' COLOUR_BRACKET=$'\E[34;01m' COLOUR_CYAN=$'\E[36;01m' COLOUR_GOOD=$'\E[32;01m' COLOUR_GREEN=$'\E[32;01m' COLOUR_NORMAL=$'\E[0m' COLOUR_PINK=$'\E[35;01m' COLOUR_RED=$'\E[31;01m' COLOUR_WARN=$'\E[33;01m' COLOUR_YELLOW=$'\E[33;01m' CONFIG_PROTECT='/usr/kde/3.5/share/config /usr/kde/3.5/env /usr/kde/3.5/shutdown /usr/share/config /etc ' CONFIG_PROTECT_MASK='/etc/gentoo-release /etc/env.d/java/ /etc/udev/rules.d /etc/fonts/fonts.conf /etc/gconf /etc/terminfo /etc/texmf/web2c /etc/revdep-rebuild /etc/env.d /etc/gconf ' CROSSCOMPILE_OPTS= CTARGET_default=i686-pc-linux-gnu CVS_RSH=ssh CXXFLAGS='-march=pentium3m -O2 -pipe' D=/var/tmp/paludis/media-libs-imlib-1.9.15-r2/image/ DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-6cQcDpGHSB,guid=9880bd15117ad9304035a872481a7428 DEFAULT_ABI=default DEPEND=$'gtk? ( =x11-libs/gtk+-1.2* )\n\t>=media-libs/tiff-3.5.5\n\t>=media-libs/giflib-4.1.0\n\t>=media-libs/libpng-1.2.1\n\t>=media-libs/jpeg-6b\n\tx11-libs/libICE\n\tx11-libs/libSM\n\tx11-libs/libXext =sys-devel/automake-1.10*\n\t>=sys-devel/autoconf-2.61\n\tsys-devel/libtool =sys-devel/automake-1.10*\n\t>=sys-devel/autoconf-2.61\n\tsys-devel/libtool ' DESCRIPTION='Image loading and rendering library' DESKTOP_SESSION=kde-3.5 DESTTREE=/usr DIROPTIONS=-m0755 DIRSTACK=() DISPLAY=:0 DISTDIR=/usr/portage/distfiles DM_CONTROL=/var/run/xdmctl DOCDESTTREE= DVB_CARDS= EAPI=0 EBUILD=/usr/portage/media-libs/imlib/imlib-1.9.15-r2.ebuild EBUILD_KILL_PID=32645 EBUILD_METADATA_VARIABLES='DEPEND RDEPEND PDEPEND IUSE SRC_URI RESTRICT LICENSE KEYWORDS INHERITED PROVIDE HOMEPAGE DESCRIPTION DEPENDENCIES E_IUSE E_DEPEND E_RDEPEND E_PDEPEND E_KEYWORDS PLATFORMS E_PLATFORMS MYOPTIONS E_MYOPTIONS E_DEPENDENCIES BINARY_KEYWORDS BINARY_URI GENERATED_USING GENERATED_TIME BINARY_PLATFORMS SLOT EAPI OPTIONS USE' EBUILD_MODULES_DIR=/usr/libexec/paludis EBUILD_MODULES_DIRS=' /usr/libexec/paludis/0 /usr/libexec/paludis' EBUILD_PHASE=saveenv EBUILD_PROGRAM_NAME=/usr/libexec/paludis/ebuild.bash ECLASS= ECLASSDIR=/usr/portage/eclass ECLASSDIRS=/usr/portage/eclass EDITOR=/bin/nano ELIBC=glibc ELIBTOOL_VERSION=2.0.2 ELT_APPLIED_PATCHES= ELT_LTMAIN_SH= ELT_PATCH_DIR=/usr/portage/eclass/ELT-patches 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/paludis/media-libs-imlib-1.9.15-r2/work/patch EPATCH_SUFFIX=patch.bz2 EUID=0 EXEDESTTREE= EXEOPTIONS=-m0755 E_DEPEND=$' =sys-devel/automake-1.10*\n\t>=sys-devel/autoconf-2.61\n\tsys-devel/libtool =sys-devel/automake-1.10*\n\t>=sys-devel/autoconf-2.61\n\tsys-devel/libtool ' E_IUSE=' ' E_KEYWORDS=' ' E_PDEPEND=' ' E_RDEPEND=' ' FCDSL_CARDS= FEATURES='sandbox sfperms' FILESDIR=/usr/portage/media-libs/imlib/files FLTK_DOCDIR=/usr/share/doc/fltk-1.1.7/html FOO2ZJS_DEVICES= FRITZCAPI_CARDS= FUNCNAME=([0]="builtin_saveenv" [1]="ebuild_f_saveenv" [2]="ebuild_main" [3]="main") GCC_SPECS= GDK_USE_XFT=1 GENERATION=2 GNOME_TARBALL_SUFFIX=bz2 GROUPS=() GS_LIB=/home/shamus/.fonts GTK2_RC_FILES=/etc/gtk-2.0/gtkrc:/home/shamus/.gtkrc-2.0:/home/shamus/.kde3.5/share/config/gtkrc-2.0 GTK_RC_FILES=/etc/gtk/gtkrc:/home/shamus/.gtkrc:/home/shamus/.kde3.5/share/config/gtkrc GUILE_LOAD_PATH=/usr/share/guile/1.8 HOME=/var/tmp/paludis/media-libs-imlib-1.9.15-r2/temp/ HOMEPAGE=http://ftp.acc.umu.se/pub/GNOME/sources/imlib/1.9/ HOOK=ebuild_saveenv_pre HOSTNAME=corbie HOSTTYPE=i686 IFS=$' \t\n' IMAGE=/var/tmp/paludis/media-libs-imlib-1.9.15-r2/image/ INFOPATH=/usr/share/info:/usr/share/binutils-data/i686-pc-linux-gnu/2.18/info:/usr/share/gcc-data/i686-pc-linux-gnu/4.2.3/info INHERITED=' toolchain-funcs multilib portability eutils libtool autotools gnome.org' INPUT_DEVICES='evdev keyboard mouse' INSDESTTREE= INSOPTIONS=-m0644 IUSE='doc gtk ' JAVAC=/etc/java-config-2/current-system-vm/bin/javac JAVA_HOME=/etc/java-config-2/current-system-vm JDK_HOME=/etc/java-config-2/current-system-vm KDEDIR=/usr/kde/3.5 KDEDIRS=/usr:/usr/local:/usr/kde/3.5 KDE_FULL_SESSION=true KDE_MULTIHEAD=false KDE_SESSION_UID=1000 KERNEL=linux KERNEL_ABI=default KEYWORDS='alpha amd64 arm hppa ia64 ~mips ppc ppc64 sh sparc x86 ~x86-fbsd ' KONSOLE_DCOP='DCOPRef(konsole-3036,konsole)' KONSOLE_DCOP_SESSION='DCOPRef(konsole-3036,session-6)' KV=2.6.24-gentoo-r2 LADSPA_PATH=/usr/lib/ladspa LCD_DEVICES='bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text' LC_ALL=C LDFLAGS=-Wl,--as-needed LDPATH=/usr/local/lib://usr//lib/opengl/xorg-x11/lib:/usr/i686-pc-linux-gnu/lib:/usr/lib/gcc/i686-pc-linux-gnu/4.2.3:/usr/lib/gcc/i686-pc-linux-gnu/4.2.2:/usr/lib/nspr:/usr/lib/nss:/usr/lib/openmotif-2.2:/opt/blackdown-jdk-1.4.2.03/jre/lib/i386/:/opt/blackdown-jdk-1.4.2.03/jre/lib/i386/native_threads/:/opt/blackdown-jdk-1.4.2.03/jre/lib/i386/classic/:/opt/blackdown-jdk-1.4.2.03/jre/lib/i386/server/:/usr/lib/qt4:/usr/kde/3.5/lib:/usr/qt/3/lib:/usr/games/lib:/usr/lib/fltk-1.1:/usr/lib/libstdc++-v3/ LD_PRELOAD=/usr/lib/libsandbox.so LESS='-R -M --shift 5' LESSOPEN='|lesspipe.sh %s' LIBDIR_default=lib LIBOPTIONS=-m0644 LICENSE=GPL-2 LINGUAS=en LIRC_DEVICES= LOGNAME=root LS_COLORS='rs=0: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:*.lzma=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=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:*.svg=01;35:*.svgz=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:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=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:*.aac=00;36:*.au=00;36:*.flac=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:' MACHTYPE=i686-pc-linux-gnu MANPATH=/etc/java-config-2/current-system-vm/man:/usr/local/share/man:/usr/share/man:/usr/share/binutils-data/i686-pc-linux-gnu/2.18/man:/usr/share/gcc-data/i686-pc-linux-gnu/4.2.3/man:/opt/blackdown-jdk-1.4.2.03/man:/etc/java-config/system-vm/man/:/usr/kde/3.5/share/man:/usr/qt/3/doc/man MISDN_CARDS= MOPREFIX=imlib MULTILIB_ABIS=default OPENGL_PROFILE=xorg-x11 OPTERR=1 OPTIND=1 OSTYPE=linux-gnu P=imlib-1.9.15 PAGER=/usr/bin/less PALUDIS_BASHRC_FILES=/etc/paludis/bashrc PALUDIS_BINARY_DISTDIR_VARIABLE=DISTDIR PALUDIS_BRACKET_MERGED_VARIABLES= PALUDIS_CLIENT=paludis PALUDIS_CMDLINE_PARAMS=kde-meta PALUDIS_CMDLINE_checks=none PALUDIS_CMDLINE_install=1 PALUDIS_COLOURS=default PALUDIS_COMMAND='paludis --log-level qa' PALUDIS_CONFIG_DIR=/etc/paludis/ PALUDIS_CONFIG_PROTECT='/usr/kde/3.5/share/config /usr/kde/3.5/env /usr/kde/3.5/shutdown /usr/share/config /etc' PALUDIS_CONFIG_PROTECT_MASK='/etc/gentoo-release /etc/env.d/java/ /etc/udev/rules.d /etc/fonts/fonts.conf /etc/gconf /etc/terminfo /etc/texmf/web2c /etc/revdep-rebuild /etc/env.d /etc/gconf' PALUDIS_DIRECTORY_IF_EXISTS_VARIABLES=build:FILESDIR PALUDIS_DIRECTORY_VARIABLES='build:ECLASSDIR build:PORTDIR build:DISTDIR' PALUDIS_DOSYM_NO_MKDIR= PALUDIS_EBUILD_DIR=/usr/libexec/paludis PALUDIS_EBUILD_LOG_LEVEL=qa PALUDIS_EBUILD_MODULES_DIR=/usr/libexec/paludis PALUDIS_EBUILD_MODULE_SUFFIXES=0 PALUDIS_EBUILD_MUST_NOT_SET_VARIABLES= PALUDIS_EBUILD_OVERRIDE_CONFIG_PROTECT_MASK= PALUDIS_ENDCOL=$'\E[A\E[73G' PALUDIS_FETCHERS_DIRS='/etc/paludis/fetchers /usr/share/paludis/fetchers /usr/libexec/paludis/fetchers' PALUDIS_F_FUNCTION_PREFIX=ebuild_f PALUDIS_HOME=/root PALUDIS_HOOK_DIRS='/etc/paludis/hooks /usr/libexec/paludis/hooks /usr/share/paludis/hooks /usr/lib/paludis/hooks' PALUDIS_IGNORE_PIVOT_ENV_FUNCTIONS= PALUDIS_IGNORE_PIVOT_ENV_VARIABLES= PALUDIS_LOADSAVEENV_DIR=/var/tmp/paludis/media-libs-imlib-1.9.15-r2/temp PALUDIS_MUST_NOT_CHANGE_VARIABLES=SLOT PALUDIS_NON_EMPTY_VARIABLES='P PV PR PN PVR PF CATEGORY build:FILESDIR build:ECLASSDIR build:PORTDIR build:DISTDIR build:KV PALUDIS_TMPDIR PALUDIS_EBUILD_LOG_LEVEL PALUDIS_EBUILD_DIR build:USERLAND build:KERNEL build:ARCH build:CHOST PALUDIS_COMMAND ROOT' PALUDIS_OPTIONS='--checks none' PALUDIS_PID=32394 PALUDIS_PIPE_COMMANDS_SUPPORTED=yes PALUDIS_PIPE_COMMAND_READ_FD=7 PALUDIS_PIPE_COMMAND_WRITE_FD=6 PALUDIS_PROFILE_DIR=/usr/portage/profiles/default-linux/x86/2006.1/desktop PALUDIS_PROFILE_DIRS=/usr/portage/profiles/default-linux/x86/2006.1/desktop PALUDIS_RDEPEND_DEFAULTS_TO_DEPEND=yes PALUDIS_REDUCED_GID=1003 PALUDIS_REDUCED_UID=106 PALUDIS_SAVE_BASE_VARIABLES='CONFIG_PROTECT CONFIG_PROTECT_MASK' PALUDIS_SAVE_UNMODIFIABLE_VARIABLES='SLOT EAPI KEYWORDS ROOT PALUDIS_TMPDIR PALUDIS_CONFIG_DIR PALUDIS_BASHRC_FILES PALUDIS_HOOK_DIRS PALUDIS_FETCHERS_DIRS PALUDIS_SYNCERS_DIRS PALUDIS_COMMAND PALUDIS_REDUCED_UID PALUDIS_REDUCED_GID PALUDIS_EBUILD_LOG_LEVEL PALUDIS_EBUILD_DIR PALUDIS_UTILITY_PATH_SUFFIXES PALUDIS_EBUILD_MODULE_SUFFIXES PALUDIS_NON_EMPTY_VARIABLES PALUDIS_DIRECTORY_VARIABLES PALUDIS_EBUILD_MUST_NOT_SET_VARIABLES PALUDIS_SAVE_VARIABLES PALUDIS_SAVE_BASE_VARIABLES PALUDIS_DIRECTORY_IF_EXISTS_VARIABLES PALUDIS_SOURCE_MERGED_VARIABLES PALUDIS_MUST_NOT_CHANGE_VARIABLES PALUDIS_RDEPEND_DEFAULTS_TO_DEPEND ECLASSDIR ECLASSDIRS EXLIBSDIRS PALUDIS_VARIABLE PALUDIS_PROFILE_DIR PALUDIS_PROFILE_DIRS PALUDIS_LOADSAVEENV_DIR PALUDIS_BRACKET_MERGED_VARIABLES' PALUDIS_SAVE_VARIABLES='USE USE_EXPAND USE_EXPAND_HIDDEN $USE_EXPAND' PALUDIS_SOURCE_MERGED_VARIABLES='IUSE DEPEND RDEPEND PDEPEND KEYWORDS' PALUDIS_SYNCERS_DIRS='/etc/paludis/syncers /usr/share/paludis/syncers /usr/libexec/paludis/syncers' PALUDIS_TMPDIR=/var/tmp/paludis PALUDIS_UNPACK_FIX_PERMISSIONS=yes PALUDIS_UNPACK_FROM_VAR=DISTDIR PALUDIS_UNPACK_UNRECOGNISED_IS_FATAL= PALUDIS_UTILITY_PATH_SUFFIXES= PATH=/usr/libexec/paludis/utils:/sbin:/bin:/usr/sbin:/usr/bin:/bin:/sbin:/usr/bin:/usr/sbin PATH_NOT_CLOBBERED_BY_SANDBOX=/sbin:/bin:/usr/sbin:/usr/bin PDEPEND=' ' PF=imlib-1.9.15-r2 PIPESTATUS=([0]="0") PKGMANAGER=paludis-0.26.0_pre2 PKG_CONFIG_PATH=/usr/qt/3/lib/pkgconfig PN=imlib PORTAGE_ACTUAL_DISTDIR=/usr/portage/distfiles PORTAGE_BASHRC=/dev/null PORTAGE_BUILDDIR=/var/tmp/paludis/media-libs-imlib-1.9.15-r2 PORTAGE_CALLER='paludis --log-level qa' PORTAGE_GID=0 PORTAGE_INST_GID=0 PORTAGE_INST_UID=0 PORTAGE_MASTER_PID=32394 PORTAGE_NICENCESS=0 PORTAGE_TMPDIR=/var/tmp/paludis PORTAGE_TMPFS=/dev/shm PORTAGE_WORKDIR_MODE=0700 PORTDIR=/usr/portage PPID=32644 PR=r2 PRELINK_PATH_MASK=/usr/lib/gstreamer-0.10:/usr/lib/gstreamer-0.8:/usr/lib/klibc PS4='+ ' PV=1.9.15 PVP=([0]="1" [1]="9" [2]="15") PVR=1.9.15-r2 PWD=/home/shamus/source/virtualjaguar PYTHONPATH=/usr/lib/portage/pym QMAKESPEC=linux-g++ QTDIR=/usr/qt/3 RDEPEND=$'gtk? ( =x11-libs/gtk+-1.2* )\n\t>=media-libs/tiff-3.5.5\n\t>=media-libs/giflib-4.1.0\n\t>=media-libs/libpng-1.2.1\n\t>=media-libs/jpeg-6b\n\tx11-libs/libICE\n\tx11-libs/libSM\n\tx11-libs/libXext ' REAL_CHOST=i686-pc-linux-gnu REPOSITORY=gentoo ROOT=/ ROOTPATH=/usr/kde/3.5/sbin:/usr/kde/3.5/bin:/usr/local/bin:/usr/bin:/bin:/opt/bin:/usr/i686-pc-linux-gnu/gcc-bin/4.2.3:/opt/blackdown-jdk-1.4.2.03/bin:/opt/blackdown-jdk-1.4.2.03/jre/bin:/usr/qt/3/bin:/usr/games/bin S=/var/tmp/paludis/media-libs-imlib-1.9.15-r2/work/imlib-1.9.15 SANDBOX_BASHRC=/dev/null SANDBOX_DEBUG_LOG=/var/log/sandbox/sandbox-debug-32570.log SANDBOX_DENY=/etc/ld.so.preload SANDBOX_LIB=/usr/lib/libsandbox.so SANDBOX_LOG=/var/log/sandbox/sandbox-32570.log SANDBOX_ON=1 SANDBOX_PREDICT=/root/.:/usr/lib/python2.0/:/usr/lib/python2.1/:/usr/lib/python2.2/:/usr/lib/python2.3/:/usr/lib/python2.4/:/usr/lib/python2.5/:/usr/lib/python3.0/:/var/db/aliases.db:/var/db/netgroup.db:/var/db/netmasks.db:/var/db/ethers.db:/var/db/rpc.db:/var/db/protocols.db:/var/db/services.db:/var/db/networks.db:/var/db/hosts.db:/var/db/group.db:/var/db/passwd.db:/proc/self/maps:/dev/console:/dev/random SANDBOX_READ=/ SANDBOX_WRITE=/dev/zero:/dev/null:/dev/fd:/proc/self/fd:/dev/pts/:/dev/vc/:/dev/pty:/dev/tty:/dev/tts:/dev/console:/dev/shm:/dev/shm/ngpt:/var/log/scrollkeeper.log:/usr/tmp/conftest:/usr/lib/conftest:/usr/lib32/conftest:/usr/lib64/conftest:/usr/tmp/cf:/usr/lib/cf:/usr/lib32/cf:/usr/lib64/cf:/root/.gconfd/lock:/root/.bash_history::/tmp:/var/tmp:/tmp/:/var/tmp/:/dev/shm:/dev/stdout:/dev/stderr:/dev/null:/dev/tty:/dev/pts:/var/tmp/paludis:/var/cache:/proc/self/attr:/proc/self/task:/selinux/context:/var/tmp/paludis/media-libs-imlib-1.9.15-r2/temp/ SDL_AUDIODRIVER=alsa SESSION_MANAGER=local/corbie:/tmp/.ICE-unix/3008 SHELL=/bin/bash SHELLOPTS=braceexpand:hashall:interactive-comments SHLVL=6 SLOT=0 SRC_URI=mirror://gnome/sources/imlib/1.9/imlib-1.9.15.tar.bz2 STAGE1_USE='nptl nptlonly unicode' T=/var/tmp/paludis/media-libs-imlib-1.9.15-r2/temp/ TERM=xterm TMPDIR=/var/tmp/paludis/media-libs-imlib-1.9.15-r2/temp/ UID=0 USE='gtk x86 elibc_glibc video_cards_savage apache2_modules_actions apache2_modules_alias apache2_modules_auth_basic apache2_modules_authn_alias apache2_modules_authn_anon apache2_modules_authn_dbm apache2_modules_authn_default apache2_modules_authn_file apache2_modules_authz_dbm apache2_modules_authz_default apache2_modules_authz_groupfile apache2_modules_authz_host apache2_modules_authz_owner apache2_modules_authz_user apache2_modules_autoindex apache2_modules_cache apache2_modules_dav apache2_modules_dav_fs apache2_modules_dav_lock apache2_modules_deflate apache2_modules_dir apache2_modules_disk_cache apache2_modules_env apache2_modules_expires apache2_modules_ext_filter apache2_modules_file_cache apache2_modules_filter apache2_modules_headers apache2_modules_include apache2_modules_info apache2_modules_log_config apache2_modules_logio apache2_modules_mem_cache apache2_modules_mime apache2_modules_mime_magic apache2_modules_negotiation apache2_modules_rewrite apache2_modules_setenvif apache2_modules_speling apache2_modules_status apache2_modules_unique_id apache2_modules_userdir apache2_modules_usertrack apache2_modules_vhost_alias lcd_devices_bayrad lcd_devices_cfontz lcd_devices_cfontz633 lcd_devices_glk lcd_devices_hd44780 lcd_devices_lb216 lcd_devices_lcdm001 lcd_devices_mtxorb lcd_devices_ncurses lcd_devices_text kernel_linux userland_GNU linguas_en alsa_pcm_plugins_adpcm alsa_pcm_plugins_alaw alsa_pcm_plugins_asym alsa_pcm_plugins_copy alsa_pcm_plugins_dmix alsa_pcm_plugins_dshare alsa_pcm_plugins_dsnoop alsa_pcm_plugins_empty alsa_pcm_plugins_extplug alsa_pcm_plugins_file alsa_pcm_plugins_hooks alsa_pcm_plugins_iec958 alsa_pcm_plugins_ioplug alsa_pcm_plugins_ladspa alsa_pcm_plugins_lfloat alsa_pcm_plugins_linear alsa_pcm_plugins_meter alsa_pcm_plugins_mulaw alsa_pcm_plugins_multi alsa_pcm_plugins_null alsa_pcm_plugins_plug alsa_pcm_plugins_rate alsa_pcm_plugins_route alsa_pcm_plugins_share alsa_pcm_plugins_shm alsa_pcm_plugins_softvol alsa_cards_intel8x0 input_devices_evdev input_devices_keyboard input_devices_mouse ' USER=root USERLAND=GNU USE_EXPAND='APACHE2_MPMS ELIBC VIDEO_CARDS DVB_CARDS FOO2ZJS_DEVICES APACHE2_MODULES FRITZCAPI_CARDS MISDN_CARDS CROSSCOMPILE_OPTS LIRC_DEVICES CAMERAS FCDSL_CARDS LCD_DEVICES KERNEL USERLAND LINGUAS ALSA_PCM_PLUGINS ALSA_CARDS INPUT_DEVICES' USE_EXPAND_HIDDEN= VIDEO_CARDS=savage VMHANDLE=blackdown-jdk-1.4.2 WANT_AUTOCONF=2.5 WANT_AUTOMAKE=1.10 WINDOWID=10485765 WORKDIR=/var/tmp/paludis/media-libs-imlib-1.9.15-r2/work XAUTHORITY=/root/.xauthPNnjUB XCURSOR_THEME=default XDG_CONFIG_DIRS=/usr/kde/3.5/etc/xdg XDG_DATA_DIRS=/usr/share:/usr/kde/3.5/share:/usr/local/share XDM_MANAGED=/var/run/xdmctl/xdmctl-:0,maysd,mayfn,sched,rsvd,method=classic XERCESC_NLS_HOME=/usr/share/xerces-c/msg _=/var/tmp/paludis/media-libs-imlib-1.9.15-r2/temp/loadsaveenv ___ECLASS_RECUR_MULTILIB=yes ___ECLASS_RECUR_TOOLCHAIN_FUNCS=yes action=saveenv check_base_vars='CONFIG_PROTECT CONFIG_PROTECT_MASK' check_save_vars='USE USE_EXPAND USE_EXPAND_HIDDEN APACHE2_MPMS ELIBC VIDEO_CARDS DVB_CARDS FOO2ZJS_DEVICES APACHE2_MODULES FRITZCAPI_CARDS MISDN_CARDS CROSSCOMPILE_OPTS LIRC_DEVICES CAMERAS FCDSL_CARDS LCD_DEVICES KERNEL USERLAND LINGUAS ALSA_PCM_PLUGINS ALSA_CARDS INPUT_DEVICES' check_unmodifiable_vars='SLOT EAPI KEYWORDS ROOT PALUDIS_TMPDIR PALUDIS_CONFIG_DIR PALUDIS_BASHRC_FILES PALUDIS_HOOK_DIRS PALUDIS_FETCHERS_DIRS PALUDIS_SYNCERS_DIRS PALUDIS_COMMAND PALUDIS_REDUCED_UID PALUDIS_REDUCED_GID PALUDIS_EBUILD_LOG_LEVEL PALUDIS_EBUILD_DIR PALUDIS_UTILITY_PATH_SUFFIXES PALUDIS_EBUILD_MODULE_SUFFIXES PALUDIS_NON_EMPTY_VARIABLES PALUDIS_DIRECTORY_VARIABLES PALUDIS_EBUILD_MUST_NOT_SET_VARIABLES PALUDIS_SAVE_VARIABLES PALUDIS_SAVE_BASE_VARIABLES PALUDIS_DIRECTORY_IF_EXISTS_VARIABLES PALUDIS_SOURCE_MERGED_VARIABLES PALUDIS_MUST_NOT_CHANGE_VARIABLES PALUDIS_RDEPEND_DEFAULTS_TO_DEPEND ECLASSDIR ECLASSDIRS EXLIBSDIRS PALUDIS_VARIABLE PALUDIS_PROFILE_DIR PALUDIS_PROFILE_DIRS PALUDIS_LOADSAVEENV_DIR PALUDIS_BRACKET_MERGED_VARIABLES' ebuild=/usr/portage/media-libs/imlib/imlib-1.9.15-r2.ebuild f=/etc/paludis/bashrc line= old_sandbox_write=/dev/zero:/dev/null:/dev/fd:/proc/self/fd:/dev/pts/:/dev/vc/:/dev/pty:/dev/tty:/dev/tts:/dev/console:/dev/shm:/dev/shm/ngpt:/var/log/scrollkeeper.log:/usr/tmp/conftest:/usr/lib/conftest:/usr/lib32/conftest:/usr/lib64/conftest:/usr/tmp/cf:/usr/lib/cf:/usr/lib32/cf:/usr/lib64/cf:/root/.gconfd/lock:/root/.bash_history::/tmp:/var/tmp:/tmp/:/var/tmp/:/dev/shm:/dev/stdout:/dev/stderr:/dev/null:/dev/tty:/dev/pts:/var/tmp/paludis:/var/cache:/proc/self/attr:/proc/self/task:/selinux/context old_set=hB p=0 pcr='PONG 32571' s_v=saved_SLOT save_base_vars='CONFIG_PROTECT CONFIG_PROTECT_MASK' save_unmodifiable_vars='SLOT EAPI KEYWORDS ROOT PALUDIS_TMPDIR PALUDIS_CONFIG_DIR PALUDIS_BASHRC_FILES PALUDIS_HOOK_DIRS PALUDIS_FETCHERS_DIRS PALUDIS_SYNCERS_DIRS PALUDIS_COMMAND PALUDIS_REDUCED_UID PALUDIS_REDUCED_GID PALUDIS_EBUILD_LOG_LEVEL PALUDIS_EBUILD_DIR PALUDIS_UTILITY_PATH_SUFFIXES PALUDIS_EBUILD_MODULE_SUFFIXES PALUDIS_NON_EMPTY_VARIABLES PALUDIS_DIRECTORY_VARIABLES PALUDIS_EBUILD_MUST_NOT_SET_VARIABLES PALUDIS_SAVE_VARIABLES PALUDIS_SAVE_BASE_VARIABLES PALUDIS_DIRECTORY_IF_EXISTS_VARIABLES PALUDIS_SOURCE_MERGED_VARIABLES PALUDIS_MUST_NOT_CHANGE_VARIABLES PALUDIS_RDEPEND_DEFAULTS_TO_DEPEND ECLASSDIR ECLASSDIRS EXLIBSDIRS PALUDIS_VARIABLE PALUDIS_PROFILE_DIR PALUDIS_PROFILE_DIRS PALUDIS_LOADSAVEENV_DIR PALUDIS_BRACKET_MERGED_VARIABLES' save_var_ALSA_CARDS=intel8x0 save_var_ALSA_PCM_PLUGINS='adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mulaw multi null plug rate route share shm softvol' save_var_APACHE2_MODULES='actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias' save_var_APACHE2_MPMS= save_var_CAMERAS= save_var_CONFIG_PROTECT='/usr/kde/3.5/share/config /usr/kde/3.5/env /usr/kde/3.5/shutdown /usr/share/config /etc' save_var_CONFIG_PROTECT_MASK='/etc/gentoo-release /etc/env.d/java/ /etc/udev/rules.d /etc/fonts/fonts.conf /etc/gconf /etc/terminfo /etc/texmf/web2c /etc/revdep-rebuild /etc/env.d /etc/gconf' save_var_CROSSCOMPILE_OPTS= save_var_DVB_CARDS= save_var_EAPI=0 save_var_ECLASSDIR=/usr/portage/eclass save_var_ECLASSDIRS=/usr/portage/eclass save_var_ELIBC=glibc save_var_EXLIBSDIRS= save_var_FCDSL_CARDS= save_var_FOO2ZJS_DEVICES= save_var_FRITZCAPI_CARDS= save_var_INPUT_DEVICES='evdev keyboard mouse' save_var_KERNEL=linux save_var_KEYWORDS= save_var_LCD_DEVICES='bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text' save_var_LINGUAS=en save_var_LIRC_DEVICES= save_var_MISDN_CARDS= save_var_PALUDIS_BASHRC_FILES=/etc/paludis/bashrc save_var_PALUDIS_BRACKET_MERGED_VARIABLES= save_var_PALUDIS_COMMAND='paludis --log-level qa' save_var_PALUDIS_CONFIG_DIR=/etc/paludis/ save_var_PALUDIS_DIRECTORY_IF_EXISTS_VARIABLES=build:FILESDIR save_var_PALUDIS_DIRECTORY_VARIABLES='build:ECLASSDIR build:PORTDIR build:DISTDIR' save_var_PALUDIS_EBUILD_DIR=/usr/libexec/paludis save_var_PALUDIS_EBUILD_LOG_LEVEL=qa save_var_PALUDIS_EBUILD_MODULE_SUFFIXES=0 save_var_PALUDIS_EBUILD_MUST_NOT_SET_VARIABLES= save_var_PALUDIS_FETCHERS_DIRS='/etc/paludis/fetchers /usr/share/paludis/fetchers /usr/libexec/paludis/fetchers' save_var_PALUDIS_HOOK_DIRS='/etc/paludis/hooks /usr/libexec/paludis/hooks /usr/share/paludis/hooks /usr/lib/paludis/hooks' save_var_PALUDIS_LOADSAVEENV_DIR=/var/tmp/paludis/media-libs-imlib-1.9.15-r2/temp save_var_PALUDIS_MUST_NOT_CHANGE_VARIABLES=SLOT save_var_PALUDIS_NON_EMPTY_VARIABLES='P PV PR PN PVR PF CATEGORY build:FILESDIR build:ECLASSDIR build:PORTDIR build:DISTDIR build:KV PALUDIS_TMPDIR PALUDIS_EBUILD_LOG_LEVEL PALUDIS_EBUILD_DIR build:USERLAND build:KERNEL build:ARCH build:CHOST PALUDIS_COMMAND ROOT' save_var_PALUDIS_PROFILE_DIR=/usr/portage/profiles/default-linux/x86/2006.1/desktop save_var_PALUDIS_PROFILE_DIRS=/usr/portage/profiles/default-linux/x86/2006.1/desktop save_var_PALUDIS_RDEPEND_DEFAULTS_TO_DEPEND=yes save_var_PALUDIS_REDUCED_GID=1003 save_var_PALUDIS_REDUCED_UID=106 save_var_PALUDIS_SAVE_BASE_VARIABLES='CONFIG_PROTECT CONFIG_PROTECT_MASK' save_var_PALUDIS_SAVE_VARIABLES='USE USE_EXPAND USE_EXPAND_HIDDEN $USE_EXPAND' save_var_PALUDIS_SOURCE_MERGED_VARIABLES='IUSE DEPEND RDEPEND PDEPEND KEYWORDS' save_var_PALUDIS_SYNCERS_DIRS='/etc/paludis/syncers /usr/share/paludis/syncers /usr/libexec/paludis/syncers' save_var_PALUDIS_TMPDIR=/var/tmp/paludis save_var_PALUDIS_UTILITY_PATH_SUFFIXES= save_var_PALUDIS_VARIABLE= save_var_ROOT=/ save_var_SLOT=0 save_var_USE='gtk x86 elibc_glibc video_cards_savage apache2_modules_actions apache2_modules_alias apache2_modules_auth_basic apache2_modules_authn_alias apache2_modules_authn_anon apache2_modules_authn_dbm apache2_modules_authn_default apache2_modules_authn_file apache2_modules_authz_dbm apache2_modules_authz_default apache2_modules_authz_groupfile apache2_modules_authz_host apache2_modules_authz_owner apache2_modules_authz_user apache2_modules_autoindex apache2_modules_cache apache2_modules_dav apache2_modules_dav_fs apache2_modules_dav_lock apache2_modules_deflate apache2_modules_dir apache2_modules_disk_cache apache2_modules_env apache2_modules_expires apache2_modules_ext_filter apache2_modules_file_cache apache2_modules_filter apache2_modules_headers apache2_modules_include apache2_modules_info apache2_modules_log_config apache2_modules_logio apache2_modules_mem_cache apache2_modules_mime apache2_modules_mime_magic apache2_modules_negotiation apache2_modules_rewrite apache2_modules_setenvif apache2_modules_speling apache2_modules_status apache2_modules_unique_id apache2_modules_userdir apache2_modules_usertrack apache2_modules_vhost_alias lcd_devices_bayrad lcd_devices_cfontz lcd_devices_cfontz633 lcd_devices_glk lcd_devices_hd44780 lcd_devices_lb216 lcd_devices_lcdm001 lcd_devices_mtxorb lcd_devices_ncurses lcd_devices_text kernel_linux userland_GNU linguas_en alsa_pcm_plugins_adpcm alsa_pcm_plugins_alaw alsa_pcm_plugins_asym alsa_pcm_plugins_copy alsa_pcm_plugins_dmix alsa_pcm_plugins_dshare alsa_pcm_plugins_dsnoop alsa_pcm_plugins_empty alsa_pcm_plugins_extplug alsa_pcm_plugins_file alsa_pcm_plugins_hooks alsa_pcm_plugins_iec958 alsa_pcm_plugins_ioplug alsa_pcm_plugins_ladspa alsa_pcm_plugins_lfloat alsa_pcm_plugins_linear alsa_pcm_plugins_meter alsa_pcm_plugins_mulaw alsa_pcm_plugins_multi alsa_pcm_plugins_null alsa_pcm_plugins_plug alsa_pcm_plugins_rate alsa_pcm_plugins_route alsa_pcm_plugins_share alsa_pcm_plugins_shm alsa_pcm_plugins_softvol alsa_cards_intel8x0 input_devices_evdev input_devices_keyboard input_devices_mouse ' save_var_USERLAND=GNU save_var_USE_EXPAND='APACHE2_MPMS ELIBC VIDEO_CARDS DVB_CARDS FOO2ZJS_DEVICES APACHE2_MODULES FRITZCAPI_CARDS MISDN_CARDS CROSSCOMPILE_OPTS LIRC_DEVICES CAMERAS FCDSL_CARDS LCD_DEVICES KERNEL USERLAND LINGUAS ALSA_PCM_PLUGINS ALSA_CARDS INPUT_DEVICES' save_var_USE_EXPAND_HIDDEN= save_var_VIDEO_CARDS=savage save_vars='USE USE_EXPAND USE_EXPAND_HIDDEN APACHE2_MPMS ELIBC VIDEO_CARDS DVB_CARDS FOO2ZJS_DEVICES APACHE2_MODULES FRITZCAPI_CARDS MISDN_CARDS CROSSCOMPILE_OPTS LIRC_DEVICES CAMERAS FCDSL_CARDS LCD_DEVICES KERNEL USERLAND LINGUAS ALSA_PCM_PLUGINS ALSA_CARDS INPUT_DEVICES' var=CONFIG_PROTECT_MASK ELT_find_ltmain_sh () { local x=; local dirlist=; for x in $(find "${S}" -name 'ltmain.sh'); do dirlist="${dirlist} ${x%/*}"; done; echo "${dirlist}" } ELT_libtool_version () { local ltmain_sh=$1; local version=; version=$(eval $(grep -e '^[[:space:]]*VERSION=' "${ltmain_sh}"); echo "${VERSION}"); [[ -z ${version} ]] && version="0"; echo "${version}" } ELT_try_and_apply_patch () { local ret=0; local file=$1; local patch=$2; if patch -p0 --dry-run "${file}" "${patch}" >&"${T}/elibtool.log"; then einfo " Applying $(basename "$(dirname "${patch}")")-${patch##*/}.patch ..."; patch -p0 -g0 --no-backup-if-mismatch "${file}" "${patch}" >&"${T}/elibtool.log"; ret=$?; export ELT_APPLIED_PATCHES="${ELT_APPLIED_PATCHES} ${patch##*/}"; else ret=1; fi; return "${ret}" } ELT_walk_patches () { local x=; local y=; local ret=1; local file=$1; local patch_set=$2; local patch_dir=; local rem_int_dep=$3; if [[ -n ${patch_set} ]]; then if [[ -d ${ELT_PATCH_DIR}/${patch_set} ]]; then patch_dir="${ELT_PATCH_DIR}/${patch_set}"; else return "${ret}"; fi; for x in $(ls -d "${patch_dir}"/* 2> /dev/null | grep -v 'CVS' | sort -r); do if [[ -n ${x} && -f ${x} ]]; then if [[ -n ${rem_int_dep} ]]; then sed -e "s|@REM_INT_DEP@|${rem_int_dep}|g" ${x} > "${T}/$$.rem_int_deps.patch"; x="${T}/$$.rem_int_deps.patch"; fi; if ELT_try_and_apply_patch "${file}" "${x}"; then ret=0; break; fi; fi; done; fi; return "${ret}" } EXPORT_FUNCTIONS () { [[ -z "${ECLASS}" ]] && diefunc "$FUNCNAME" "$LINENO" "EXPORT_FUNCTIONS called but ECLASS undefined"; local e; for e in "$@"; do case "$e" in pkg_nofetch | pkg_setup | pkg_prerm | pkg_postrm | pkg_preinst | pkg_postinst | pkg_config) eval "${e}() { ${ECLASS}_${e} \"\$@\" ; }" ;; src_unpack | src_compile | src_install | src_test) eval "${e}() { ${ECLASS}_${e} \"\$@\" ; }" ;; *) eval "${e}() { ${ECLASS}_${e} \"\$@\" ; }"; ebuild_notice "qa" "$e should not be in EXPORT_FUNCTIONS for ${ECLASS}" ;; esac; 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 major=$(KV_major "$1"); local minor=$(KV_minor "$1"); local micro=$(KV_micro "$1"); echo $(( major * 65536 + minor * 256 + micro )) } VER_major () { [[ -z $1 ]] && return 1; local VER=$@; echo "${VER%%[^[:digit:]]*}" } VER_micro () { [[ -z $1 ]] && return 1; local VER=$@; VER=${VER#*.*.}; echo "${VER%%[^[:digit:]]*}" } VER_minor () { [[ -z $1 ]] && return 1; local VER=$@; VER=${VER#*.}; echo "${VER%%[^[:digit:]]*}" } VER_to_int () { [[ -z $1 ]] && return 1; local VER_MAJOR=$(VER_major "$1"); local VER_MINOR=$(VER_minor "$1"); local VER_MICRO=$(VER_micro "$1"); local VER_int=$(( VER_MAJOR * 65536 + VER_MINOR * 256 + VER_MICRO )); if [[ ${VER_int} -ge 65536 ]]; then echo "${VER_int}"; return 0; fi; echo 1; return 1 } _cdrom_locate_file_on_cd () { local mline=""; local showedmsg=0 showjolietmsg=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 [[ " cd9660 iso9660 udf " != *" ${fs} "* ]] && ! [[ ${fs} == "subfs" && ",${opts}," == *",fs=cdfss,"* ]] && continue; point=${point//\040/ }; [[ ! -d ${point}/${dir} ]] && continue; [[ -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; if [[ ${showjolietmsg} -eq 0 ]]; then showjolietmsg=1; else ewarn "If you are having trouble with the detection"; ewarn "of your CD, it is possible that you do not have"; ewarn "Joliet support enabled in your kernel. Please"; ewarn "check that CONFIG_JOLIET is enabled in your kernel."; ebeep 5; fi; 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="${COLOUR_BRACKET}[ ${COLOUR_GOOD}ok${COLOUR_BRACKET} ]${COLOUR_NORMAL}"; else if [[ -n "$*" ]]; then ${efunc} $*; fi; msg="${COLOUR_BRACKET}[ ${COLOUR_BAD}!!${COLOUR_BRACKET} ]${COLOUR_NORMAL}"; fi; echo -e "${PALUDIS_ENDCOL} ${msg}"; return ${retval} } _elibtoolize () { local opts; local lttest; lttest="$(autotools_check_macro "AC_PROG_LIBTOOL")$(autotools_check_macro "AM_PROG_LIBTOOL")"; [[ -n $lttest ]] || return 0; [[ -f GNUmakefile.am || -f Makefile.am ]] && opts="--automake"; [[ "${USERLAND}" == "Darwin" ]] && LIBTOOLIZE="glibtoolize"; autotools_run_tool ${LIBTOOLIZE:-libtoolize} "$@" ${opts}; eaclocal } _gcc-install-dir () { echo "$(LC_ALL=C $(tc-getCC) -print-search-dirs 2> /dev/null | awk '$1=="install:" {print $2}')" } _gcc-specs-directive_raw () { 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-exists () { [[ -f $(_gcc-install-dir)/$1 ]] } adddeny () { export SANDBOX_DENY="${SANDBOX_DENY+${SANDBOX_DENY}:}${1}" } addpredict () { export SANDBOX_PREDICT="${SANDBOX_PREDICT+${SANDBOX_PREDICT}:}${1}" } addread () { export SANDBOX_READ="${SANDBOX_READ+${SANDBOX_READ}:}${1}" } addwrite () { export SANDBOX_WRITE="${SANDBOX_WRITE+${SANDBOX_WRITE}:}${1}" } autotools_check_macro () { [[ -f configure.ac || -f configure.in ]] && WANT_AUTOCONF="2.5" autoconf --trace=$1 2> /dev/null; return 0 } autotools_get_auxdir () { local auxdir_scan_out; auxdir_scan_out=$(autotools_check_macro "AC_CONFIG_AUX_DIR"); [[ -n ${auxdir_scan_out} ]] || return 0; echo ${auxdir_scan_out} | gawk '($0 !~ /^[[:space:]]*(#|dnl)/) { if (match($0, /AC_CONFIG_AUX_DIR:(.*)$/, res)) print res[1] }' | uniq; return 0 } autotools_get_subdirs () { local subdirs_scan_out; subdirs_scan_out=$(autotools_check_macro "AC_CONFIG_SUBDIRS"); [[ -n ${subdirs_scan_out} ]] || return 0; echo "${subdirs_scan_out}" | gawk '($0 !~ /^[[:space:]]*(#|dnl)/) { if (match($0, /AC_CONFIG_SUBDIRS:(.*)$/, res)) print res[1] }' | uniq; return 0 } autotools_run_tool () { if [[ ${EBUILD_PHASE} != "unpack" ]]; then ewarn "QA Warning: running $1 in ${EBUILD_PHASE} phase"; fi; local STDERR_TARGET="${T}/$$.out"; local ris; printf "***** $1 *****\n***** $*\n\n" > "${STDERR_TARGET%/*}/$1-${STDERR_TARGET##*/}"; ebegin "Running $@"; "$@" >> "${STDERR_TARGET%/*}/$1-${STDERR_TARGET##*/}" 2>&1; ris=$?; eend ${ris}; if [[ ${ris} != 0 && ${NO_FAIL} != 1 ]]; then echo; eerror "Failed Running $1 !"; eerror; eerror "Include in your bugreport the contents of:"; eerror; eerror " ${STDERR_TARGET%/*}/$1-${STDERR_TARGET##*/}"; echo; diefunc "$FUNCNAME" "$LINENO" "Failed Running $1 !"; fi } best_version () { [[ "${#@}" -ne 1 ]] && diefunc "$FUNCNAME" "$LINENO" "$0 should take exactly one arg"; local r=$(paludis_pipe_command BEST_VERSION "$EAPI" "$1" ); echo ${r#*;}; return ${r%%;*} } built_with_use () { local hidden="no"; if [[ $1 == "--hidden" ]]; then hidden="yes"; shift; fi; local missing_action="die"; if [[ $1 == "--missing" ]]; then missing_action=$2; shift; shift; case ${missing_action} in true | false | die) ;; *) diefunc "$FUNCNAME" "$LINENO" "unknown action '${missing_action}'" ;; esac; fi; 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; if [[ ! -e ${USEFILE} ]] || [[ ! -e ${IUSEFILE} && ${hidden} == "no" ]]; then case ${missing_action} in true) return 0 ;; false) return 1 ;; die) diefunc "$FUNCNAME" "$LINENO" "Unable to determine what USE flags $PKG was built with" ;; esac; fi; if [[ ${hidden} == "no" ]]; then 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 if ! has $1 ${IUSE_BUILT[@]#[-+]}; then case ${missing_action} in true) return 0 ;; false) return 1 ;; die) diefunc "$FUNCNAME" "$LINENO" "$PKG does not actually support the $1 USE flag!" ;; esac; fi; fi; 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" ]] } builtin_init () { local a; for a in PALUDIS_NON_EMPTY_VARIABLES ${PALUDIS_NON_EMPTY_VARIABLES}; do a=${a#build:}; [[ -z "${!a}" ]] && diefunc "$FUNCNAME" "$LINENO" "\$${a} unset or empty"; declare -r ${a}="${!a}"; done; for a in ${PALUDIS_DIRECTORY_VARIABLES}; do a=${a#build:}; [[ -d "${!a}" ]] || diefunc "$FUNCNAME" "$LINENO" "\$${a} (\"${!a}\") not a directory"; done; for a in ${PALUDIS_DIRECTORY_IF_EXISTS_VARIABLES}; do a=${a#build:}; [[ -e "${!a}" ]] && [[ ! -d "${!a}" ]] && diefunc "$FUNCNAME" "$LINENO" "\$${a} (\"${!a}\") exists but is not a directory"; done; for a in PALUDIS_TMPDIR; do if ! [[ -d "${!a}" ]]; then PALUDIS_EXTRA_DIE_MESSAGE=" !!! '${!a}' should be a directory, but does not exist. For, !!! security reasons, Paludis will not try to create this directory !!! automatically. Please create it by hand and give it appropriate !!! permissions. Typically you should use: !!! mkdir ${!a} !!! chgrp ${PALUDIS_REDUCED_GID} ${!a} !!! chmod g+rwx ${!a} !!! chmod +s ${!a} !!! although other values may be more appropriate for your system. "; diefunc "$FUNCNAME" "$LINENO" "\$${a} (\"${!a}\") not a directory"; fi; done; if [[ -e "${PALUDIS_TMPDIR}/${CATEGORY}-${PF}" ]]; then if type -p chflags >&/dev/null; then chflags -R 0 "${PALUDIS_TMPDIR}/${CATEGORY}-${PF}" || diefunc "$FUNCNAME" "$LINENO" "Couldn't remove flags from workdir"; fi; rm -fr "${PALUDIS_TMPDIR}/${CATEGORY}-${PF}" || diefunc "$FUNCNAME" "$LINENO" "Couldn't remove previous work"; fi; export WORKDIR="${PALUDIS_TMPDIR}/${CATEGORY}-${PF}/work"; mkdir -p "${WORKDIR}" || diefunc "$FUNCNAME" "$LINENO" "Couldn't create \$WORKDIR (\"${WORKDIR}\")"; declare -r WORKDIR="${WORKDIR}"; export T="${PALUDIS_TMPDIR}/${CATEGORY}-${PF}/temp/"; mkdir -p "${T}" || diefunc "$FUNCNAME" "$LINENO" "Couldn't create \$T (\"${T}\")"; declare -r T="${T}"; export HOME="${T}"; export TMPDIR="${T}"; export D="${PALUDIS_TMPDIR}/${CATEGORY}-${PF}/image/"; export D="${D//+(\/)//}"; mkdir -p "${D}" || diefunc "$FUNCNAME" "$LINENO" "Couldn't create \$D (\"${D}\")"; declare -r D="${D}"; export IMAGE="${D}"; declare -r IMAGE="${IMAGE}"; export S="${WORKDIR}/${P}" } builtin_loadenv () { [[ -d "${PALUDIS_LOADSAVEENV_DIR}" ]] || diefunc "$FUNCNAME" "$LINENO" "\$PALUDIS_LOADSAVEENV_DIR (\"${PALUDIS_LOADSAVEENV_DIR}\") not a directory"; [[ -f "${PALUDIS_LOADSAVEENV_DIR}/loadsaveenv" ]] || diefunc "$FUNCNAME" "$LINENO" "${PALUDIS_LOADSAVEENV_DIR}/loadsaveenv not a file"; ebuild_safe_source ${PALUDIS_LOADSAVEENV_DIR}/loadsaveenv } builtin_saveenv () { [[ -d "${PALUDIS_LOADSAVEENV_DIR}" ]] || diefunc "$FUNCNAME" "$LINENO" "\$PALUDIS_LOADSAVEENV_DIR (\"${PALUDIS_LOADSAVEENV_DIR}\") not a directory"; [[ -f "${PALUDIS_LOADSAVEENV_DIR}/loadsaveenv" ]] && rm -f "${PALUDIS_LOADSAVEENV_DIR}/loadsaveenv"; ( set; print_exports ) > ${PALUDIS_LOADSAVEENV_DIR}/loadsaveenv } 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 () { diefunc "$FUNCNAME" "$LINENO" "check_KV not implemented" } 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 } check_paludis_pipe_command () { [[ -n "${PALUDIS_SKIP_PIPE_COMMAND_CHECK}" ]] && return; [[ -z "${PALUDIS_PIPE_COMMANDS_SUPPORTED}" ]] && return; pcr=$(paludis_pipe_command PING DUNNOYET $$ ); [[ "$pcr" == "PONG $$" ]] || diefunc "$FUNCNAME" "$LINENO" "paludis_pipe_command isn't working (got '$pcr')" } 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 } darwintoolize () { ewarn "darwintoolize() is deprecated, please just use elibtoolize()!"; elibtoolize } debug-print () { : } debug-print-function () { : } debug-print-section () { : } diefunc () { local func="$1" line="$2"; shift 2; echo 1>&2; echo "!!! ERROR in ${CATEGORY:-?}/${PF:-?}:" 1>&2; echo "!!! In ${func:-?} at line ${line:-?}" 1>&2; echo "!!! ${*:-(no message provided)}" 1>&2; echo 1>&2; echo "!!! Call stack:" 1>&2; for ((n = 1 ; n < ${#FUNCNAME[@]} ; ++n )) do funcname=${FUNCNAME[${n}]}; sourcefile=${BASH_SOURCE[${n}]}; lineno=${BASH_LINENO[$(( n - 1 ))]}; echo "!!! * ${funcname} (${sourcefile}:${lineno})" 1>&2; done; echo 1>&2; if [[ -n "${PALUDIS_EXTRA_DIE_MESSAGE}" ]]; then echo "${PALUDIS_EXTRA_DIE_MESSAGE}" 1>&2; echo 1>&2; fi; echo "diefunc: making ebuild PID ${EBUILD_KILL_PID} exit with error" 1>&2; kill -s SIGUSR1 "${EBUILD_KILL_PID}"; exit 249 } diropts () { export DIROPTIONS="$@" } dlopen_lib () { if [[ ${ELIBC} != *BSD ]]; then echo "-ldl"; fi } docinto () { if [[ "${1}" == "/" ]]; then export DOCDESTTREE=; else export DOCDESTTREE="${1}"; [[ -d "${D}usr/share/doc/${PF}/${DOCDESTTREE}" ]] || install -d "${D}usr/share/doc/${PF}/${DOCDESTTREE}"; fi } doicon () { ( local i j ret; insinto /usr/share/pixmaps; for i in "$@"; do if [[ -f ${i} ]]; then doins "${i}"; ((ret+=$?)); else if [[ -d ${i} ]]; then for j in "${i}"/*.png; do doins "${j}"; ((ret+=$?)); done; else ((++ret)); fi; fi; done; exit ${ret} ) } domenu () { ( local i j ret=0; insinto /usr/share/applications; for i in "$@"; do if [[ -f ${i} ]]; then doins "${i}"; ((ret+=$?)); else if [[ -d ${i} ]]; then for j in "${i}"/*.desktop; do doins "${j}"; ((ret+=$?)); done; else ((++ret)); fi; fi; done; exit ${ret} ) } eaclocal () { local aclocal_opts; local amflags_file; for amflags_file in GNUmakefile.am Makefile.am GNUmakefile.in Makefile.in; do [[ -e ${amflags_file} ]] || continue; aclocal_opts=$(sed -n '/^ACLOCAL_AMFLAGS[[:space:]]*=/s:[^=]*=::p' ${amflags_file}); eval aclocal_opts=\"${aclocal_opts}\"; break; done; if [[ -n ${AT_M4DIR} ]]; then for x in ${AT_M4DIR}; do case "${x}" in "-I") ;; *) [[ ! -d ${x} ]] && ewarn "eaclocal: '${x}' does not exist"; aclocal_opts="${aclocal_opts} -I ${x}" ;; esac; done; fi; [[ ! -f aclocal.m4 || -n $(grep -e 'generated.*by aclocal' aclocal.m4) ]] && autotools_run_tool aclocal "$@" ${aclocal_opts} } eautoconf () { if [[ ! -f configure.ac && ! -f configure.in ]]; then echo; eerror "No configure.{ac,in} present in '$(pwd | sed -e 's:.*/::')'!"; echo; diefunc "$FUNCNAME" "$LINENO" "No configure.{ac,in} present!"; fi; autotools_run_tool autoconf "$@" } eautoheader () { [[ -n $(autotools_check_macro "AC_CONFIG_HEADERS") ]] || return 0; NO_FAIL=1 autotools_run_tool autoheader "$@" } eautomake () { local extra_opts; local makefile_name; if [[ -f GNUmakefile.am ]]; then makefile_name="GNUmakefile"; else if [[ -f Makefile.am ]]; then makefile_name="Makefile"; else return 0; fi; fi; if [[ -z ${FROM_EAUTORECONF} && -f ${makefile_name}.in ]]; then local used_automake; local installed_automake; installed_automake=$(automake --version | head -n 1 | sed -e 's:.*(GNU automake) ::'); used_automake=$(head -n 1 < ${makefile_name}.in | sed -e 's:.*by automake \(.*\) from .*:\1:'); if [[ ${installed_automake} != ${used_automake} ]]; then einfo "Automake used for the package (${used_automake}) differs from"; einfo "the installed version (${installed_automake})."; eautoreconf; return 0; fi; fi; [[ -f INSTALL && -f AUTHORS && -f ChangeLog && -f NEWS ]] || extra_opts="${extra_opts} --foreign"; autotools_run_tool automake --add-missing --copy ${extra_opts} "$@" } eautoreconf () { local pwd=$(pwd) x auxdir; if [[ -z ${AT_NO_RECURSIVE} ]]; then for x in $(autotools_get_subdirs); do if [[ -d ${x} ]]; then cd "${x}"; AT_NOELIBTOOLIZE="yes" eautoreconf; cd "${pwd}"; fi; done; fi; auxdir=$(autotools_get_auxdir); einfo "Running eautoreconf in '$(pwd)' ..."; [[ -n ${auxdir} ]] && mkdir -p ${auxdir}; eaclocal; if ${LIBTOOLIZE:-libtoolize} -n --install >&/dev/null; then _elibtoolize --copy --force --install; else _elibtoolize --copy --force; fi; eautoconf; eautoheader; FROM_EAUTORECONF="yes" eautomake ${AM_OPTS}; [[ ${AT_NOELIBTOOLIZE} == "yes" ]] && return 0; elibtoolize; return 0 } 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 () { paludis_ecmd "ebegin" "einfo" "`echo -ne " ${COLOUR_GOOD}*${COLOUR_NORMAL} "`" "$* ..." } ebegin_unhooked () { paludis_ecmd "ebegin" "" "`echo -ne " ${COLOUR_GOOD}*${COLOUR_NORMAL} "`" "$* ..." } ebuild_f_init () { if hasq "init" ${SKIP_FUNCTIONS}; then ebuild_section "Skipping builtin_init (SKIP_FUNCTIONS)"; else ebuild_section "Starting builtin_init"; builtin_init; ebuild_section "Done builtin_init"; fi } ebuild_f_loadenv () { local old_sandbox_write="${SANDBOX_WRITE}"; [[ -z "${PALUDIS_DO_NOTHING_SANDBOXY}" ]] && SANDBOX_WRITE="${SANDBOX_WRITE+${SANDBOX_WRITE}:}${PALUDIS_LOADSAVEENV_DIR%/}/"; if hasq "loadenv" ${SKIP_FUNCTIONS}; then ebuild_section "Skipping builtin_loadenv (SKIP_FUNCTIONS)"; else ebuild_section "Starting builtin_loadenv"; builtin_loadenv; ebuild_section "Done builtin_loadenv"; fi; [[ -z "${PALUDIS_DO_NOTHING_SANDBOXY}" ]] && SANDBOX_WRITE="${old_sandbox_write}"; true } ebuild_f_saveenv () { local old_sandbox_write="${SANDBOX_WRITE}"; SANDBOX_WRITE="${SANDBOX_WRITE+${SANDBOX_WRITE}:}${PALUDIS_LOADSAVEENV_DIR%/}/"; if hasq "saveenv" ${SKIP_FUNCTIONS}; then ebuild_section "Skipping builtin_saveenv (SKIP_FUNCTIONS)"; else ebuild_section "Starting builtin_saveenv"; builtin_saveenv; ebuild_section "Done builtin_saveenv"; fi; SANDBOX_WRITE="${old_sandbox_write}"; true } ebuild_f_setup () { local old_sandbox_write="${SANDBOX_WRITE}"; [[ -z "${PALUDIS_DO_NOTHING_SANDBOXY}" ]] && SANDBOX_WRITE="${SANDBOX_WRITE+${SANDBOX_WRITE}:}${ROOT%/}/"; if hasq "setup" ${SKIP_FUNCTIONS}; then ebuild_section "Skipping pkg_setup (SKIP_FUNCTIONS)"; else if [[ $(type -t pre_pkg_setup ) == "function" ]]; then ebuild_section "Starting pre_pkg_setup"; pre_pkg_setup; ebuild_section "Done pre_pkg_setup"; fi; ebuild_section "Starting pkg_setup"; pkg_setup; ebuild_section "Done pkg_setup"; if [[ $(type -t post_pkg_setup ) == "function" ]]; then ebuild_section "Starting post_pkg_setup"; post_pkg_setup; ebuild_section "Done post_pkg_setup"; fi; fi; [[ -z "${PALUDIS_DO_NOTHING_SANDBOXY}" ]] && SANDBOX_WRITE="${old_sandbox_write}"; true } ebuild_get_abi_CDEFINE () { ebuild_get_abi_var CDEFINE "$@" } ebuild_get_abi_CFLAGS () { ebuild_get_abi_var CFLAGS "$@" } ebuild_get_abi_CHOST () { ebuild_get_abi_var CHOST "$@" } ebuild_get_abi_CTARGET () { ebuild_get_abi_var CTARGET "$@" } ebuild_get_abi_FAKE_TARGETS () { ebuild_get_abi_var FAKE_TARGETS "$@" } ebuild_get_abi_LDFLAGS () { ebuild_get_abi_var LDFLAGS "$@" } ebuild_get_abi_LIBDIR () { ebuild_get_abi_var LIBDIR "$@" } ebuild_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} } ebuild_get_libdir () { local CONF_LIBDIR; if [[ -n "${CONF_LIBDIR_OVERRIDE}" ]]; then echo ${CONF_LIBDIR_OVERRIDE}; else ebuild_get_abi_LIBDIR; fi } ebuild_load_ebuild () { export EBUILD="${1}"; unset ${SOURCE_MERGED_VARIABLES} ${BRACKET_MERGED_VARIABLES}; local v e_v; for v in ${PALUDIS_MUST_NOT_CHANGE_VARIABLES}; do e_v=saved_${v}; local ${e_v}="${!v}"; done; [[ -f "${1}" ]] || diefunc "$FUNCNAME" "$LINENO" "Ebuild '${1}' is not a file"; source ${1} || diefunc "$FUNCNAME" "$LINENO" "Error sourcing ebuild '${1}'"; if [[ -n "${PALUDIS_RDEPEND_DEFAULTS_TO_DEPEND}" ]]; then [[ ${RDEPEND-unset} == "unset" ]] && RDEPEND="${DEPEND}"; fi; for v in ${PALUDIS_SOURCE_MERGED_VARIABLES}; do e_v=E_${v}; export -n ${v}="${!v} ${!e_v}"; done; for v in ${PALUDIS_BRACKET_MERGED_VARIABLES}; do e_v=E_${v}; export -n ${v}="( ${!v} ) ${!e_v}"; done; [[ ${EAPI-unset} == "unset" ]] && EAPI="0"; for v in ${PALUDIS_MUST_NOT_CHANGE_VARIABLES}; do s_v="saved_${v}"; if [[ -n "${!s_v}" ]] && [[ "${!v}" != "${!s_v}" ]]; then ebuild_notice "qa" "Ebuild ${1} illegally tried to change ${v} from '${!s_v}' to '${!v}'"; export ${v}="${!s_v}"; fi; done } ebuild_load_environment () { if [[ -n "${PALUDIS_LOAD_ENVIRONMENT}" ]]; then [[ -d ${PALUDIS_TMPDIR} ]] || diefunc "$FUNCNAME" "$LINENO" "You need to create PALUDIS_TMPDIR (${PALUDIS_TMPDIR})."; local save_PALUDIS_EXTRA_DIE_MESSAGE="${PALUDIS_EXTRA_DIE_MESSAGE}"; export PALUDIS_EXTRA_DIE_MESSAGE=" !!! Could not extract the saved environment file. This is usually !!! caused by a broken environment.bz2 that was generated by an old !!! Portage version. The file that needs repairing is: !!! ${PALUDIS_LOAD_ENVIRONMENT} !!! Try copying this file, bunzip2ing it and sourcing it using a new !!! bash shell (do not continue to use said shell afterwards). You !!! should get an error that gives you a rough idea of where the !!! problem lies. "; if [[ "${PALUDIS_LOAD_ENVIRONMENT%.bz2}" != "${PALUDIS_LOAD_ENVIRONMENT}" ]]; then echo bunzip2 \< "${PALUDIS_LOAD_ENVIRONMENT}" \> ${PALUDIS_TMPDIR}/environment-${CATEGORY}-${PF}-$$ 1>&2; bunzip2 < "${PALUDIS_LOAD_ENVIRONMENT}" > ${PALUDIS_TMPDIR}/environment-${CATEGORY}-${PF}-$$ || diefunc "$FUNCNAME" "$LINENO" "Can't extract ${PALUDIS_LOAD_ENVIRONMENT}"; else echo cp "${PALUDIS_LOAD_ENVIRONMENT}" "${PALUDIS_TMPDIR}/environment-${CATEGORY}-${PF}-$$" 1>&2; cp "${PALUDIS_LOAD_ENVIRONMENT}" "${PALUDIS_TMPDIR}/environment-${CATEGORY}-${PF}-$$" || diefunc "$FUNCNAME" "$LINENO" "Can't copy ${PALUDIS_LOAD_ENVIRONMENT}"; fi; echo ebuild_scrub_environment "${PALUDIS_TMPDIR}/environment-${CATEGORY}-${PF}-$$" "$@" 1>&2; ebuild_scrub_environment "${PALUDIS_TMPDIR}/environment-${CATEGORY}-${PF}-$$" "$@" || diefunc "$FUNCNAME" "$LINENO" "Can't load saved environment for cleaning"; echo ebuild_safe_source "${PALUDIS_TMPDIR}/environment-${CATEGORY}-${PF}-$$" 1>&2; ebuild_safe_source "${PALUDIS_TMPDIR}/environment-${CATEGORY}-${PF}-$$" || diefunc "$FUNCNAME" "$LINENO" "Can't load saved environment"; export PALUDIS_EXTRA_DIE_MESSAGE="${save_PALUDIS_EXTRA_DIE_MESSAGE}"; echo rm "${PALUDIS_TMPDIR}/environment-${CATEGORY}-${PF}-$$" 1>&2; rm "${PALUDIS_TMPDIR}/environment-${CATEGORY}-${PF}-$$"; fi } ebuild_load_module () { local t= d=; for d in ${EBUILD_MODULES_DIRS}; do if [[ -f "${d}/${1}.bash" ]]; then if ! source "${d}/${1}.bash"; then type die >&/dev/null && eval die "\"Error loading module \${1}\""; echo "Error loading module ${1}" 1>&2; exit 123; fi; return; else t="${t:+${t}, }${d}"; fi; done; type die >&/dev/null && eval die "\"Couldn't find module \${1} (looked in \${t})\""; echo "Couldn't find module ${1} (looked in ${t})" 1>&2; exit 123 } ebuild_main () { if ! [[ -e /proc/self ]] && [[ "$(uname -s)" == Linux ]]; then ebuild_notice "warning" "/proc appears to be unmounted or unreadable."; ebuild_notice "warning" "This will cause problems."; fi; local action ebuild="$1"; shift; ebuild_notice "debug" "Using ebuild '${ebuild}', EAPI before source is '${EAPI}'"; if [[ ${#@} -ge 2 ]]; then ebuild_section "Running ebuild phases $@ as $(id -un ):$(id -gn )..."; else if [[ ${1} != variable ]] && [[ ${1} != metadata ]] && [[ ${1} != pretend ]]; then ebuild_section "Running ebuild phase $@ as $(id -un ):$(id -gn )..."; fi; fi; for action in $@; do case ${action} in metadata | variable | init | initmisc | initrm | killold | killoldmisc | killoldrm | merge | unmerge | tidyup | tidyupmisc | tidyuprm | loadenv | saveenv | initbin | unpackbin | infovars | pivotbin | installbin) ebuild_load_module builtin_${action} ;; unpack | prepare | configure | compile | install | test) ebuild_load_module src_${action} ;; setup | config | nofetch | preinst | postinst | prerm | postrm | pretend | info) ebuild_load_module pkg_${action} ;; *) ebuild_load_module usage_error; ebuild_f_usage_error "Unknown action '${action}'"; exit 1 ;; esac; done; if [[ $1 == metadata ]] || [[ $1 == variable ]]; then export EBUILD_PHASE="${1}"; perform_hook ebuild_${action}_pre; if [[ $1 != variable ]] || [[ -n "${ebuild}" ]]; then for f in cut tr date; do eval "export ebuild_real_${f}=\"$(which $f )\""; eval "${f}() { ebuild_notice qa 'global scope ${f}' ; $(which $f ) \"\$@\" ; }"; done; for f in locked_pipe_command; do eval "${f}() { $(which $f ) \"\$@\" ; }"; done; PATH="" ebuild_load_ebuild "${ebuild}"; fi; if ! ${PALUDIS_F_FUNCTION_PREFIX:-ebuild_f}_${1}; then perform_hook ebuild_${action}_fail; diefunc "$FUNCNAME" "$LINENO" "${1} failed"; fi; perform_hook ebuild_${action}_post; else ebuild_load_environment; if [[ "${ebuild}" != "-" ]]; then ebuild_load_ebuild "${ebuild}"; fi; for action in $@; do export EBUILD_PHASE="${action}"; perform_hook ebuild_${action}_pre; if ! ${PALUDIS_F_FUNCTION_PREFIX:-ebuild_f}_${action}; then perform_hook ebuild_${action}_fail; diefunc "$FUNCNAME" "$LINENO" "${action} failed"; fi; if [[ ${action} == "init" ]]; then ebuild_load_ebuild "${ebuild}"; fi; perform_hook ebuild_${action}_post; done; fi; if [[ ${#@} -ge 2 ]]; then ebuild_section "Completed ebuild phases $@"; else if [[ ${1} != variable ]] && [[ ${1} != metadata ]] && [[ ${1} != pretend ]]; then ebuild_section "Completed ebuild phase $@"; fi; fi } ebuild_notice () { [[ -z "${PALUDIS_PIPE_COMMANDS_SUPPORTED}" ]] && return; paludis_pipe_command LOG "$EAPI" "$@" > /dev/null } ebuild_safe_source () { set -- "${@}" '[^a-zA-Z_]*' '*[^a-zA-Z0-9_]*' EUID PPID UID FUNCNAME GROUPS SHELLOPTS 'BASH_@(ARGC|ARGV|LINENO|SOURCE|VERSINFO|REMATCH)' 'BASH_COMPLETION?(_DIR)' 'bash+([0-9])?([a-z])' EBUILD_KILL_PID PALUDIS_LOADSAVEENV_DIR PALUDIS_DO_NOTHING_SANDBOXY SANDBOX_ACTIVE PALUDIS_IGNORE_PIVOT_ENV_FUNCTIONS PALUDIS_IGNORE_PIVOT_ENV_VARIABLES; trap DEBUG; set -T; shopt -s extdebug; trap "[[ \${BASH_COMMAND%%[[:space:]]*} != @(*=*|export|declare) || \${BASH_COMMAND%%=*} == ?(*[[:space:]])!($(IFS='|'; shift; echo "${*}")) ]]" DEBUG; source "${1}"; eval "trap DEBUG; shopt -u extdebug; set +T; return ${?}" } ebuild_scrub_environment () { local save_LD_LIBRARY_PATH="${LD_LIBRARY_PATH}"; ( ebuild_safe_source "${1}" PATH PALUDIS_SOURCE_MERGED_VARIABLES PALUDIS_BRACKET_MERGED_VARIABLES || exit 1; unset -f diefunc perform_hook inherit builtin_loadenv builtin_saveenv; unset -f ebuild_safe_source portageq best_version has_version paludis_pipe_command; unset -f paludis_rewrite_var; if [[ "${2}" == "--pivot" ]]; then unset -f ${PALUDIS_IGNORE_PIVOT_ENV_FUNCTIONS}; unset -v ${PALUDIS_IGNORE_PIVOT_ENV_VARIABLES}; fi; unset -v ROOTPATH T HOME TMPDIR PALUDIS_TMPDIR PALUDIS_EBUILD_LOG_LEVEL; unset -v PORTDIR FILESDIR ECLASSDIR DISTDIR PALUDIS_EBUILD_DIR; unset -v PALUDIS_EXTRA_DIE_MESSAGE PALUDIS_COMMAND SKIP_FUNCTIONS; unset -v FETCHEDDIR REPODIR EAPI; unset -v ${!PALUDIS_CMDLINE_*} PALUDIS_OPTIONS; unset -v ${!CONTRARIUS_CMDLINE_*} CONTRARIUS_OPTIONS; unset -v ${!GTKPALUDIS_CMDLINE_*} GTKPALUDIS_OPTIONS; unset -v ${!ADJUTRIX_CMDLINE_*} ADJUTRIX_OPTIONS; unset -v ${!QUALUDIS_CMDLINE_*} QUALUDIS_OPTIONS; unset -v ${!RECONCILIO_CMDLINE_*} RECONCILIO_OPTIONS; eval unset -v $( PALUDIS_CLIENT_UPPER=$(tr a-z A-Z <<<${PALUDIS_CLIENT}) echo "\${!${PALUDIS_CLIENT_UPPER}_CMDLINE_*} ${PALUDIS_CLIENT_UPPER}_OPTIONS" ); unset -v PALUDIS_CLIENT; unset -v PALUDIS_HOME PALUDIS_PID PALUDIS_PIPE_COMMAND_WRITE_FD PALUDIS_PIPE_COMMAND_READ_FD ROOT; unset -v CATEGORY PN PV P PVR PF ${!LD_*}; unset -v ebuild EBUILD; unset -v $( for v in ${PALUDIS_SOURCE_MERGED_VARIABLES} ${PALUDIS_BRACKET_MERGED_VARIABLES} ; do echo E_${v} done ); unset -v $( for v in ${!SANDBOX_*}; do [[ ${v} != SANDBOX_ACTIVE ]] && echo ${v} done ); export -n SANDBOX_ACTIVE; unset -v $( for v in ${!BASH_*}; do [[ ${v#BASH_} != @(ARGC|ARGV|LINENO|SOURCE|VERSINFO|REMATCH) ]] && echo ${v} done ); set > "${1}"; LD_LIBRARY_PATH="${save_LD_LIBRARY_PATH}" print_exports >> "${1}" ) } ebuild_section () { echo -ne "${COLOUR_GREEN}>>>${COLOUR_NORMAL} "; echo "$@" } ebuild_source_profile () { if [[ -f ${1}/parent ]]; then while read line; do grep --silent '^[[:space:]]*#' <<< "${line}" && continue; grep --silent '[^[:space:]]' <<< "${line}" || continue; ebuild_source_profile $(canonicalise ${1}/${line} ); done < ${1}/parent; fi; local old_set=$-; set -a; if [[ -f ${1}/make.defaults ]]; then source ${1}/make.defaults || diefunc "$FUNCNAME" "$LINENO" "Couldn't source ${1}/make.defaults"; fi; if [[ -f ${1}/bashrc ]]; then source ${1}/bashrc || diefunc "$FUNCNAME" "$LINENO" "Couldn't source ${1}/bashrc"; fi; [[ "${old_set}" == *a* ]] || set +a } econf () { local LOCAL_EXTRA_ECONF="${EXTRA_ECONF}"; local LOCAL_ECONF_WRAPPER="${ECONF_WRAPPER}"; [[ -z "${ECONF_SOURCE}" ]] && ECONF_SOURCE=.; if [[ -x "${ECONF_SOURCE}/configure" ]]; then if [[ -d /usr/share/gnuconfig ]]; then local f; find "${WORKDIR}" -type f -name config.guess -or -name config.sub | while read f; do echo "econf: updating ${f} with /usr/share/gnuconfig/${f##*/}"; cp -f "/usr/share/gnuconfig/${f##*/}" "${f}"; done; fi; [[ -z "${CBUILD}" ]] || LOCAL_EXTRA_ECONF="--build=${CBUILD} ${LOCAL_EXTRA_ECONF}"; [[ -z "${CTARGET}" ]] || LOCAL_EXTRA_ECONF="--target=${CTARGET} ${LOCAL_EXTRA_ECONF}"; ECONF_PREFIX=/usr; for i in "$@"; do if [[ ${i} == --prefix=* ]]; then ECONF_PREFIX=${i#--prefix=}; else if [[ ${i} == --exec-prefix=* ]]; then ECONF_PREFIX=${i#--exec-prefix=}; fi; fi; done; local libcmd=; if [[ -n "${ABI}" ]]; then local v="LIBDIR_${ABI}"; if [[ -n "${!v}" ]]; then libcmd="--libdir=${ECONF_PREFIX}/$(ebuild_get_libdir)"; fi; fi; echo ${LOCAL_ECONF_WRAPPER} "${ECONF_SOURCE}"/configure --prefix=/usr --host=${CHOST} --mandir=/usr/share/man --infodir=/usr/share/info --datadir=/usr/share --sysconfdir=/etc --localstatedir=/var/lib ${libcmd} "$@" ${LOCAL_EXTRA_ECONF} 1>&2; ${LOCAL_ECONF_WRAPPER} "${ECONF_SOURCE}"/configure --prefix=/usr --host=${CHOST} --mandir=/usr/share/man --infodir=/usr/share/info --datadir=/usr/share --sysconfdir=/etc --localstatedir=/var/lib ${libcmd} "$@" ${LOCAL_EXTRA_ECONF} || diefunc "$FUNCNAME" "$LINENO" "econf failed"; else diefunc "$FUNCNAME" "$LINENO" "No configure script for econf"; fi } ecvs_clean () { [[ -z $* ]] && set -- .; find "$@" -type d -name 'CVS' -prune -print0 | xargs -0 rm -rf; find "$@" -type f -name '.cvs*' -print0 | xargs -0 rm -rf } edos2unix () { echo "$@" | xargs sed -i 's/\r$//' } eend () { local retval=${1:-0}; shift; _eend ${retval} eerror "$*"; return ${retval} } eerror () { paludis_ecmd "eerror" "eerror" "`echo -ne " ${COLOUR_BAD}*${COLOUR_NORMAL} "`" "$*" 1>&2 } 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 () { paludis_ecmd "einfo" "einfo" "`echo -ne " ${COLOUR_GOOD}*${COLOUR_NORMAL} "`" "$*" } einfo_unhooked () { paludis_ecmd "einfo" "" "`echo -ne " ${COLOUR_GOOD}*${COLOUR_NORMAL} "`" "$*" } einfon () { paludis_ecmd "einfon" "einfo" "`echo -ne " ${COLOUR_GOOD}*${COLOUR_NORMAL} "`" "$*" "no" } einstall () { if [[ -f Makefile ]] || [[ -f makefile ]] || [[ -f GNUmakefile ]]; then local makecmd=""; type -p gmake >&/dev/null && makecmd="gmake" || makecmd="make"; local cmd="${EINSTALL_WRAPPER} ${makecmd} prefix=${D}/usr"; cmd="${cmd} mandir=${D}/usr/share/man"; cmd="${cmd} infodir=${D}/usr/share/info"; cmd="${cmd} datadir=${D}/usr/share"; cmd="${cmd} sysconfdir=${D}/etc"; cmd="${cmd} localstatedir=${D}/var/lib"; cmd="${cmd} libdir=${D}/usr/$(ebuild_get_libdir)"; cmd="${cmd} ${EXTRA_EINSTALL} ${@} install"; echo "${cmd}" 1>&2; ${cmd} || diefunc "$FUNCNAME" "$LINENO" "einstall failed"; else diefunc "$FUNCNAME" "$LINENO" "No Makefile for einstall"; fi } elibtoolize () { local x=; local y=; local do_portage="no"; local do_reversedeps="no"; local do_only_patches="no"; local do_uclibc="yes"; local deptoremove=; local my_dirlist=; local elt_patches="install-sh ltmain portage relink max_cmd_len sed test tmp"; local start_dir=${PWD}; my_dirlist=$(ELT_find_ltmain_sh); for x in "$@"; do case "${x}" in "--portage") do_portage="yes" ;; "--reverse-deps") do_reversedeps="yes"; elt_patches="${elt_patches} fix-relink" ;; "--patch-only") do_only_patches="yes" ;; "^--remove-internal-dep="*) deptoremove=$(echo "${x}" | sed -e 's|--remove-internal-dep=||'); [[ -n ${deptoremove} ]] && elt_patches="${elt_patches} rem-int-dep" ;; "--shallow") if [[ -f ${S}/ltmain.sh ]]; then my_dirlist=${S}; else my_dirlist=; fi ;; "--no-uclibc") do_uclibc="no" ;; *) eerror "Invalid elibtoolize option: ${x}"; diefunc "$FUNCNAME" "$LINENO" "elibtoolize called with ${x} ??" ;; esac; done; [[ ${do_uclibc} == "yes" ]] && elt_patches="${elt_patches} uclibc-conf uclibc-ltconf"; [[ ${CHOST} == *"-freebsd"* ]] && elt_patches="${elt_patches} fbsd-conf fbsd-ltconf"; [[ ${CHOST} == *"-darwin"* ]] && elt_patches="${elt_patches} darwin-ltconf darwin-ltmain"; for x in ${my_dirlist}; do local tmp=$(echo "${x}" | sed -e "s|${WORKDIR}||"); export ELT_APPLIED_PATCHES=; export ELT_LTMAIN_SH="${x}/ltmain.sh"; [[ -f ${x}/.elibtoolized ]] && continue; cd ${x}; einfo "Running elibtoolize in: $(echo "/${tmp}" | sed -e 's|//|/|g; s|^/||')"; for y in ${elt_patches}; do local ret=0; case "${y}" in "portage") if [[ -z $(grep 'We do not want portage' "${x}/ltmain.sh") ]]; then ELT_walk_patches "${x}/ltmain.sh" "${y}"; ret=$?; fi ;; "rem-int-dep") ELT_walk_patches "${x}/ltmain.sh" "${y}" "${deptoremove}"; ret=$? ;; "fix-relink") if [[ -n $(grep 'inst_prefix_dir' "${x}/ltmain.sh") ]]; then ELT_walk_patches "${x}/ltmain.sh" "${y}"; ret=$?; fi ;; "max_cmd_len") if [[ -n $(grep 'max_cmd_len' "${x}/ltmain.sh") ]]; then ELT_walk_patches "${x}/ltmain.sh" "${y}"; ret=$?; fi ;; "uclibc-conf") if [[ -e ${x}/configure && -n $(grep 'Transform linux' "${x}/configure") ]]; then ELT_walk_patches "${x}/configure" "${y}"; ret=$?; else if [[ ! -e ${x}/configure && -e ${x}/../configure && -n $(grep 'Transform linux' "${x}/../configure") ]]; then ELT_walk_patches "${x}/../configure" "${y}"; ret=$?; fi; fi ;; "uclibc-ltconf") if [[ -s ${x}/ltconfig ]]; then ELT_walk_patches "${x}/ltconfig" "${y}"; ret=$?; fi ;; "fbsd-conf") if [[ -e ${x}/configure && -n $(grep 'version_type=freebsd-' "${x}/configure") ]]; then ELT_walk_patches "${x}/configure" "${y}"; ret=$?; else if [[ ! -e ${x}/configure && -e ${x}/../configure && -n $(grep 'version_type=freebsd-' "${x}/../configure") ]]; then ELT_walk_patches "${x}/../configure" "${y}"; ret=$?; fi; fi ;; "fbsd-ltconf") if [[ -s ${x}/ltconfig ]]; then ELT_walk_patches "${x}/ltconfig" "${y}"; ret=$?; fi ;; "darwin-ltconf") if [[ -s ${x}/ltconfig ]]; then ELT_walk_patches "${x}/ltconfig" "${y}"; ret=$?; fi ;; "install-sh") ELT_walk_patches "${x}/install-sh" "${y}"; ret=$? ;; *) ELT_walk_patches "${x}/ltmain.sh" "${y}"; ret=$? ;; esac; if [[ ${ret} -ne 0 ]]; then case ${y} in "relink") local version=$(ELT_libtool_version "${x}/ltmain.sh"); if [[ -z $(grep 'inst_prefix_dir' "${x}/ltmain.sh") && $(VER_to_int "${version}") -ge $(VER_to_int "1.4.0") ]]; then ewarn " Could not apply relink.patch!"; fi ;; "portage") if [[ ${do_portage} == "yes" ]]; then if [[ -z $(grep 'We do not want portage' "${x}/ltmain.sh") ]]; then echo; eerror "Portage patch requested, but failed to apply!"; eerror "Please bug azarah or vapier to add proper patch."; diefunc "$FUNCNAME" "$LINENO" "Portage patch requested, but failed to apply!"; fi; else if [[ -n $(grep 'We do not want portage' "${x}/ltmain.sh") ]]; then :; else local version=$( eval $(grep -e '^[[:space:]]*VERSION=' "${x}/ltmain.sh"); echo "${VERSION}"); echo; eerror "Portage patch failed to apply (ltmain.sh version ${version})!"; eerror "Please bug azarah or vapier to add proper patch."; diefunc "$FUNCNAME" "$LINENO" "Portage patch failed to apply!"; fi; ELT_APPLIED_PATCHES="portage"; fi ;; "uclibc-"*) [[ ${CHOST} == *"-uclibc" ]] && ewarn " uClibc patch set '${y}' failed to apply!" ;; "fbsd-"*) if [[ ${CHOST} == *"-freebsd"* ]]; then if [[ -z $(grep 'Handle Gentoo/FreeBSD as it was Linux' "${x}/configure" "${x}/../configure" 2>/dev/null) ]]; then eerror " FreeBSD patch set '${y}' failed to apply!"; diefunc "$FUNCNAME" "$LINENO" "FreeBSD patch set '${y}' failed to apply!"; fi; fi ;; "darwin-"*) [[ ${CHOST} == *"-darwin"* ]] && ewarn " Darwin patch set '${y}' failed to apply!" ;; esac; fi; done; if [[ -z ${ELT_APPLIED_PATCHES} ]]; then if [[ ${do_portage} == "no" && ${do_reversedeps} == "no" && ${do_only_patches} == "no" && ${deptoremove} == "" ]]; then ewarn "Cannot apply any patches, please file a bug about this"; diefunc "$FUNCNAME" "$LINENO"; fi; fi; [[ -f ${x}/libtool ]] && rm -f "${x}/libtool"; touch "${x}/.elibtoolized"; done; cd "${start_dir}" } elog () { paludis_ecmd "elog" "elog" "`echo -ne " ${COLOUR_GOOD}*${COLOUR_NORMAL} "`" "$*"; if [[ -n "${PALUDIS_ELOG_FILE}" ]]; then echo "$@" >> "${PALUDIS_ELOG_FILE}"; fi } emktemp () { local exe="touch"; [[ $1 == -d ]] && exe="mkdir" && shift; local topdir=$1; if [[ -z ${topdir} ]]; then [[ -z ${T} ]] && topdir="/tmp" || topdir=${T}; fi; if ! type -P mktemp > /dev/null; 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 TMPDIR="${topdir}" mktemp -t tmp.XXXXXXXXXX; else TMPDIR="${topdir}" mktemp -dt tmp.XXXXXXXXXX; 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} } 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; find "${dir}" -name configure | while read f; do patch --no-backup-if-mismatch -p0 "${f}" "${PORTDIR}/eclass/ELT-patches/nocxx/nocxx.patch" > /dev/null; done; eend 0 } esvn_clean () { [[ -z $* ]] && set -- .; find "$@" -type d -name '.svn' -prune -print0 | xargs -0 rm -rf } ever () { diefunc "$FUNCNAME" "$LINENO" "Function 'ever' banned in this EAPI" } ewarn () { paludis_ecmd "ewarn" "ewarn" "`echo -ne " ${COLOUR_WARN}*${COLOUR_NORMAL} "`" "$*" 1>&2 } ewend () { local retval=${1:-0}; shift; _eend ${retval} ewarn "$*"; return ${retval} } exeinto () { if [[ "${1}" == "/" ]]; then export EXEDESTTREE=; else export EXEDESTTREE="${1}"; [[ -d "${D}${EXEDESTTREE}" ]] || install -d "${D}${EXEDESTTREE}"; fi } exeopts () { export EXEOPTIONS="$@" } export_exlib_phases () { [[ -z "${CURRENT_EXLIB}" ]] && diefunc "$FUNCNAME" "$LINENO" "export_exlib_phases called but ECLASS undefined"; local e; for e in "$@"; do case "$e" in pkg_nofetch | pkg_setup | pkg_prerm | pkg_postrm | pkg_preinst | pkg_postinst | pkg_config | pkg_pretend) eval "${e}() { ${CURRENT_EXLIB}_${e} \"\$@\" ; }" ;; src_unpack | src_compile | src_install | src_test) eval "${e}() { ${CURRENT_EXLIB}_${e} \"\$@\" ; }" ;; *) eval "${e}() { ${CURRENT_EXLIB}_${e} \"\$@\" ; }"; ebuild_notice "qa" "$e should not be in export_exlib_phases for ${CURRENT_EXLIB}" ;; esac; done } 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 () { $(tc-getCC "$@") -dumpversion } gcc-major-version () { gcc-version "$@" | cut -f1 -d. } gcc-micro-version () { gcc-fullversion "$@" | cut -f3 -d. | cut -f1 -d- } gcc-minor-version () { gcc-version "$@" | cut -f2 -d. } gcc-specs-directive () { local directive subdname subdirective; directive="$(_gcc-specs-directive_raw $1)"; while [[ ${directive} == *%\(*\)* ]]; do subdname=${directive/*%\(}; subdname=${subdname/\)*}; subdirective="$(_gcc-specs-directive_raw ${subdname})"; directive="${directive//\%(${subdname})/${subdirective}}"; done; echo "${directive}"; 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 () { gcc-fullversion "$@" | cut -f1,2 -d. } 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 } get_KV () { echo $(KV_to_int "$(uname -r)") } 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 [[ ${EMULTILIB_PKG} == "true" ]]; 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_multilib_profile () { [ -n "${MULTILIB_ABIS}" -a "${MULTILIB_ABIS}" != "${MULTILIB_ABIS/ /}" ] } has_version () { [[ "${#@}" -ne 1 ]] && diefunc "$FUNCNAME" "$LINENO" "$0 should take exactly one arg"; local r=$(paludis_pipe_command HAS_VERSION "$EAPI" "$1" ); return ${r%%;*} } hasq () { local x= want="$1"; shift; for x in $@; do [[ "${x}" == "${want}" ]] && return 0; done; return 1 } hasv () { if hasq "${@}"; then echo "${1}"; return 0; else return 1; fi } inherit () { [[ -n "${PALUDIS_SKIP_INHERIT}" ]] && return; local e ee location= v; for e in "$@"; do for ee in ${ECLASSDIRS:-${ECLASSDIR}}; do [[ -f "${ee}/${e}.eclass" ]] && location="${ee}/${e}.eclass"; done; local old_ECLASS="${ECLASS}"; export ECLASS="${e}"; for v in ${PALUDIS_SOURCE_MERGED_VARIABLES} ${PALUDIS_BRACKET_MERGED_VARIABLES}; do local c_v="current_${v}" u_v="unset_${v}"; local ${c_v}="${!v}"; local ${u_v}="${!v-unset}"; unset ${v}; done; [[ -z "${location}" ]] && diefunc "$FUNCNAME" "$LINENO" "Error finding eclass ${e}"; source "${location}" || diefunc "$FUNCNAME" "$LINENO" "Error sourcing eclass ${e}"; hasq "${ECLASS}" ${INHERITED} || export INHERITED="${INHERITED} ${ECLASS}"; for v in ${PALUDIS_SOURCE_MERGED_VARIABLES}; do local e_v="E_${v}"; export ${e_v}="${!e_v} ${!v}"; done; for v in ${PALUDIS_BRACKET_MERGED_VARIABLES}; do local e_v="E_${v}"; export ${e_v}="${!e_v} ( ${!v} )"; done; for v in ${PALUDIS_SOURCE_MERGED_VARIABLES} ${PALUDIS_BRACKET_MERGED_VARIABLES}; do local c_v="current_${v}" u_v="unset_${v}"; [[ "unset" == ${!u_v} ]] && unset ${v} || export ${v}="${!c_v}"; done; export ECLASS="${old_ECLASS}"; done } insinto () { if [[ "${1}" == "/" ]]; then export INSDESTTREE=; else export INSDESTTREE="${1}"; [[ -d "${D}${INSDESTTREE}" ]] || install -d "${D}${INSDESTTREE}"; fi } insopts () { export INSOPTIONS="$@" } into () { if [[ "${1}" == "/" ]]; then export DESTTREE=; else export DESTTREE="${1}"; [[ -d "${D}${DESTTREE}" ]] || install -d "${D}${DESTTREE}"; fi } 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 "$@"; if [[ "${1}" == "-R" ]] || [[ "${1}" == "-r" ]]; then shift; find "$@" -type d -printf "${D}/%p/.keep_${CATEGORY}_${PN}-${SLOT}\0" | xargs -0 touch; _pipestatus="${PIPESTATUS[*]}"; [[ -z "${_pipestatus//[ 0]/}" ]] || diefunc "$FUNCNAME" "$LINENO" "$_pipestatus" "Failed to create .keep_${CATEGORY}_${PN}-${SLOT} files"; else local f; for f in "$@"; do touch "${D}/${f}/.keep_${CATEGORY}_${PN}-${SLOT}" || diefunc "$FUNCNAME" "$LINENO" "Couldn't touch .keep_${CATEGORY}_${PN}-${SLOT} in ${f}"; done; fi } libopts () { export LIBOPTIONS="$@" } 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}}; local type=${4}; local path=${5}; if [[ -z ${type} ]]; then local catmaj=${CATEGORY%%-*}; local catmin=${CATEGORY##*-}; case ${catmaj} in app) case ${catmin} in accessibility) type=Accessibility ;; admin) type=System ;; antivirus) type=System ;; arch) type=Archiving ;; backup) type=Archiving ;; cdr) type=DiscBurning ;; dicts) type=Dictionary ;; doc) type=Documentation ;; editors) type=TextEditor ;; emacs) type=TextEditor ;; emulation) type=Emulator ;; laptop) type=HardwareSettings ;; office) type=Office ;; pda) type=PDA ;; vim) type=TextEditor ;; xemacs) type=TextEditor ;; *) type= ;; esac ;; dev) type="Development" ;; games) case ${catmin} in action | fps) type=ActionGame ;; arcade) type=ArcadeGame ;; board) type=BoardGame ;; emulation) type=Emulator ;; kids) type=KidsGame ;; puzzle) type=LogicGame ;; roguelike) type=RolePlaying ;; rpg) type=RolePlaying ;; simulation) type=Simulation ;; sports) type=SportsGame ;; strategy) type=StrategyGame ;; *) type= ;; esac; type="Game;${type}" ;; gnome) type="Gnome;GTK" ;; kde) type="KDE;Qt" ;; 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 ;; elec*) type=Electronics ;; geo*) type=Geology ;; math*) type=Math ;; physics) type=Physics ;; visual*) type=DataVisualization ;; *) type= ;; esac; type="Science;${type}" ;; sys) type="System" ;; 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}/$(echo ${exec} | sed 's:[[:space:]/:]:_:g')-${desktop_name}.desktop"; cat > "${desktop}" <<-EOF [Desktop Entry] Version=1.0 Name=${name} Type=Application Comment=${DESCRIPTION} Exec=${exec} TryExec=${exec%% *} Icon=${icon} Categories=${type}; EOF [[ -n ${path} ]] && echo "Path=${path}" >> "${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; cat > "${desktop}" <<-EOF [Desktop Entry] Name=${title} Comment=This session logs you into ${title} Exec=${command} TryExec=${command} Type=Application EOF ( insinto /usr/share/xsessions; doins "${desktop}" ) } make_wrapper () { local wrapper=$1 bin=$2 chdir=$3 libdir=$4 path=$5; local tmpwrapper=$(emktemp); cat > "${tmpwrapper}" <&/dev/null; then if [[ -n "${hook}" ]]; then MESSAGE="${message}" perform_hook "${hook}"; fi; fi } paludis_pipe_command () { [[ -n "${PALUDIS_SKIP_PIPE_COMMAND_CHECK}" ]] && return; if [[ -z "${PALUDIS_PIPE_COMMAND_WRITE_FD}" ]]; then type die >&/dev/null && eval die "\"PALUDIS_PIPE_COMMAND_WRITE_FD unset\""; echo "PALUDIS_PIPE_COMMAND_WRITE_FD unset" 1>&2; if [[ -n ${EBUILD_KILL_PID} ]]; then echo "paludis_pipe_command: making ebuild PID ${EBUILD_KILL_PID} exit with error" 1>&2; kill -s SIGUSR1 "${EBUILD_KILL_PID}"; fi; exit 123; fi; if [[ -z "${PALUDIS_PIPE_COMMAND_READ_FD}" ]]; then type die >&/dev/null && eval die "\"PALUDIS_PIPE_COMMAND_READ_FD unset\""; echo "PALUDIS_PIPE_COMMAND_READ_FD unset" 1>&2; if [[ -n ${EBUILD_KILL_PID} ]]; then echo "paludis_pipe_command: making ebuild PID ${EBUILD_KILL_PID} exit with error" 1>&2; kill -s SIGUSR1 "${EBUILD_KILL_PID}"; fi; exit 123; fi; local r r1 rest; r="$(echo "$@" | { if ! locked_pipe_command "${PALUDIS_PIPE_COMMAND_WRITE_FD}" "${PALUDIS_PIPE_COMMAND_READ_FD}" ; then type die &>/dev/null && eval die "\"locked_pipe_command failed\"" echo "locked_pipe_command failed" 1>&2 if [[ -n ${EBUILD_KILL_PID} ]]; then echo "paludis_pipe_command: making ebuild PID ${EBUILD_KILL_PID} exit with error" 1>&2 kill -s SIGUSR1 "${EBUILD_KILL_PID}" fi exit 123 fi })"; r1="${r:0:1}"; rest="${r:1}"; if [[ "${r1}" != "O" ]]; then type die >&/dev/null && eval die "\"paludis_pipe_command returned error '\${r1}' with text '\${rest}'\""; echo "paludis_pipe_command returned error '${r1}' with text '${rest}'" 1>&2; if [[ -n ${EBUILD_KILL_PID} ]]; then echo "paludis_pipe_command: making ebuild PID ${EBUILD_KILL_PID} exit with error" 1>&2; kill -s SIGUSR1 "${EBUILD_KILL_PID}"; fi; exit 123; fi; echo "$rest" } paludis_rewrite_var () { [[ "${#@}" -ne 3 ]] && diefunc "$FUNCNAME" "$LINENO" "$0 should take exactly three args"; local r="$(paludis_pipe_command REWRITE_VAR "$EAPI" "$1" "$2" "$3" )"; echo "${r#*;}"; return ${r%%;*} } perform_hook () { export HOOK=${1}; ebuild_notice "debug" "Starting hook '${HOOK}'"; local old_sandbox_on="${SANDBOX_ON}"; [[ -z "${PALUDIS_DO_NOTHING_SANDBOXY}" ]] && export SANDBOX_ON="0"; local hook_dir; for hook_dir in ${PALUDIS_HOOK_DIRS}; do [[ -d "${hook_dir}/${HOOK}" ]] || continue; local hook_file; for hook_file in "${hook_dir}/${HOOK}/"*.bash; do [[ -e "${hook_file}" ]] || continue; ebuild_notice "debug" "Starting hook script '${hook_file}' for '${HOOK}'"; if ! ( source "${hook_file}" ); then ebuild_notice "warning" "Hook '${hook_file}' returned failure"; else ebuild_notice "debug" "Hook '${hook_file}' returned success"; fi; done; done; [[ -z "${PALUDIS_DO_NOTHING_SANDBOXY}" ]] && export SANDBOX_ON="${old_sandbox_on}"; true } pkg_setup () { : } portageq () { if [[ "$1" == "has_version" ]]; then if [[ "$(canonicalise $2 )" != "$(canonicalise $ROOT )" ]]; then eerror "Error emulating 'portageq $@':"; diefunc "$FUNCNAME" "$LINENO" "portageq has_version emulation only works on current ROOT"; else shift; shift; has_version "$@"; fi; else if [[ "$1" == "best_version" ]]; then if [[ "$(canonicalise $2 )" != "$(canonicalise $ROOT )" ]]; then eerror "Error emulating 'portageq $@':"; diefunc "$FUNCNAME" "$LINENO" "portageq best_version emulation only works on current ROOT"; else shift; shift; best_version "$@"; fi; else if [[ "$1" == "vdb_path" ]]; then vdb_path; else if [[ "$1" == "match" ]]; then if [[ "$(canonicalise $2 )" != "$(canonicalise $ROOT )" ]]; then eerror "Error emulating 'portageq $@':"; diefunc "$FUNCNAME" "$LINENO" "portageq match emulation only works on current ROOT"; else shift; shift; [[ "${#@}" -ne 1 ]] && diefunc "$FUNCNAME" "$LINENO" "match should take exactly one arg"; local r=$(paludis_pipe_command MATCH "$EAPI" "$1" ) m=""; echo "${r#*;}"; return ${r%%;*}; fi; else eerror "Error emulating 'portageq $@':"; diefunc "$FUNCNAME" "$LINENO" "portageq emulation for $1 not implemented"; fi; fi; fi; fi } 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 () { if [[ ${EBUILD_PHASE} != "preinst" ]]; then eerror "preserve_old_lib() must be called from pkg_preinst() only"; diefunc "$FUNCNAME" "$LINENO" "Invalid preserve_old_lib() usage"; fi; [[ -z $1 ]] && diefunc "$FUNCNAME" "$LINENO" "Usage: preserve_old_lib [more libraries to preserve]"; has preserve-libs ${FEATURES} && return 0; local lib dir; for lib in "$@"; do [[ -e ${ROOT}/${lib} ]] || continue; dir=${lib%/*}; dodir ${dir} || diefunc "$FUNCNAME" "$LINENO" "dodir ${dir} failed"; cp "${ROOT}"/${lib} "${D}"/${lib} || diefunc "$FUNCNAME" "$LINENO" "cp ${lib} failed"; touch "${D}"/${lib}; done } preserve_old_lib_notify () { if [[ ${EBUILD_PHASE} != "postinst" ]]; then eerror "preserve_old_lib_notify() must be called from pkg_postinst() only"; diefunc "$FUNCNAME" "$LINENO" "Invalid preserve_old_lib_notify() usage"; fi; has preserve-libs ${FEATURES} && return 0; local lib notice=0; for lib in "$@"; do [[ -e ${ROOT}/${lib} ]] || continue; if [[ ${notice} -eq 0 ]]; then notice=1; ewarn "Old versions of installed libraries were detected on your system."; ewarn "In order to avoid breaking packages that depend on these old libs,"; ewarn "the libraries are not being removed. You need to run revdep-rebuild"; ewarn "in order to remove these old dependencies. If you do not have this"; ewarn "helper program, simply emerge the 'gentoolkit' package."; ewarn; fi; ewarn " # revdep-rebuild --library ${lib##*/}"; done; if [[ ${notice} -eq 1 ]]; then ewarn; ewarn "Once you've finished running revdep-rebuild, it should be safe to"; ewarn "delete the old libraries. Here is a copy & paste for the lazy:"; for lib in "$@"; do ewarn " # rm '${lib}'"; done; fi } require () { ebuild_notice "debug" "Command 'require ${@}', using EXLIBSDIRS '${EXLIBSDIRS}'"; local e ee location= v; for e in "$@"; do for ee in ${EXLIBSDIRS}; do [[ -f "${ee}/${e}.exlib" ]] && location="${ee}/${e}.exlib"; done; local old_CURRENT_EXLIB="${CURRENT_EXLIB}"; export CURRENT_EXLIB="${e}"; for v in ${PALUDIS_SOURCE_MERGED_VARIABLES} ${PALUDIS_BRACKET_MERGED_VARIABLES}; do local c_v="current_${v}" u_v="unset_${v}"; local ${c_v}="${!v}"; local ${u_v}="${!v-unset}"; unset ${v}; done; [[ -z "${location}" ]] && diefunc "$FUNCNAME" "$LINENO" "Error finding exlib ${e} in ${EXLIBSDIRS}"; source "${location}" || diefunc "$FUNCNAME" "$LINENO" "Error sourcing exlib ${e}"; hasq "${CURRENT_EXLIB}" ${INHERITED} || export INHERITED="${INHERITED} ${CURRENT_EXLIB}"; for v in ${PALUDIS_SOURCE_MERGED_VARIABLES}; do local e_v="E_${v}"; export ${e_v}="${!e_v} ${!v}"; done; for v in ${PALUDIS_BRACKET_MERGED_VARIABLES}; do local e_v="E_${v}"; export ${e_v}="${!e_v} ( ${!v} )"; done; for v in ${PALUDIS_SOURCE_MERGED_VARIABLES} ${PALUDIS_BRACKET_MERGED_VARIABLES}; do local c_v="current_${v}" u_v="unset_${v}"; [[ "unset" == ${!u_v} ]] && unset ${v} || export ${v}="${!c_v}"; done; export CURRENT_EXLIB="${old_CURRENT_EXLIB}"; done } 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 } src_compile () { econf --sysconfdir=/etc/imlib $(use_enable gtk gdk) $(use_enable gtk gtktest); emake || diefunc "$FUNCNAME" "$LINENO" "emake failed." } src_install () { emake DESTDIR="${D}" install || diefunc "$FUNCNAME" "$LINENO" "emake install failed."; dodoc AUTHORS ChangeLog README; use doc && dohtml doc/*; use gtk || rm "${D}"/usr/lib*/pkgconfig/imlibgdk.pc } src_unpack () { unpack ${A}; cd "${S}"; epatch "${FILESDIR}"/${P}.patch; epatch "${FILESDIR}"/${PN}-security.patch; epatch "${FILESDIR}"/${P}-bpp16-CVE-2007-3568.patch; epatch "${FILESDIR}"/${P}-fix-rendering.patch; eautoconf; _elibtoolize } 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} } 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-is-softfloat () { case ${CTARGET} in bfin* | h8300*) echo "only" ;; *) [[ ${CTARGET//_/-} == *-softfloat-* ]] && echo "yes" || echo "no" ;; esac } 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 ;; avr*) ninj avr32 avr ;; bfin*) ninj blackfin bfin ;; cris*) echo cris ;; hppa*) ninj parisc hppa ;; i?86*) if [[ ${type} == "kern" ]] && [[ $(KV_to_int ${KV}) -lt $(KV_to_int 2.6.24) ]]; then echo i386; else echo x86; fi ;; 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*) if [[ ${type} == "kern" ]] && [[ $(KV_to_int ${KV}) -ge $(KV_to_int 2.6.24) ]]; then echo x86; else ninj x86_64 amd64; fi ;; *) echo unknown ;; esac } treecopy () { dest=${!#}; files_count=$#; while (( $# > 1 )); do dirstruct=$(dirname "$1"); mkdir -p "${dest}/${dirstruct}"; cp -pPR "$1" "${dest}/${dirstruct}"; shift; done } uclibctoolize () { ewarn "uclibctoolize() is deprecated, please just use elibtoolize()!"; elibtoolize } 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[*]}"; [[ -z "${_pipestatus//[ 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 } use () { useq "${1}" } use_enable () { if useq "${1}"; then echo "--enable-${2:-${1}}${3+=${3}}"; else echo "--disable-${2:-${1}}"; fi } use_with () { if useq "${1}"; then echo "--with-${2:-${1}}${3+=${3}}"; else echo "--without-${2:-${1}}"; fi } useq () { if [[ "${1:0:1}" == "!" ]]; then ! hasq "${1#!}" "${USE}"; else hasq "${1}" "${USE}"; fi } usev () { if useq "${1}"; then echo "${1#!}"; return 0; else return 1; fi } validate_desktop_entries () { if [[ -x /usr/bin/desktop-file-validate ]]; then einfo "Checking desktop entry validity"; local directories=""; for d in /usr/share/applications $@; do [[ -d ${D}${d} ]] && directories="${directories} ${D}${d}"; done; if [[ -n ${directories} ]]; then for FILE in $(find ${directories} -name "*\.desktop" -not -path '*.hidden*' | sort -u 2>/dev/null); do local temp=$(desktop-file-validate ${FILE} | grep -v "warning:" | sed -e "s|error: ||" -e "s|${FILE}:|--|g" ); [[ -n $temp ]] && elog ${temp/--/${FILE/${D}/}:}; done; fi; echo ""; else einfo "Passing desktop entry validity check. Install dev-util/desktop-file-utils, if you want to help to improve Gentoo."; fi } vdb_path () { [[ "${#@}" -ne 0 ]] && diefunc "$FUNCNAME" "$LINENO" "vdb_path should take exactly zero args"; local r=$(paludis_pipe_command VDB_PATH "$EAPI" "$1" ); echo ${r#*;}; return ${r%%;*} } export E_KEYWORDS export save_var_INPUT_DEVICES export PVR export LDFLAGS export MANPATH export A export PALUDIS_CONFIG_PROTECT export E_DEPEND export save_var_CONFIG_PROTECT export KDE_MULTIHEAD export PALUDIS_PID export PALUDIS_SAVE_VARIABLES export ALSA_CARDS export save_var_EXLIBSDIRS export save_var_KERNEL export save_var_USE_EXPAND_HIDDEN export DM_CONTROL export PALUDIS_DIRECTORY_IF_EXISTS_VARIABLES export PALUDIS_MUST_NOT_CHANGE_VARIABLES export D export save_var_DVB_CARDS export SLOT export PATH_NOT_CLOBBERED_BY_SANDBOX export SANDBOX_LIB export HOOK export LINGUAS export ELIBC export save_var_PALUDIS_SYNCERS_DIRS export save_var_PALUDIS_HOOK_DIRS export save_var_USE export SANDBOX_WRITE export PALUDIS_LOADSAVEENV_DIR export SHELL export TERM export KERNEL export USE_EXPAND_HIDDEN export save_var_MISDN_CARDS export XDM_MANAGED export PALUDIS_CMDLINE_install export KV export TMPDIR export save_var_PALUDIS_EBUILD_LOG_LEVEL export save_var_APACHE2_MPMS export save_var_USE_EXPAND export GTK2_RC_FILES export CATEGORY export PALUDIS_UNPACK_FIX_PERMISSIONS export LD_PRELOAD export EXEOPTIONS export GS_LIB export GTK_RC_FILES export FILESDIR export PALUDIS_UNPACK_FROM_VAR export STAGE1_USE export save_var_EAPI export WINDOWID export save_var_ECLASSDIR export save_var_PALUDIS_EBUILD_DIR export save_var_ROOT export EXEDESTTREE export DESTTREE export QTDIR export save_var_PALUDIS_SOURCE_MERGED_VARIABLES export save_var_PALUDIS_SAVE_VARIABLES export save_var_PALUDIS_DIRECTORY_VARIABLES export save_var_PALUDIS_COMMAND export PALUDIS_HOME export PORTAGE_NICENCESS export SANDBOX_PREDICT export LC_ALL export KDE_FULL_SESSION export ANT_HOME export DVB_CARDS export EBUILD_KILL_PID export ECLASSDIR export P export PALUDIS_EBUILD_DIR export USE export save_var_PALUDIS_EBUILD_MODULE_SUFFIXES export save_var_FOO2ZJS_DEVICES export USER export PALUDIS_F_FUNCTION_PREFIX export PALUDIS_HOOK_DIRS export PALUDIS_PIPE_COMMAND_READ_FD export save_var_FRITZCAPI_CARDS export PRELINK_PATH_MASK export LS_COLORS export AA export PALUDIS_COMMAND export S export GDK_USE_XFT export GUILE_LOAD_PATH export WORKDIR export T export save_var_CONFIG_PROTECT_MASK export SANDBOX_DENY export PALUDIS_BRACKET_MERGED_VARIABLES export SANDBOX_BASHRC export KDEDIR export XERCESC_NLS_HOME export EAPI export CXXFLAGS export SESSION_MANAGER export CONFIG_PROTECT_MASK export VIDEO_CARDS export save_var_ELIBC export VMHANDLE export PAGER export PALUDIS_SYNCERS_DIRS export PALUDIS_PROFILE_DIR export PORTAGE_BASHRC export XDG_CONFIG_DIRS export FLTK_DOCDIR export AUDIODEV export PALUDIS_OPTIONS export PALUDIS_RDEPEND_DEFAULTS_TO_DEPEND export INPUT_DEVICES export CAMERAS export CROSSCOMPILE_OPTS export CDEFINE_default export LIBDIR_default export KONSOLE_DCOP export PALUDIS_CONFIG_PROTECT_MASK export PALUDIS_EBUILD_LOG_LEVEL export PORTAGE_BUILDDIR export PORTAGE_CALLER export REPOSITORY export save_var_VIDEO_CARDS export PATH export DESKTOP_SESSION export PALUDIS_CMDLINE_checks export PORTAGE_TMPFS export FRITZCAPI_CARDS export PALUDIS_FETCHERS_DIRS export save_var_PALUDIS_RDEPEND_DEFAULTS_TO_DEPEND export save_var_PALUDIS_MUST_NOT_CHANGE_VARIABLES export save_var_CAMERAS export CHOST export PWD export KONSOLE_DCOP_SESSION export PALUDIS_CONFIG_DIR export PORTAGE_TMPDIR export WANT_AUTOCONF export save_var_APACHE2_MODULES export GENERATION export JAVA_HOME export PR export CHOST_default export SANDBOX_ON export JAVAC export EDITOR export ECLASSDIRS export PORTAGE_ACTUAL_DISTDIR export KERNEL_ABI export save_var_PALUDIS_BASHRC_FILES export KDE_SESSION_UID export PALUDIS_REDUCED_UID export PORTAGE_INST_GID export SANDBOX_LOG export MULTILIB_ABIS export PALUDIS_EBUILD_MODULES_DIR export KDEDIRS export QMAKESPEC export PALUDIS_CLIENT export PALUDIS_IGNORE_PIVOT_ENV_VARIABLES export PV export PALUDIS_PIPE_COMMAND_WRITE_FD export EBUILD_PHASE export save_var_ALSA_PCM_PLUGINS export PALUDIS_BINARY_DISTDIR_VARIABLE export PALUDIS_PIPE_COMMANDS_SUPPORTED export PORTAGE_GID export REAL_CHOST export save_var_PALUDIS_REDUCED_UID export save_var_LIRC_DEVICES export INSDESTTREE export EBUILD_PROGRAM_NAME export PALUDIS_BASHRC_FILES export ROOT export save_var_PALUDIS_LOADSAVEENV_DIR export save_var_LCD_DEVICES export LIBOPTIONS export USERLAND export PALUDIS_DIRECTORY_VARIABLES export PALUDIS_IGNORE_PIVOT_ENV_FUNCTIONS export PALUDIS_REDUCED_GID export PALUDIS_SAVE_BASE_VARIABLES export PORTAGE_INST_UID export ALSA_PCM_PLUGINS export MISDN_CARDS export PALUDIS_UTILITY_PATH_SUFFIXES export SANDBOX_READ export LIRC_DEVICES export MOPREFIX export DEFAULT_ABI export PALUDIS_CMDLINE_PARAMS export GNOME_TARBALL_SUFFIX export save_var_PALUDIS_CONFIG_DIR export HOME export SHLVL export JDK_HOME export COLON_SEPARATED export SANDBOX_DEBUG_LOG export WANT_AUTOMAKE export E_IUSE export INHERITED export APACHE2_MODULES export save_var_PALUDIS_PROFILE_DIR export save_var_PALUDIS_SAVE_BASE_VARIABLES export save_var_USERLAND export DOCDESTTREE export SDL_AUDIODRIVER export IMAGE export save_var_PALUDIS_DIRECTORY_IF_EXISTS_VARIABLES export CFLAGS export save_var_PALUDIS_NON_EMPTY_VARIABLES export save_var_CROSSCOMPILE_OPTS export XCURSOR_THEME export DIROPTIONS export PALUDIS_SOURCE_MERGED_VARIABLES export E_PDEPEND export save_var_PALUDIS_BRACKET_MERGED_VARIABLES export save_var_PALUDIS_FETCHERS_DIRS export PALUDIS_SAVE_UNMODIFIABLE_VARIABLES export LOGNAME export PYTHONPATH export LESS export PKGMANAGER export CVS_RSH export GCC_SPECS export PALUDIS_NON_EMPTY_VARIABLES export DBUS_SESSION_BUS_ADDRESS export ROOTPATH export CLASSPATH export XDG_DATA_DIRS export PALUDIS_EBUILD_MODULE_SUFFIXES export save_var_FCDSL_CARDS export PF export EBUILD export ACCEPT_KEYWORDS export save_var_ECLASSDIRS export save_var_PALUDIS_UTILITY_PATH_SUFFIXES export save_var_ALSA_CARDS export PKG_CONFIG_PATH export LESSOPEN export E_RDEPEND export ARCH export save_var_SLOT export save_var_PALUDIS_PROFILE_DIRS export save_var_PALUDIS_EBUILD_MUST_NOT_SET_VARIABLES export save_var_LINGUAS export INFOPATH export PALUDIS_DOSYM_NO_MKDIR export FCDSL_CARDS export DISPLAY export ECLASS export OPENGL_PROFILE export LADSPA_PATH export PALUDIS_EBUILD_OVERRIDE_CONFIG_PROTECT_MASK export PALUDIS_TMPDIR export PORTAGE_WORKDIR_MODE export APACHE2_MPMS export USE_EXPAND export save_var_KEYWORDS export PALUDIS_UNPACK_UNRECOGNISED_IS_FATAL export CBUILD export LCD_DEVICES export FOO2ZJS_DEVICES export FEATURES export LDPATH export DISTDIR export PALUDIS_EBUILD_MUST_NOT_SET_VARIABLES export PALUDIS_PROFILE_DIRS export PORTAGE_MASTER_PID export CONFIG_PROTECT export save_var_PALUDIS_REDUCED_GID export INSOPTIONS export CTARGET_default export PN export PORTDIR export save_var_PALUDIS_VARIABLE export save_var_PALUDIS_TMPDIR export XAUTHORITY export COLORTERM export _