------------------------------------------------------------------------------ This is the build.log for dev-libs/libhome-0.10.1 ------------------------------------------------------------------------------ >>> cfg-update-1.8.2-r1: Creating checksum index... setup unpack >>> Unpacking source... >>> Unpacking libhome-0.10.1.tar.gz to /var/tmp/portage/dev-libs/libhome-0.10.1/work * Applying libhome-0.10.1-Makefile.patch ...  [ ok ] * Running eautoreconf in '/var/tmp/portage/dev-libs/libhome-0.10.1/work/libhome-0.10.1' ... * Running libtoolize --copy --force --install ...  [ ok ] * Running autoconf ...  [ ok ] * Running autoheader ...  [ ok ] * Running elibtoolize in: libhome-0.10.1 * Applying sed-1.5.6.patch ... * Applying uclibc-ltconf-1.3.0.patch ... >>> Source unpacked. compile >>> Compiling source in /var/tmp/portage/dev-libs/libhome-0.10.1/work/libhome-0.10.1 ... * Found db version 4.5 include version 4.5 * econf: updating libhome-0.10.1/config.guess with /usr/share/gnuconfig/config.guess * econf: updating libhome-0.10.1/config.sub with /usr/share/gnuconfig/config.sub ./configure --prefix=/usr --host=x86_64-pc-linux-gnu --mandir=/usr/share/man --infodir=/usr/share/info --datadir=/usr/share --sysconfdir=/etc --localstatedir=/var/lib --without-db3 --with-db4=/usr/include/db4.5 --with-ldap --with-mysql --with-pam --without-pgsql --libdir=/usr/lib64 --build=x86_64-pc-linux-gnu checking build system type... x86_64-pc-linux-gnu checking host system type... x86_64-pc-linux-gnu checking target system type... x86_64-pc-linux-gnu checking for x86_64-pc-linux-gnu-gcc... x86_64-pc-linux-gnu-gcc checking for C compiler default output file name... a.out checking whether the C compiler works... yes checking whether we are cross compiling... no checking for suffix of executables... checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether x86_64-pc-linux-gnu-gcc accepts -g... yes checking for x86_64-pc-linux-gnu-gcc option to accept ISO C89... none needed checking how to run the C preprocessor... x86_64-pc-linux-gnu-gcc -E checking for a BSD-compatible install... /usr/bin/install -c checking for x86_64-pc-linux-gnu-gcc... (cached) x86_64-pc-linux-gnu-gcc checking whether we are using the GNU C compiler... (cached) yes checking whether x86_64-pc-linux-gnu-gcc accepts -g... (cached) yes checking for x86_64-pc-linux-gnu-gcc option to accept ISO C89... (cached) none needed checking for a sed that does not truncate output... /bin/sed checking for grep that handles long lines and -e... /bin/grep checking for egrep... /bin/grep -E checking for ld used by x86_64-pc-linux-gnu-gcc... /usr/x86_64-pc-linux-gnu/bin/ld checking if the linker (/usr/x86_64-pc-linux-gnu/bin/ld) is GNU ld... yes checking for /usr/x86_64-pc-linux-gnu/bin/ld option to reload object files... -r checking for BSD-compatible nm... /usr/bin/x86_64-pc-linux-gnu-nm -B checking whether ln -s works... yes checking how to recognise dependent libraries... pass_all checking for ANSI C header files... yes checking for sys/types.h... yes checking for sys/stat.h... yes checking for stdlib.h... yes checking for string.h... yes checking for memory.h... yes checking for strings.h... yes checking for inttypes.h... yes checking for stdint.h... yes checking for unistd.h... yes checking dlfcn.h usability... yes checking dlfcn.h presence... yes checking for dlfcn.h... yes checking the maximum length of command line arguments... 32768 checking command to parse /usr/bin/x86_64-pc-linux-gnu-nm -B output from x86_64-pc-linux-gnu-gcc object... ok checking for objdir... .libs checking for x86_64-pc-linux-gnu-ar... x86_64-pc-linux-gnu-ar checking for x86_64-pc-linux-gnu-ranlib... x86_64-pc-linux-gnu-ranlib checking for x86_64-pc-linux-gnu-strip... x86_64-pc-linux-gnu-strip checking if x86_64-pc-linux-gnu-gcc static flag works... yes checking if x86_64-pc-linux-gnu-gcc supports -fno-rtti -fno-exceptions... no checking for x86_64-pc-linux-gnu-gcc option to produce PIC... -fPIC checking if x86_64-pc-linux-gnu-gcc PIC flag -fPIC works... yes checking if x86_64-pc-linux-gnu-gcc supports -c -o file.o... yes checking whether the x86_64-pc-linux-gnu-gcc linker (/usr/x86_64-pc-linux-gnu/bin/ld -m elf_x86_64) supports shared libraries... yes checking whether -lc should be explicitly linked in... no checking dynamic linker characteristics... GNU/Linux ld.so checking how to hardcode library paths into programs... immediate checking whether stripping libraries is possible... yes checking if libtool supports shared libraries... yes checking whether to build shared libraries... yes checking whether to build static libraries... yes configure: creating libtool checking how to mark unused variables... checking for mysql_config... /usr/bin/mysql_config checking for mysql_real_connect... yes checking if MYSQL_OPT_CONNECT_TIMEOUT is avaiable... yes checking for pg_config... /usr/bin/pg_config checking for PQexec... yes checking for db.h... /usr/include/db4.5 checking for ldap.h... yes checking crypt.h usability... yes checking crypt.h presence... yes checking for crypt.h... yes checking getopt.h usability... yes checking getopt.h presence... yes checking for getopt.h... yes checking for stdint.h... (cached) yes checking sys/select.h usability... yes checking sys/select.h presence... yes checking for sys/select.h... yes checking sys/time.h usability... yes checking sys/time.h presence... yes checking for sys/time.h... yes checking for library containing crypt... -lcrypt checking for timegm... yes checking for vsyslog... yes checking for fchown... yes checking for fchmod... yes checking for getspnam... yes checking shadow.h usability... yes checking shadow.h presence... yes checking for shadow.h... yes checking for struct spwd.sp_pwdp... yes checking for struct spwd.sp_expire... yes checking for struct passwd.pw_expire... no checking for struct passwd.pw_change... no checking for struct passwd.pw_class... no checking for library containing ldsym... no checking for dlfcn.h... (cached) yes checking for RTLD_NEXT macro... no checking for library containing ldap_init... -lldap checking for library containing ber_init... none required checking for library containing pam_start... -lpam checking for library containing connect... none required checking for getpeereid... no checking for struct cmsgcred... no checking nss.h usability... yes checking nss.h presence... yes checking for nss.h... yes checking nsswitch.h usability... no checking nsswitch.h presence... no checking for nsswitch.h... no checking nss_common.h usability... no checking nss_common.h presence... no checking for nss_common.h... no checking for library containing db_strerror... -ldb-4.5 checking limits.h usability... yes checking limits.h presence... yes checking for limits.h... yes checking for unistd.h... (cached) yes checking for getprogname... no checking for __progname... yes checking for setpassent... no checking for strptime... yes checking for an ANSI C-conforming const... yes checking for uid_t in sys/types.h... yes checking for size_t... yes checking for regcomp... yes checking for strdup... yes checking for strerror... yes checking for strspn... yes checking for strtol... yes checking for strtoul... yes * MySQL support ... yes * PgSQL support ... no * LDAP support .... yes * DB support ...... 4 * PAM support ..... yes * Proxy support ... yes configure: creating ./config.status config.status: creating Makefile config.status: WARNING: 'Makefile.in' seems to ignore the --datarootdir setting config.status: creating home.conf.5 config.status: creating libhome.sh config.status: creating home_version.h config.status: creating config.h config.status: executing default commands ./libtool --mode=compile x86_64-pc-linux-gnu-gcc -I. -Wall -I/usr/include/mysql -DHAVE_ERRNO_AS_DEFINE=1 -I/usr/include/db4.5 -DDEFAULT_HOME_CONF=\"/etc/home.conf\" -O2 -pipe -march=opteron -c homeuser.c ./libtool --mode=compile x86_64-pc-linux-gnu-gcc -I. -Wall -I/usr/include/mysql -DHAVE_ERRNO_AS_DEFINE=1 -I/usr/include/db4.5 -DDEFAULT_HOME_CONF=\"/etc/home.conf\" -O2 -pipe -march=opteron -c error.c ./libtool --mode=compile x86_64-pc-linux-gnu-gcc -I. -Wall -I/usr/include/mysql -DHAVE_ERRNO_AS_DEFINE=1 -I/usr/include/db4.5 -DDEFAULT_HOME_CONF=\"/etc/home.conf\" -O2 -pipe -march=opteron -c hparam.c ./libtool: line 454: CDPATH: command not found ./libtool --mode=compile x86_64-pc-linux-gnu-gcc -I. -Wall -I/usr/include/mysql -DHAVE_ERRNO_AS_DEFINE=1 -I/usr/include/db4.5 -DDEFAULT_HOME_CONF=\"/etc/home.conf\" -O2 -pipe -march=opteron -c rewrite.c ./libtool: line 454: CDPATH: command not found ./libtool --mode=compile x86_64-pc-linux-gnu-gcc -I. -Wall -I/usr/include/mysql -DHAVE_ERRNO_AS_DEFINE=1 -I/usr/include/db4.5 -DDEFAULT_HOME_CONF=\"/etc/home.conf\" -O2 -pipe -march=opteron -c cleanup.c ./libtool --mode=compile x86_64-pc-linux-gnu-gcc -I. -Wall -I/usr/include/mysql -DHAVE_ERRNO_AS_DEFINE=1 -I/usr/include/db4.5 -DDEFAULT_HOME_CONF=\"/etc/home.conf\" -O2 -pipe -march=opteron -c wrap.c ./libtool: line 454: CDPATH: command not found ./libtool --mode=compile x86_64-pc-linux-gnu-gcc -I. -Wall -I/usr/include/mysql -DHAVE_ERRNO_AS_DEFINE=1 -I/usr/include/db4.5 -DDEFAULT_HOME_CONF=\"/etc/home.conf\" -O2 -pipe -march=opteron -c tools.c ./libtool --mode=compile x86_64-pc-linux-gnu-gcc -I. -Wall -I/usr/include/mysql -DHAVE_ERRNO_AS_DEFINE=1 -I/usr/include/db4.5 -DDEFAULT_HOME_CONF=\"/etc/home.conf\" -O2 -pipe -march=opteron -c hsystem.c ./libtool: line 454: CDPATH: command not found ./libtool: line 454: CDPATH: command not found ./libtool: line 454: CDPATH: command not found ./libtool: line 454: CDPATH: command not found ./libtool: line 454: CDPATH: command not found ./libtool: line 1146: func_opt_split: command not found ./libtool: line 1146: func_opt_split: command not found libtool: Version mismatch error. This is libtool 2.2.4, but the libtool: definition of this LT_INIT comes from an older release. libtool: You should recreate aclocal.m4 with macros from libtool 2.2.4 libtool: and run autoconf again. make: *** [homeuser.lo] Error 63 make: *** Waiting for unfinished jobs.... ./libtool: line 1146: func_opt_split: command not found libtool: Version mismatch error. This is libtool 2.2.4, but the libtool: definition of this LT_INIT comes from an older release. libtool: You should recreate aclocal.m4 with macros from libtool 2.2.4 libtool: and run autoconf again. make: *** [error.lo] Error 63 libtool: Version mismatch error. This is libtool 2.2.4, but the libtool: definition of this LT_INIT comes from an older release. libtool: You should recreate aclocal.m4 with macros from libtool 2.2.4 libtool: and run autoconf again. make: *** [hparam.lo] Error 63 ./libtool: line 1146: func_opt_split: command not found ./libtool: line 1146: func_opt_split: command not found libtool: Version mismatch error. This is libtool 2.2.4, but the libtool: definition of this LT_INIT comes from an older release. libtool: You should recreate aclocal.m4 with macros from libtool 2.2.4 libtool: and run autoconf again. make: *** [wrap.lo] Error 63 ./libtool: line 1146: func_opt_split: command not found ./libtool: line 1146: func_opt_split: command not found libtool: Version mismatch error. This is libtool 2.2.4, but the libtool: definition of this LT_INIT comes from an older release. libtool: You should recreate aclocal.m4 with macros from libtool 2.2.4 libtool: and run autoconf again. libtool: Version mismatch error. This is libtool 2.2.4, but the libtool: definition of this LT_INIT comes from an older release. libtool: You should recreate aclocal.m4 with macros from libtool 2.2.4 libtool: and run autoconf again. ./libtool: line 1146: func_opt_split: command not found make: *** [rewrite.lo] Error 63 libtool: Version mismatch error. This is libtool 2.2.4, but the libtool: definition of this LT_INIT comes from an older release. libtool: You should recreate aclocal.m4 with macros from libtool 2.2.4 libtool: and run autoconf again. libtool: Version mismatch error. This is libtool 2.2.4, but the libtool: definition of this LT_INIT comes from an older release. libtool: You should recreate aclocal.m4 with macros from libtool 2.2.4 libtool: and run autoconf again. make: *** [cleanup.lo] Error 63 make: *** [hsystem.lo] Error 63 make: *** [tools.lo] Error 63 * * ERROR: dev-libs/libhome-0.10.1 failed. * Call stack: * ebuild.sh, line 49: Called src_compile * environment, line 2996: Called die * The specific snippet of code: * emake || die "emake failed" * The die message: * emake failed * * If you need support, post the topmost build error, and the call stack if relevant. * A complete build log is located at '/var/tmp/portage/dev-libs/libhome-0.10.1/temp/build.log'. * The ebuild environment file is located at '/var/tmp/portage/dev-libs/libhome-0.10.1/temp/environment'. * --------------------------------- This was my last "emerge --info" --------------------------------- Portage 2.2_pre5 (default-linux/amd64/2007.0, gcc-4.2.3, glibc-2.7-r2, 2.6.24.4 x86_64) ================================================================= System uname: 2.6.24.4 x86_64 Dual-Core AMD Opteron(tm) Processor 2210 Timestamp of tree: Wed, 07 May 2008 01:45:01 +0000 distcc 2.18.3 x86_64-pc-linux-gnu (protocols 1 and 2) (default port 3632) [disabled] ccache version 2.4 [enabled] app-shells/bash: 3.2_p39 dev-java/java-config: 1.3.7, 2.1.6 dev-lang/python: 2.5.2-r2 dev-python/pycrypto: 2.0.1-r6 dev-util/ccache: 2.4-r7 sys-apps/baselayout: 2.0.0 sys-apps/openrc: 9999 sys-apps/sandbox: 1.2.18.1-r2 sys-devel/autoconf: 2.13, 2.62 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10.1-r1 sys-devel/binutils: 2.18-r1 sys-devel/gcc-config: 1.4.0-r4 sys-devel/libtool: 2.2.4 virtual/os-headers: 2.6.25-r1 ABI="amd64" ACCEPT_KEYWORDS="amd64 ~amd64" ADA_INCLUDE_PATH="/usr/lib64/gnat-gcc/x86_64-pc-linux-gnu/4.2/adainclude" ADA_OBJECTS_PATH="/usr/lib64/gnat-gcc/x86_64-pc-linux-gnu/4.2/adalib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" 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" ARCH="amd64" ASFLAGS_x86="--32" AUTOCLEAN="yes" BLASTDB="/usr/share/ncbi/formatdb" BLASTMAT="/usr/share/ncbi/data" CBUILD="x86_64-pc-linux-gnu" CCACHE_DIR="/distccache/.ccache" CCACHE_SIZE="9G" CDEFINE_amd64="__x86_64__" CDEFINE_x86="__i386__" CDF_BASE="/usr" CDF_BIN="${CDF_BASE}/bin" CDF_HELP="${CDF_BASE}/lib/cdf/help" CDF_INC="${CDF_BASE}/include" CDF_LIB="${CDF_BASE}/lib" CFLAGS="-O2 -pipe -march=opteron" CFLAGS_x86="-m32 -L/emul/linux/x86/lib -L/emul/linux/x86/usr/lib" CF_LIB="/usr/share/confluence" CHOST="x86_64-pc-linux-gnu" CHOST_amd64="x86_64-pc-linux-gnu" CHOST_x86="i686-pc-linux-gnu" CLASSPATH=".:/usr/lib64/CMT/v1r20p20080222/java/cmt.jar" CLEAN_DELAY="5" CMTBIN="Linux-x86_64" CMTCONFIG="Linux-x86_64" CMTROOT="/usr/lib64/CMT/v1r20p20080222" COLORTERM="" CONFIG_PROTECT="/etc /opt/openjms/config /usr/kde/4.0/env /usr/kde/4.0/share/config /usr/kde/4.0/shutdown /usr/share/config /usr/spool/PBS /var/bind /var/service" CONFIG_PROTECT_MASK="/etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/cli-php5/ext-active/ /etc/revdep-rebuild /etc/terminfo /etc/texmf/web2c /etc/udev/rules.d" COOT_REFMAC_LIB_DIR="/usr/share/coot/lib" CPLUS_INCLUDE_PATH="/root/System/Links/Headers:/usr/lib64/qt/include" CVS_RSH="ssh" CXXFLAGS="-O2 -pipe -march=opteron" C_INCLUDE_PATH="/root/System/Links/Headers" DCCC_PATH="/usr/lib/distcc/bin" DEFAULT_ABI="amd64" DISPLAY="localhost:0" DISTCC_DIR="/distccache/.distcc distccmon-text 3" DISTCC_LOG="" DISTCC_VERBOSE="0" DISTDIR="/pub/gentoo/portage/distfiles" EDITOR="/bin/nano" ELIBC="glibc" EMBOSS_ACDROOT="/usr/share/EMBOSS/acd" EMERGE_DEFAULT_OPTS="--tree --verbose --newuse --with-bdeps=y --deep --buildpkg" EMERGE_WARNING_DELAY="10" FEATURES="ccache distlocks fixpackages loadpolicy metadata-transfer parallel-fetch preserve-libs sandbox sfperms strict unmerge-orphans userfetch" FETCHCOMMAND="/usr/bin/getdelta.sh ${URI}" FLTK_DOCDIR="/usr/share/doc/fltk-1.1.7-r3/html" GAMBCOPT="=/usr/" GCC_SPECS="" GDK_USE_XFT="1" GENERATION="2" GENTOO_MIRRORS="http://gentoo.llarian.net/ ftp://mirror.datapipe.net/gentoo http://mirror.datapipe.net/gentoo ftp://ftp.ussg.iu.edu/pub/linux/gentoo ftp://mirror.fslutd.org/linux/distributions/gentoo/ http://mirror.fslutd.org/linux/distributions/gentoo/ http://gentoo.mirrors.pair.com/ ftp://gentoo.mirrors.pair.com/ ftp://gentoo.netnitco.net/pub/mirrors/gentoo/source/ http://gentoo.netnitco.net" GMTHOME="/usr/share/gmt-4.1.1" GRASS_HOME="/usr/grass62" GRASS_LD_LIBRARY_PATH="/usr/grass62/lib" GS_LIB="/home/shingoshi/.fonts" GTK2_RC_FILES="/etc/gtk-2.0/gtkrc:/home/shingoshi/.gtkrc-2.0:/usr/home/shingoshi/.kde/share/config/gtkrc-2.0" GTK_RC_FILES="/etc/gtk/gtkrc:/home/shingoshi/.gtkrc:/usr/home/shingoshi/.kde/share/config/gtkrc" GUILE_LOAD_PATH="/usr/share/guile/1.8" G_BROKEN_FILENAMES="1" HISTCONTROL="ignoredups" HOME="/root" HOSTNAME="starbase64.intelligencia-one" HUSHLOGIN="FALSE" INFODIR="/usr/GNUstep/System/Library/Documentation/info:/usr/GNUstep/Local/Library/Documentation/info" INFOPATH="/root/System/Links/Manuals/info:/usr/share/info:/usr/share/binutils-data/x86_64-pc-linux-gnu/2.18/info:/usr/share/gcc-data/x86_64-pc-linux-gnu/4.2.3/info:/usr/share/info/emacs-22:/usr/share/gnat-gcc-data/x86_64-pc-linux-gnu/4.2/info:/usr/brlcad/info:/usr/GNUstep/System/Library/Documentation/info:/usr/GNUstep/Local/Library/Documentation/info" INPUTRC="/etc/inputrc" INPUT_DEVICES="keyboard mouse evdev" 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" KDEDIRS="/usr:/usr/local:/usr/kde/4.0" KDESU_USER="shingoshi" KDE_MULTIHEAD="false" KDE_SESSION_UID="1002" KERNEL="linux" KONSOLE_DCOP="DCOPRef(konsole-10883,konsole)" KONSOLE_DCOP_SESSION="DCOPRef(konsole-10883,session-1)" LADSPA_PATH="/usr/lib64/ladspa" LANG="en_US.UTF-8" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LC_COLLATE="C" LDFLAGS_x86="-m elf_i386 -L/emul/linux/x86/lib -L/emul/linux/x86/usr/lib" LD_LIBRARY_PATH="/root/System/Links/Libraries" LESS="-MQi" LESSCHARSET="latin1" LESSOPEN="|lesspipe.sh %s" LIBDIR_amd64="lib64" LIBDIR_x86="lib32" LIBXCB_ALLOW_SLOPPY_LOCK="1" LINGUAS="af ar as_IN az be be_BY bg bo bn br bs ca cs cy da de dz el en en_GB en_US en_ZA eo es et eu fa fi fr ga gl gu_IN he hi hi_IN hr hu hy id is it ja km ko ku la lo lt lv mk ml ml_IN mn mr_IN nb nds ne nl nn no nr ns nz or_IN pa pa_IN pl ps pt pt_BR ro ru rw se sh_YU sk sl sq sr sr_CS ss st su sv sw_TZ ta ta_IN te_IN tg th ti_ER tn tr ts uk ur_IN ve vi xh zh zh_CN zh_TW zu" 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:" LS_OPTIONS=" -F -b -T 0 --color=auto " MAKEOPTS="-j8" MANPATH="/root/System/Links/Manuals:/etc/java-config-2/current-system-vm/man:/usr/local/share/man:/usr/share/man:/usr/share/binutils-data/x86_64-pc-linux-gnu/2.18/man:/usr/share/gcc-data/x86_64-pc-linux-gnu/4.2.3/man:/opt/intel/cce/10.0.026/man:/opt/blackdown-jdk-1.4.2.03/man:/etc/java-config/system-vm/man/:/usr/lib64/php5/man/:/usr/kde/4.0/share/man:/usr/dx/man:/usr/share/gnat-gcc-data/x86_64-pc-linux-gnu/4.2/man:/usr/lib64/erlang/man:/usr/brlcad/man:/usr/GNUstep/System/Library/Documentation/man:/usr/GNUstep/Local/Library/Documentation/man:/usr/grass62/man:/etc/java-config-2/current-system-vm/man:/usr/local/share/man:/usr/share/man:/usr/share/binutils-data/x86_64-pc-linux-gnu/2.18/man:/usr/share/gcc-data/x86_64-pc-linux-gnu/4.2.3/man:/opt/intel/cce/10.0.026/man:/opt/blackdown-jdk-1.4.2.03/man:/usr/lib64/php5/man/:/usr/kde/4.0/share/man:/usr/dx/man:/usr/share/gnat-gcc-data/x86_64-pc-linux-gnu/4.2/man:/usr/lib64/erlang/man:/usr/brlcad/man:/usr/GNUstep/System/Library/Documentation/man:/usr/grass62/man" MINICOM="-c on" MULTILIB_ABIS="amd64 x86" MULTILIB_STRICT_DENY="64-bit.*shared object" MULTILIB_STRICT_DIRS="/lib /usr/lib /usr/kde/*/lib /usr/qt/*/lib /usr/X11R6/lib" MULTILIB_STRICT_EXEMPT="(perl5|gcc|gcc-lib|binutils|eclipse-3|debug|portage)" NCBI="/etc/ncbi" NOCOLOR="true" OLDPWD="/" OMNIORB_CONFIG="/etc/omniorb/omniORB.cfg" OPENGL_PROFILE="xorg-x11" PAGER="less" PATH="/root/System/Links/Executables:/usr/bin:/usr/jrockit/bin:/usr/jrockit/jre/bin:/root/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/sbin:/bin:/opt/bin:/usr/x86_64-pc-linux-gnu/gcc-bin/4.2.3:/opt/intel/cce/10.0.026/bin:/opt/blackdown-jdk-1.4.2.03/bin:/opt/blackdown-jdk-1.4.2.03/jre/bin:/usr/lib/plan9/bin:/opt/c3-4:/usr/kde/4.0/sbin:/usr/kde/4.0/bin:/usr/x86_64-pc-linux-gnu/gnat-gcc-bin/4.2:/usr/libexec/gnat-gcc/x86_64-pc-linux-gnu/4.2:/opt/firebird/bin:/usr/lib/subversion/bin:/usr/GNUstep/System/Tools:/usr/GNUstep/Local/Tools" PKGDIR="/pub/gentoo/portage/packages" PKG_CONFIG_PATH="/root/System/Links/Libraries/pkgconfig:/usr/local/lib/pkgconfig:/usr/local/share/pkgconfig:/usr/lib/pkgconfig:/usr/share/pkgconfig" PLAN9="/usr/lib/plan9" PLPLOT_LIB="/usr/share/EMBOSS/" PORTAGE_ARCHLIST="ppc s390 amd64 x86 ppc64 x86-fbsd m68k arm sparc sh mips ia64 alpha hppa sparc-fbsd" PORTAGE_BINHOST_CHUNKSIZE="3000" PORTAGE_BIN_PATH="/usr/lib64/portage/bin" PORTAGE_COMPRESS="lzma" PORTAGE_CONFIGROOT="/" PORTAGE_DEBUG="0" PORTAGE_DEPCACHEDIR="/var/cache/edb/dep" PORTAGE_ECLASS_WARNING_ENABLE="0" PORTAGE_ELOG_CLASSES="warn error log" PORTAGE_ELOG_MAILFROM="portage@localhost" PORTAGE_ELOG_MAILSUBJECT="[portage] ebuild log for ${PACKAGE} on ${HOST}" PORTAGE_ELOG_MAILURI="root" PORTAGE_ELOG_SYSTEM="save" PORTAGE_FETCH_CHECKSUM_TRY_MIRRORS="5" PORTAGE_GID="250" PORTAGE_INST_GID="0" PORTAGE_INST_UID="0" PORTAGE_PYM_PATH="/usr/lib64/portage/pym" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages" PORTAGE_RSYNC_RETRIES="3" PORTAGE_TMPDIR="/var/tmp" PORTAGE_WORKDIR_MODE="0700" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/opt/layman/portato /opt/layman/zugaina /opt/layman/postgresql-testing /opt/layman/science /opt/layman/kolab /opt/layman/catapult /opt/layman/pro-audio /opt/layman/ltsp /opt/layman" PRELINK_PATH_MASK="/lib/modules:/usr/lib64/locale:/usr/lib64/wine:/usr/lib64/valgrind:*.la:*.png:*.py:*.pl:*.pm:*.sh:*.xml:*.xslt:*.a:*.js:/usr/lib64/klibc" PVM_ARCH="LINUX64" PVM_ROOT="/usr/share/pvm3" PWD="/pub/gentoo/portage" PYMOL_DATA="/usr/share/pymol/data" PYMOL_PATH="/usr/lib64/python2.5/site-packages/pymol" PYMOL_SCRIPTS="/usr/share/pymol/scripts" PYTHONDOCS="/usr/share/doc/python-docs-2.5.1/html/lib" PYTHONPATH="/root/System/Links/Libraries/python2.3/site-packages:/root/System/Links/Libraries/python2.4/site-packages" QRNADB="/usr/share/qrna/data" QTDIR="/usr/lib64/qt" RCSBROOT="/usr/lib/rcsb" RESUMECOMMAND="/usr/bin/wget -c -t 5 -T 60 --passive-ftp -O "${DISTDIR}/${FILE}" "${URI}"" ROOT="/" ROOTLESS_GOBOLINUX="1" ROOTPATH="/usr/sbin:/usr/bin:/usr/jrockit/bin:/usr/jrockit/jre/bin:/root/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/opt/bin:/usr/x86_64-pc-linux-gnu/gcc-bin/4.2.3:/opt/intel/cce/10.0.026/bin:/opt/blackdown-jdk-1.4.2.03/bin:/opt/blackdown-jdk-1.4.2.03/jre/bin:/usr/lib/plan9/bin:/opt/c3-4:/usr/kde/4.0/sbin:/usr/kde/4.0/bin:/usr/x86_64-pc-linux-gnu/gnat-gcc-bin/4.2:/usr/libexec/gnat-gcc/x86_64-pc-linux-gnu/4.2:/opt/firebird/bin:/usr/lib/subversion/bin:/usr/GNUstep/System/Tools:/usr/GNUstep/Local/Tools" RPMDIR="/usr/portage/rpm" RUBYOPT="-rauto_gem" R_HOME="/usr/lib64/R" SANE_CONFIG_DIR="/etc/sane.d" SCHEME_LIBRARY_PATH="/usr/share/slib/" SESSION_MANAGER="local/starbase64:/tmp/.ICE-unix/9239" SGML_CATALOG_FILES="/etc/sgml/sgml-docbook.cat:/etc/sgml/openjade-1.3.2.cat:/etc/sgml/dsssl-docbook-stylesheets.cat:/etc/sgml/sgml-docbook-3.1.cat:/etc/sgml/sgml-lite.cat:/etc/sgml/sgml-docbook-3.0.cat:/etc/sgml/sgml-docbook-4.1.cat:/etc/sgml/sgml-docbook-4.0.cat:/etc/sgml/xml-simple-docbook-4.1.2.4.cat:/etc/sgml/xml-simple-docbook-1.0.cat:/etc/sgml/xml-docbook-4.1.2.cat:/etc/sgml/xml-docbook-4.4.cat:/etc/sgml/sgml-docbook-4.2.cat:/etc/sgml/sgml-ent.cat:/etc/sgml/sgml-docbook-4.4.cat:/etc/sgml/xml-docbook-4.2.cat:/etc/sgml/xml-docbook-4.5.cat:/etc/sgml/sgml-docbook-4.5.cat:/etc/sgml/linuxdoc.cat:/etc/sgml/xml-docbook-4.3.cat" SHELL="/bin/bash" SHLVL="14" STAGE1_USE="nptl nptlonly unicode" SVCDIR="/service" SVCTIMEOUT="15" SVCVARDIR="/var/service" SYMLINK_LIB="yes" SYNC="rsync://rsync.namerica.gentoo.org/gentoo-portage" T1LIB_CONFIG="/usr/share/t1lib/t1lib.config" TERM="xterm" TEXINPUTS="/usr/lib64/ocaml/ocamldoc:" TINYSCHEMEINIT="/usr/share/tinyscheme/init.scm" USB_DEVFS_PATH="/dev/bus/usb" USE="3dnow 7zip R X Xaw3d a52 aac aalib accessibility acl acpi ada addbookmarks administrator agg alias allegro alsa amarok amd64 ansi antlr apache2 apidocs apm archive artworkextra audacious auto-completion autocreate autoipd automount autoreplace autosieve avalon-framework avalon-logkit bash-completion bcmath berkdb bidi big-tables binary-drivers bindist binfilter bittorrent bjam blas bluetooth boost bugzilla builder bzip2 c++ cairo calendar caps captury ccache cdb cdf cdr cgi chicken chm chroot ciao cjk cli clisp cln cluster colordiff concurrentmodphp contactnotes cpio cracklib crypt cscope ctype cups curl curlwrappers cursors cvs cxx d darcs dbus deprecated devhelp dga directfb discouraged disk-partition djvu dlopen dmi dmx doc dri dv dvd dvdr dvdread dx eds elisp emacs encode epiphany epydoc esd etc-proposals examples exif extensions extra extraengine extrafilters fame fastbuild fat fbcon fbdev ffmpeg fftw file-icons filter finger fits flac flash fltk fontconfig foomaticdb force-cgi-redirect fortran fortran95 fpx ftp g15 galago gcl gconf gd gdal gdbm gdm geos ggi gif ginac git glade glib glut glw gmath gmp gnome gopher gpg gphoto2 gpm grammar graphics graphviz grub gs gsl gsm gstreamer gtk gtkhtml gtkspell gzip-el hal hddtemp hdf hdf5 hdri hesiod heterogeneous hfs highlight hipe history hlapi html htmlhandbook icons iconv icu idled idn ieee1394 image imagemagick imlib imlib2 inode int64 interpreter iodbc ipod iproute2 ipv6 isdnlog itcl ithreads jabber jack jadetex java java6 javamail javascript jbig jce jdepend jfs jikes jingle jms joystick jpeg jpeg2k jrtplib kde kdm kerberos lapack largefile lash latex lcms ldap ldap-sasl libcaca libnotify libwww linuxthreads-tls lm_sensors log4j lua lvm1 lzo mad mailwrapper math max-idx-128 md5sum mdb mdnsresponder-compat mhash midi mikmod mime mjpeg mmap mmx mng mono motif mouse mozdom mp2 mp3 mpe mpe-sdk mpeg mpeg2 mpi mpi_njtree msn mudflap multipath multiprocess multislot musicbrainz mysql mysqli nas ncurses netcdf network networking networkmanager nis njb nls nntp nptl nptlonly nsplugin nspr ntfs numarray numeric objc objc++ objc-gc ocaml octave odbc odk ogg openal openexr opengl openmp openssl ospfapi oss overlays overload pam passwordsave pch pcntl pcre pcsc-lite pda pdf pdo perl php pike pixmaps plasma plib plotutils plplot png portaudio posix pppd prelude profile pulseaudio pvfs2 pymacs pymol pyste python q32 qt3support qt4 quicktime readline realms reflection reiserfs replication resolvconf roundrobin ruby samba sasl scanner script sdl sdl-image sdl-sound sdlaudio seamonkey sendmail sensord serial server servletapi session sharedext slang smp sndfile snmp soap sockets sound source sourceview speedo speex spell spl sqlite sqlite3 sse sse2 ssl startup-notification subversion svg svgz svnserve swig sysfs sysvipc szip t1lib taglib tao tcl tcpd tcpmd5 tcpwrapper tex4ht theora threads threadsafe threadsonly thunderbird tiff tk toolkit-scroll-bars tools transcode translator truetype twisted unicode usb userpriv v4l v4l2 vga vhosts vim vim-pager vim-syntax vim-with-x visualization vorbis waconf wav wavpack webdav wmf wordperfect x11vnc xattr xcb xcf xcomposite xemacs xen xface xforms xfs xft xhtml xim xine xinerama xinetd xml xmlreader xmlrpc xmlwriter xmp xorg xosd xplanet xpm xprint xscreensaver xsl xterm xulrunner xv xvid xvnc yahoo yaz yv12 zip-external zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" 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" 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" ELIBC="glibc" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="af ar as_IN az be be_BY bg bo bn br bs ca cs cy da de dz el en en_GB en_US en_ZA eo es et eu fa fi fr ga gl gu_IN he hi hi_IN hr hu hy id is it ja km ko ku la lo lt lv mk ml ml_IN mn mr_IN nb nds ne nl nn no nr ns nz or_IN pa pa_IN pl ps pt pt_BR ro ru rw se sh_YU sk sl sq sr sr_CS ss st su sv sw_TZ ta ta_IN te_IN tg th ti_ER tn tr ts uk ur_IN ve vi xh zh zh_CN zh_TW zu" USERLAND="GNU" VIDEO_CARDS="apm ark chips cirrus cyrix dummy fbdev glint i128 i810 mach64 mga neomagic nv r128 radeon rendition s3 s3virge savage siliconmotion sis sisusb tdfx tga trident tseng v4l vesa vga via vmware voodoo" USER="root" USERLAND="GNU" USE_EXPAND="ALSA_CARDS ALSA_PCM_PLUGINS APACHE2_MODULES APACHE2_MPMS CAMERAS CROSSCOMPILE_OPTS DVB_CARDS ELIBC FCDSL_CARDS FOO2ZJS_DEVICES FRITZCAPI_CARDS INPUT_DEVICES KERNEL LCD_DEVICES LINGUAS LIRC_DEVICES MISDN_CARDS USERLAND VIDEO_CARDS" USE_EXPAND_HIDDEN="CROSSCOMPILE_OPTS ELIBC KERNEL USERLAND" USE_ORDER="env:pkg:conf:defaults:pkginternal:env.d" VIDEO_CARDS="apm ark chips cirrus cyrix dummy fbdev glint i128 i810 mach64 mga neomagic nv r128 radeon rendition s3 s3virge savage siliconmotion sis sisusb tdfx tga trident tseng v4l vesa vga via vmware voodoo" VMHANDLE="blackdown-jdk-1.4.2" VTKHOME="/usr" VTK_DATA_ROOT="/usr/share/vtk/data" VTK_DIR="/usr/lib/vtk-5.0" WINDOWID="117440552" WINDOWPATH="7" XAUTHORITY="/tmp/xauth.XXXXJ8UbhB" XCURSOR_THEME="redglass" XDG_CONFIG_DIRS="/root/System/Settings/xdg" XDG_DATA_DIRS="/root/System/Variable/xdg:/root/System/Links/Shared:/usr/share:/usr/kde/4.0/share:/usr/local/share" XPVM_ROOT="/usr/local/pvm3/xpvm/src" _="/usr/bin/emerge" goboPrefix="/root" ---------------------------------------------------- libhome-0.10.1: Build Environment ---------------------------------------------------- ABI=amd64 ADA_INCLUDE_PATH=/usr/lib64/gnat-gcc/x86_64-pc-linux-gnu/4.2/adainclude ADA_OBJECTS_PATH=/usr/lib64/gnat-gcc/x86_64-pc-linux-gnu/4.2/adalib ALSA_CARDS='ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci' 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' ARCH=amd64 ASFLAGS_x86=--32 AT_GNUCONF_UPDATE=no AT_M4DIR= BLASTDB=/usr/share/ncbi/formatdb BLASTMAT=/usr/share/ncbi/data CBUILD=x86_64-pc-linux-gnu CDEFINE_amd64=__x86_64__ CDEFINE_default=__unix__ CDEFINE_x86=__i386__ CDF_BASE=/usr CDF_BIN='${CDF_BASE}/bin' CDF_HELP='${CDF_BASE}/lib/cdf/help' CDF_INC='${CDF_BASE}/include' CDF_LIB='${CDF_BASE}/lib' CFLAGS='-O2 -pipe -march=opteron' CFLAGS_default= CFLAGS_x86='-m32 -L/emul/linux/x86/lib -L/emul/linux/x86/usr/lib' CF_LIB=/usr/share/confluence CHOST=x86_64-pc-linux-gnu CHOST_amd64=x86_64-pc-linux-gnu CHOST_default=x86_64-pc-linux-gnu CHOST_x86=i686-pc-linux-gnu CLASSPATH=.:/usr/lib64/CMT/v1r20p20080222/java/cmt.jar CMTBIN=Linux-x86_64 CMTCONFIG=Linux-x86_64 CMTROOT=/usr/lib64/CMT/v1r20p20080222 COOT_REFMAC_LIB_DIR=/usr/share/coot/lib CPLUS_INCLUDE_PATH=/root/System/Links/Headers:/usr/lib64/qt/include CTARGET_default=x86_64-pc-linux-gnu CVS_RSH=ssh CXXFLAGS='-O2 -pipe -march=opteron' C_INCLUDE_PATH=/root/System/Links/Headers DCCC_PATH=/usr/lib/distcc/bin DEFAULT_ABI=amd64 DEPEND=$'berkdb? ( =sys-libs/db-4* )\n\tldap? ( net-nds/openldap )\n\tmysql? ( virtual/mysql )\n\tpam? ( sys-libs/pam )\n\tpostgres? ( dev-db/postgresql ) =sys-devel/automake-1.10*\n\t>=sys-devel/autoconf-2.61\n\tsys-devel/libtool' DESCRIPTION='libhome is a library providing a getpwnam() emulation' DESTTREE=/usr DIROPTIONS=-m0755 EAPI= ELIBC=glibc ELIBTOOL_VERSION=2.0.2 ELT_APPLIED_PATCHES=' 1.5.6 1.3.0' ELT_LTMAIN_SH=/var/tmp/portage/dev-libs/libhome-0.10.1/work/libhome-0.10.1/ltmain.sh ELT_PATCH_DIR=/usr/portage/eclass/ELT-patches EMBOSS_ACDROOT=/usr/share/EMBOSS/acd EPATCH_EXCLUDE= EPATCH_FORCE=no EPATCH_MULTI_MSG='Applying various patches (bugfixes/updates) ...' EPATCH_OPTS='-g0 -E --no-backup-if-mismatch' EPATCH_SINGLE_MSG= EPATCH_SOURCE=/var/tmp/portage/dev-libs/libhome-0.10.1/work/patch EPATCH_SUFFIX=patch.bz2 EXEOPTIONS=-m0755 FEATURES='ccache distlocks fixpackages loadpolicy metadata-transfer parallel-fetch preserve-libs sandbox sfperms strict unmerge-orphans userfetch' FLTK_DOCDIR=/usr/share/doc/fltk-1.1.7-r3/html GAMBCOPT==/usr/ GCC_SPECS= GDK_USE_XFT=1 GENERATION=2 GMTHOME=/usr/share/gmt-4.1.1 GRASS_HOME=/usr/grass62 GRASS_LD_LIBRARY_PATH=/usr/grass62/lib GS_LIB=/home/shingoshi/.fonts GTK2_RC_FILES=/etc/gtk-2.0/gtkrc:/home/shingoshi/.gtkrc-2.0:/usr/home/shingoshi/.kde/share/config/gtkrc-2.0 GTK_RC_FILES=/etc/gtk/gtkrc:/home/shingoshi/.gtkrc:/usr/home/shingoshi/.kde/share/config/gtkrc GUILE_LOAD_PATH=/usr/share/guile/1.8 G_BROKEN_FILENAMES=1 HISTCONTROL=ignoredups HOMEPAGE=http://pll.sourceforge.net HUSHLOGIN=FALSE INFODIR=/usr/GNUstep/System/Library/Documentation/info:/usr/GNUstep/Local/Library/Documentation/info INHERITED='toolchain-funcs portability versionator multilib libtool db-use autotools eutils' INPUTRC=/etc/inputrc INPUT_DEVICES='keyboard mouse evdev' INSDESTTREE= INSOPTIONS=-m0644 IUSE=' berkdb ldap mysql pam postgres' 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 KDEDIRS=/usr:/usr/local:/usr/kde/4.0 KDESU_USER=shingoshi KDE_MULTIHEAD=false KDE_SESSION_UID=1002 KERNEL=linux KERNEL_ABI=amd64 KEYWORDS='~amd64 ~x86' KONSOLE_DCOP='DCOPRef(konsole-10883,konsole)' KONSOLE_DCOP_SESSION='DCOPRef(konsole-10883,session-1)' KV=2.6.24.4 LADSPA_PATH=/usr/lib64/ladspa LANG=en_US.UTF-8 LCD_DEVICES='bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text' LC_COLLATE=C LDFLAGS_default= LDFLAGS_x86='-m elf_i386 -L/emul/linux/x86/lib -L/emul/linux/x86/usr/lib' LD_LIBRARY_PATH=/root/System/Links/Libraries LESSCHARSET=latin1 LIBDIR_amd64=lib64 LIBDIR_default=lib LIBDIR_x86=lib32 LIBOPTIONS=-m0644 LIBXCB_ALLOW_SLOPPY_LOCK=1 LICENSE=LGPL-2 LINGUAS='af ar as_IN az be be_BY bg bo bn br bs ca cs cy da de dz el en en_GB en_US en_ZA eo es et eu fa fi fr ga gl gu_IN he hi hi_IN hr hu hy id is it ja km ko ku la lo lt lv mk ml ml_IN mn mr_IN nb nds ne nl nn no nr ns nz or_IN pa pa_IN pl ps pt pt_BR ro ru rw se sh_YU sk sl sq sr sr_CS ss st su sv sw_TZ ta ta_IN te_IN tg th ti_ER tn tr ts uk ur_IN ve vi xh zh zh_CN zh_TW zu' LS_OPTIONS=' -F -b -T 0 --color=auto ' MAKEOPTS=-j8 MINICOM='-c on' MULTILIB_ABIS='amd64 x86' MULTILIB_STRICT_DENY='64-bit.*shared object' MULTILIB_STRICT_DIRS='/lib /usr/lib /usr/kde/*/lib /usr/qt/*/lib /usr/X11R6/lib' MULTILIB_STRICT_EXEMPT='(perl5|gcc|gcc-lib|binutils|eclipse-3|debug|portage)' NCBI=/etc/ncbi OMNIORB_CONFIG=/etc/omniorb/omniORB.cfg OPENGL_PROFILE=xorg-x11 PDEPEND=' ' PKG_CONFIG_PATH=/root/System/Links/Libraries/pkgconfig:/usr/local/lib/pkgconfig:/usr/local/share/pkgconfig:/usr/lib/pkgconfig:/usr/share/pkgconfig PLAN9=/usr/lib/plan9 PLPLOT_LIB=/usr/share/EMBOSS/ PORTAGE_COMPRESS=lzma PRELINK_PATH_MASK='/lib/modules:/usr/lib64/locale:/usr/lib64/wine:/usr/lib64/valgrind:*.la:*.png:*.py:*.pl:*.pm:*.sh:*.xml:*.xslt:*.a:*.js:/usr/lib64/klibc' PROVIDE= PVM_ARCH=LINUX64 PVM_ROOT=/usr/share/pvm3 PYMOL_DATA=/usr/share/pymol/data PYMOL_PATH=/usr/lib64/python2.5/site-packages/pymol PYMOL_SCRIPTS=/usr/share/pymol/scripts PYTHONDOCS=/usr/share/doc/python-docs-2.5.1/html/lib PYTHONPATH=/root/System/Links/Libraries/python2.3/site-packages:/root/System/Links/Libraries/python2.4/site-packages QRNADB=/usr/share/qrna/data QTDIR=/usr/lib64/qt RCSBROOT=/usr/lib/rcsb RDEPEND=$'berkdb? ( =sys-libs/db-4* )\n\tldap? ( net-nds/openldap )\n\tmysql? ( virtual/mysql )\n\tpam? ( sys-libs/pam )\n\tpostgres? ( dev-db/postgresql ) ' RESTRICT= ROOTLESS_GOBOLINUX=1 RUBYOPT=-rauto_gem R_HOME=/usr/lib64/R S=/var/tmp/portage/dev-libs/libhome-0.10.1/work/libhome-0.10.1 SANDBOX_DENY=/etc/ld.so.preload SANDBOX_PREDICT=:/dev/console:/dev/random:/proc/self/maps:/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/ethers.db:/var/db/group.db:/var/db/hosts.db:/var/db/netgroup.db:/var/db/netmasks.db:/var/db/networks.db:/var/db/passwd.db:/var/db/protocols.db:/var/db/rpc.db:/var/db/services.db:/var/tmp/portage/dev-libs/libhome-0.10.1/homedir/.: SANDBOX_READ=:/:/dev/shm:/dev/stdin:/distccache/.ccache:/var/tmp: SANDBOX_WRITE=:/dev/console:/dev/fd:/dev/null:/dev/pts/:/dev/pty:/dev/shm:/dev/shm/ngpt:/dev/stderr:/dev/stdout:/dev/tts:/dev/tty:/dev/vc/:/dev/zero:/distccache/.ccache:/proc/self/fd:/tmp:/tmp/:/usr/lib/cf:/usr/lib/conftest:/usr/lib32/cf:/usr/lib32/conftest:/usr/lib64/cf:/usr/lib64/conftest:/usr/tmp/cf:/usr/tmp/conftest:/var/log/scrollkeeper.log:/var/tmp:/var/tmp/:/var/tmp/portage/dev-libs/libhome-0.10.1/homedir/.bash_history:/var/tmp/portage/dev-libs/libhome-0.10.1/homedir/.gconfd/lock: SANE_CONFIG_DIR=/etc/sane.d SCHEME_LIBRARY_PATH=/usr/share/slib/ SESSION_MANAGER=local/starbase64:/tmp/.ICE-unix/9239 SGML_CATALOG_FILES=/etc/sgml/sgml-docbook.cat:/etc/sgml/openjade-1.3.2.cat:/etc/sgml/dsssl-docbook-stylesheets.cat:/etc/sgml/sgml-docbook-3.1.cat:/etc/sgml/sgml-lite.cat:/etc/sgml/sgml-docbook-3.0.cat:/etc/sgml/sgml-docbook-4.1.cat:/etc/sgml/sgml-docbook-4.0.cat:/etc/sgml/xml-simple-docbook-4.1.2.4.cat:/etc/sgml/xml-simple-docbook-1.0.cat:/etc/sgml/xml-docbook-4.1.2.cat:/etc/sgml/xml-docbook-4.4.cat:/etc/sgml/sgml-docbook-4.2.cat:/etc/sgml/sgml-ent.cat:/etc/sgml/sgml-docbook-4.4.cat:/etc/sgml/xml-docbook-4.2.cat:/etc/sgml/xml-docbook-4.5.cat:/etc/sgml/sgml-docbook-4.5.cat:/etc/sgml/linuxdoc.cat:/etc/sgml/xml-docbook-4.3.cat SLOT=0 SRC_URI=mirror://sourceforge/pll/libhome-0.10.1.tar.gz STAGE1_USE='nptl nptlonly unicode' SVCDIR=/service SVCTIMEOUT=15 SVCVARDIR=/var/service SYMLINK_LIB=yes T1LIB_CONFIG=/usr/share/t1lib/t1lib.config TEXINPUTS=/usr/lib64/ocaml/ocamldoc: TINYSCHEMEINIT=/usr/share/tinyscheme/init.scm USB_DEVFS_PATH=/dev/bus/usb USE='amd64 berkdb elibc_glibc kernel_linux ldap mysql pam userland_GNU' USERLAND=GNU VIDEO_CARDS='apm ark chips cirrus cyrix dummy fbdev glint i128 i810 mach64 mga neomagic nv r128 radeon rendition s3 s3virge savage siliconmotion sis sisusb tdfx tga trident tseng v4l vesa vga via vmware voodoo' VMHANDLE=blackdown-jdk-1.4.2 VTKHOME=/usr VTK_DATA_ROOT=/usr/share/vtk/data VTK_DIR=/usr/lib/vtk-5.0 WANT_AUTOCONF=2.5 WANT_AUTOMAKE=1.10 WINDOWID=117440552 WINDOWPATH=7 XCURSOR_THEME=redglass XDG_CONFIG_DIRS=/root/System/Settings/xdg XDG_DATA_DIRS=/root/System/Variable/xdg:/root/System/Links/Shared:/usr/share:/usr/kde/4.0/share:/usr/local/share XPVM_ROOT=/usr/local/pvm3/xpvm/src _=_RC_GET_KV_CACHE _E_DOCDESTTREE_= _E_EXEDESTTREE_= ___ECLASS_RECUR_MULTILIB=yes ___ECLASS_RECUR_TOOLCHAIN_FUNCS=yes conf=libhome-0.10.1-r0 goboPrefix=/root 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}" } 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 } __versionator__test_version_compare () { __versionator_shopt_toggle on; local lt=1 eq=2 gt=3 p q; function __versionator__test_version_compare_t () { version_compare "${1}" "${3}"; local r=$?; [[ ${r} -eq ${2} ]] || echo "FAIL: ${@} (got ${r} exp ${2})" }; echo " 0 $lt 1 1 $lt 2 2 $gt 1 2 $eq 2 0 $eq 0 10 $lt 20 68 $eq 068 068 $gt 67 068 $lt 69 1.0 $lt 2.0 2.0 $eq 2.0 2.0 $gt 1.0 1.0 $gt 0.0 0.0 $eq 0.0 0.0 $lt 1.0 0.1 $lt 0.2 0.2 $eq 0.2 0.3 $gt 0.2 1.2 $lt 2.1 2.1 $gt 1.2 1.2.3 $lt 1.2.4 1.2.4 $gt 1.2.3 1.2.0 $eq 1.2 1.2.1 $gt 1.2 1.2 $lt 1.2.1 1.2b $eq 1.2b 1.2b $lt 1.2c 1.2b $gt 1.2a 1.2b $gt 1.2 1.2 $lt 1.2a 1.3 $gt 1.2a 1.3 $lt 1.3a 1.0_alpha7 $lt 1.0_beta7 1.0_beta $lt 1.0_pre 1.0_pre5 $lt 1.0_rc2 1.0_rc2 $lt 1.0 1.0_p1 $gt 1.0 1.0_p1-r1 $gt 1.0_p1 1.0_alpha6-r1 $gt 1.0_alpha6 1.0_beta6-r1 $gt 1.0_alpha6-r2 1.0_pre1 $lt 1.0-p1 1.0p $gt 1.0_p1 1.0r $gt 1.0-r1 1.6.15 $gt 1.6.10-r2 1.6.10-r2 $lt 1.6.15 " | while read a b c; do [[ -z "${a}${b}${c}" ]] && continue; __versionator__test_version_compare_t "${a}" "${b}" "${c}"; done; for q in "alpha beta pre rc=${lt};${gt}" "p r=${gt};${lt}"; do for p in ${q%%=*}; do local c=${q##*=}; local alt=${c%%;*} agt=${c##*;}; __versionator__test_version_compare_t "1.0" $agt "1.0_${p}"; __versionator__test_version_compare_t "1.0" $agt "1.0_${p}1"; __versionator__test_version_compare_t "1.0" $agt "1.0_${p}068"; __versionator__test_version_compare_t "2.0_${p}" $alt "2.0"; __versionator__test_version_compare_t "2.0_${p}1" $alt "2.0"; __versionator__test_version_compare_t "2.0_${p}068" $alt "2.0"; __versionator__test_version_compare_t "1.0_${p}" $eq "1.0_${p}"; __versionator__test_version_compare_t "0.0_${p}" $lt "0.0_${p}1"; __versionator__test_version_compare_t "666_${p}3" $gt "666_${p}"; __versionator__test_version_compare_t "1_${p}7" $lt "1_${p}8"; __versionator__test_version_compare_t "1_${p}7" $eq "1_${p}7"; __versionator__test_version_compare_t "1_${p}7" $gt "1_${p}6"; __versionator__test_version_compare_t "1_${p}09" $eq "1_${p}9"; done; done; for p in "-r" "_p"; do __versionator__test_version_compare_t "7.2${p}1" $lt "7.2${p}2"; __versionator__test_version_compare_t "7.2${p}2" $gt "7.2${p}1"; __versionator__test_version_compare_t "7.2${p}3" $gt "7.2${p}2"; __versionator__test_version_compare_t "7.2${p}2" $lt "7.2${p}3"; done; __versionator_shopt_toggle off } __versionator_shopt_toggle () { VERSIONATOR_RECURSION=${VERSIONATOR_RECURSION:-0}; case "$1" in "on") if [[ $VERSIONATOR_RECURSION -lt 1 ]]; then VERSIONATOR_OLD_EXTGLOB=$(shopt -p extglob); shopt -s extglob; fi; VERSIONATOR_RECURSION=$(( $VERSIONATOR_RECURSION + 1 )) ;; "off") VERSIONATOR_RECURSION=$(( $VERSIONATOR_RECURSION - 1 )); if [[ $VERSIONATOR_RECURSION -lt 1 ]]; then eval $VERSIONATOR_OLD_EXTGLOB; fi ;; esac; return 0 } _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 || die "something is screwed with your system"; done } _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 } _epatch_assert () { local _pipestatus=${PIPESTATUS[*]}; [[ ${_pipestatus// /} -eq 0 ]] } _epatch_draw_line () { [[ -z $1 ]] && set "$(printf "%65s" '')"; echo "${1//?/=}" } _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 ]] } 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; die "Failed Running $1 !"; fi } bashrc_has () { [[ " ${*:2} " == *" $1 "* ]] } 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) ;; *) die "unknown action '${missing_action}'" ;; esac; fi; local opt=$1; [[ ${opt:0:1} = "-" ]] && shift || opt="-a"; local PKG=$(best_version $1); [[ -z ${PKG} ]] && die "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) die "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) die "$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" ]] } 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."; die "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_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}" ] && die "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} || die "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!"; die "Failed to accept license" ;; esac } create_ml_includes () { local dest=$1; shift; local basedirs=$(create_ml_includes-listdirs "$@"); create_ml_includes-makedestdirs ${dest} ${basedirs}; local file; for file in $(create_ml_includes-allfiles ${basedirs}); do ( echo "/* Autogenerated by create_ml_includes() in multilib.eclass */"; local dir; for dir in ${basedirs}; do if [[ -f ${D}/${dir}/${file} ]]; then echo ""; local sym=$(create_ml_includes-sym_for_dir ${dir} "$@"); if [[ ${sym/=} != "${sym}" ]]; then echo "#if ${sym}"; else if [[ ${sym::1} == "!" ]]; then echo "#ifndef ${sym:1}"; else echo "#ifdef ${sym}"; fi; fi; echo "# include <$(create_ml_includes-absolute ${dir}/${file})>"; echo "#endif /* ${sym} */"; fi; done ) > "${D}/${dest}/${file}"; done } create_ml_includes-absolute () { local dst="$(create_ml_includes-tidy_path $1)"; dst=(${dst//\// }); local i; for ((i=0; i<${#dst[*]}; i++)) do [ "${dst[i]}" == "include" ] && break; done; local strip_upto=$i; for ((i=strip_upto+1; i<${#dst[*]}-1; i++)) do echo -n ${dst[i]}/; done; echo -n ${dst[i]} } create_ml_includes-allfiles () { local basedir file; for basedir in "$@"; do for file in $(find "${D}"/${basedir} -type f); do echo ${file/${D}\/${basedir}\//}; done; done | sort | uniq } create_ml_includes-listdirs () { local dirs; local data; for data in "$@"; do dirs="${dirs} ${data/*:/}"; done; echo ${dirs:1} } create_ml_includes-makedestdirs () { local dest=$1; shift; local basedirs=$@; dodir ${dest}; local basedir; for basedir in ${basedirs}; do local dir; for dir in $(find ${D}/${basedir} -type d); do dodir ${dest}/${dir/${D}\/${basedir}/}; done; done } create_ml_includes-sym_for_dir () { local dir=$1; shift; local data; for data in "$@"; do if [[ ${data} == *:${dir} ]]; then echo ${data/:*/}; return 0; fi; done; echo "Shouldn't be here -- create_ml_includes-sym_for_dir $1 $@"; exit 1 } create_ml_includes-tidy_path () { local removed=$1; if [ -n "${removed}" ]; then while [ "${removed}" != "${removed/\/\//\/}" ]; do removed=${removed/\/\//\/}; done; while [ "${removed}" != "${removed//\/.\//\/}" ]; do removed=${removed//\/.\//\/}; done; [ "${removed##*/}" = "." ] && removed=${removed%/*}; while [ "${removed}" != "${removed//\/..\/}" ]; do local p1="${removed%%\/..\/*}"; local p2="${removed#*\/..\/}"; removed="${p1%\/*}/${p2}"; done; [ "${removed##*/}" = ".." ] && removed=${removed%/*/*}; [ "${removed##*/}" = "" ] && removed=${removed%/*}; echo ${removed}; fi } darwintoolize () { ewarn "darwintoolize() is deprecated, please just use elibtoolize()!"; elibtoolize } db_findver () { if [ $# -ne 1 ]; then eerror "Function db_findver needs one argument" 1>&2; eerror "args given:" 1>&2; for f in $@; do eerror " - \"$@\"" 1>&2; done; return 1; fi; PKG="$(best_version $1)"; VER="$(get_version_component_range 1-2 "${PKG/*db-/}")"; if [ -d /usr/include/db$(db_ver_to_slot "$VER") ]; then einfo "Found db version ${VER}" 1>&2; echo -n "$VER"; return 0; else return 1; fi } db_includedir () { if [ $# -eq 0 ]; then VER="$(db_findver sys-libs/db)" || return 1; VER="$(db_ver_to_slot "$VER")"; echo "include version ${VER}" 1>&2; if [ -d "/usr/include/db${VER}" ]; then echo -n "/usr/include/db${VER}"; return 0; else eerror "sys-libs/db package requested, but headers not found" 1>&2; return 1; fi; else for x in $@; do if VER=$(db_findver "=sys-libs/db-${x}*") && [ -d "/usr/include/db$(db_ver_to_slot $VER)" ]; then echo -n "/usr/include/db$(db_ver_to_slot $VER)"; return 0; fi; done; eerror "No suitable db version found"; return 1; fi } db_libname () { if [ $# -eq 0 ]; then VER="$(db_findver sys-libs/db)" || return 1; if [ -e "/usr/$(get_libdir)/libdb-${VER}.so" ]; then echo -n "db-${VER}"; return 0; else eerror "sys-libs/db package requested, but library not found" 1>&2; return 1; fi; else for x in $@; do if VER=$(db_findver "=sys-libs/db-${x}*"); then if [ -e "/usr/$(get_libdir)/libdb-${VER}.so" ]; then echo -n "db-${VER}"; return 0; fi; fi; done; eerror "No suitable db version found" 1>&2; return 1; fi } db_ver_to_slot () { if [ $# -ne 1 ]; then eerror "Function db_ver_to_slot needs one argument" 1>&2; eerror "args given:" 1>&2; for f in $@; do eerror " - \"$@\"" 1>&2; done; return 1; fi; echo -n "${1/.0/}" } delete_all_version_separators () { __versionator_shopt_toggle on; replace_all_version_separators "" "${1}"; __versionator_shopt_toggle off } delete_version_separator () { __versionator_shopt_toggle on; replace_version_separator "${1}" "" "${2}"; __versionator_shopt_toggle off } dlopen_lib () { if [[ ${ELIBC} != *BSD ]]; then echo "-ldl"; 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; die "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 } 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$//' } 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 } 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}"; die "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."; die "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."; die "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!"; die "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"; die; fi; fi; [[ -f ${x}/libtool ]] && rm -f "${x}/libtool"; touch "${x}/.elibtoolized"; done; cd "${start_dir}" } 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."; die "Bad package! enewgroup is only for use in pkg_* functions!" ;; esac; local egroup="$1"; shift; if [ -z "${egroup}" ]; then eerror "No group specified !"; die "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 !"; die "${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}"; die "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} || die "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} || die "enewgroup failed" ;; *) groupadd ${opts} ${egroup} || die "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."; die "Bad package! enewuser is only for use in pkg_* functions!" ;; esac; local euser=$1; shift; if [[ -z ${euser} ]]; then eerror "No username specified !"; die "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 !"; die "${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 !"; die "${eshell} does not exist in ${ROOT}"; fi; if [[ ${eshell} == */false || ${eshell} == */nologin ]]; then eerror "Do not specify ${eshell} yourself, use -1"; die "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" ;; *) die "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"; die "${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: $@"; die "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} "$@" || die "enewuser failed"; fi ;; *-netbsd*) if [[ -z $@ ]]; then useradd ${opts} ${euser} || die "enewuser failed"; else einfo " - Extra: $@"; useradd ${opts} ${euser} "$@" || die "enewuser failed"; fi ;; *-openbsd*) if [[ -z $@ ]]; then useradd -u ${euid} -s ${eshell} -d ${ehome} -c "Added by portage for ${PN}" -g ${egroups} ${euser} || die "enewuser failed"; else einfo " - Extra: $@"; useradd -u ${euid} -s ${eshell} -d ${ehome} -c "Added by portage for ${PN}" -g ${egroups} ${euser} "$@" || die "enewuser failed"; fi ;; *) if [[ -z $@ ]]; then useradd ${opts} ${euser} -c "added by portage for ${PN}" || die "enewuser failed"; else einfo " - Extra: $@"; useradd ${opts} ${euser} "$@" || die "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; die "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; die "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 } filter_invalid_flags () { local flag broken_flags; eval broken_flags=($(get_broken_flags $(getPROG CC gcc) c ${CFLAGS})); for flag in "${broken_flags[@]}"; do ewarn "Filtering out invalid CFLAG \"${flag}\""; CFLAGS="$(remove_flag "${flag}" ${CFLAGS})"; done; eval broken_flags=($(get_broken_flags $(getPROG CXX g++) c++ ${CXXFLAGS})); for flag in "${broken_flags[@]}"; do ewarn "Filtering out invalid CXXFLAG \"${flag}\""; CXXFLAGS="$(remove_flag "${flag}" ${CXXFLAGS})"; 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}" || die "could not change perms on ${lib}"; done } getPROG () { local var=$1 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}" } 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_after_major_version () { __versionator_shopt_toggle on; echo $(get_version_component_range 2- "${1:-${PV}}" ); __versionator_shopt_toggle off } 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_all_version_components () { __versionator_shopt_toggle on; local ver_str=${1:-${PV}} result result_idx=0; result=(); if [[ "${VERSIONATOR_CACHE_VER_STR}" == "${ver_str}" ]]; then echo ${VERSIONATOR_CACHE_RESULT}; __versionator_shopt_toggle off; return; fi; export VERSIONATOR_CACHE_VER_STR="${ver_str}"; while [[ -n "$ver_str" ]]; do case "${ver_str:0:1}" in [[:digit:]]) result[$result_idx]="${ver_str%%[^[:digit:]]*}"; ver_str="${ver_str##+([[:digit:]])}"; result_idx=$(($result_idx + 1)) ;; [-_.]) result[$result_idx]="${ver_str:0:1}"; ver_str="${ver_str:1}"; result_idx=$(($result_idx + 1)) ;; [[:alpha:]]) local not_match="${ver_str##+([[:alpha:]])*([[:digit:]])}"; result[$result_idx]=${ver_str:0:$((${#ver_str} - ${#not_match}))}; ver_str="${not_match}"; result_idx=$(($result_idx + 1)) ;; *) result[$result_idx]="${ver_str:0:1}"; ver_str="${ver_str:1}"; result_idx=$(($result_idx + 1)) ;; esac; done; export VERSIONATOR_CACHE_RESULT="${result[@]}"; echo ${result[@]}; __versionator_shopt_toggle off } get_bmake () { if [[ ${USERLAND} == *BSD ]]; then echo make; else if [[ ${USERLAND} == "Darwin" ]]; then echo bsdmake; else echo pmake; fi; fi } get_broken_flags () { local myprog="${1}" lang="${2}"; shift 2; echo 'main(){}' | LC_ALL=C ${myprog} ${@} -x ${lang} -o /dev/null - 2>&1 | egrep "unrecognized .*option" | egrep -o -- '('\''|\"|`)-.*' | sed -r 's/('\''|`|")//g; s/^/"/; s/$/"/'; echo 'main(){}' | LC_ALL=C ${myprog} ${@} -x ${lang} -o /dev/null - 2>&1 | egrep "unrecognised debug output" | egrep -o -- '('\''|\"|`).*' | sed -r 's/('\''|`|")//g; s/^/"-g/; s/$/"/' } 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 die "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_last_version_component_index () { __versionator_shopt_toggle on; echo $(( $(get_version_component_count "${1:-${PV}}" ) - 1 )); __versionator_shopt_toggle off } 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 mingw* | *-mingw*) libname="dll" ;; *-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_major_version () { __versionator_shopt_toggle on; local c; c=($(get_all_version_components "${1:-${PV}}" )); echo ${c[0]}; __versionator_shopt_toggle off } 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} } get_version_component_count () { __versionator_shopt_toggle on; local a; a=($(get_version_components "${1:-${PV}}" )); echo ${#a[@]}; __versionator_shopt_toggle off } get_version_component_range () { __versionator_shopt_toggle on; local c v="${2:-${PV}}" range="${1}" range_start range_end i=-1 j=0; c=($(get_all_version_components ${v} )); range_start="${range%-*}"; range_start="${range_start:-1}"; range_end="${range#*-}"; range_end="${range_end:-${#c[@]}}"; while (( j < ${range_start} )); do i=$(($i + 1)); [[ $i -gt ${#c[@]} ]] && __versionator_shopt_toggle off && return; [[ -n "${c[${i}]//[-._]}" ]] && j=$(($j + 1)); done; while (( j <= ${range_end} )); do echo -n ${c[$i]}; [[ $i -gt ${#c[@]} ]] && __versionator_shopt_toggle off && return; [[ -n "${c[${i}]//[-._]}" ]] && j=$(($j + 1)); i=$(($i + 1)); done; __versionator_shopt_toggle off } get_version_components () { __versionator_shopt_toggle on; local c="$(get_all_version_components "${1:-${PV}}")"; c=(${c[@]//[-._]/ }); echo ${c[@]}; __versionator_shopt_toggle off } has_multilib_profile () { [ -n "${MULTILIB_ABIS}" -a "${MULTILIB_ABIS}" != "${MULTILIB_ABIS/ /}" ] } 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} ]] } 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}" < [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} || die "dodir ${dir} failed"; cp "${ROOT}"/${lib} "${D}"/${lib} || die "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"; die "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 } remove_flag () { local remove="${1}"; shift; while [[ -n "${1}" ]]; do [[ "${1}" != "${remove}" ]] && echo -n "${1} "; shift; done } replace_all_version_separators () { __versionator_shopt_toggle on; local c; c=($(get_all_version_components "${2:-${PV}}" )); c="${c[@]//[-._]/$1}"; echo ${c// }; __versionator_shopt_toggle off } replace_version_separator () { __versionator_shopt_toggle on; local w i c found=0 v="${3:-${PV}}"; w=${1:-1}; c=($(get_all_version_components ${v} )); if [[ "${w//[[:digit:]]/}" == "${w}" ]]; then for ((i = 0 ; i < ${#c[@]} ; i = $i + 1 )) do if [[ "${c[${i}]}" == "${w}" ]]; then c[${i}]="${2}"; break; fi; done; else for ((i = 0 ; i < ${#c[@]} ; i = $i + 1 )) do if [[ -n "${c[${i}]//[^-._]}" ]]; then found=$(($found + 1)); if [[ "$found" == "${w}" ]]; then c[${i}]="${2}"; break; fi; fi; done; fi; c=${c[@]}; echo ${c// }; __versionator_shopt_toggle off } 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 ;; *) die "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 --without-db3 $(use_with berkdb db4 $(db_includedir)) $(use_with ldap) $(use_with mysql) $(use_with pam) $(use_with postgres pgsql) || die "econf failed"; emake || die "emake failed" } src_install () { make DESTDIR="${D}" install || die "make install failed" } src_test () { if emake -j1 check -n >&/dev/null; then vecho ">>> Test phase [check]: ${CATEGORY}/${PF}"; if ! emake -j1 check; then hasq test $FEATURES && die "Make check failed. See above for details."; hasq test $FEATURES || eerror "Make check failed. See above for details."; fi; else if emake -j1 test -n >&/dev/null; then vecho ">>> Test phase [test]: ${CATEGORY}/${PF}"; if ! emake -j1 test; then hasq test $FEATURES && die "Make test failed. See above for details."; hasq test $FEATURES || eerror "Make test failed. See above for details."; fi; else vecho ">>> Test phase [none]: ${CATEGORY}/${PF}"; fi; fi } src_unpack () { unpack ${A}; cd "${S}"; epatch "${FILESDIR}"/${P}-Makefile.patch; eautoreconf } 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} ]] && die "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."; die "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}'" ;; *) die "makeself cant handle exe '${exe}'" ;; esac; local tmpfile=$(emktemp); eval ${exe} 2> /dev/null | head -c 512 > "${tmpfile}"; local filetype=$(file -b "${tmpfile}"); case ${filetype} in *tar\ archive*) eval ${exe} | tar --no-same-owner -xf - ;; bzip2*) eval ${exe} | bzip2 -dc | tar --no-same-owner -xf - ;; gzip*) eval ${exe} | tar --no-same-owner -xzf - ;; compress*) eval ${exe} | gunzip | tar --no-same-owner -xf - ;; *) eerror "Unknown filetype \"${filetype}\" ?"; false ;; esac; _pipestatus="${PIPESTATUS[*]}"; [[ "${_pipestatus// /}" -eq 0 ]] || die "failure unpacking (${filetype}) makeself ${shrtsrc} ('${ver}' +${skip})" } unpack_pdv () { local src=$(find_unpackable_file "$1"); local sizeoff_t=$2; [[ -z ${src} ]] && die "Could not locate source for '$1'"; [[ -z ${sizeoff_t} ]] && die "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 } 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 } version_compare () { __versionator_shopt_toggle on; local ver_a=${1} ver_b=${2} parts_a parts_b cur_idx_a=0 cur_idx_b=0; parts_a=($(get_all_version_components "${ver_a}" )); parts_b=($(get_all_version_components "${ver_b}" )); local inf_loop=0; while true; do inf_loop=$(( ${inf_loop} + 1 )); [[ ${inf_loop} -gt 20 ]] && die "versionator compare bug [numbers, ${ver_a}, ${ver_b}]"; local cur_tok_a=${parts_a[${cur_idx_a}]}; local cur_tok_b=${parts_b[${cur_idx_b}]}; if [[ -n ${cur_tok_a} ]] && [[ -z ${cur_tok_a//[[:digit:]]} ]]; then cur_idx_a=$(( ${cur_idx_a} + 1 )); [[ ${parts_a[${cur_idx_a}]} == "." ]] && cur_idx_a=$(( ${cur_idx_a} + 1 )); else cur_tok_a=""; fi; if [[ -n ${cur_tok_b} ]] && [[ -z ${cur_tok_b//[[:digit:]]} ]]; then cur_idx_b=$(( ${cur_idx_b} + 1 )); [[ ${parts_b[${cur_idx_b}]} == "." ]] && cur_idx_b=$(( ${cur_idx_b} + 1 )); else cur_tok_b=""; fi; [[ -z ${cur_tok_a} ]] && [[ -z ${cur_tok_b} ]] && break; cur_tok_a=${cur_tok_a##+(0)}; cur_tok_b=${cur_tok_b##+(0)}; [[ -z ${cur_tok_a} ]] && cur_tok_a=0; [[ -z ${cur_tok_b} ]] && cur_tok_b=0; [[ ${cur_tok_a} -lt ${cur_tok_b} ]] && __versionator_shopt_toggle off && return 1; [[ ${cur_tok_a} -gt ${cur_tok_b} ]] && __versionator_shopt_toggle off && return 3; done; local letter_a=; letter_a=${parts_a[${cur_idx_a}]}; if [[ ${#letter_a} -eq 1 ]] && [[ -z ${letter_a/[a-z]} ]]; then cur_idx_a=$(( ${cur_idx_a} + 1 )); else letter_a="@"; fi; local letter_b=; letter_b=${parts_b[${cur_idx_b}]}; if [[ ${#letter_b} -eq 1 ]] && [[ -z ${letter_b/[a-z]} ]]; then cur_idx_b=$(( ${cur_idx_b} + 1 )); else letter_b="@"; fi; [[ ${letter_a} < ${letter_b} ]] && __versionator_shopt_toggle off && return 1; [[ ${letter_a} > ${letter_b} ]] && __versionator_shopt_toggle off && return 3; local suffix rule part r_lt r_gt; for rule in "alpha=1" "beta=1" "pre=1" "rc=1" "p=3" "r=3"; do suffix=${rule%%=*}; r_lt=${rule##*=}; [[ ${r_lt} -eq 1 ]] && r_gt=3 || r_gt=1; local suffix_a=; for part in ${parts_a[@]}; do [[ ${part#${suffix}} != ${part} ]] && [[ -z ${part##${suffix}*([[:digit:]])} ]] && suffix_a=${part#${suffix}}0; done; local suffix_b=; for part in ${parts_b[@]}; do [[ ${part#${suffix}} != ${part} ]] && [[ -z ${part##${suffix}*([[:digit:]])} ]] && suffix_b=${part#${suffix}}0; done; [[ -z ${suffix_a} ]] && [[ -z ${suffix_b} ]] && continue; [[ -z ${suffix_a} ]] && __versionator_shopt_toggle off && return ${r_gt}; [[ -z ${suffix_b} ]] && __versionator_shopt_toggle off && return ${r_lt}; suffix_a=${suffix_a##+(0)}; suffix_a=${suffix_a:-0}; suffix_b=${suffix_b##+(0)}; suffix_b=${suffix_b:-0}; [[ ${suffix_a} -lt ${suffix_b} ]] && __versionator_shopt_toggle off && return 1; [[ ${suffix_a} -gt ${suffix_b} ]] && __versionator_shopt_toggle off && return 3; done; __versionator_shopt_toggle off; return 2 } version_is_at_least () { __versionator_shopt_toggle on; local want_s="$1" have_s="${2:-${PVR}}" r; version_compare "${want_s}" "${have_s}"; r=$?; case $r in 1 | 2) __versionator_shopt_toggle off; return 0 ;; 3) __versionator_shopt_toggle off; return 1 ;; *) __versionator_shopt_toggle off; die "versionator compare bug [atleast, ${want_s}, ${have_s}, ${r}]" ;; esac; __versionator_shopt_toggle off } version_sort () { __versionator_shopt_toggle on; local items= left=0; items=($@); while [[ ${left} -lt ${#items[@]} ]]; do local lowest_idx=${left}; local idx=$(( ${lowest_idx} + 1 )); while [[ ${idx} -lt ${#items[@]} ]]; do version_compare "${items[${lowest_idx}]}" "${items[${idx}]}"; [[ $? -eq 3 ]] && lowest_idx=${idx}; idx=$(( ${idx} + 1 )); done; local tmp=${items[${lowest_idx}]}; items[${lowest_idx}]=${items[${left}]}; items[${left}]=${tmp}; left=$(( ${left} + 1 )); done; echo ${items[@]}; __versionator_shopt_toggle off } declare -x ABI="amd64" declare -x ADA_INCLUDE_PATH="/usr/lib64/gnat-gcc/x86_64-pc-linux-gnu/4.2/adainclude" declare -x ADA_OBJECTS_PATH="/usr/lib64/gnat-gcc/x86_64-pc-linux-gnu/4.2/adalib" declare -x ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" declare -x 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" declare -x ANT_HOME="/usr/share/ant-core" declare -x 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" declare -x ARCH="amd64" declare -x ASFLAGS_x86="--32" declare -x BLASTDB="/usr/share/ncbi/formatdb" declare -x BLASTMAT="/usr/share/ncbi/data" declare -x CBUILD="x86_64-pc-linux-gnu" declare -x CDEFINE_amd64="__x86_64__" declare -x CDEFINE_default="__unix__" declare -x CDEFINE_x86="__i386__" declare -x CDF_BASE="/usr" declare -x CDF_BIN="\${CDF_BASE}/bin" declare -x CDF_HELP="\${CDF_BASE}/lib/cdf/help" declare -x CDF_INC="\${CDF_BASE}/include" declare -x CDF_LIB="\${CDF_BASE}/lib" declare -x CFLAGS="-O2 -pipe -march=opteron" declare -x CFLAGS_default="" declare -x CFLAGS_x86="-m32 -L/emul/linux/x86/lib -L/emul/linux/x86/usr/lib" declare -x CF_LIB="/usr/share/confluence" declare -x CHOST="x86_64-pc-linux-gnu" declare -x CHOST_amd64="x86_64-pc-linux-gnu" declare -x CHOST_default="x86_64-pc-linux-gnu" declare -x CHOST_x86="i686-pc-linux-gnu" declare -x CLASSPATH=".:/usr/lib64/CMT/v1r20p20080222/java/cmt.jar" declare -x CMTBIN="Linux-x86_64" declare -x CMTCONFIG="Linux-x86_64" declare -x CMTROOT="/usr/lib64/CMT/v1r20p20080222" declare -x COOT_REFMAC_LIB_DIR="/usr/share/coot/lib" declare -x CPLUS_INCLUDE_PATH="/root/System/Links/Headers:/usr/lib64/qt/include" declare -x CTARGET_default="x86_64-pc-linux-gnu" declare -x CVS_RSH="ssh" declare -x CXXFLAGS="-O2 -pipe -march=opteron" declare -x C_INCLUDE_PATH="/root/System/Links/Headers" declare -x DCCC_PATH="/usr/lib/distcc/bin" declare -x DEFAULT_ABI="amd64" declare -x DESTTREE="/usr" declare -x DIROPTIONS="-m0755" declare -x ELIBC="glibc" declare -x ELT_APPLIED_PATCHES=" 1.5.6 1.3.0" declare -x ELT_LTMAIN_SH="/var/tmp/portage/dev-libs/libhome-0.10.1/work/libhome-0.10.1/ltmain.sh" declare -x EMBOSS_ACDROOT="/usr/share/EMBOSS/acd" declare -x EXEOPTIONS="-m0755" declare -x FEATURES="ccache distlocks fixpackages loadpolicy metadata-transfer parallel-fetch preserve-libs sandbox sfperms strict unmerge-orphans userfetch" declare -x FLTK_DOCDIR="/usr/share/doc/fltk-1.1.7-r3/html" declare -x GAMBCOPT="=/usr/" declare -x GCC_SPECS="" declare -x GDK_USE_XFT="1" declare -x GENERATION="2" declare -x GMTHOME="/usr/share/gmt-4.1.1" declare -x GRASS_HOME="/usr/grass62" declare -x GRASS_LD_LIBRARY_PATH="/usr/grass62/lib" declare -x GS_LIB="/home/shingoshi/.fonts" declare -x GTK2_RC_FILES="/etc/gtk-2.0/gtkrc:/home/shingoshi/.gtkrc-2.0:/usr/home/shingoshi/.kde/share/config/gtkrc-2.0" declare -x GTK_RC_FILES="/etc/gtk/gtkrc:/home/shingoshi/.gtkrc:/usr/home/shingoshi/.kde/share/config/gtkrc" declare -x GUILE_LOAD_PATH="/usr/share/guile/1.8" declare -x G_BROKEN_FILENAMES="1" declare -x HISTCONTROL="ignoredups" declare -x HUSHLOGIN="FALSE" declare -x INFODIR="/usr/GNUstep/System/Library/Documentation/info:/usr/GNUstep/Local/Library/Documentation/info" declare -x INHERITED="toolchain-funcs portability versionator multilib libtool db-use autotools eutils" declare -x INPUTRC="/etc/inputrc" declare -x INPUT_DEVICES="keyboard mouse evdev" declare -x INSDESTTREE="" declare -x INSOPTIONS="-m0644" declare -x IUSE=" berkdb ldap mysql pam postgres" declare -x JAVAC="/etc/java-config-2/current-system-vm/bin/javac" declare -x JAVA_HOME="/etc/java-config-2/current-system-vm" declare -x JDK_HOME="/etc/java-config-2/current-system-vm" declare -x KDEDIR="/usr" declare -x KDEDIRS="/usr:/usr/local:/usr/kde/4.0" declare -x KDESU_USER="shingoshi" declare -x KDE_MULTIHEAD="false" declare -x KDE_SESSION_UID="1002" declare -x KERNEL="linux" declare -x KERNEL_ABI="amd64" declare -x KONSOLE_DCOP="DCOPRef(konsole-10883,konsole)" declare -x KONSOLE_DCOP_SESSION="DCOPRef(konsole-10883,session-1)" declare -x KV="2.6.24.4" declare -x LADSPA_PATH="/usr/lib64/ladspa" declare -x LANG="en_US.UTF-8" declare -x LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" declare -x LC_COLLATE="C" declare -x LDFLAGS_default="" declare -x LDFLAGS_x86="-m elf_i386 -L/emul/linux/x86/lib -L/emul/linux/x86/usr/lib" declare -x LD_LIBRARY_PATH="/root/System/Links/Libraries" declare -x LESSCHARSET="latin1" declare -x LIBDIR_amd64="lib64" declare -x LIBDIR_default="lib" declare -x LIBDIR_x86="lib32" declare -x LIBOPTIONS="-m0644" declare -x LIBXCB_ALLOW_SLOPPY_LOCK="1" declare -x LINGUAS="af ar as_IN az be be_BY bg bo bn br bs ca cs cy da de dz el en en_GB en_US en_ZA eo es et eu fa fi fr ga gl gu_IN he hi hi_IN hr hu hy id is it ja km ko ku la lo lt lv mk ml ml_IN mn mr_IN nb nds ne nl nn no nr ns nz or_IN pa pa_IN pl ps pt pt_BR ro ru rw se sh_YU sk sl sq sr sr_CS ss st su sv sw_TZ ta ta_IN te_IN tg th ti_ER tn tr ts uk ur_IN ve vi xh zh zh_CN zh_TW zu" declare -x LS_OPTIONS=" -F -b -T 0 --color=auto " declare -x MAKEOPTS="-j8" declare -x MINICOM="-c on" declare -x MULTILIB_ABIS="amd64 x86" declare -x MULTILIB_STRICT_DENY="64-bit.*shared object" declare -x MULTILIB_STRICT_DIRS="/lib /usr/lib /usr/kde/*/lib /usr/qt/*/lib /usr/X11R6/lib" declare -x MULTILIB_STRICT_EXEMPT="(perl5|gcc|gcc-lib|binutils|eclipse-3|debug|portage)" declare -x NCBI="/etc/ncbi" declare -x OMNIORB_CONFIG="/etc/omniorb/omniORB.cfg" declare -x OPENGL_PROFILE="xorg-x11" declare -x PKG_CONFIG_PATH="/root/System/Links/Libraries/pkgconfig:/usr/local/lib/pkgconfig:/usr/local/share/pkgconfig:/usr/lib/pkgconfig:/usr/share/pkgconfig" declare -x PLAN9="/usr/lib/plan9" declare -x PLPLOT_LIB="/usr/share/EMBOSS/" declare -x PORTAGE_COMPRESS="lzma" declare -x PRELINK_PATH_MASK="/lib/modules:/usr/lib64/locale:/usr/lib64/wine:/usr/lib64/valgrind:*.la:*.png:*.py:*.pl:*.pm:*.sh:*.xml:*.xslt:*.a:*.js:/usr/lib64/klibc" declare -x PVM_ARCH="LINUX64" declare -x PVM_ROOT="/usr/share/pvm3" declare -x PYMOL_DATA="/usr/share/pymol/data" declare -x PYMOL_PATH="/usr/lib64/python2.5/site-packages/pymol" declare -x PYMOL_SCRIPTS="/usr/share/pymol/scripts" declare -x PYTHONDOCS="/usr/share/doc/python-docs-2.5.1/html/lib" declare -x PYTHONPATH="/root/System/Links/Libraries/python2.3/site-packages:/root/System/Links/Libraries/python2.4/site-packages" declare -x QRNADB="/usr/share/qrna/data" declare -x QTDIR="/usr/lib64/qt" declare -x RCSBROOT="/usr/lib/rcsb" declare -x RESTRICT="" declare -x ROOTLESS_GOBOLINUX="1" declare -x RUBYOPT="-rauto_gem" declare -x R_HOME="/usr/lib64/R" declare -x S="/var/tmp/portage/dev-libs/libhome-0.10.1/work/libhome-0.10.1" declare -x SANDBOX_DENY="/etc/ld.so.preload" declare -x SANDBOX_PREDICT=":/dev/console:/dev/random:/proc/self/maps:/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/ethers.db:/var/db/group.db:/var/db/hosts.db:/var/db/netgroup.db:/var/db/netmasks.db:/var/db/networks.db:/var/db/passwd.db:/var/db/protocols.db:/var/db/rpc.db:/var/db/services.db:/var/tmp/portage/dev-libs/libhome-0.10.1/homedir/.:" declare -x SANDBOX_READ=":/:/dev/shm:/dev/stdin:/distccache/.ccache:/var/tmp:" declare -x SANDBOX_WRITE=":/dev/console:/dev/fd:/dev/null:/dev/pts/:/dev/pty:/dev/shm:/dev/shm/ngpt:/dev/stderr:/dev/stdout:/dev/tts:/dev/tty:/dev/vc/:/dev/zero:/distccache/.ccache:/proc/self/fd:/tmp:/tmp/:/usr/lib/cf:/usr/lib/conftest:/usr/lib32/cf:/usr/lib32/conftest:/usr/lib64/cf:/usr/lib64/conftest:/usr/tmp/cf:/usr/tmp/conftest:/var/log/scrollkeeper.log:/var/tmp:/var/tmp/:/var/tmp/portage/dev-libs/libhome-0.10.1/homedir/.bash_history:/var/tmp/portage/dev-libs/libhome-0.10.1/homedir/.gconfd/lock:" declare -x SANE_CONFIG_DIR="/etc/sane.d" declare -x SCHEME_LIBRARY_PATH="/usr/share/slib/" declare -x SESSION_MANAGER="local/starbase64:/tmp/.ICE-unix/9239" declare -x SGML_CATALOG_FILES="/etc/sgml/sgml-docbook.cat:/etc/sgml/openjade-1.3.2.cat:/etc/sgml/dsssl-docbook-stylesheets.cat:/etc/sgml/sgml-docbook-3.1.cat:/etc/sgml/sgml-lite.cat:/etc/sgml/sgml-docbook-3.0.cat:/etc/sgml/sgml-docbook-4.1.cat:/etc/sgml/sgml-docbook-4.0.cat:/etc/sgml/xml-simple-docbook-4.1.2.4.cat:/etc/sgml/xml-simple-docbook-1.0.cat:/etc/sgml/xml-docbook-4.1.2.cat:/etc/sgml/xml-docbook-4.4.cat:/etc/sgml/sgml-docbook-4.2.cat:/etc/sgml/sgml-ent.cat:/etc/sgml/sgml-docbook-4.4.cat:/etc/sgml/xml-docbook-4.2.cat:/etc/sgml/xml-docbook-4.5.cat:/etc/sgml/sgml-docbook-4.5.cat:/etc/sgml/linuxdoc.cat:/etc/sgml/xml-docbook-4.3.cat" declare -x SLOT="0" declare -x STAGE1_USE="nptl nptlonly unicode" declare -x SVCDIR="/service" declare -x SVCTIMEOUT="15" declare -x SVCVARDIR="/var/service" declare -x SYMLINK_LIB="yes" declare -x T1LIB_CONFIG="/usr/share/t1lib/t1lib.config" declare -x TEXINPUTS="/usr/lib64/ocaml/ocamldoc:" declare -x TINYSCHEMEINIT="/usr/share/tinyscheme/init.scm" declare -x USB_DEVFS_PATH="/dev/bus/usb" declare -x USE="amd64 berkdb elibc_glibc kernel_linux ldap mysql pam userland_GNU" declare -x USERLAND="GNU" declare -x VIDEO_CARDS="apm ark chips cirrus cyrix dummy fbdev glint i128 i810 mach64 mga neomagic nv r128 radeon rendition s3 s3virge savage siliconmotion sis sisusb tdfx tga trident tseng v4l vesa vga via vmware voodoo" declare -x VMHANDLE="blackdown-jdk-1.4.2" declare -x VTKHOME="/usr" declare -x VTK_DATA_ROOT="/usr/share/vtk/data" declare -x VTK_DIR="/usr/lib/vtk-5.0" declare -x WANT_AUTOCONF="2.5" declare -x WANT_AUTOMAKE="1.10" declare -x WINDOWID="117440552" declare -x WINDOWPATH="7" declare -x XCURSOR_THEME="redglass" declare -x XDG_CONFIG_DIRS="/root/System/Settings/xdg" declare -x XDG_DATA_DIRS="/root/System/Variable/xdg:/root/System/Links/Shared:/usr/share:/usr/kde/4.0/share:/usr/local/share" declare -x XPVM_ROOT="/usr/local/pvm3/xpvm/src" declare -x _E_DOCDESTTREE_="" declare -x _E_EXEDESTTREE_="" declare -x goboPrefix="/root"