ACCEPT_KEYWORDS=x86
ALSA_CARDS='ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1 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_0_DEPEND='=www-servers/apache-2.0*'
APACHE2_2_DEPEND='=www-servers/apache-2.2*'
APACHE2_BASEDIR=/usr/lib/apache2
APACHE2_CONFDIR=/etc/apache2
APACHE2_DEPEND='=www-servers/apache-2*'
APACHE2_MODULES='actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias'
APACHE2_MODULESDIR=/usr/lib/apache2/modules
APACHE2_MODULES_CONFDIR=/etc/apache2/modules.d
APACHE2_MPMS=worker
APACHE2_VHOSTDIR=/etc/apache2/vhosts.d
APACHECTL2=/usr/sbin/apache2ctl
APXS2=/usr/sbin/apxs2
ARCH=x86
AT_GNUCONF_UPDATE=no
AT_M4DIR=
AUTOCLEAN=yes
BUILD_PREFIX=/var/tmp/portage
CBUILD=i686-pc-linux-gnu
CCACHE_DISABLE=1
CDEFINE_default=__unix__
CFLAGS='-march=prescott -O2 -pipe'
CFLAGS_default=
CHOST=i686-pc-linux-gnu
CHOST_default=i686-pc-linux-gnu
CLASSPATH=.
CLEAN_DELAY=1
CONFCACHE=
CONFIG_PROTECT=
CONFIG_PROTECT_MASK='/etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/php/apache2-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/cli-php5/ext-active/ /etc/splash /etc/terminfo /etc/udev/rules.d'
CTARGET_default=i686-pc-linux-gnu
CVS_RSH=ssh
CXXFLAGS='-march=prescott -O2 -pipe'
DEFAULT_ABI=default
DEPEND=$'\n\tapache2_modules_deflate? ( sys-libs/zlib ) =sys-devel/automake-1.10*\n\t>=sys-devel/autoconf-2.61\n\tsys-devel/libtool dev-lang/perl\n\t=dev-libs/apr-1*\n\t=dev-libs/apr-util-1*\n\tdev-libs/libpcre\n\tldap? ( =net-nds/openldap-2* )\n\tselinux? ( sec-policy/selinux-apache )\n\tssl? ( dev-libs/openssl )\n\t!=www-servers/apache-1*'
DESCRIPTION='The Apache Web Server.'
DESTTREE=/usr
DIROPTIONS=-m0755
DISTDIR=/var/tmp/portage/www-servers/apache-2.2.6-r6/distdir
EAPI=0
EBEEP_IGNORE=1
ECLASS=
ECLASSDIR=/usr/portage/eclass
ECLASS_DEPTH=0
ECONF_SOURCE=.
EDITOR=/bin/nano
ELIBC=glibc
ELIBTOOL_VERSION=2.0.2
ELT_APPLIED_PATCHES=
ELT_LTMAIN_SH=
ELT_PATCH_DIR=/usr/portage/eclass/ELT-patches
EMERGE_DEFAULT_OPTS=
EMERGE_WARNING_DELAY=10
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/www-servers/apache-2.2.6-r6/work/patch
EPATCH_SUFFIX=patch.bz2
EPAUSE_IGNORE=1
EXEOPTIONS=-m0755
FEATURES='buildpkg distlocks fixpackages metadata-transfer parallel-fetch sandbox sfperms splitdebug strict unmerge-orphans userfetch'
FETCHCOMMAND='/usr/bin/wget -t 5 -T 60 --passive-ftp -O ${DISTDIR}/${FILE} ${URI}'
GCC_PATH=/usr/i686-pc-linux-gnu/gcc-bin/4.1.2
GCC_SPECS=
GENTOO_DEVELOPER=hollow
GENTOO_MIRRORS='http://distfiles.gentoo.org http://distro.ibiblio.org/pub/linux/distributions/gentoo'
GENTOO_PATCHDIR=/var/tmp/portage/www-servers/apache-2.2.6-r6/work/gentoo-apache-2.2.6-r6
GENTOO_PATCHNAME=gentoo-apache-2.2.6-r6
GENTOO_PATCHSTAMP=20071215
HOME=/var/tmp/portage/www-servers/apache-2.2.6-r6/homedir
HOMEPAGE=http://httpd.apache.org/
INFOPATH=/usr/share/info:/usr/share/binutils-data/i686-pc-linux-gnu/2.18/info:/usr/share/gcc-data/i686-pc-linux-gnu/4.1.2/info
INHERITED='depend.apache toolchain-funcs portability flag-o-matic multilib libtool autotools eutils apache-2'
INPUT_DEVICES='keyboard mouse evdev'
INSDESTTREE=
INSOPTIONS=-m0644
IUSE=' sni debug doc ldap selinux ssl static suexec threads apache2_modules_actions apache2_modules_alias apache2_modules_asis apache2_modules_auth_basic apache2_modules_auth_digest apache2_modules_authn_alias apache2_modules_authn_anon apache2_modules_authn_dbd apache2_modules_authn_dbm apache2_modules_authn_default apache2_modules_authn_file apache2_modules_authz_dbm apache2_modules_authz_default apache2_modules_authz_groupfile apache2_modules_authz_host apache2_modules_authz_owner apache2_modules_authz_user apache2_modules_autoindex apache2_modules_cache apache2_modules_cern_meta apache2_modules_charset_lite apache2_modules_dav apache2_modules_dav_fs apache2_modules_dav_lock apache2_modules_dbd apache2_modules_deflate apache2_modules_dir apache2_modules_disk_cache apache2_modules_dumpio apache2_modules_env apache2_modules_expires apache2_modules_ext_filter apache2_modules_file_cache apache2_modules_filter apache2_modules_headers apache2_modules_ident apache2_modules_imagemap apache2_modules_include apache2_modules_info apache2_modules_log_config apache2_modules_log_forensic apache2_modules_logio apache2_modules_mem_cache apache2_modules_mime apache2_modules_mime_magic apache2_modules_negotiation apache2_modules_proxy apache2_modules_proxy_ajp apache2_modules_proxy_balancer apache2_modules_proxy_connect apache2_modules_proxy_ftp apache2_modules_proxy_http apache2_modules_rewrite apache2_modules_setenvif apache2_modules_speling apache2_modules_status apache2_modules_unique_id apache2_modules_userdir apache2_modules_usertrack apache2_modules_version apache2_modules_vhost_alias apache2_mpms_itk apache2_mpms_peruser apache2_mpms_prefork apache2_mpms_event apache2_mpms_worker'
IUSE_MODULES=$'actions alias asis auth_basic auth_digest authn_alias authn_anon\nauthn_dbd authn_dbm authn_default authn_file authz_dbm authz_default\nauthz_groupfile authz_host authz_owner authz_user autoindex cache cern_meta\ncharset_lite dav dav_fs dav_lock dbd deflate dir disk_cache dumpio env expires\next_filter file_cache filter headers ident imagemap include info log_config\nlog_forensic logio mem_cache mime mime_magic negotiation proxy proxy_ajp\nproxy_balancer proxy_connect proxy_ftp proxy_http rewrite setenvif speling\nstatus unique_id userdir usertrack version vhost_alias'
IUSE_MPMS='itk peruser prefork event worker'
IUSE_MPMS_FORK='itk peruser prefork'
IUSE_MPMS_THREAD='event worker'
KERNEL=linux
KERNEL_ABI=default
KEYWORDS='~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd'
KV=2.6.23-gentoo-r3
LANG=en_US.UTF-8
LCD_DEVICES='bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text'
LC_ALL=en_US.UTF-8
LDFLAGS=' -Wl,--no-as-needed'
LDFLAGS_default=
LD_PRELOAD=/usr/lib/libsandbox.so
LESS='-R -M --shift 5'
LESSOPEN='|lesspipe.sh %s'
LIBDIR_default=lib
LIBOPTIONS=-m0644
LICENSE='Apache-2.0 Apache-1.1'
LOGNAME=root
LS_COLORS='no=00:fi=00:di=01;34:ln=01;36:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=01;05;37;41:mi=01;05;37;41:su=37;41:sg=30;43:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.gz=01;31:*.bz2=01;31:*.bz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.rar=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.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:*.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:'
MAKEOPTS=--jobs=20
MANPATH=/usr/local/share/man:/usr/share/man:/usr/share/binutils-data/i686-pc-linux-gnu/2.18/man:/usr/share/gcc-data/i686-pc-linux-gnu/4.1.2/man:/usr/lib/php5/man/
MODULE_CRITICAL=$'\nauthz_host\ndir\nmime\n'
MODULE_DEFINES=$'\n\tauth_digest:AUTH_DIGEST\n\tauthnz_ldap:AUTHNZ_LDAP\n\tcache:CACHE\n\tdav:DAV\n\tdav_fs:DAV\n\tdav_lock:DAV\n\tdisk_cache:CACHE\n\tfile_cache:CACHE\n\tinfo:INFO\n\tldap:LDAP\n\tmem_cache:CACHE\n\tproxy:PROXY\n\tproxy_ajp:PROXY\n\tproxy_balancer:PROXY\n\tproxy_connect:PROXY\n\tproxy_http:PROXY\n\tssl:SSL\n\tstatus:INFO\n\tsuexec:SUEXEC\n\tuserdir:USERDIR\n'
MODULE_DEPENDS=$'\n\tdav_fs:dav\n\tdav_lock:dav\n\tdeflate:filter\n\tdisk_cache:cache\n\text_filter:filter\n\tfile_cache:cache\n\tlog_forensic:log_config\n\tlogio:log_config\n\tmem_cache:cache\n\tmime_magic:mime\n\tproxy_ajp:proxy\n\tproxy_balancer:proxy\n\tproxy_connect:proxy\n\tproxy_ftp:proxy\n\tproxy_http:proxy\n\tusertrack:unique_id\n'
MOPREFIX=apache
MULTILIB_ABIS=default
MY_CONF='--enable-so=static --enable-authnz_ldap=shared --enable-ldap=shared --with-ssl=/usr --enable-ssl=shared --enable-cgid=shared --disable-suexec --enable-actions=shared --enable-alias=shared --disable-asis --enable-auth_basic=shared --disable-auth_digest --enable-authn_alias=shared --enable-authn_anon=shared --disable-authn_dbd --enable-authn_dbm=shared --enable-authn_default=shared --enable-authn_file=shared --enable-authz_dbm=shared --enable-authz_default=shared --enable-authz_groupfile=shared --enable-authz_host=shared --enable-authz_owner=shared --enable-authz_user=shared --enable-autoindex=shared --enable-cache=shared --disable-cern_meta --disable-charset_lite --enable-dav=shared --enable-dav_fs=shared --enable-dav_lock=shared --disable-dbd --enable-deflate=shared --enable-dir=shared --enable-disk_cache=shared --disable-dumpio --enable-env=shared --enable-expires=shared --enable-ext_filter=shared --enable-file_cache=shared --enable-filter=shared --enable-headers=shared --disable-ident --disable-imagemap --enable-include=shared --enable-info=shared --enable-log_config=shared --disable-log_forensic --enable-logio=shared --enable-mem_cache=shared --enable-mime=shared --enable-mime_magic=shared --enable-negotiation=shared --disable-proxy --disable-proxy_ajp --disable-proxy_balancer --disable-proxy_connect --disable-proxy_ftp --disable-proxy_http --enable-rewrite=shared --enable-setenvif=shared --enable-speling=shared --enable-status=shared --enable-unique_id=shared --enable-userdir=shared --enable-usertrack=shared --disable-version --enable-vhost_alias=shared'
MY_MODS=$'actions\nalias\nauth_basic\nauthn_alias\nauthn_anon\nauthn_dbm\nauthn_default\nauthn_file\nauthnz_ldap\nauthz_dbm\nauthz_default\nauthz_groupfile\nauthz_host\nauthz_owner\nauthz_user\nautoindex\ncache\ncgid\ndav\ndav_fs\ndav_lock\ndeflate\ndir\ndisk_cache\nenv\nexpires\next_filter\nfile_cache\nfilter\nheaders\ninclude\ninfo\nldap\nlog_config\nlogio\nmem_cache\nmime\nmime_magic\nnegotiation\nrewrite\nsetenvif\nspeling\nssl\nstatus\nunique_id\nuserdir\nusertrack\nvhost_alias'
MY_MPM=worker
O=/usr/portage/www-servers/apache
OCC=
OCXX=
OLDPWD=/var/tmp/portage/www-servers/apache-2.2.6-r6
PAGER=/usr/bin/less
PATH=/usr/lib/icecc/bin:/usr/local/sbin:/sbin:/usr/sbin:/usr/lib/portage/bin:/usr/local/bin:/bin:/usr/bin:/opt/bin:/usr/i686-pc-linux-gnu/gcc-bin/4.1.2
PDEPEND=' ~app-admin/apache-tools-2.2.6'
PKGDIR=/tmp/packages
PKGLIST=apache
PKGUSE='ldap ssl threads'
PKG_LOGDIR=/var/tmp/portage/www-servers/apache-2.2.6-r6/temp/logging
PKG_TMPDIR=/var/tmp/binpkgs
PORTAGE_ACTUAL_DISTDIR=/usr/portage/distfiles
PORTAGE_ARCHLIST='ppc s390 amd64 x86 ppc64 x86-fbsd m68k arm sparc sh mips ia64 alpha ppc-macos hppa sparc-fbsd'
PORTAGE_BASHRC=/etc/portage/bashrc
PORTAGE_BINHOST_CHUNKSIZE=3000
PORTAGE_BUILDDIR=/var/tmp/portage/www-servers/apache-2.2.6-r6
PORTAGE_COLORMAP=$'GOOD=$\'\E[32;01m\'\nWARN=$\'\E[33;01m\'\nBAD=$\'\E[31;01m\'\nHILITE=$\'\E[36m\'\nBRACKET=$\'\E[34;01m\''
PORTAGE_CONFIGROOT=/
PORTAGE_DEBUG=0
PORTAGE_DEPCACHEDIR=/var/cache/edb/dep
PORTAGE_ELOG_CLASSES='log warn error'
PORTAGE_ELOG_MAILFROM=portage@localhost
PORTAGE_ELOG_MAILSUBJECT='[portage] ebuild log for ${PACKAGE} on ${HOST}'
PORTAGE_ELOG_MAILURI=root
PORTAGE_ELOG_SYSTEM='save_summary echo'
PORTAGE_GID=250
PORTAGE_INST_GID=0
PORTAGE_INST_UID=0
PORTAGE_LOG_FILE=/var/tmp/portage/www-servers/apache-2.2.6-r6/temp/build.log
PORTAGE_MASTER_PID=12418
PORTAGE_REPO_NAME=gentoo
PORTAGE_RSYNC_OPTS='--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --filter=H_**/files/digest-*'
PORTAGE_RSYNC_RETRIES=3
PORTAGE_WORKDIR_MODE=0700
PORTDIR=/usr/portage
PORTDIR_OVERLAY=/usr/portage/local/cncore-server
PRELINK_PATH_MASK=/usr/lib/klibc
PREROOTPATH=/usr/lib/icecc/bin
PROFILE_PATHS=$'/usr/portage/profiles/base\n/usr/portage/profiles/default-linux\n/usr/portage/profiles/default-linux/x86\n/usr/portage/profiles/default-linux/x86/2007.0\n/etc/portage/profile'
PROVIDE=
PWD=/var/tmp/portage/www-servers/apache-2.2.6-r6/build-info
PWORKDIR=/var/tmp/portage/www-servers/apache-2.2.6-r6/work
PYTHONPATH=/usr/lib/portage/pym
QMAKESPEC=linux-g++
RDEPEND=$'\n\tapache2_modules_mime? ( app-misc/mime-types ) dev-lang/perl\n\t=dev-libs/apr-1*\n\t=dev-libs/apr-util-1*\n\tdev-libs/libpcre\n\tldap? ( =net-nds/openldap-2* )\n\tselinux? ( sec-policy/selinux-apache )\n\tssl? ( dev-libs/openssl )\n\t!=www-servers/apache-1*'
RESTRICT=
RESUMECOMMAND='/usr/bin/wget -c -t 5 -T 60 --passive-ftp -O ${DISTDIR}/${FILE} ${URI}'
ROOT=/
ROOTPATH=/opt/bin:/usr/i686-pc-linux-gnu/gcc-bin/4.1.2
RPMDIR=/usr/portage/rpm
S=/var/tmp/portage/www-servers/apache-2.2.6-r6/work/httpd-2.2.6
SANDBOX_ON=1
SANDBOX_PREDICT=:/proc/self/maps:/dev/console:/dev/random:/usr/lib/portage/pym:/var/cache/edb/dep
SANDBOX_READ=:/dev/shm:/dev/stdin:/var/tmp
SANDBOX_WRITE=:/dev/shm:/dev/stdout:/dev/stderr:/var/tmp
SHELL=/bin/bash
SHLVL=5
SLOT=2
SRC_URI=$'mirror://apache/httpd/httpd-2.2.6.tar.bz2\n\thttp://dev.gentoo.org/~hollow/dist/apache/gentoo-apache-2.2.6-r6-20071215.tar.bz2'
STAGE1_USE='nptl nptlonly unicode'
STARTDIR=/
SUDO_COMMAND='/bin/bash -l'
SUDO_GID=1000
SUDO_UID=1000
SUDO_USER=tmh
SYNC=rsync://rsync.gentoo.org/gentoo-portage
TERM=xterm
TMP=/var/tmp/portage/www-servers/apache-2.2.6-r6/temp
TMPDIR=/var/tmp/portage/www-servers/apache-2.2.6-r6/temp
USE='acl alsa_cards_ali5451 alsa_cards_als4000 alsa_cards_atiixp alsa_cards_atiixp-modem alsa_cards_bt87x alsa_cards_ca0106 alsa_cards_cmipci alsa_cards_emu10k1 alsa_cards_emu10k1x alsa_cards_ens1370 alsa_cards_ens1371 alsa_cards_es1938 alsa_cards_es1968 alsa_cards_fm801 alsa_cards_hda-intel alsa_cards_intel8x0 alsa_cards_intel8x0m alsa_cards_maestro3 alsa_cards_trident alsa_cards_usb-audio alsa_cards_via82xx alsa_cards_via82xx-modem alsa_cards_ymfpci alsa_pcm_plugins_adpcm alsa_pcm_plugins_alaw alsa_pcm_plugins_asym alsa_pcm_plugins_copy alsa_pcm_plugins_dmix alsa_pcm_plugins_dshare alsa_pcm_plugins_dsnoop alsa_pcm_plugins_empty alsa_pcm_plugins_extplug alsa_pcm_plugins_file alsa_pcm_plugins_hooks alsa_pcm_plugins_iec958 alsa_pcm_plugins_ioplug alsa_pcm_plugins_ladspa alsa_pcm_plugins_lfloat alsa_pcm_plugins_linear alsa_pcm_plugins_meter alsa_pcm_plugins_mulaw alsa_pcm_plugins_multi alsa_pcm_plugins_null alsa_pcm_plugins_plug alsa_pcm_plugins_rate alsa_pcm_plugins_route alsa_pcm_plugins_share alsa_pcm_plugins_shm alsa_pcm_plugins_softvol apache2_modules_actions apache2_modules_alias apache2_modules_auth_basic apache2_modules_authn_alias apache2_modules_authn_anon apache2_modules_authn_dbm apache2_modules_authn_default apache2_modules_authn_file apache2_modules_authz_dbm apache2_modules_authz_default apache2_modules_authz_groupfile apache2_modules_authz_host apache2_modules_authz_owner apache2_modules_authz_user apache2_modules_autoindex apache2_modules_cache apache2_modules_dav apache2_modules_dav_fs apache2_modules_dav_lock apache2_modules_deflate apache2_modules_dir apache2_modules_disk_cache apache2_modules_env apache2_modules_expires apache2_modules_ext_filter apache2_modules_file_cache apache2_modules_filter apache2_modules_headers apache2_modules_include apache2_modules_info apache2_modules_log_config apache2_modules_logio apache2_modules_mem_cache apache2_modules_mime apache2_modules_mime_magic apache2_modules_negotiation apache2_modules_rewrite apache2_modules_setenvif apache2_modules_speling apache2_modules_status apache2_modules_unique_id apache2_modules_userdir apache2_modules_usertrack apache2_modules_vhost_alias apache2_mpms_worker berkdb bitmap-fonts cli cracklib crypt cups dri elibc_glibc fortran gdbm gpm iconv input_devices_evdev input_devices_keyboard input_devices_mouse ipv6 isdnlog kernel_linux lcd_devices_bayrad lcd_devices_cfontz lcd_devices_cfontz633 lcd_devices_glk lcd_devices_hd44780 lcd_devices_lb216 lcd_devices_lcdm001 lcd_devices_mtxorb lcd_devices_ncurses lcd_devices_text ldap midi mudflap ncurses nls nptl nptlonly openmp pam pcre perl pppd python readline reflection session spl ssl tcpd threads truetype-fonts type1-fonts unicode userland_GNU video_cards_apm video_cards_ark video_cards_chips video_cards_cirrus video_cards_cyrix video_cards_dummy video_cards_fbdev video_cards_glint video_cards_i128 video_cards_i740 video_cards_i810 video_cards_imstt video_cards_mach64 video_cards_mga video_cards_neomagic video_cards_nsc video_cards_nv video_cards_r128 video_cards_radeon video_cards_rendition video_cards_s3 video_cards_s3virge video_cards_savage video_cards_siliconmotion video_cards_sis video_cards_sisusb video_cards_tdfx video_cards_tga video_cards_trident video_cards_tseng video_cards_v4l video_cards_vesa video_cards_vga video_cards_via video_cards_vmware video_cards_voodoo x86 xorg zlib'
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 i740 i810 imstt mach64 mga neomagic nsc nv r128 radeon rendition s3 s3virge savage siliconmotion sis sisusb tdfx tga trident tseng v4l vesa vga via vmware voodoo'
WANT_APACHE_DEPEND='apache2? ( =www-servers/apache-2* )'
WANT_AUTOCONF=2.5
WANT_AUTOMAKE=1.10
XARGS='xargs -r'
_=_RC_GET_KV_CACHE
_E_DOCDESTTREE_=
_E_EXEDESTTREE_=
___ECLASS_RECUR_MULTILIB=yes
___ECLASS_RECUR_TOOLCHAIN_FUNCS=yes
_pipestatus='0 0'
conf=apache-2.2.6-r6
dep=usertrack:unique_id
dir=/etc/portage/profile
f=DESCRIPTION
m=mime
module=vhost_alias
mpm=worker
myarg=compile
srcdir=/var/tmp/portage/www-servers/apache-2.2.6-r6/work/httpd-2.2.6
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
}
_cdrom_locate_file_on_cd ()
{
local mline="";
local showedmsg=0;
while [[ -z ${CDROM_ROOT} ]]; do
local i=0;
local -a cdset=(${*//:/ });
if [[ -n ${CDROM_SET} ]]; then
cdset=(${cdset[${CDROM_SET}]});
fi;
while [[ -n ${cdset[${i}]} ]]; do
local dir=$(dirname ${cdset[${i}]});
local file=$(basename ${cdset[${i}]});
local point= node= fs= foo=;
while read point node fs foo; do
[[ " 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;
einfo "If you are having trouble with the detection";
einfo "of your CD, it is possible that you do not have";
einfo "Joliet support enabled in your kernel. Please";
einfo "check that CONFIG_JOLIET is enabled in your kernel.";
read || diefunc "$FUNCNAME" "$LINENO" "$?" "something is screwed with your system";
done
}
_elibtoolize ()
{
local opts;
local lttest;
lttest="$(autotools_check_macro "AC_PROG_LIBTOOL")$(autotools_check_macro "AM_PROG_LIBTOOL")";
[[ -n $lttest ]] || return 0;
[[ -f Makefile.am ]] && opts="--automake";
[[ "${USERLAND}" == "Darwin" ]] && LIBTOOLIZE="glibtoolize";
autotools_run_tool ${LIBTOOLIZE:-libtoolize} "$@" ${opts};
eaclocal
}
_epatch_assert ()
{
local _pipestatus=${PIPESTATUS[*]};
[[ ${_pipestatus// /} -eq 0 ]]
}
_epatch_draw_line ()
{
[[ -z $1 ]] && set "$(printf "%65s" '')";
echo "${1//?/=}"
}
_filter-hardened ()
{
local f;
for f in "$@";
do
case "${f}" in
-fPIC | -fpic | -fPIE | -fpie | -Wl,pie | -pie)
gcc-specs-pie || continue;
is-flagq -nopie || append-flags -nopie
;;
-fstack-protector)
gcc-specs-ssp || continue;
is-flagq -fno-stack-protector || append-flags -fno-stack-protector
;;
-fstack-protector-all)
gcc-specs-ssp-to-all || continue;
is-flagq -fno-stack-protector-all || append-flags -fno-stack-protector-all
;;
esac;
done
}
_filter-var ()
{
local f x VAR VAL;
declare -a new;
VAR=$1;
shift;
eval VAL=\${${VAR}};
for f in ${VAL};
do
for x in "$@";
do
[[ ${f} == ${x} ]] && continue 2;
done;
eval new\[\${\#new\[@]}]=\${f};
done;
eval export ${VAR}=\${new\[*]}
}
_gcc-install-dir ()
{
echo "$($(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 ]]
}
_is_flagq ()
{
local x;
for x in ${!1};
do
[[ ${x} == $2 ]] && return 0;
done;
return 1
}
apache-2_pkg_config ()
{
einfo "Installing default webroot to ${ROOT}var/www/localhost";
mkdir "${ROOT}"var{,/www{,/localhost}};
cp -R "${ROOT}"usr/share/doc/${PF}/webroot/* "${ROOT}"var/www/localhost/
}
apache-2_pkg_postinst ()
{
if use ssl && [[ ! -e "${ROOT}/etc/apache2/ssl/server.crt" ]]; then
cd "${ROOT}"/etc/apache2/ssl;
einfo;
einfo "Generating self-signed test certificate in ${ROOT}etc/apache2/ssl ...";
yes "" 2> /dev/null | "${ROOT}"/usr/sbin/gentestcrt.sh > /dev/null 2>&1 || diefunc "$FUNCNAME" "$LINENO" "$?" "gentestcrt.sh failed";
einfo;
fi;
if [[ -e "${ROOT}/var/www/localhost" ]]; then
elog "The default webroot has not been installed into";
elog "${ROOT}var/www/localhost because the directory already exists";
elog "and we do not want to overwrite any files you have put there.";
elog;
elog "If you would like to install the latest webroot, please run";
elog "emerge --config =${PF}";
elog;
else
einfo "Installing default webroot to ${ROOT}var/www/localhost";
mkdir -p "${ROOT}"/var/www/localhost;
cp -R "${ROOT}"/usr/share/doc/${PF}/webroot/* "${ROOT}"/var/www/localhost;
chown -R apache:0 "${ROOT}"/var/www/localhost;
fi
}
apache-2_pkg_setup ()
{
check_upgrade;
setup_mpm;
setup_modules;
if use debug; then
MY_CONF="${MY_CONF} --enable-maintainer-mode --enable-exception-hook";
fi;
enewgroup apache 81;
enewuser apache 81 -1 /var/www apache;
elog "Please note that you need SysV IPC support in your kernel.";
elog "Make sure CONFIG_SYSVIPC=y is set.";
elog
}
apache-2_src_compile ()
{
append-ldflags -Wl,--no-as-needed;
if has peruser ${IUSE_MPMS} && use apache2_mpms_peruser; then
use debug && append-flags -DMPM_PERUSER_DEBUG;
fi;
econf --includedir=/usr/include/apache2 --libexecdir=/usr/$(get_libdir)/apache2/modules --datadir=/var/www/localhost --sysconfdir=/etc/apache2 --localstatedir=/var --with-mpm=${MY_MPM} --with-perl=/usr/bin/perl --with-apr=/usr --with-apr-util=/usr --with-pcre=/usr --with-z=/usr --with-port=80 --with-program-name=apache2 --enable-layout=Gentoo ${MY_CONF} || diefunc "$FUNCNAME" "$LINENO" "$?" "econf failed!";
sed -i -e 's:apache2\.conf:httpd.conf:' include/ap_config_auto.h;
emake || diefunc "$FUNCNAME" "$LINENO" "$?" "emake failed"
}
apache-2_src_install ()
{
emake DESTDIR="${D}" install || diefunc "$FUNCNAME" "$LINENO" "$?" "emake install failed";
keepdir /etc/apache2/vhosts.d;
keepdir /etc/apache2/modules.d;
generate_load_module;
insinto /etc/apache2;
doins -r "${GENTOO_PATCHDIR}"/conf/*;
doins docs/conf/magic;
insinto /etc/logrotate.d;
newins "${GENTOO_PATCHDIR}"/scripts/apache2-logrotate apache2;
APACHE2_OPTS="-D DEFAULT_VHOST -D INFO -D LANGUAGE";
use doc && APACHE2_OPTS="${APACHE2_OPTS} -D MANUAL";
use ssl && APACHE2_OPTS="${APACHE2_OPTS} -D SSL -D SSL_DEFAULT_VHOST";
use suexec && APACHE2_OPTS="${APACHE2_OPTS} -D SUEXEC";
sed -i -e "s:APACHE2_OPTS=\".*\":APACHE2_OPTS=\"${APACHE2_OPTS}\":" "${GENTOO_PATCHDIR}"/init/apache2.confd || diefunc "$FUNCNAME" "$LINENO" "$?" "sed failed";
newconfd "${GENTOO_PATCHDIR}"/init/apache2.confd apache2;
newinitd "${GENTOO_PATCHDIR}"/init/apache2.initd apache2;
dosym /etc/init.d/apache2 /usr/sbin/apache2ctl;
for i in suexec apxs;
do
dosym /usr/sbin/${i} /usr/sbin/${i}2;
done;
exeinto /usr/sbin;
use ssl && doexe "${GENTOO_PATCHDIR}"/scripts/gentestcrt.sh;
dodoc ABOUT_APACHE CHANGES LAYOUT README README.platforms VERSIONING;
dodoc "${GENTOO_PATCHDIR}"/docs/*;
if use doc; then
sed -i -e "s:VERSION:${PVR}:" "${D}/etc/apache2/modules.d/00_apache_manual.conf";
else
rm -f "${D}/etc/apache2/modules.d/00_apache_manual.conf";
rm -Rf "${D}/usr/share/doc/${PF}/manual";
fi;
ebegin "Installing default webroot to /usr/share/doc/${PF}";
mv -f "${D}/var/www/localhost" "${D}/usr/share/doc/${PF}/webroot";
eend $?;
keepdir /var/www/localhost/htdocs;
if use suexec; then
fowners 0:apache /usr/sbin/suexec;
fperms 4710 /usr/sbin/suexec;
fi;
for i in /var/lib/dav /var/log/apache2 /var/cache/apache2;
do
keepdir ${i};
fowners apache:apache ${i};
fperms 0755 ${i};
done;
use ssl && keepdir /etc/apache2/ssl
}
apache-2_src_unpack ()
{
unpack ${A};
cd "${S}";
sed -i -e "s:/usr/lib:/usr/$(get_libdir):g" "${GENTOO_PATCHDIR}"/{conf/httpd.conf,init/*,patches/config.layout} || diefunc "$FUNCNAME" "$LINENO" "$?" "libdir sed failed";
epatch "${GENTOO_PATCHDIR}"/patches/*.patch;
cat "${GENTOO_PATCHDIR}"/patches/config.layout >> "${S}"/config.layout || diefunc "$FUNCNAME" "$LINENO" "$?" "Failed preparing config.layout!";
sed -i -e "s:version:${PF}:g" "${S}"/config.layout;
mv docs/man/{httpd,apache2}.8;
sed -i -e 's/httpd\.8/apache2.8/g' Makefile.in;
sed -i -e '/sinclude/d' configure.in;
AT_GNUCONF_UPDATE=yes AT_M4DIR=build eautoreconf
}
append-cppflags ()
{
[[ -z $* ]] && return 0;
export CPPFLAGS="${CPPFLAGS} $*";
return 0
}
append-flags ()
{
[[ -z $* ]] && return 0;
export CFLAGS="${CFLAGS} $*";
export CXXFLAGS="${CXXFLAGS} $*";
return 0
}
append-ldflags ()
{
[[ -z $* ]] && return 0;
export LDFLAGS="${LDFLAGS} $*";
return 0
}
append-lfs-flags ()
{
[[ -n $@ ]] && diefunc "$FUNCNAME" "$LINENO" "$?" "append-lfs-flags takes no arguments";
append-cppflags -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE
}
apr_config ()
{
debug-print-function $FUNCNAME $*;
local default="${1:-1}";
if [[ "${USE_APACHE}" == "2" ]]; then
if has_version ${APACHE2_0_DEPEND}; then
echo apr-config;
else
echo apr-1-config;
fi;
else
if [[ "${default}" == "0" ]]; then
echo apr-config;
else
if [[ "${default}" == "1" ]]; then
echo apr-1-config;
else
diefunc "$FUNCNAME" "$LINENO" "$?" "Unknown version specifier: ${default}";
fi;
fi;
fi
}
apu_config ()
{
debug-print-function $FUNCNAME $*;
local default="${1:-1}";
if [[ "${USE_APACHE}" == "2" ]]; then
if has_version ${APACHE2_0_DEPEND}; then
echo apu-config;
else
echo apu-1-config;
fi;
else
if [[ "${default}" == "0" ]]; then
echo apu-config;
else
if [[ "${default}" == "1" ]]; then
echo apu-1-config;
else
diefunc "$FUNCNAME" "$LINENO" "$?" "Unknown version specifier: ${default}";
fi;
fi;
fi
}
autotools_check_macro ()
{
[[ -f configure.ac || -f configure.in ]] && WANT_AUTOCONF="2.5" autoconf --trace=$1 2> /dev/null;
return 0
}
autotools_get_auxdir ()
{
local auxdir_scan_out;
auxdir_scan_out=$(autotools_check_macro "AC_CONFIG_AUX_DIR");
[[ -n ${auxdir_scan_out} ]] || return 0;
echo ${auxdir_scan_out} | gawk '($0 !~ /^[[:space:]]*(#|dnl)/) {
if (match($0, /AC_CONFIG_AUX_DIR:(.*)$/, res))
print res[1]
}' | uniq;
return 0
}
autotools_get_subdirs ()
{
local subdirs_scan_out;
subdirs_scan_out=$(autotools_check_macro "AC_CONFIG_SUBDIRS");
[[ -n ${subdirs_scan_out} ]] || return 0;
echo "${subdirs_scan_out}" | gawk '($0 !~ /^[[:space:]]*(#|dnl)/) {
if (match($0, /AC_CONFIG_SUBDIRS:(.*)$/, res))
print res[1]
}' | uniq;
return 0
}
autotools_run_tool ()
{
local STDERR_TARGET="${T}/$$.out";
local ris;
echo "***** $1 *****" > ${STDERR_TARGET%/*}/$1-${STDERR_TARGET##*/};
echo >> ${STDERR_TARGET%/*}/$1-${STDERR_TARGET##*/};
ebegin "Running $@";
$@ >> ${STDERR_TARGET%/*}/$1-${STDERR_TARGET##*/} 2>&1;
ris=$?;
eend ${ris};
if [[ ${ris} != 0 && ${NO_FAIL} != 1 ]]; then
echo;
eerror "Failed Running $1 !";
eerror;
eerror "Include in your bugreport the contents of:";
eerror;
eerror " ${STDERR_TARGET%/*}/$1-${STDERR_TARGET##*/}";
echo;
diefunc "$FUNCNAME" "$LINENO" "$?" "Failed Running $1 !";
fi
}
bindnow-flags ()
{
case $($(tc-getLD) -v 2>&1 &1 ${licmsg} <<-EOF
**********************************************************
The following license outlines the terms of use of this
package. You MUST accept this license for installation to
continue. When you are done viewing, hit 'q'. If you
CTRL+C out of this, the install will not run!
**********************************************************
EOF
cat ${lic} >> ${licmsg};
${PAGER:-less} ${licmsg} || diefunc "$FUNCNAME" "$LINENO" "$?" "Could not execute pager (${PAGER}) to accept ${lic}";
einfon "Do you accept the terms of this license (${l})? [yes/no] ";
read alic;
case ${alic} in
yes | Yes | y | Y)
return 0
;;
*)
echo;
echo;
echo;
eerror "You MUST accept the license to continue! Exiting!";
diefunc "$FUNCNAME" "$LINENO" "$?" "Failed to accept license"
;;
esac
}
check_module_critical ()
{
local unsupported=0;
for m in ${MODULE_CRITICAL};
do
if ! has ${m} ${MY_MODS}; then
ewarn "Module '${m}' is required in the default apache configuration.";
unsupported=1;
fi;
done;
if [[ ${unsupported} -ne 0 ]]; then
ewarn;
ewarn "You have disabled one or more required modules";
ewarn "for the default apache configuration.";
ewarn "Although this is not an error, please be";
ewarn "aware that this setup is UNSUPPORTED.";
ewarn;
ebeep 10;
fi
}
check_module_depends ()
{
local err=0;
for m in ${MY_MODS};
do
for dep in ${MODULE_DEPENDS};
do
if [[ "${m}" == "${dep%:*}" ]]; then
if ! use apache2_modules_${dep#*:}; then
eerror "Module '${m}' depends on '${dep#*:}'";
err=1;
fi;
fi;
done;
done;
if [[ ${err} -ne 0 ]]; then
diefunc "$FUNCNAME" "$LINENO" "$?" "invalid use flag combination";
fi
}
check_upgrade ()
{
if [[ -e "${ROOT}"etc/apache2/apache2-builtin-mods ]]; then
eerror "The previous configuration file for built-in modules";
eerror "(${ROOT}etc/apache2/apache2-builtin-mods) exists on your";
eerror "system.";
eerror;
eerror "Please read http://www.gentoo.org/doc/en/apache-upgrading.xml";
eerror "for detailed information how to convert this file to the new";
eerror "APACHE2_MODULES USE_EXPAND variable.";
eerror;
diefunc "$FUNCNAME" "$LINENO" "$?" "upgrade not possible with existing ${ROOT}etc/apache2/apache2-builtin-mods";
fi
}
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
}
dlopen_lib ()
{
if [[ ${ELIBC} != *BSD ]]; then
echo "-ldl";
fi
}
doesnt_use_apache ()
{
debug-print-function $FUNCNAME $*;
APACHE_VERSION="0";
USE_APACHE="0"
}
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;
if [[ -n ${AT_M4DIR} ]]; then
for x in ${AT_M4DIR};
do
case "${x}" in
"-I")
;;
*)
[[ ! -d ${x} ]] && ewarn "eaclocal: '${x}' does not exist";
aclocal_opts="${aclocal_opts} -I ${x}"
;;
esac;
done;
fi;
[[ ! -f aclocal.m4 || -n $(grep -e 'generated.*by aclocal' aclocal.m4) ]] && autotools_run_tool aclocal "$@" ${aclocal_opts}
}
eautoconf ()
{
if [[ ! -f configure.ac && ! -f configure.in ]]; then
echo;
eerror "No configure.{ac,in} present in '$(pwd | sed -e 's:.*/::')'!";
echo;
diefunc "$FUNCNAME" "$LINENO" "$?" "No configure.{ac,in} present!";
fi;
autotools_run_tool autoconf "$@"
}
eautoheader ()
{
[[ -n $(autotools_check_macro "AC_CONFIG_HEADERS") ]] || return 0;
NO_FAIL=1 autotools_run_tool autoheader "$@"
}
eautomake ()
{
local extra_opts;
[[ -f Makefile.am ]] || return 0;
if [[ -z ${FROM_EAUTORECONF} && -f Makefile.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.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;
_elibtoolize --copy --force;
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
}
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}";
diefunc "$FUNCNAME" "$LINENO" "$?" "elibtoolize called with ${x} ??"
;;
esac;
done;
[[ ${do_uclibc} == "yes" ]] && elt_patches="${elt_patches} uclibc-conf uclibc-ltconf";
[[ ${CHOST} == *"-freebsd"* ]] && elt_patches="${elt_patches} fbsd-conf fbsd-ltconf";
[[ ${CHOST} == *"-darwin"* ]] && elt_patches="${elt_patches} darwin-ltconf darwin-ltmain";
for x in ${my_dirlist};
do
local tmp=$(echo "${x}" | sed -e "s|${WORKDIR}||");
export ELT_APPLIED_PATCHES=;
export ELT_LTMAIN_SH="${x}/ltmain.sh";
[[ -f ${x}/.elibtoolized ]] && continue;
cd ${x};
einfo "Running elibtoolize in: $(echo "/${tmp}" | sed -e 's|//|/|g; s|^/||')";
for y in ${elt_patches};
do
local ret=0;
case "${y}" in
"portage")
if [[ -z $(grep 'We do not want portage' "${x}/ltmain.sh") ]]; then
ELT_walk_patches "${x}/ltmain.sh" "${y}";
ret=$?;
fi
;;
"rem-int-dep")
ELT_walk_patches "${x}/ltmain.sh" "${y}" "${deptoremove}";
ret=$?
;;
"fix-relink")
if [[ -n $(grep 'inst_prefix_dir' "${x}/ltmain.sh") ]]; then
ELT_walk_patches "${x}/ltmain.sh" "${y}";
ret=$?;
fi
;;
"max_cmd_len")
if [[ -n $(grep 'max_cmd_len' "${x}/ltmain.sh") ]]; then
ELT_walk_patches "${x}/ltmain.sh" "${y}";
ret=$?;
fi
;;
"uclibc-conf")
if [[ -e ${x}/configure && -n $(grep 'Transform linux' "${x}/configure") ]]; then
ELT_walk_patches "${x}/configure" "${y}";
ret=$?;
else
if [[ ! -e ${x}/configure && -e ${x}/../configure && -n $(grep 'Transform linux' "${x}/../configure") ]]; then
ELT_walk_patches "${x}/../configure" "${y}";
ret=$?;
fi;
fi
;;
"uclibc-ltconf")
if [[ -s ${x}/ltconfig ]]; then
ELT_walk_patches "${x}/ltconfig" "${y}";
ret=$?;
fi
;;
"fbsd-conf")
if [[ -e ${x}/configure && -n $(grep 'version_type=freebsd-' "${x}/configure") ]]; then
ELT_walk_patches "${x}/configure" "${y}";
ret=$?;
else
if [[ ! -e ${x}/configure && -e ${x}/../configure && -n $(grep 'version_type=freebsd-' "${x}/../configure") ]]; then
ELT_walk_patches "${x}/../configure" "${y}";
ret=$?;
fi;
fi
;;
"fbsd-ltconf")
if [[ -s ${x}/ltconfig ]]; then
ELT_walk_patches "${x}/ltconfig" "${y}";
ret=$?;
fi
;;
"darwin-ltconf")
if [[ -s ${x}/ltconfig ]]; then
ELT_walk_patches "${x}/ltconfig" "${y}";
ret=$?;
fi
;;
"install-sh")
ELT_walk_patches "${x}/install-sh" "${y}";
ret=$?
;;
*)
ELT_walk_patches "${x}/ltmain.sh" "${y}";
ret=$?
;;
esac;
if [[ ${ret} -ne 0 ]]; then
case ${y} in
"relink")
local version=$(ELT_libtool_version "${x}/ltmain.sh");
if [[ -z $(grep 'inst_prefix_dir' "${x}/ltmain.sh") && $(VER_to_int "${version}") -ge $(VER_to_int "1.4.0") ]]; then
ewarn " Could not apply relink.patch!";
fi
;;
"portage")
if [[ ${do_portage} == "yes" ]]; then
if [[ -z $(grep 'We do not want portage' "${x}/ltmain.sh") ]]; then
echo;
eerror "Portage patch requested, but failed to apply!";
eerror "Please bug azarah or vapier to add proper patch.";
diefunc "$FUNCNAME" "$LINENO" "$?" "Portage patch requested, but failed to apply!";
fi;
else
if [[ -n $(grep 'We do not want portage' "${x}/ltmain.sh") ]]; then
:;
else
local version=$( eval $(grep -e '^[[:space:]]*VERSION=' "${x}/ltmain.sh"); echo "${VERSION}");
echo;
eerror "Portage patch failed to apply (ltmain.sh version ${version})!";
eerror "Please bug azarah or vapier to add proper patch.";
diefunc "$FUNCNAME" "$LINENO" "$?" "Portage patch failed to apply!";
fi;
ELT_APPLIED_PATCHES="portage";
fi
;;
"uclibc-"*)
[[ ${CHOST} == *"-uclibc" ]] && ewarn " uClibc patch set '${y}' failed to apply!"
;;
"fbsd-"*)
if [[ ${CHOST} == *"-freebsd"* ]]; then
if [[ -z $(grep 'Handle Gentoo/FreeBSD as it was Linux' "${x}/configure" "${x}/../configure" 2>/dev/null) ]]; then
eerror " FreeBSD patch set '${y}' failed to apply!";
diefunc "$FUNCNAME" "$LINENO" "$?" "FreeBSD patch set '${y}' failed to apply!";
fi;
fi
;;
"darwin-"*)
[[ ${CHOST} == *"-darwin"* ]] && ewarn " Darwin patch set '${y}' failed to apply!"
;;
esac;
fi;
done;
if [[ -z ${ELT_APPLIED_PATCHES} ]]; then
if [[ ${do_portage} == "no" && ${do_reversedeps} == "no" && ${do_only_patches} == "no" && ${deptoremove} == "" ]]; then
ewarn "Cannot apply any patches, please file a bug about this";
diefunc "$FUNCNAME" "$LINENO" "$?";
fi;
fi;
[[ -f ${x}/libtool ]] && rm -f "${x}/libtool";
touch "${x}/.elibtoolized";
done;
cd "${start_dir}"
}
emktemp ()
{
local exe="touch";
[[ $1 == -d ]] && exe="mkdir" && shift;
local topdir=$1;
if [[ -z ${topdir} ]]; then
[[ -z ${T} ]] && topdir="/tmp" || topdir=${T};
fi;
if ! type -P mktemp > /dev/null; then
local tmp=/;
while [[ -e ${tmp} ]]; do
tmp=${topdir}/tmp.${RANDOM}.${RANDOM}.${RANDOM};
done;
${exe} "${tmp}" || ${exe} -p "${tmp}";
echo "${tmp}";
else
if [[ ${exe} == "touch" ]]; then
TMPDIR="${topdir}" mktemp -t tmp.XXXXXXXXXX;
else
TMPDIR="${topdir}" mktemp -dt tmp.XXXXXXXXXX;
fi;
fi
}
enewgroup ()
{
case ${EBUILD_PHASE} in
unpack | compile | test | install)
eerror "'enewgroup()' called from '${EBUILD_PHASE}()' which is not a pkg_* function.";
eerror "Package fails at QA and at life. Please file a bug.";
diefunc "$FUNCNAME" "$LINENO" "$?" "Bad package! enewgroup is only for use in pkg_* functions!"
;;
esac;
local egroup="$1";
shift;
if [ -z "${egroup}" ]; then
eerror "No group specified !";
diefunc "$FUNCNAME" "$LINENO" "$?" "Cannot call enewgroup without a group";
fi;
if [[ -n $(egetent group "${egroup}") ]]; then
return 0;
fi;
einfo "Adding group '${egroup}' to your system ...";
local opts=;
local egid="$1";
shift;
if [ ! -z "${egid}" ]; then
if [ "${egid}" -gt 0 ]; then
if [ -z "`egetent group ${egid}`" ]; then
if [[ "${CHOST}" == *-darwin* ]]; then
opts="${opts} ${egid}";
else
opts="${opts} -g ${egid}";
fi;
else
egid="next available; requested gid taken";
fi;
else
eerror "Groupid given but is not greater than 0 !";
diefunc "$FUNCNAME" "$LINENO" "$?" "${egid} is not a valid GID";
fi;
else
egid="next available";
fi;
einfo " - Groupid: ${egid}";
local eextra="$@";
opts="${opts} ${eextra}";
local oldsandbox="${SANDBOX_ON}";
export SANDBOX_ON="0";
case ${CHOST} in
*-darwin*)
if [ ! -z "${eextra}" ]; then
einfo "Extra options are not supported on Darwin/OS X yet";
einfo "Please report the ebuild along with the info below";
einfo "eextra: ${eextra}";
diefunc "$FUNCNAME" "$LINENO" "$?" "Required function missing";
fi;
case ${egid} in
*[!0-9]*)
for ((egid = 101; egid <= 999; egid++))
do
[[ -z $(egetent group ${egid}) ]] && break;
done
;;
esac;
dscl . create /groups/${egroup} gid ${egid};
dscl . create /groups/${egroup} passwd '*'
;;
*-freebsd* | *-dragonfly*)
case ${egid} in
*[!0-9]*)
for ((egid = 101; egid <= 999; egid++))
do
[[ -z $(egetent group ${egid}) ]] && break;
done
;;
esac;
pw groupadd ${egroup} -g ${egid} || diefunc "$FUNCNAME" "$LINENO" "$?" "enewgroup failed"
;;
*-netbsd*)
case ${egid} in
*[!0-9]*)
for ((egid = 101; egid <= 999; egid++))
do
[[ -z $(egetent group ${egid}) ]] && break;
done
;;
esac;
groupadd -g ${egid} ${egroup} || diefunc "$FUNCNAME" "$LINENO" "$?" "enewgroup failed"
;;
*)
groupadd ${opts} ${egroup} || diefunc "$FUNCNAME" "$LINENO" "$?" "enewgroup failed"
;;
esac;
export SANDBOX_ON="${oldsandbox}"
}
enewuser ()
{
case ${EBUILD_PHASE} in
unpack | compile | test | install)
eerror "'enewuser()' called from '${EBUILD_PHASE}()' which is not a pkg_* function.";
eerror "Package fails at QA and at life. Please file a bug.";
diefunc "$FUNCNAME" "$LINENO" "$?" "Bad package! enewuser is only for use in pkg_* functions!"
;;
esac;
local euser=$1;
shift;
if [[ -z ${euser} ]]; then
eerror "No username specified !";
diefunc "$FUNCNAME" "$LINENO" "$?" "Cannot call enewuser without a username";
fi;
if [[ -n $(egetent passwd "${euser}") ]]; then
return 0;
fi;
einfo "Adding user '${euser}' to your system ...";
local opts=;
local euid=$1;
shift;
if [[ -n ${euid} && ${euid} != -1 ]]; then
if [[ ${euid} -gt 0 ]]; then
if [[ -n $(egetent passwd ${euid}) ]]; then
euid="next";
fi;
else
eerror "Userid given but is not greater than 0 !";
diefunc "$FUNCNAME" "$LINENO" "$?" "${euid} is not a valid UID";
fi;
else
euid="next";
fi;
if [[ ${euid} == "next" ]]; then
for ((euid = 101; euid <= 999; euid++))
do
[[ -z $(egetent passwd ${euid}) ]] && break;
done;
fi;
opts="${opts} -u ${euid}";
einfo " - Userid: ${euid}";
local eshell=$1;
shift;
if [[ ! -z ${eshell} ]] && [[ ${eshell} != "-1" ]]; then
if [[ ! -e ${ROOT}${eshell} ]]; then
eerror "A shell was specified but it does not exist !";
diefunc "$FUNCNAME" "$LINENO" "$?" "${eshell} does not exist in ${ROOT}";
fi;
if [[ ${eshell} == */false || ${eshell} == */nologin ]]; then
eerror "Do not specify ${eshell} yourself, use -1";
diefunc "$FUNCNAME" "$LINENO" "$?" "Pass '-1' as the shell parameter";
fi;
else
for shell in /sbin/nologin /usr/sbin/nologin /bin/false /usr/bin/false /dev/null;
do
[[ -x ${ROOT}${shell} ]] && break;
done;
if [[ ${shell} == "/dev/null" ]]; then
eerror "Unable to identify the shell to use, proceeding with userland default.";
case ${USERLAND} in
GNU)
shell="/bin/false"
;;
BSD)
shell="/sbin/nologin"
;;
Darwin)
shell="/usr/sbin/nologin"
;;
*)
diefunc "$FUNCNAME" "$LINENO" "$?" "Unable to identify the default shell for userland ${USERLAND}"
;;
esac;
fi;
eshell=${shell};
fi;
einfo " - Shell: ${eshell}";
opts="${opts} -s ${eshell}";
local ehome=$1;
shift;
if [[ -z ${ehome} ]] || [[ ${ehome} == "-1" ]]; then
ehome="/dev/null";
fi;
einfo " - Home: ${ehome}";
opts="${opts} -d ${ehome}";
local egroups=$1;
shift;
if [[ ! -z ${egroups} ]]; then
local oldifs=${IFS};
local defgroup="" exgroups="";
export IFS=",";
for g in ${egroups};
do
export IFS=${oldifs};
if [[ -z $(egetent group "${g}") ]]; then
eerror "You must add group ${g} to the system first";
diefunc "$FUNCNAME" "$LINENO" "$?" "${g} is not a valid GID";
fi;
if [[ -z ${defgroup} ]]; then
defgroup=${g};
else
exgroups="${exgroups},${g}";
fi;
export IFS=",";
done;
export IFS=${oldifs};
opts="${opts} -g ${defgroup}";
if [[ ! -z ${exgroups} ]]; then
opts="${opts} -G ${exgroups:1}";
fi;
else
egroups="(none)";
fi;
einfo " - Groups: ${egroups}";
local oldsandbox=${SANDBOX_ON};
export SANDBOX_ON="0";
case ${CHOST} in
*-darwin*)
if [[ -z $@ ]]; then
dscl . create /users/${euser} uid ${euid};
dscl . create /users/${euser} shell ${eshell};
dscl . create /users/${euser} home ${ehome};
dscl . create /users/${euser} realname "added by portage for ${PN}";
local oldifs=${IFS};
export IFS=",";
for g in ${egroups};
do
dscl . merge /groups/${g} users ${euser};
done;
export IFS=${oldifs};
else
einfo "Extra options are not supported on Darwin yet";
einfo "Please report the ebuild along with the info below";
einfo "eextra: $@";
diefunc "$FUNCNAME" "$LINENO" "$?" "Required function missing";
fi
;;
*-freebsd* | *-dragonfly*)
if [[ -z $@ ]]; then
pw useradd ${euser} ${opts} -c "added by portage for ${PN}" die "enewuser failed";
else
einfo " - Extra: $@";
pw useradd ${euser} ${opts} "$@" || diefunc "$FUNCNAME" "$LINENO" "$?" "enewuser failed";
fi
;;
*-netbsd*)
if [[ -z $@ ]]; then
useradd ${opts} ${euser} || diefunc "$FUNCNAME" "$LINENO" "$?" "enewuser failed";
else
einfo " - Extra: $@";
useradd ${opts} ${euser} "$@" || diefunc "$FUNCNAME" "$LINENO" "$?" "enewuser failed";
fi
;;
*-openbsd*)
if [[ -z $@ ]]; then
useradd -u ${euid} -s ${eshell} -d ${ehome} -c "Added by portage for ${PN}" -g ${egroups} ${euser} || diefunc "$FUNCNAME" "$LINENO" "$?" "enewuser failed";
else
einfo " - Extra: $@";
useradd -u ${euid} -s ${eshell} -d ${ehome} -c "Added by portage for ${PN}" -g ${egroups} ${euser} "$@" || diefunc "$FUNCNAME" "$LINENO" "$?" "enewuser failed";
fi
;;
*)
if [[ -z $@ ]]; then
useradd ${opts} ${euser} -c "added by portage for ${PN}" || diefunc "$FUNCNAME" "$LINENO" "$?" "enewuser failed";
else
einfo " - Extra: $@";
useradd ${opts} ${euser} "$@" || diefunc "$FUNCNAME" "$LINENO" "$?" "enewuser failed";
fi
;;
esac;
if [[ ! -e ${ROOT}/${ehome} ]]; then
einfo " - Creating ${ehome} in ${ROOT}";
mkdir -p "${ROOT}/${ehome}";
chown ${euser} "${ROOT}/${ehome}";
chmod 755 "${ROOT}/${ehome}";
fi;
export SANDBOX_ON=${oldsandbox}
}
epatch ()
{
function _epatch_draw_line ()
{
[[ -z $1 ]] && set "$(printf "%65s" '')";
echo "${1//?/=}"
};
function _epatch_assert ()
{
local _pipestatus=${PIPESTATUS[*]};
[[ ${_pipestatus// /} -eq 0 ]]
};
local PIPE_CMD="";
local STDERR_TARGET="${T}/$$.out";
local PATCH_TARGET="${T}/$$.patch";
local PATCH_SUFFIX="";
local SINGLE_PATCH="no";
local x="";
unset P4CONFIG P4PORT P4USER;
if [ "$#" -gt 1 ]; then
local m="";
for m in "$@";
do
epatch "${m}";
done;
return 0;
fi;
if [ -n "$1" -a -f "$1" ]; then
SINGLE_PATCH="yes";
local EPATCH_SOURCE="$1";
local EPATCH_SUFFIX="${1##*\.}";
else
if [ -n "$1" -a -d "$1" ]; then
if [ "${EPATCH_FORCE}" = "yes" ] && [ -z "${EPATCH_SUFFIX}" ]; then
local EPATCH_SOURCE="$1/*";
else
local EPATCH_SOURCE="$1/*.${EPATCH_SUFFIX}";
fi;
else
if [ ! -d ${EPATCH_SOURCE} ] || [ -n "$1" ]; then
if [ -n "$1" -a "${EPATCH_SOURCE}" = "${WORKDIR}/patch" ]; then
EPATCH_SOURCE="$1";
fi;
echo;
eerror "Cannot find \$EPATCH_SOURCE! Value for \$EPATCH_SOURCE is:";
eerror;
eerror " ${EPATCH_SOURCE}";
eerror " ( ${EPATCH_SOURCE##*/} )";
echo;
diefunc "$FUNCNAME" "$LINENO" "$?" "Cannot find \$EPATCH_SOURCE!";
fi;
local EPATCH_SOURCE="${EPATCH_SOURCE}/*.${EPATCH_SUFFIX}";
fi;
fi;
case ${EPATCH_SUFFIX##*\.} in
bz2)
PIPE_CMD="bzip2 -dc";
PATCH_SUFFIX="bz2"
;;
gz | Z | z)
PIPE_CMD="gzip -dc";
PATCH_SUFFIX="gz"
;;
ZIP | zip)
PIPE_CMD="unzip -p";
PATCH_SUFFIX="zip"
;;
*)
PIPE_CMD="cat";
PATCH_SUFFIX="patch"
;;
esac;
if [ "${SINGLE_PATCH}" = "no" ]; then
einfo "${EPATCH_MULTI_MSG}";
fi;
for x in ${EPATCH_SOURCE};
do
if [ -f ${x} ] && ( [ "${SINGLE_PATCH}" = "yes" -o "${x/_all_}" != "${x}" -o "${x/_${ARCH}_}" != "${x}" ] || [ "${EPATCH_FORCE}" = "yes" ] ); then
local count=0;
local popts="${EPATCH_OPTS}";
local patchname=${x##*/};
if [ -n "${EPATCH_EXCLUDE}" ]; then
if [ "${EPATCH_EXCLUDE/${patchname}}" != "${EPATCH_EXCLUDE}" ]; then
continue;
fi;
fi;
if [ "${SINGLE_PATCH}" = "yes" ]; then
if [ -n "${EPATCH_SINGLE_MSG}" ]; then
einfo "${EPATCH_SINGLE_MSG}";
else
einfo "Applying ${patchname} ...";
fi;
else
einfo " ${patchname} ...";
fi;
echo "***** ${patchname} *****" > ${STDERR_TARGET%/*}/${patchname}-${STDERR_TARGET##*/};
echo >> ${STDERR_TARGET%/*}/${patchname}-${STDERR_TARGET##*/};
while [ "${count}" -lt 5 ]; do
_epatch_draw_line "***** ${patchname} *****" >> ${STDERR_TARGET%/*}/${patchname}-${STDERR_TARGET##*/};
echo >> ${STDERR_TARGET%/*}/${patchname}-${STDERR_TARGET##*/};
if [ "${PATCH_SUFFIX}" != "patch" ]; then
echo -n "PIPE_COMMAND: " >> ${STDERR_TARGET%/*}/${patchname}-${STDERR_TARGET##*/};
echo "${PIPE_CMD} ${x} > ${PATCH_TARGET}" >> ${STDERR_TARGET%/*}/${patchname}-${STDERR_TARGET##*/};
else
PATCH_TARGET="${x}";
fi;
echo -n "PATCH COMMAND: " >> ${STDERR_TARGET%/*}/${patchname}-${STDERR_TARGET##*/};
echo "patch -p${count} ${popts} < ${PATCH_TARGET}" >> ${STDERR_TARGET%/*}/${patchname}-${STDERR_TARGET##*/};
echo >> ${STDERR_TARGET%/*}/${patchname}-${STDERR_TARGET##*/};
_epatch_draw_line "***** ${patchname} *****" >> ${STDERR_TARGET%/*}/${patchname}-${STDERR_TARGET##*/};
if [ "${PATCH_SUFFIX}" != "patch" ]; then
if ! ( ${PIPE_CMD} ${x} > ${PATCH_TARGET} ) >> ${STDERR_TARGET%/*}/${patchname}-${STDERR_TARGET##*/} 2>&1; then
echo;
eerror "Could not extract patch!";
count=5;
break;
fi;
fi;
if ( cat ${PATCH_TARGET} | patch -p${count} ${popts} --dry-run -f;
_epatch_assert ) >> ${STDERR_TARGET%/*}/${patchname}-${STDERR_TARGET##*/} 2>&1; then
_epatch_draw_line "***** ${patchname} *****" > ${STDERR_TARGET%/*}/${patchname}-${STDERR_TARGET##*/}.real;
echo >> ${STDERR_TARGET%/*}/${patchname}-${STDERR_TARGET##*/}.real;
echo "ACTUALLY APPLYING ${patchname} ..." >> ${STDERR_TARGET%/*}/${patchname}-${STDERR_TARGET##*/}.real;
echo >> ${STDERR_TARGET%/*}/${patchname}-${STDERR_TARGET##*/}.real;
_epatch_draw_line "***** ${patchname} *****" >> ${STDERR_TARGET%/*}/${patchname}-${STDERR_TARGET##*/}.real;
cat ${PATCH_TARGET} | patch -p${count} ${popts} >> ${STDERR_TARGET%/*}/${patchname}-${STDERR_TARGET##*/}.real 2>&1;
_epatch_assert;
if [ "$?" -ne 0 ]; then
cat ${STDERR_TARGET%/*}/${patchname}-${STDERR_TARGET##*/}.real >> ${STDERR_TARGET%/*}/${patchname}-${STDERR_TARGET##*/};
echo;
eerror "A dry-run of patch command succeeded, but actually";
eerror "applying the patch failed!";
count=5;
fi;
rm -f ${STDERR_TARGET%/*}/${patchname}-${STDERR_TARGET##*/}.real;
break;
fi;
count=$((count + 1));
done;
if [ "${PATCH_SUFFIX}" != "patch" ]; then
rm -f ${PATCH_TARGET};
fi;
if [ "${count}" -eq 5 ]; then
echo;
eerror "Failed Patch: ${patchname} !";
eerror " ( ${PATCH_TARGET} )";
eerror;
eerror "Include in your bugreport the contents of:";
eerror;
eerror " ${STDERR_TARGET%/*}/${patchname}-${STDERR_TARGET##*/}";
echo;
diefunc "$FUNCNAME" "$LINENO" "$?" "Failed Patch: ${patchname}!";
fi;
rm -f ${STDERR_TARGET%/*}/${patchname}-${STDERR_TARGET##*/};
eend 0;
fi;
done;
if [ "${SINGLE_PATCH}" = "no" ]; then
einfo "Done with patching";
fi
}
epause ()
{
[[ -z ${EPAUSE_IGNORE} ]] && sleep ${1:-5}
}
epunt_cxx ()
{
local dir=$1;
[[ -z ${dir} ]] && dir=${S};
ebegin "Removing useless C++ checks";
local f;
for f in $(find ${dir} -name configure);
do
patch -p0 "${f}" "${PORTDIR}/eclass/ELT-patches/nocxx/nocxx.patch" > /dev/null;
done;
eend 0
}
filter-flags ()
{
_filter-hardened "$@";
_filter-var CFLAGS "$@";
_filter-var CPPFLAGS "$@";
_filter-var CXXFLAGS "$@";
return 0
}
filter-ldflags ()
{
_filter-var LDFLAGS "$@";
return 0
}
filter-lfs-flags ()
{
[[ -n $@ ]] && diefunc "$FUNCNAME" "$LINENO" "$?" "filter-lfs-flags takes no arguments";
filter-flags -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE
}
filter-mfpmath ()
{
local orig_mfpmath new_math prune_math;
orig_mfpmath=$(get-flag -mfpmath);
new_math=$(get-flag mfpmath);
new_math=" ${new_math//,/ } ";
prune_math="";
for prune_math in "$@";
do
new_math=${new_math/ ${prune_math} / };
done;
new_math=$(echo ${new_math});
new_math=${new_math// /,};
if [[ -z ${new_math} ]]; then
filter-flags ${orig_mfpmath};
else
replace-flags ${orig_mfpmath} -mfpmath=${new_math};
fi;
return 0
}
find_unpackable_file ()
{
local src=$1;
if [[ -z ${src} ]]; then
src=${DISTDIR}/${A};
else
if [[ -e ${DISTDIR}/${src} ]]; then
src=${DISTDIR}/${src};
else
if [[ -e ${PWD}/${src} ]]; then
src=${PWD}/${src};
else
if [[ -e ${src} ]]; then
src=${src};
fi;
fi;
fi;
fi;
[[ ! -e ${src} ]] && return 1;
echo "${src}"
}
gcc-fullversion ()
{
$(tc-getCC "$@") -dumpversion
}
gcc-major-version ()
{
gcc-version "$@" | cut -f1 -d.
}
gcc-micro-version ()
{
gcc-fullversion "$@" | cut -f3 -d. | cut -f1 -d-
}
gcc-minor-version ()
{
gcc-version "$@" | cut -f2 -d.
}
gcc-specs-directive ()
{
local directive subdname subdirective;
directive="$(_gcc-specs-directive_raw $1)";
while [[ ${directive} == *%\(*\)* ]]; do
subdname=${directive/*%\(};
subdname=${subdname/\)*};
subdirective="$(_gcc-specs-directive_raw ${subdname})";
directive="${directive//\%(${subdname})/${subdirective}}";
done;
echo "${directive}";
return 0
}
gcc-specs-now ()
{
local directive;
directive=$(gcc-specs-directive link_command);
return $([[ ${directive/\{!nonow:} != ${directive} ]])
}
gcc-specs-pie ()
{
local directive;
directive=$(gcc-specs-directive cc1);
return $([[ ${directive/\{!nopie:} != ${directive} ]])
}
gcc-specs-relro ()
{
local directive;
directive=$(gcc-specs-directive link_command);
return $([[ ${directive/\{!norelro:} != ${directive} ]])
}
gcc-specs-ssp ()
{
local directive;
directive=$(gcc-specs-directive cc1);
return $([[ ${directive/\{!fno-stack-protector:} != ${directive} ]])
}
gcc-specs-ssp-to-all ()
{
local directive;
directive=$(gcc-specs-directive cc1);
return $([[ ${directive/\{!fno-stack-protector-all:} != ${directive} ]])
}
gcc-version ()
{
gcc-fullversion "$@" | cut -f1,2 -d.
}
gen_usr_ldscript ()
{
local lib libdir=$(get_libdir) output_format="";
dodir /usr/${libdir};
output_format=$($(tc-getCC) ${CFLAGS} ${LDFLAGS} -Wl,--verbose 2>&1 | sed -n 's/^OUTPUT_FORMAT("\([^"]*\)",.*/\1/p');
[[ -n ${output_format} ]] && output_format="OUTPUT_FORMAT ( ${output_format} )";
for lib in "$@";
do
if [[ ${USERLAND} == "Darwin" ]]; then
ewarn "Not creating fake dynamic library for $lib on Darwin;";
ewarn "making a symlink instead.";
dosym "/${libdir}/${lib}" "/usr/${libdir}/${lib}";
else
cat > "${D}/usr/${libdir}/${lib}" <<-END_LDSCRIPT
/* GNU ld script
Since Gentoo has critical dynamic libraries
in /lib, and the static versions in /usr/lib,
we need to have a "fake" dynamic lib in /usr/lib,
otherwise we run into linking problems.
See bug http://bugs.gentoo.org/4411 for more info.
*/
${output_format}
GROUP ( /${libdir}/${lib} )
END_LDSCRIPT
fi
fperms a+x "/usr/${libdir}/${lib}" || diefunc "$FUNCNAME" "$LINENO" "$?" "could not change perms on ${lib}";
done
}
generate_load_module ()
{
local endit=0 mod_lines= mod_dir="${D}${APACHE2_MODULESDIR}";
if use static; then
sed -i -e "/%%LOAD_MODULE%%/d" "${GENTOO_PATCHDIR}"/conf/httpd.conf;
return;
fi;
for m in ${MY_MODS};
do
if [[ -e "${mod_dir}/mod_${m}.so" ]]; then
for def in ${MODULE_DEFINES};
do
if [[ "${m}" == "${def%:*}" ]]; then
mod_lines="${mod_lines}\n";
endit=1;
fi;
done;
mod_lines="${mod_lines}\nLoadModule ${m}_module modules/mod_${m}.so";
if [[ ${endit} -ne 0 ]]; then
mod_lines="${mod_lines}\n";
endit=0;
fi;
fi;
done;
sed -i -e "s:%%LOAD_MODULE%%:${mod_lines}:" "${GENTOO_PATCHDIR}"/conf/httpd.conf
}
get-flag ()
{
local f findflag="$1";
for f in ${CFLAGS} ${CXXFLAGS};
do
if [ "${f/${findflag}}" != "${f}" ]; then
printf "%s\n" "${f/-${findflag}=}";
return 0;
fi;
done;
return 1
}
get_abi_ASFLAGS ()
{
get_abi_var ASFLAGS "$@"
}
get_abi_CDEFINE ()
{
get_abi_var CDEFINE "$@"
}
get_abi_CFLAGS ()
{
get_abi_var CFLAGS "$@"
}
get_abi_CHOST ()
{
get_abi_var CHOST "$@"
}
get_abi_CTARGET ()
{
get_abi_var CTARGET "$@"
}
get_abi_FAKE_TARGETS ()
{
get_abi_var FAKE_TARGETS "$@"
}
get_abi_LDFLAGS ()
{
get_abi_var LDFLAGS "$@"
}
get_abi_LIBDIR ()
{
get_abi_var LIBDIR "$@"
}
get_abi_var ()
{
local flag=$1;
local abi;
if [ $# -gt 1 ]; then
abi=${2};
else
if [ -n "${ABI}" ]; then
abi=${ABI};
else
if [ -n "${DEFAULT_ABI}" ]; then
abi=${DEFAULT_ABI};
else
abi="default";
fi;
fi;
fi;
local var="${flag}_${abi}";
echo ${!var}
}
get_all_abis ()
{
local order="";
if [[ -z ${MULTILIB_ABIS} ]]; then
echo "default";
return 0;
fi;
for x in ${MULTILIB_ABIS};
do
if [[ ${x} != ${DEFAULT_ABI} ]]; then
order="${order:+${order} }${x}";
fi;
done;
order="${order:+${order} }${DEFAULT_ABI}";
echo ${order};
return 0
}
get_all_libdirs ()
{
local libdirs="lib";
local abi;
local dir;
for abi in ${MULTILIB_ABIS};
do
[ "$(get_abi_LIBDIR ${abi})" != "lib" ] && libdirs="${libdirs} $(get_abi_LIBDIR ${abi})";
done;
echo "${libdirs}"
}
get_bmake ()
{
if [[ ${USERLAND} == *BSD ]]; then
echo make;
else
if [[ ${USERLAND} == "Darwin" ]]; then
echo bsdmake;
else
echo pmake;
fi;
fi
}
get_install_abis ()
{
local order="";
if [[ -z ${MULTILIB_ABIS} ]]; then
echo "default";
return 0;
fi;
if [[ ${EMULTILIB_PKG} == "true" ]]; then
for x in ${MULTILIB_ABIS};
do
if [[ ${x} != "${DEFAULT_ABI}" ]]; then
hasq ${x} ${ABI_DENY} || ordera="${ordera} ${x}";
fi;
done;
hasq ${DEFAULT_ABI} ${ABI_DENY} || order="${ordera} ${DEFAULT_ABI}";
if [[ -n ${ABI_ALLOW} ]]; then
local ordera="";
for x in ${order};
do
if hasq ${x} ${ABI_ALLOW}; then
ordera="${ordera} ${x}";
fi;
done;
order=${ordera};
fi;
else
order=${DEFAULT_ABI};
fi;
if [[ -z ${order} ]]; then
diefunc "$FUNCNAME" "$LINENO" "$?" "The ABI list is empty. Are you using a proper multilib profile? Perhaps your USE flags or MULTILIB_ABIS are too restrictive for this package.";
fi;
echo ${order};
return 0
}
get_libdir ()
{
local CONF_LIBDIR;
if [ -n "${CONF_LIBDIR_OVERRIDE}" ]; then
echo ${CONF_LIBDIR_OVERRIDE};
else
get_abi_LIBDIR;
fi
}
get_libdir_override ()
{
if has_multilib_profile; then
eerror "get_libdir_override called, but it shouldn't be needed with the new multilib approach. Please file a bug at http://bugs.gentoo.org and assign it to eradicator@gentoo.org";
exit 1;
fi;
CONF_LIBDIR="$1";
CONF_LIBDIR_OVERRIDE="$1";
LIBDIR_default="$1"
}
get_libname ()
{
local libname;
local ver=$1;
case ${CHOST} in
*-darwin*)
libname="dylib"
;;
*)
libname="so"
;;
esac;
if [[ -z $@ ]]; then
echo ".${libname}";
else
for ver in "$@";
do
case ${CHOST} in
*-darwin*)
echo ".${ver}.${libname}"
;;
*)
echo ".${libname}.${ver}"
;;
esac;
done;
fi
}
get_ml_incdir ()
{
local dir=/usr/include;
if [[ $# -gt 0 ]]; then
incdir=$1;
shift;
fi;
if [[ -z "${MULTILIB_ABIS}" ]]; then
echo ${incdir};
return 0;
fi;
local abi=${ABI-${DEFAULT_ABI}};
if [[ $# -gt 0 ]]; then
abi=$1;
shift;
fi;
if [[ -d "${dir}/gentoo-multilib/${abi}" ]]; then
echo ${dir}/gentoo-multilib/${abi};
else
echo ${dir};
fi
}
get_mounts ()
{
local point= node= fs= opts= foo=;
if [[ $(uname -s) == "Linux" ]]; then
while read node point fs opts foo; do
echo "${point} ${node} ${fs} ${opts}";
done < /proc/mounts;
return;
fi;
local IFS=' ';
LC_ALL=C mount -p | while read node point fs foo; do
opts=${fs#* };
fs=${fs%% *};
echo "${point// /\040} ${node// /\040} ${fs%% *} ${opts// /\040}";
done
}
get_multilibdir ()
{
if has_multilib_profile; then
eerror "get_multilibdir called, but it shouldn't be needed with the new multilib approach. Please file a bug at http://bugs.gentoo.org and assign it to eradicator@gentoo.org";
exit 1;
fi;
echo ${CONF_MULTILIBDIR:=lib32}
}
has_hardened ()
{
ewarn "has_hardened: deprecated, please use gcc-specs-{relro,now}()!" 1>&2;
test_version_info Hardened && return 0;
[[ -f ${GCC_SPECS} && ${GCC_SPECS} != ${GCC_SPECS/hardened/} ]]
}
has_m32 ()
{
[ "$(tc-arch)" = "amd64" ] && has_multilib_profile && return 0;
local temp=$(emktemp);
echo "int main() { return(0); }" > "${temp}".c;
MY_CC=$(tc-getCC);
${MY_CC/ .*/} -m32 -o "$(emktemp)" "${temp}".c > /dev/null 2>&1;
local ret=$?;
rm -f "${temp}".c;
[[ ${ret} != 1 ]] && return 0;
return 1
}
has_m64 ()
{
local temp="$(emktemp)";
echo "int main() { return(0); }" > "${temp}".c;
MY_CC=$(tc-getCC);
${MY_CC/ .*/} -m64 -o "$(emktemp)" "${temp}".c > /dev/null 2>&1;
local ret=$?;
rm -f "${temp}".c;
[[ ${ret} != 1 ]] && return 0;
return 1
}
has_multilib_profile ()
{
[ -n "${MULTILIB_ABIS}" -a "${MULTILIB_ABIS}" != "${MULTILIB_ABIS/ /}" ]
}
has_pic ()
{
ewarn "has_pic: deprecated, please use gcc-specs-pie()!" 1>&2;
[[ ${CFLAGS/-fPIC} != ${CFLAGS} || ${CFLAGS/-fpic} != ${CFLAGS} ]] || gcc-specs-pie
}
has_pie ()
{
ewarn "has_pie: deprecated, please use gcc-specs-pie()!" 1>&2;
[[ ${CFLAGS/-fPIE} != ${CFLAGS} || ${CFLAGS/-fpie} != ${CFLAGS} ]] || gcc-specs-pie
}
has_ssp ()
{
ewarn "has_ssp: deprecated, please use gcc-specs-ssp()!" 1>&2;
[[ ${CFLAGS/-fstack-protector} != ${CFLAGS} || -n $(echo | $(tc-getCC) ${CFLAGS} -E -dM - | grep __SSP__) ]] || gcc-specs-ssp
}
has_ssp_all ()
{
ewarn "has_ssp_all: deprecated, please use gcc-specs-ssp()!" 1>&2;
[[ ${CFLAGS/-fstack-protector-all} != ${CFLAGS} || -n $(echo | $(tc-getCC) ${CFLAGS} -E -dM - | grep __SSP_ALL__) ]] || gcc-specs-ssp-all
}
is-flag ()
{
is-flagq "$@" && echo true
}
is-flagq ()
{
[[ -n $2 ]] && diefunc "$FUNCNAME" "$LINENO" "$?" "Usage: is-flag ";
_is_flagq CFLAGS $1 || _is_flagq CXXFLAGS $1
}
is-ldflag ()
{
is-ldflagq "$@" && echo true
}
is-ldflagq ()
{
[[ -n $2 ]] && diefunc "$FUNCNAME" "$LINENO" "$?" "Usage: is-ldflag ";
_is_flagq LDFLAGS $1
}
is-login-disabled ()
{
shell=$(egetshell "$1");
case ${shell} in
/bin/false | /usr/bin/false | /sbin/nologin | /usr/sbin/nologin)
return 0
;;
*)
return 1
;;
esac
}
is_final_abi ()
{
has_multilib_profile || return 0;
local ALL_ABIS=$(get_install_abis);
local LAST_ABI=${ALL_ABIS/* /};
[[ ${LAST_ABI} == ${ABI} ]]
}
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}" <=www-servers/apache-2.2.4'; then
if [[ -f "${ROOT}"etc/apache2/apache2.conf ]]; then
rm -f "${ROOT}"/etc/apache2/apache2.conf > /dev/null 2>&1;
fi;
for i in extra original;
do
if [[ -d "${ROOT}"/etc/apache2/${i} ]]; then
rm -rf "${ROOT}"/etc/apache2/${i} > /dev/null 2>&1;
fi;
done;
fi;
if has_version ' [more libraries to preserve]";
local lib dir;
for lib in "$@";
do
[[ -e ${ROOT}/${lib} ]] || continue;
dir=${lib%/*};
dodir ${dir} || diefunc "$FUNCNAME" "$LINENO" "$?" "dodir ${dir} failed";
cp "${ROOT}"/${lib} "${D}"/${lib} || diefunc "$FUNCNAME" "$LINENO" "$?" "cp ${lib} failed";
touch "${D}"/${lib};
done
}
preserve_old_lib_notify ()
{
if [[ ${EBUILD_PHASE} != "postinst" ]]; then
eerror "preserve_old_lib_notify() must be called from pkg_postinst() only";
diefunc "$FUNCNAME" "$LINENO" "$?" "Invalid preserve_old_lib_notify() usage";
fi;
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.";
fi
}
raw-ldflags ()
{
local x input="$@";
[[ -z ${input} ]] && input=${LDFLAGS};
set --;
for x in ${input};
do
x=${x#-Wl,};
set -- "$@" ${x//,/ };
done;
echo "$@"
}
replace-cpu-flags ()
{
local newcpu="$#";
newcpu="${!newcpu}";
while [ $# -gt 1 ]; do
replace-flags "-march=${1}" "-march=${newcpu}";
replace-flags "-mcpu=${1}" "-mcpu=${newcpu}";
replace-flags "-mtune=${1}" "-mtune=${newcpu}";
shift;
done;
return 0
}
replace-flags ()
{
[[ $# != 2 ]] && echo && eerror "Usage: replace-flags " && diefunc "$FUNCNAME" "$LINENO" "$?" "replace-flags takes 2 arguments, not $#";
local f fset;
declare -a new_CFLAGS new_CXXFLAGS;
for fset in CFLAGS CXXFLAGS;
do
for f in ${!fset};
do
[[ ${f} == ${1} ]] && f=${2};
eval new_${fset}\[\${\#new_${fset}\[@]}]=\${f};
done;
eval export ${fset}=\${new_${fset}\[*]};
done;
return 0
}
replace-sparc64-flags ()
{
local SPARC64_CPUS="ultrasparc3 ultrasparc v9";
if [ "${CFLAGS/mtune}" != "${CFLAGS}" ]; then
for x in ${SPARC64_CPUS};
do
CFLAGS="${CFLAGS/-mcpu=${x}/-mcpu=v8}";
done;
else
for x in ${SPARC64_CPUS};
do
CFLAGS="${CFLAGS/-mcpu=${x}/-mcpu=v8 -mtune=${x}}";
done;
fi;
if [ "${CXXFLAGS/mtune}" != "${CXXFLAGS}" ]; then
for x in ${SPARC64_CPUS};
do
CXXFLAGS="${CXXFLAGS/-mcpu=${x}/-mcpu=v8}";
done;
else
for x in ${SPARC64_CPUS};
do
CXXFLAGS="${CXXFLAGS/-mcpu=${x}/-mcpu=v8 -mtune=${x}}";
done;
fi;
export CFLAGS CXXFLAGS
}
seq ()
{
local p=$(type -P seq);
case $# in
1)
min=1 max=$1 step=1
;;
2)
min=$1 max=$2 step=1
;;
3)
min=$1 max=$3 step=$2
;;
*)
diefunc "$FUNCNAME" "$LINENO" "$?" "seq called with wrong number of arguments"
;;
esac;
if [[ -z ${p} ]]; then
local reps;
if [[ ${step} != 0 ]]; then
reps=$(( ($max-$min) / $step +1 ));
else
reps=0;
fi;
jot $reps $min $max $step;
else
"${p}" $min $step $max;
fi
}
setup-allowed-flags ()
{
if [[ -z ${ALLOWED_FLAGS} ]]; then
export ALLOWED_FLAGS="-pipe";
export ALLOWED_FLAGS="${ALLOWED_FLAGS} -O -O0 -O1 -O2 -mcpu -march -mtune";
export ALLOWED_FLAGS="${ALLOWED_FLAGS} -fstack-protector -fstack-protector-all";
export ALLOWED_FLAGS="${ALLOWED_FLAGS} -fbounds-checking";
export ALLOWED_FLAGS="${ALLOWED_FLAGS} -fno-PIE -fno-pie -fno-unit-at-a-time";
export ALLOWED_FLAGS="${ALLOWED_FLAGS} -g -g[0-9] -ggdb -ggdb[0-9] -gstabs -gstabs+";
export ALLOWED_FLAGS="${ALLOWED_FLAGS} -fno-ident";
export ALLOWED_FLAGS="${ALLOWED_FLAGS} -W* -w";
fi;
ALLOWED_FLAGS="${ALLOWED_FLAGS} -fno-stack-protector -fno-stack-protector-all -fno-strict-aliasing -fno-bounds-checking";
ALLOWED_FLAGS="${ALLOWED_FLAGS} -mregparm -mno-app-regs -mapp-regs -mno-mmx -mno-sse -mno-sse2 -mno-sse3 -mno-3dnow -mips1 -mips2 -mips3 -mips4 -mips32 -mips64 -mips16 -msoft-float -mno-soft-float -mhard-float -mno-hard-float -mfpu -mieee -mieee-with-inexact -mschedule -mtls-direct-seg-refs -mno-tls-direct-seg-refs -mflat -mno-flat -mno-faster-structs -mfaster-structs -m32 -m64 -mabi -mlittle-endian -mbig-endian -EL -EB -fPIC -mlive-g0 -mcmodel -mstack-bias -mno-stack-bias -msecure-plt -D*";
export UNSTABLE_FLAGS="-Os -O3 -freorder-blocks";
return 0
}
setup_modules ()
{
local mod_type=;
if use static; then
mod_type="static";
else
mod_type="shared";
fi;
MY_CONF="--enable-so=static";
if use ldap; then
if ! built_with_use 'dev-libs/apr-util' ldap; then
eerror "dev-libs/apr-util is missing LDAP support. For apache to have";
eerror "ldap support, apr-util must be built with the ldap USE-flag";
eerror "enabled.";
diefunc "$FUNCNAME" "$LINENO" "$?" "ldap USE-flag enabled while not supported in apr-util";
fi;
MY_CONF="${MY_CONF} --enable-authnz_ldap=${mod_type} --enable-ldap=${mod_type}";
MY_MODS="${MY_MODS} ldap authnz_ldap";
else
MY_CONF="${MY_CONF} --disable-authnz_ldap --disable-ldap";
fi;
if use ssl; then
MY_CONF="${MY_CONF} --with-ssl=/usr --enable-ssl=${mod_type}";
MY_MODS="${MY_MODS} ssl";
else
MY_CONF="${MY_CONF} --without-ssl --disable-ssl";
fi;
if use threads || has ${MY_MPM} ${IUSE_MPMS_THREAD}; then
MY_CONF="${MY_CONF} --enable-cgid=${mod_type}";
MY_MODS="${MY_MODS} cgid";
else
MY_CONF="${MY_CONF} --enable-cgi=${mod_type}";
MY_MODS="${MY_MODS} cgi";
fi;
if use suexec; then
elog "You can manipulate several configure options of suexec";
elog "through the following environment variables:";
elog;
elog " SUEXEC_SAFEPATH: Default PATH for suexec (default: /usr/local/bin:/usr/bin:/bin)";
elog " SUEXEC_LOGFILE: Path to the suexec logfile (default: /var/log/apache2/suexec_log)";
elog " SUEXEC_CALLER: Name of the user Apache is running as (default: apache)";
elog " SUEXEC_DOCROOT: Directory in which suexec will run scripts (default: /var/www)";
elog " SUEXEC_MINUID: Minimum UID, which is allowed to run scripts via suexec (default: 1000)";
elog " SUEXEC_MINGID: Minimum GID, which is allowed to run scripts via suexec (default: 100)";
elog " SUEXEC_USERDIR: User subdirectories (like /home/user/html) (default: public_html)";
elog " SUEXEC_UMASK: Umask for the suexec process (default: 077)";
elog;
MY_CONF="${MY_CONF} --with-suexec-safepath=${SUEXEC_SAFEPATH:-/usr/local/bin:/usr/bin:/bin}";
MY_CONF="${MY_CONF} --with-suexec-logfile=${SUEXEC_LOGFILE:-/var/log/apache2/suexec_log}";
MY_CONF="${MY_CONF} --with-suexec-bin=/usr/sbin/suexec";
MY_CONF="${MY_CONF} --with-suexec-userdir=${SUEXEC_USERDIR:-public_html}";
MY_CONF="${MY_CONF} --with-suexec-caller=${SUEXEC_CALLER:-apache}";
MY_CONF="${MY_CONF} --with-suexec-docroot=${SUEXEC_DOCROOT:-/var/www}";
MY_CONF="${MY_CONF} --with-suexec-uidmin=${SUEXEC_MINUID:-1000}";
MY_CONF="${MY_CONF} --with-suexec-gidmin=${SUEXEC_MINGID:-100}";
MY_CONF="${MY_CONF} --with-suexec-umask=${SUEXEC_UMASK:-077}";
MY_CONF="${MY_CONF} --enable-suexec=${mod_type}";
MY_MODS="${MY_MODS} suexec";
else
MY_CONF="${MY_CONF} --disable-suexec";
fi;
for x in ${IUSE_MODULES};
do
if use apache2_modules_${x}; then
MY_CONF="${MY_CONF} --enable-${x}=${mod_type}";
MY_MODS="${MY_MODS} ${x}";
else
MY_CONF="${MY_CONF} --disable-${x}";
fi;
done;
MY_MODS=$(echo ${MY_MODS} | tr ' ' '\n' | sort -u);
check_module_depends;
check_module_critical
}
setup_mpm ()
{
for x in ${IUSE_MPMS};
do
if use apache2_mpms_${x}; then
if [[ -z "${MY_MPM}" ]]; then
MY_MPM=${x};
elog;
elog "Selected MPM: ${MY_MPM}";
elog;
else
eerror "You have selected more then one mpm USE-flag.";
eerror "Only one MPM is supported.";
diefunc "$FUNCNAME" "$LINENO" "$?" "more then one mpm was specified";
fi;
fi;
done;
if [[ -z "${MY_MPM}" ]]; then
if use threads; then
MY_MPM=worker;
elog;
elog "Selected default threaded MPM: ${MY_MPM}";
elog;
else
MY_MPM=prefork;
elog;
elog "Selected default MPM: ${MY_MPM}";
elog;
fi;
fi;
if has ${MY_MPM} ${IUSE_MPMS_THREAD} && ! use threads; then
eerror "You have selected a threaded MPM but USE=threads is disabled";
diefunc "$FUNCNAME" "$LINENO" "$?" "invalid use flag combination";
fi;
if has ${MY_MPM} ${IUSE_MPMS_FORK} && use threads; then
eerror "You have selected a non-threaded MPM but USE=threads is enabled";
diefunc "$FUNCNAME" "$LINENO" "$?" "invalid use flag combination";
fi
}
src_compile ()
{
apache-2_src_compile $@
}
src_install ()
{
apache-2_src_install $@
}
src_test ()
{
if emake -j1 check -n >&/dev/null; then
vecho ">>> Test phase [check]: ${CATEGORY}/${PF}";
if ! emake -j1 check; then
hasq test $FEATURES && diefunc "$FUNCNAME" "$LINENO" "$?" "Make check failed. See above for details.";
hasq test $FEATURES || eerror "Make check failed. See above for details.";
fi;
else
if emake -j1 test -n >&/dev/null; then
vecho ">>> Test phase [test]: ${CATEGORY}/${PF}";
if ! emake -j1 test; then
hasq test $FEATURES && diefunc "$FUNCNAME" "$LINENO" "$?" "Make test failed. See above for details.";
hasq test $FEATURES || eerror "Make test failed. See above for details.";
fi;
else
vecho ">>> Test phase [none]: ${CATEGORY}/${PF}";
fi;
fi
}
src_unpack ()
{
if ! use sni; then
EPATCH_EXCLUDE="04_all_mod_ssl_tls_sni.patch";
fi;
apache-2_src_unpack
}
strip-flags ()
{
local x y flag NEW_CFLAGS NEW_CXXFLAGS;
setup-allowed-flags;
local NEW_CFLAGS="";
local NEW_CXXFLAGS="";
if has ~$(tc-arch) ${ACCEPT_KEYWORDS}; then
ALLOWED_FLAGS="${ALLOWED_FLAGS} ${UNSTABLE_FLAGS}";
fi;
set -f;
for x in ${CFLAGS};
do
for y in ${ALLOWED_FLAGS};
do
flag=${x%%=*};
if [ "${flag%%${y}}" = "" ]; then
NEW_CFLAGS="${NEW_CFLAGS} ${x}";
break;
fi;
done;
done;
for x in ${CXXFLAGS};
do
for y in ${ALLOWED_FLAGS};
do
flag=${x%%=*};
if [ "${flag%%${y}}" = "" ]; then
NEW_CXXFLAGS="${NEW_CXXFLAGS} ${x}";
break;
fi;
done;
done;
if [ "${CFLAGS/-O}" != "${CFLAGS}" -a "${NEW_CFLAGS/-O}" = "${NEW_CFLAGS}" ]; then
NEW_CFLAGS="${NEW_CFLAGS} -O2";
fi;
if [ "${CXXFLAGS/-O}" != "${CXXFLAGS}" -a "${NEW_CXXFLAGS/-O}" = "${NEW_CXXFLAGS}" ]; then
NEW_CXXFLAGS="${NEW_CXXFLAGS} -O2";
fi;
set +f;
export CFLAGS="${NEW_CFLAGS}";
export CXXFLAGS="${NEW_CXXFLAGS}";
return 0
}
strip-linguas ()
{
local ls newls nols;
if [[ $1 == "-i" ]] || [[ $1 == "-u" ]]; then
local op=$1;
shift;
ls=$(find "$1" -name '*.po' -exec basename {} .po \;);
shift;
local d f;
for d in "$@";
do
if [[ ${op} == "-u" ]]; then
newls=${ls};
else
newls="";
fi;
for f in $(find "$d" -name '*.po' -exec basename {} .po \;);
do
if [[ ${op} == "-i" ]]; then
hasq ${f} ${ls} && newls="${newls} ${f}";
else
hasq ${f} ${ls} || newls="${newls} ${f}";
fi;
done;
ls=${newls};
done;
else
ls="$@";
fi;
nols="";
newls="";
for f in ${LINGUAS};
do
if hasq ${f} ${ls}; then
newls="${newls} ${f}";
else
nols="${nols} ${f}";
fi;
done;
[[ -n ${nols} ]] && ewarn "Sorry, but ${PN} does not support the LINGUAs:" ${nols};
export LINGUAS=${newls:1}
}
strip-unsupported-flags ()
{
export CFLAGS=$(test-flags-CC ${CFLAGS});
export CXXFLAGS=$(test-flags-CXX ${CXXFLAGS})
}
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*)
ninj i386 x86
;;
ia64*)
echo ia64
;;
m68*)
echo m68k
;;
mips*)
echo mips
;;
nios2*)
echo nios2
;;
nios*)
echo nios
;;
powerpc*)
if [[ $(KV_to_int ${KV}) -ge $(KV_to_int 2.6.16) ]] && [[ ${type} == "kern" ]]; then
echo powerpc;
else
if [[ $(KV_to_int ${KV}) -eq $(KV_to_int 2.6.15) ]] && [[ ${type} == "kern" ]]; then
if [[ ${host} == powerpc64* ]] || [[ ${PROFILE_ARCH} == "ppc64" ]]; then
echo powerpc;
else
echo ppc;
fi;
else
if [[ ${host} == powerpc64* ]]; then
echo ppc64;
else
if [[ ${PROFILE_ARCH} == "ppc64" ]]; then
ninj ppc64 ppc;
else
echo ppc;
fi;
fi;
fi;
fi
;;
s390*)
echo s390
;;
sh64*)
ninj sh64 sh
;;
sh*)
echo sh
;;
sparc64*)
ninj sparc64 sparc
;;
sparc*)
[[ ${PROFILE_ARCH} == "sparc64" ]] && ninj sparc64 sparc || echo sparc
;;
vax*)
echo vax
;;
x86_64*)
ninj x86_64 amd64
;;
*)
echo unknown
;;
esac
}
test-flag-CC ()
{
test-flag-PROG "CC" "$1"
}
test-flag-CXX ()
{
test-flag-PROG "CXX" "$1"
}
test-flag-PROG ()
{
local comp=$1;
local flags="$2";
[[ -z ${comp} || -z ${flags} ]] && return 1;
local PROG=$(tc-get${comp});
${PROG} ${flags} -S -o /dev/null -xc /dev/null > /dev/null 2>&1
}
test-flags ()
{
test-flags-CC "$@"
}
test-flags-CC ()
{
test-flags-PROG "CC" "$@"
}
test-flags-CXX ()
{
test-flags-PROG "CXX" "$@"
}
test-flags-PROG ()
{
local comp=$1;
local flags;
local x;
shift;
[[ -z ${comp} ]] && return 1;
x="";
for x in "$@";
do
test-flag-${comp} "${x}" && flags="${flags}${flags:+ }${x}";
done;
echo "${flags}";
[[ -n ${flags} ]]
}
test_flag ()
{
ewarn "test_flag: deprecated, please use test-flags()!" 1>&2;
test-flags-CC "$@"
}
test_version_info ()
{
if [[ $($(tc-getCC) --version 2>&1) == *$1* ]]; then
return 0;
else
return 1;
fi
}
treecopy ()
{
dest=${!#};
files_count=$#;
while (( $# > 1 )); do
dirstruct=$(dirname "$1");
mkdir -p "${dest}/${dirstruct}";
cp -pPR "$1" "${dest}/${dirstruct}";
shift;
done
}
uclibctoolize ()
{
ewarn "uclibctoolize() is deprecated, please just use elibtoolize()!";
elibtoolize
}
unpack_makeself ()
{
local src_input=${1:-${A}};
local src=$(find_unpackable_file "${src_input}");
local skip=$2;
local exe=$3;
[[ -z ${src} ]] && diefunc "$FUNCNAME" "$LINENO" "$?" "Could not locate source for '${src_input}'";
local shrtsrc=$(basename "${src}");
echo ">>> Unpacking ${shrtsrc} to ${PWD}";
if [[ -z ${skip} ]]; then
local ver=$(grep -a '#.*Makeself' "${src}" | awk '{print $NF}');
local skip=0;
exe=tail;
case ${ver} in
1.5.* | 1.6.0-nv)
skip=$(grep -a ^skip= "${src}" | cut -d= -f2)
;;
2.0 | 2.0.1)
skip=$(grep -a ^' 'tail "${src}" | awk '{print $2}' | cut -b2-)
;;
2.1.1)
skip=$(grep -a ^offset= "${src}" | awk '{print $2}' | cut -b2-);
let skip="skip + 1"
;;
2.1.2)
skip=$(grep -a ^offset= "${src}" | awk '{print $3}' | head -n 1);
let skip="skip + 1"
;;
2.1.3)
skip=`grep -a ^offset= "${src}" | awk '{print $3}'`;
let skip="skip + 1"
;;
2.1.4 | 2.1.5)
skip=$(grep -a offset=.*head.*wc "${src}" | awk '{print $3}' | head -n 1);
skip=$(head -n ${skip} "${src}" | wc -c);
exe="dd"
;;
*)
eerror "I'm sorry, but I was unable to support the Makeself file.";
eerror "The version I detected was '${ver}'.";
eerror "Please file a bug about the file ${shrtsrc} at";
eerror "http://bugs.gentoo.org/ so that support can be added.";
diefunc "$FUNCNAME" "$LINENO" "$?" "makeself version '${ver}' not supported"
;;
esac;
debug-print "Detected Makeself version ${ver} ... using ${skip} as offset";
fi;
case ${exe} in
tail)
exe="tail -n +${skip} '${src}'"
;;
dd)
exe="dd ibs=${skip} skip=1 obs=1024 conv=sync if='${src}'"
;;
*)
diefunc "$FUNCNAME" "$LINENO" "$?" "makeself cant handle exe '${exe}'"
;;
esac;
local tmpfile=$(emktemp);
eval ${exe} 2> /dev/null | head -c 512 > "${tmpfile}";
local filetype=$(file -b "${tmpfile}");
case ${filetype} in
*tar\ archive*)
eval ${exe} | tar --no-same-owner -xf -
;;
bzip2*)
eval ${exe} | bzip2 -dc | tar --no-same-owner -xf -
;;
gzip*)
eval ${exe} | tar --no-same-owner -xzf -
;;
compress*)
eval ${exe} | gunzip | tar --no-same-owner -xf -
;;
*)
eerror "Unknown filetype \"${filetype}\" ?";
false
;;
esac;
_pipestatus="${PIPESTATUS[*]}";
[[ "${_pipestatus// /}" -eq 0 ]] || diefunc "$FUNCNAME" "$LINENO" "$_pipestatus" "failure unpacking (${filetype}) makeself ${shrtsrc} ('${ver}' +${skip})"
}
unpack_pdv ()
{
local src=$(find_unpackable_file "$1");
local sizeoff_t=$2;
[[ -z ${src} ]] && diefunc "$FUNCNAME" "$LINENO" "$?" "Could not locate source for '$1'";
[[ -z ${sizeoff_t} ]] && diefunc "$FUNCNAME" "$LINENO" "$?" "No idea what off_t size was used for this pdv :(";
local shrtsrc=$(basename "${src}");
echo ">>> Unpacking ${shrtsrc} to ${PWD}";
local metaskip=$(tail -c ${sizeoff_t} "${src}" | hexdump -e \"%i\");
local tailskip=$(tail -c $((${sizeoff_t}*2)) "${src}" | head -c ${sizeoff_t} | hexdump -e \"%i\");
local metafile=$(emktemp);
tail -c +$((${metaskip}+1)) "${src}" > "${metafile}";
local datafile=$(tail -c +$((${metaskip}+1)) "${src}" | strings | head -n 1);
datafile=$(basename "${datafile}");
local tmpfile=$(emktemp);
tail -c +$((${tailskip}+1)) ${src} 2> /dev/null | head -c 512 > ${tmpfile};
local iscompressed=$(file -b "${tmpfile}");
if [[ ${iscompressed:0:8} == "compress" ]]; then
iscompressed=1;
mv ${tmpfile}{,.Z};
gunzip ${tmpfile};
else
iscompressed=0;
fi;
local istar=$(file -b "${tmpfile}");
if [[ ${istar:0:9} == "POSIX tar" ]]; then
istar=1;
else
istar=0;
fi;
if [ ${iscompressed} -eq 1 ]; then
if [ ${istar} -eq 1 ]; then
tail -c +$((${tailskip}+1)) ${src} 2> /dev/null | head -c $((${metaskip}-${tailskip})) | tar -xzf -;
else
tail -c +$((${tailskip}+1)) ${src} 2> /dev/null | head -c $((${metaskip}-${tailskip})) | gzip -dc > ${datafile};
fi;
else
if [ ${istar} -eq 1 ]; then
tail -c +$((${tailskip}+1)) ${src} 2> /dev/null | head -c $((${metaskip}-${tailskip})) | tar --no-same-owner -xf -;
else
tail -c +$((${tailskip}+1)) ${src} 2> /dev/null | head -c $((${metaskip}-${tailskip})) > ${datafile};
fi;
fi;
true
}
uses_apache2 ()
{
debug-print-function $FUNCNAME $*;
APACHE_VERSION="2";
USE_APACHE="2";
APXS="${APXS2}";
APACHECTL="${APACHECTL2}";
APACHE_BASEDIR="${APACHE2_BASEDIR}";
APACHE_CONFDIR="${APACHE2_CONFDIR}";
APACHE_MODULES_CONFDIR="${APACHE2_MODULES_CONFDIR}";
APACHE_VHOSTSDIR="${APACHE2_VHOSTSDIR}";
APACHE_MODULESDIR="${APACHE2_MODULESDIR}"
}
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
}
want_apache ()
{
debug-print-function $FUNCNAME $*;
IUSE="${IUSE} apache2";
DEPEND="${DEPEND} ${WANT_APACHE_DEPEND}";
RDEPEND="${RDEPEND} ${WANT_APACHE_DEPEND}";
if use apache2; then
uses_apache2;
else
doesnt_use_apache;
fi
}
declare -x ACCEPT_KEYWORDS="x86"
declare -x ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1 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 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 APACHE2_MPMS="worker"
declare -x ARCH="x86"
declare -x AUTOCLEAN="yes"
declare -x BUILD_PREFIX="/var/tmp/portage"
declare -x CBUILD="i686-pc-linux-gnu"
declare -x CDEFINE_default="__unix__"
declare -x CFLAGS="-march=prescott -O2 -pipe"
declare -x CFLAGS_default=""
declare -x CHOST="i686-pc-linux-gnu"
declare -x CHOST_default="i686-pc-linux-gnu"
declare -x CLASSPATH="."
declare -x CLEAN_DELAY="1"
declare -x CONFIG_PROTECT=""
declare -x CONFIG_PROTECT_MASK="/etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/php/apache2-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/cli-php5/ext-active/ /etc/splash /etc/terminfo /etc/udev/rules.d"
declare -x CTARGET_default="i686-pc-linux-gnu"
declare -x CVS_RSH="ssh"
declare -x CXXFLAGS="-march=prescott -O2 -pipe"
declare -x DEFAULT_ABI="default"
declare -x DEPEND="
apache2_modules_deflate? ( sys-libs/zlib ) =sys-devel/automake-1.10*
>=sys-devel/autoconf-2.61
sys-devel/libtool dev-lang/perl
=dev-libs/apr-1*
=dev-libs/apr-util-1*
dev-libs/libpcre
ldap? ( =net-nds/openldap-2* )
selinux? ( sec-policy/selinux-apache )
ssl? ( dev-libs/openssl )
!=www-servers/apache-1*"
declare -x DESCRIPTION="The Apache Web Server."
declare -x DESTTREE="/usr"
declare -x DIROPTIONS="-m0755"
declare -x DISTDIR="/var/tmp/portage/www-servers/apache-2.2.6-r6/distdir"
declare -x EAPI="0"
declare -x EBEEP_IGNORE="1"
declare -x ECLASS=""
declare -x ECLASSDIR="/usr/portage/eclass"
declare -ix ECLASS_DEPTH="0"
declare -x EDITOR="/bin/nano"
declare -x ELIBC="glibc"
declare -x ELT_APPLIED_PATCHES=""
declare -x ELT_LTMAIN_SH=""
declare -x EMERGE_DEFAULT_OPTS=""
declare -x EMERGE_WARNING_DELAY="10"
declare -x EPAUSE_IGNORE="1"
declare -x EXEOPTIONS="-m0755"
declare -x FEATURES="buildpkg distlocks fixpackages metadata-transfer parallel-fetch sandbox sfperms splitdebug strict unmerge-orphans userfetch"
declare -x FETCHCOMMAND="/usr/bin/wget -t 5 -T 60 --passive-ftp -O \${DISTDIR}/\${FILE} \${URI}"
declare -x GCC_PATH="/usr/i686-pc-linux-gnu/gcc-bin/4.1.2"
declare -x GCC_SPECS=""
declare -x GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/linux/distributions/gentoo"
declare -x HOME="/var/tmp/portage/www-servers/apache-2.2.6-r6/homedir"
declare -x HOMEPAGE="http://httpd.apache.org/"
declare -x INFOPATH="/usr/share/info:/usr/share/binutils-data/i686-pc-linux-gnu/2.18/info:/usr/share/gcc-data/i686-pc-linux-gnu/4.1.2/info"
declare -x INHERITED="depend.apache toolchain-funcs portability flag-o-matic multilib libtool autotools eutils apache-2"
declare -x INPUT_DEVICES="keyboard mouse evdev"
declare -x INSDESTTREE=""
declare -x INSOPTIONS="-m0644"
declare -x IUSE=" sni debug doc ldap selinux ssl static suexec threads apache2_modules_actions apache2_modules_alias apache2_modules_asis apache2_modules_auth_basic apache2_modules_auth_digest apache2_modules_authn_alias apache2_modules_authn_anon apache2_modules_authn_dbd apache2_modules_authn_dbm apache2_modules_authn_default apache2_modules_authn_file apache2_modules_authz_dbm apache2_modules_authz_default apache2_modules_authz_groupfile apache2_modules_authz_host apache2_modules_authz_owner apache2_modules_authz_user apache2_modules_autoindex apache2_modules_cache apache2_modules_cern_meta apache2_modules_charset_lite apache2_modules_dav apache2_modules_dav_fs apache2_modules_dav_lock apache2_modules_dbd apache2_modules_deflate apache2_modules_dir apache2_modules_disk_cache apache2_modules_dumpio apache2_modules_env apache2_modules_expires apache2_modules_ext_filter apache2_modules_file_cache apache2_modules_filter apache2_modules_headers apache2_modules_ident apache2_modules_imagemap apache2_modules_include apache2_modules_info apache2_modules_log_config apache2_modules_log_forensic apache2_modules_logio apache2_modules_mem_cache apache2_modules_mime apache2_modules_mime_magic apache2_modules_negotiation apache2_modules_proxy apache2_modules_proxy_ajp apache2_modules_proxy_balancer apache2_modules_proxy_connect apache2_modules_proxy_ftp apache2_modules_proxy_http apache2_modules_rewrite apache2_modules_setenvif apache2_modules_speling apache2_modules_status apache2_modules_unique_id apache2_modules_userdir apache2_modules_usertrack apache2_modules_version apache2_modules_vhost_alias apache2_mpms_itk apache2_mpms_peruser apache2_mpms_prefork apache2_mpms_event apache2_mpms_worker"
declare -x KERNEL="linux"
declare -x KERNEL_ABI="default"
declare -x KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd"
declare -x KV="2.6.23-gentoo-r3"
declare -x LANG="en_US.UTF-8"
declare -x LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text"
declare -x LC_ALL="en_US.UTF-8"
declare -x LDFLAGS=" -Wl,--no-as-needed"
declare -x LDFLAGS_default=""
declare -x LESS="-R -M --shift 5"
declare -x LESSOPEN="|lesspipe.sh %s"
declare -x LIBDIR_default="lib"
declare -x LIBOPTIONS="-m0644"
declare -x LICENSE="Apache-2.0 Apache-1.1"
declare -x LOGNAME="root"
declare -x LS_COLORS="no=00:fi=00:di=01;34:ln=01;36:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=01;05;37;41:mi=01;05;37;41:su=37;41:sg=30;43:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.gz=01;31:*.bz2=01;31:*.bz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.rar=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.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:*.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:"
declare -x MAKEOPTS="--jobs=20"
declare -x MANPATH="/usr/local/share/man:/usr/share/man:/usr/share/binutils-data/i686-pc-linux-gnu/2.18/man:/usr/share/gcc-data/i686-pc-linux-gnu/4.1.2/man:/usr/lib/php5/man/"
declare -x MOPREFIX="apache"
declare -x MULTILIB_ABIS="default"
declare -x O="/usr/portage/www-servers/apache"
declare -x OLDPWD="/var/tmp/portage/www-servers/apache-2.2.6-r6"
declare -x PAGER="/usr/bin/less"
declare -x PATH="/usr/lib/icecc/bin:/usr/local/sbin:/sbin:/usr/sbin:/usr/lib/portage/bin:/usr/local/bin:/bin:/usr/bin:/opt/bin:/usr/i686-pc-linux-gnu/gcc-bin/4.1.2"
declare -x PDEPEND=" ~app-admin/apache-tools-2.2.6"
declare -x PKGDIR="/tmp/packages"
declare -x PKGLIST="apache"
declare -x PKGUSE="ldap ssl threads"
declare -x PKG_LOGDIR="/var/tmp/portage/www-servers/apache-2.2.6-r6/temp/logging"
declare -x PKG_TMPDIR="/var/tmp/binpkgs"
declare -x PORTAGE_ARCHLIST="ppc s390 amd64 x86 ppc64 x86-fbsd m68k arm sparc sh mips ia64 alpha ppc-macos hppa sparc-fbsd"
declare -x PORTAGE_BASHRC="/etc/portage/bashrc"
declare -x PORTAGE_BINHOST_CHUNKSIZE="3000"
declare -x PORTAGE_BUILDDIR="/var/tmp/portage/www-servers/apache-2.2.6-r6"
declare -x PORTAGE_COLORMAP="GOOD=\$'[32;01m'
WARN=\$'[33;01m'
BAD=\$'[31;01m'
HILITE=\$'[36m'
BRACKET=\$'[34;01m'"
declare -x PORTAGE_CONFIGROOT="/"
declare -x PORTAGE_DEBUG="0"
declare -x PORTAGE_DEPCACHEDIR="/var/cache/edb/dep"
declare -x PORTAGE_ELOG_CLASSES="log warn error"
declare -x PORTAGE_ELOG_MAILFROM="portage@localhost"
declare -x PORTAGE_ELOG_MAILSUBJECT="[portage] ebuild log for \${PACKAGE} on \${HOST}"
declare -x PORTAGE_ELOG_MAILURI="root"
declare -x PORTAGE_ELOG_SYSTEM="save_summary echo"
declare -x PORTAGE_GID="250"
declare -x PORTAGE_INST_GID="0"
declare -x PORTAGE_INST_UID="0"
declare -x PORTAGE_LOG_FILE="/var/tmp/portage/www-servers/apache-2.2.6-r6/temp/build.log"
declare -x PORTAGE_MASTER_PID="12418"
declare -x PORTAGE_REPO_NAME="gentoo"
declare -x PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --filter=H_**/files/digest-*"
declare -x PORTAGE_RSYNC_RETRIES="3"
declare -x PORTAGE_WORKDIR_MODE="0700"
declare -x PORTDIR="/usr/portage"
declare -x PRELINK_PATH_MASK="/usr/lib/klibc"
declare -x PROFILE_PATHS="/usr/portage/profiles/base
/usr/portage/profiles/default-linux
/usr/portage/profiles/default-linux/x86
/usr/portage/profiles/default-linux/x86/2007.0
/etc/portage/profile"
declare -x PWD="/var/tmp/portage/www-servers/apache-2.2.6-r6/build-info"
declare -x PYTHONPATH="/usr/lib/portage/pym"
declare -x QMAKESPEC="linux-g++"
declare -x RDEPEND="
apache2_modules_mime? ( app-misc/mime-types ) dev-lang/perl
=dev-libs/apr-1*
=dev-libs/apr-util-1*
dev-libs/libpcre
ldap? ( =net-nds/openldap-2* )
selinux? ( sec-policy/selinux-apache )
ssl? ( dev-libs/openssl )
!=www-servers/apache-1*"
declare -x RESTRICT=""
declare -x RESUMECOMMAND="/usr/bin/wget -c -t 5 -T 60 --passive-ftp -O \${DISTDIR}/\${FILE} \${URI}"
declare -x ROOT="/"
declare -x ROOTPATH="/opt/bin:/usr/i686-pc-linux-gnu/gcc-bin/4.1.2"
declare -x RPMDIR="/usr/portage/rpm"
declare -x S="/var/tmp/portage/www-servers/apache-2.2.6-r6/work/httpd-2.2.6"
declare -x SANDBOX_ON="1"
declare -x SANDBOX_PREDICT=":/proc/self/maps:/dev/console:/dev/random:/usr/lib/portage/pym:/var/cache/edb/dep"
declare -x SANDBOX_READ=":/dev/shm:/dev/stdin:/var/tmp"
declare -x SANDBOX_WRITE=":/dev/shm:/dev/stdout:/dev/stderr:/var/tmp"
declare -x SHLVL="5"
declare -x SLOT="2"
declare -x STAGE1_USE="nptl nptlonly unicode"
declare -x STARTDIR="/"
declare -x SUDO_COMMAND="/bin/bash -l"
declare -x SUDO_GID="1000"
declare -x SUDO_UID="1000"
declare -x SUDO_USER="tmh"
declare -x SYNC="rsync://rsync.gentoo.org/gentoo-portage"
declare -x TERM="xterm"
declare -x USE="acl alsa_cards_ali5451 alsa_cards_als4000 alsa_cards_atiixp alsa_cards_atiixp-modem alsa_cards_bt87x alsa_cards_ca0106 alsa_cards_cmipci alsa_cards_emu10k1 alsa_cards_emu10k1x alsa_cards_ens1370 alsa_cards_ens1371 alsa_cards_es1938 alsa_cards_es1968 alsa_cards_fm801 alsa_cards_hda-intel alsa_cards_intel8x0 alsa_cards_intel8x0m alsa_cards_maestro3 alsa_cards_trident alsa_cards_usb-audio alsa_cards_via82xx alsa_cards_via82xx-modem alsa_cards_ymfpci alsa_pcm_plugins_adpcm alsa_pcm_plugins_alaw alsa_pcm_plugins_asym alsa_pcm_plugins_copy alsa_pcm_plugins_dmix alsa_pcm_plugins_dshare alsa_pcm_plugins_dsnoop alsa_pcm_plugins_empty alsa_pcm_plugins_extplug alsa_pcm_plugins_file alsa_pcm_plugins_hooks alsa_pcm_plugins_iec958 alsa_pcm_plugins_ioplug alsa_pcm_plugins_ladspa alsa_pcm_plugins_lfloat alsa_pcm_plugins_linear alsa_pcm_plugins_meter alsa_pcm_plugins_mulaw alsa_pcm_plugins_multi alsa_pcm_plugins_null alsa_pcm_plugins_plug alsa_pcm_plugins_rate alsa_pcm_plugins_route alsa_pcm_plugins_share alsa_pcm_plugins_shm alsa_pcm_plugins_softvol apache2_modules_actions apache2_modules_alias apache2_modules_auth_basic apache2_modules_authn_alias apache2_modules_authn_anon apache2_modules_authn_dbm apache2_modules_authn_default apache2_modules_authn_file apache2_modules_authz_dbm apache2_modules_authz_default apache2_modules_authz_groupfile apache2_modules_authz_host apache2_modules_authz_owner apache2_modules_authz_user apache2_modules_autoindex apache2_modules_cache apache2_modules_dav apache2_modules_dav_fs apache2_modules_dav_lock apache2_modules_deflate apache2_modules_dir apache2_modules_disk_cache apache2_modules_env apache2_modules_expires apache2_modules_ext_filter apache2_modules_file_cache apache2_modules_filter apache2_modules_headers apache2_modules_include apache2_modules_info apache2_modules_log_config apache2_modules_logio apache2_modules_mem_cache apache2_modules_mime apache2_modules_mime_magic apache2_modules_negotiation apache2_modules_rewrite apache2_modules_setenvif apache2_modules_speling apache2_modules_status apache2_modules_unique_id apache2_modules_userdir apache2_modules_usertrack apache2_modules_vhost_alias apache2_mpms_worker berkdb bitmap-fonts cli cracklib crypt cups dri elibc_glibc fortran gdbm gpm iconv input_devices_evdev input_devices_keyboard input_devices_mouse ipv6 isdnlog kernel_linux lcd_devices_bayrad lcd_devices_cfontz lcd_devices_cfontz633 lcd_devices_glk lcd_devices_hd44780 lcd_devices_lb216 lcd_devices_lcdm001 lcd_devices_mtxorb lcd_devices_ncurses lcd_devices_text ldap midi mudflap ncurses nls nptl nptlonly openmp pam pcre perl pppd python readline reflection session spl ssl tcpd threads truetype-fonts type1-fonts unicode userland_GNU video_cards_apm video_cards_ark video_cards_chips video_cards_cirrus video_cards_cyrix video_cards_dummy video_cards_fbdev video_cards_glint video_cards_i128 video_cards_i740 video_cards_i810 video_cards_imstt video_cards_mach64 video_cards_mga video_cards_neomagic video_cards_nsc video_cards_nv video_cards_r128 video_cards_radeon video_cards_rendition video_cards_s3 video_cards_s3virge video_cards_savage video_cards_siliconmotion video_cards_sis video_cards_sisusb video_cards_tdfx video_cards_tga video_cards_trident video_cards_tseng video_cards_v4l video_cards_vesa video_cards_vga video_cards_via video_cards_vmware video_cards_voodoo x86 xorg zlib"
declare -x USER="root"
declare -x USERLAND="GNU"
declare -x 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"
declare -x USE_EXPAND_HIDDEN="CROSSCOMPILE_OPTS ELIBC KERNEL USERLAND"
declare -x USE_ORDER="env:pkg:conf:defaults:pkginternal:env.d"
declare -x VIDEO_CARDS="apm ark chips cirrus cyrix dummy fbdev glint i128 i740 i810 imstt mach64 mga neomagic nsc nv r128 radeon rendition s3 s3virge savage siliconmotion sis sisusb tdfx tga trident tseng v4l vesa vga via vmware voodoo"
declare -x WANT_AUTOCONF="2.5"
declare -x WANT_AUTOMAKE="1.10"
declare -x XARGS="xargs -r"
declare -x _E_DOCDESTTREE_=""
declare -x _E_EXEDESTTREE_=""