Go to:
Gentoo Home
Documentation
Forums
Lists
Bugs
Planet
Store
Wiki
Get Gentoo!
Gentoo's Bugzilla – Attachment 33884 Details for
Bug 54785
gimp-2.0.2.ebuild complains about missing python header during configure
Home
|
New
–
[Ex]
|
Browse
|
Search
|
Privacy Policy
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
cat /var/tmp/portage/gimp-2.0.2/temp/environment
environment (text/plain), 86.73 KB, created by
Jörg Spanke
on 2004-06-22 11:53:29 UTC
(
hide
)
Description:
cat /var/tmp/portage/gimp-2.0.2/temp/environment
Filename:
MIME Type:
Creator:
Jörg Spanke
Created:
2004-06-22 11:53:29 UTC
Size:
86.73 KB
patch
obsolete
>A=gimp-2.0.2.tar.bz2 >AA=gimp-2.0.2.tar.bz2 >ACCEPT_KEYWORDS='amd64 ~amd64' >ACCEPT_LICENSE= >ALLOWED_FLAGS='-O -mcpu -march -pipe -g' >ARCH=amd64 >ARGS=unpack >AUTOCLEAN=yes >AUTO_SYMLINK=no >BAD=$'\E[31;01m' >BASH=/bin/bash >BASH_ENV=/etc/portage/bashrc >BASH_VERSINFO=([0]="2" [1]="05b" [2]="0" [3]="1" [4]="release" [5]="x86_64-pc-linux-gnu") >BASH_VERSION='2.05b.0(1)-release' >BRACKET=$'\E[34;01m' >BUILDDIR=/var/tmp/portage/gimp-2.0.2 >BUILD_PREFIX=/var/tmp/portage >CATEGORY=media-gfx >CC=gcc >CCACHE_DIR=/root/.ccache >CCACHE_SIZE=2G >CDEPEND=' ' >CFLAGS='-O2 -pipe' >CHOST=x86_64-pc-linux-gnu >CLASSPATH=/opt/blackdown-jdk-1.4.2_rc1/jre/lib/rt.jar:. >CLEAN_DELAY=5 >COLORTERM= >COLS=88 >COMPILER=gcc3 >CONFIG_PROTECT='/usr/X11R6/lib/X11/xkb /usr/kde/3.2/share/config /usr/share/texmf/tex/generic/config/ /usr/share/texmf/tex/platex/config/ /usr/share/texmf/dvips/config/ /usr/share/texmf/dvipdfm/config/ /usr/share/texmf/xdvi/ /usr/share/config' >CONFIG_PROTECT_MASK=/etc/terminfo >CVS_RSH=ssh >CXX=g++ >CXXFLAGS='-O2 -pipe' >D=/var/tmp/portage/gimp-2.0.2/image/ >DEPEND=$'>=dev-libs/glib-2.2\n\t>=x11-libs/gtk+-2.2.2\n\t>=x11-libs/pango-1.2.2\n\t>=media-libs/fontconfig-2.2\n\t>=media-libs/libart_lgpl-2.3.8-r1\n\tsys-libs/zlib\n\n\tgimpprint? ( =media-gfx/gimp-print-4.2* )\n\tgtkhtml? ( =gnome-extra/libgtkhtml-2* )\n\n\tpng? ( >=media-libs/libpng-1.2.1 )\n\tjpeg? ( >=media-libs/jpeg-6b-r2\n\t\tmedia-libs/libexif )\n\ttiff? ( >=media-libs/tiff-3.5.7 )\n\tmng? ( media-libs/libmng )\n\n\twmf? ( >=media-libs/libwmf-0.2.8 )\n\tsvg? ( >=gnome-base/librsvg-2.2 )\n\n\taalib?\t( media-libs/aalib )\n\tpython?\t( >=dev-lang/python-2.2\n\t\t>=dev-python/pygtk-2 )\n\n\tX? ( virtual/x11 )\n\t>=dev-util/pkgconfig-0.12.0\n\tdev-util/intltool\n\tdoc? ( >=dev-util/gtk-doc-1 ) !bootstrap? ( sys-devel/libtool ) !bootstrap? ( sys-devel/patch )' >DESCRIPTION='GNU Image Manipulation Program' >DESKTOP_SESSION=kde-3.2.1 >DESTTREE=/usr >DIROPTIONS=-m0755 >DIRSTACK=() >DISPLAY=:0.0 >DISTDIR=/usr/portage/distfiles >DOCDESTTREE= >EBUILD=/usr/portage/media-gfx/gimp/gimp-2.0.2.ebuild >EBUILD_PHASE=unpack >ECLASS= >ECLASSDIR=/usr/portage/eclass >ECLASS_DEPTH=0 >EDITOR=/bin/nano >ELIBTOOL_VERSION=2.0.1 >ELT_APPLIED_PATCHES= >ELT_PATCH_DIR=/usr/portage/eclass/ELT-patches >EMERGE_FROM=ebuild >ENDCOL=$'\E[A\E[88G' >EPATCH_EXCLUDE= >EPATCH_FORCE=no >EPATCH_OPTS=-g0 >EPATCH_SINGLE_MSG= >EPATCH_SOURCE=/var/tmp/portage/gimp-2.0.2/work/patch >EPATCH_SUFFIX=patch.bz2 >EUID=0 >EXEDESTTREE= >EXEOPTIONS=-m0755 >E_DEPEND=' !bootstrap? ( sys-devel/libtool ) !bootstrap? ( sys-devel/patch )' >FEATURES='autoaddcvs ccache sandbox' >FETCHCOMMAND='/usr/bin/wget -t 5 --passive-ftp -P ${DISTDIR} ${URI}' >FILESDIR=/usr/portage/media-gfx/gimp/files >GDK_USE_XFT=1 >GENTOO_MIRRORS='ftp://gentoo.inode.at/source/ http://gentoo.inode.at/ ftp://linux.rz.ruhr-uni-bochum.de/gentoo-mirror/ http://ftp.easynet.nl/mirror/gentoo/ http://linux.rz.ruhr-uni-bochum.de/download/gentoo-mirror/ http://gentoo.oregonstate.edu http://www.ibiblio.org/pub/Linux/distrib utions/gentoo' >GLIBC_SSP_CHECKED=1 >GOOD=$'\E[32;01m' >GROUPS=([0]="0" [1]="1" [2]="2" [3]="3" [4]="4" [5]="6" [6]="10" [7]="11" [8]="20" [9]="26" [10]="27") >GRP_STAGE23_USE='ipv6 pam tcpd readline nls ssl gpm perl python berkdb acl ncurses -java -nptl' >GS_LIB=/home/joerg/.fonts >GTK2_RC_FILES=/etc/gtk-2.0/gtkrc:/home/joerg/.gtkrc-2.0:/home/joerg/.kde3.2/share/config/gtkrc >GTK_RC_FILES=/etc/gtk/gtkrc:/home/joerg/.gtkrc:/home/joerg/.kde3.2/share/config/gtkrc >GUILE_LOAD_PATH=/usr/share/guile/1.6 >G_BROKEN_FILENAMES=1 >HILITE=$'\E[36;01m' >HOME=/root >HOMEPAGE=http://www.gimp.org/ >HOSTNAME=uslarer >HOSTTYPE=x86_64 >IFS=$' \t\n' >INFODIR=/usr/share/info:/usr/X11R6/info >INFOPATH=/usr/share/info:/usr/share/gcc-data/x86_64-pc-linux-gnu/3.3/info >INHERITED=' flag-o-matic libtool eutils flag-o-matic libtool eutils' >INPUTRC=/etc/inputrc >INSDESTTREE= >INSOPTIONS=-m0644 >IUSE='doc python aalib png jpeg tiff mng wmf gimpprint gtkhtml mmx sse X altivec debug' >JAVAC=/opt/blackdown-jdk-1.4.2_rc1/bin/javac >JAVA_HOME=/opt/blackdown-jdk-1.4.2_rc1 >JDK_HOME=/opt/blackdown-jdk-1.4.2_rc1 >KBUILD_OUTPUT_PREFIX= >KDEDIR=/usr/kde/3.2 >KDEDIRS=/usr >KDE_FULL_SESSION=true >KDE_MULTIHEAD=false >KEYWORDS='~x86 ~ppc ~hppa ~sparc ~amd64 ~mips' >KONSOLE_DCOP='DCOPRef(konsole-13463,konsole)' >KONSOLE_DCOP_SESSION='DCOPRef(konsole-13463,session-1)' >KV=2.6.7-gentoo-r2 >KVERS=. >LD_PRELOAD=/lib/libsandbox.so >LESS=-R >LESSOPEN='|lesspipe.sh %s' >LIBOPTIONS=-m0644 >LICENSE=GPL-2 >LINGUAS=de >LINUX_PORTAGE_WRITABLE=no >LIRC_OPTS=haupauge_dvb >LOGNAME=joerg >MACHTYPE=x86_64-pc-linux-gnu >MAKEOPTS=-j2 >MANPATH=/usr/share/man:/usr/local/share/man:/usr/share/gcc-data/x86_64-pc-linux-gnu/3.3/man:/usr/X11R6/man:/opt/blackdown-jdk-1.4.2_rc1/man:/usr/qt/3/doc/man >MOPREFIX=gimp >NOCOLOR=false >NORMAL=$'\E[0m' >O=/usr/portage/media-gfx/gimp >OCC=gcc >OCXX=g++ >OLDPWD=/var/tmp/portage/gimp-2.0.2/work/gimp-2.0.2 >OPTERR=1 >OPTIND=1 >OSTYPE=linux-gnu >P=gimp-2.0.2 >PAGER=/usr/bin/less >PATH=/usr/lib/ccache/bin:/sbin:/usr/sbin:/usr/lib/portage/bin:/bin:/usr/bin:/usr/local/bin:/opt/bin:/usr/x86_64-pc-linux-gnu/gcc-bin/3.3:/usr/X11R6/bin:/opt/blackdown-jdk-1.4.2_rc1/bin:/opt/blackdown-jdk-1.4.2_rc1/jre/bin:/usr/qt/3/bin:/usr/kde/3.2/sbin:/usr/kde/3.2/bin:/usr/share/karamba/bin >PDEPEND=' ' >PF=gimp-2.0.2 >PIPESTATUS=([0]="0") >PKGDIR=/usr/portage/packages >PKGUSE= >PKG_TMPDIR=/var/tmp/portage-pkg >PN=gimp >PORTAGE_BINHOST_CHUNKSIZE=3000 >PORTAGE_CACHEDIR=/var/cache/edb/dep/ >PORTAGE_CALLER=emerge >PORTAGE_GID=250 >PORTAGE_MASTER_PID=14492 >PORTAGE_NICENESS=3 >PORTAGE_TMPDIR=/var/tmp >PORTDIR=/usr/portage >PORTDIR_OVERLAY=/usr/local/portage >PPID=15576 >PR=r0 >PRELINK_PATH= >PRELINK_PATH_MASK= >PS4='+ ' >PV=2.0.2 >PVR=2.0.2 >PWD=/var/tmp/portage/gimp-2.0.2 >PYTHONDOCS=/usr/share/doc/python-docs-2.2.3/html >QMAKESPEC=linux-g++ >QTDIR=/usr/qt/3 >RC_DEVFSD_STARTUP=yes >RC_DEVICE_TARBALL=yes >RC_FAIL_ON_ZOMBIE=no >RC_GOT_FUNCTIONS=yes >RC_NET_STRICT_CHECKING=no >RC_NOCOLOR=false >RC_PARALLEL_STARTUP=no >RC_QUIET_STDOUT=no >RC_RETRY_COUNT=5 >RC_RETRY_KILL=yes >RC_RETRY_TIMEOUT=1 >RC_TTY_NUMBER=11 >RC_USE_CONFIG_PROFILE=yes >RDEPEND=$'>=dev-libs/glib-2.2\n\t>=x11-libs/gtk+-2.2.2\n\t>=x11-libs/pango-1.2.2\n\t>=media-libs/fontconfig-2.2\n\t>=media-libs/libart_lgpl-2.3.8-r1\n\tsys-libs/zlib\n\n\tgimpprint? ( =media-gfx/gimp-print-4.2* )\n\tgtkhtml? ( =gnome-extra/libgtkhtml-2* )\n\n\tpng? ( >=media-libs/libpng-1.2.1 )\n\tjpeg? ( >=media-libs/jpeg-6b-r2\n\t\tmedia-libs/libexif )\n\ttiff? ( >=media-libs/tiff-3.5.7 )\n\tmng? ( media-libs/libmng )\n\n\twmf? ( >=media-libs/libwmf-0.2.8 )\n\tsvg? ( >=gnome-base/librsvg-2.2 )\n\n\taalib?\t( media-libs/aalib )\n\tpython?\t( >=dev-lang/python-2.2\n\t\t>=dev-python/pygtk-2 )\n\n\tX? ( virtual/x11 ) ' >RESTRICT= >RESUMECOMMAND='/usr/bin/wget -c -t 5 --passive-ftp -P ${DISTDIR} ${URI}' >ROOT=/ >ROOTPATH=/usr/local/bin:/opt/bin:/usr/x86_64-pc-linux-gnu/gcc-bin/3.3:/usr/X11R6/bin:/opt/blackdown-jdk-1.4.2_rc1/bin:/opt/blackdown-jdk-1.4.2_rc1/jre/bin:/usr/qt/3/bin:/usr/kde/3.2/sbin:/usr/kde/3.2/bin:/usr/share/karamba/bin >RPMDIR=/usr/portage/rpm >RSYNC_RETRIES=3 >RSYNC_TIMEOUT=180 >S=/var/tmp/portage/gimp-2.0.2/work/gimp-2.0.2 >SANE_CONFIG_DIR=/etc/sane.d >SESSION_MANAGER=local/uslarer:/tmp/.ICE-unix/13407 >SHELL=/bin/bash >SHELLOPTS=braceexpand:hashall:interactive-comments >SHLVL=6 >SLOT=2 >SRC_URI=mirror://gimp/v2.0/gimp-2.0.2.tar.bz2 >STARTDIR=/home/joerg >SVCDIR=/var/lib/supervise >SYNC=rsync://rsync.de.gentoo.org/gentoo-portage >T=/var/tmp/portage/gimp-2.0.2/temp >TERM=xterm >TMOUT=3600 >TMP=/var/tmp/portage/gimp-2.0.2/temp >TMPDIR=/var/tmp/portage/gimp-2.0.2/temp >UID=0 >USE='X acpi acpi4linux alsa amd64 arts avi berkdb cdr crypt cups dga dvb dvd dvdr encode faad fbcon ffmpeg foomaticdb freetype gdbm gif gpm gtk gtk2 guile imagemagick imlib innodb java jpeg kde libg++ libwww md5sum mikmod mozilla mpeg nas ncurses nls nogcj nvidia oggvorbis opengl opie pam pda pdflib perl png python qt quicktime readline scanner sdl slang slp spell ssl tcpd tetex tiff transcode truetype unicode usb wmf xml2 xmms xv zeo zlib linguas_de' >USER=joerg >USERLAND=GNU >USE_EXPAND='VIDEO_CARDS INPUT_DEVICES LINGUAS' >VDR_OPTS=ac3 >WARN=$'\E[33;01m' >WINDOWID=46137349 >WORKDIR=/var/tmp/portage/gimp-2.0.2/work >XARGS='xargs -r' >XCURSOR_SIZE= >XCURSOR_THEME=default >XDM_MANAGED=/var/run/xdmctl/xdmctl-:0,maysd,mayfn,sched,method=classic >XINITRC=/etc/X11/xinit/xinitrc >_=002 >deptypes='need use' >myarg=unpack >olocation=/usr/local/portage/eclass/eutils.eclass >ordtypes='before after' >svcdir=/var/lib/init.d >svcfstype=tmpfs >svclib=/lib/rcscripts >svcmount=no >svcsize=2048 >ELT_find_ltmain_sh () >{ > local x=; > local dirlist=; > for x in $(find "${S}" -name 'ltmain.sh'); > do > dirlist="${dirlist} ${x%/*}"; > done; > echo "${dirlist}" >} >ELT_try_and_apply_patch () >{ > local ret=0; > local patch="$2"; > if patch -p0 --dry-run $1 <${patch} >&${T}/elibtool.log; then > einfo " Applying $(basename "$(dirname "${patch}")")-${patch##*/}.patch..."; > patch -p0 $1 <${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 patch_dir=; > if [ -n "$2" ]; then > if [ -d "${ELT_PATCH_DIR}/$2" ]; then > patch_dir="${ELT_PATCH_DIR}/$2"; > else > return ${ret}; > fi; > for x in $(ls -d "${patch_dir}"/* 2>/dev/null); > do > if [ -n "${x}" -a -f "${x}" ]; then > if [ -n "$3" ]; then > sed -e "s|@REM_INT_DEP@|$3|g" ${x} >${T}/$$.rem_int_deps.patch; > x="${T}/$$.rem_int_deps.patch"; > fi; > if ELT_try_and_apply_patch "$1" "${x}"; then > ret=0; > break; > fi; > fi; > done; > fi; > return ${ret} >} >EXPORT_FUNCTIONS () >{ > if [ -z "$ECLASS" ]; then > echo "EXPORT_FUNCTIONS without a defined ECLASS" 1>&2; > exit 1; > fi; > while [ "$1" ]; do > debug-print "EXPORT_FUNCTIONS: ${1} -> ${ECLASS}_${1}"; > eval "$1() { ${ECLASS}_$1 "\$@" ; }" >/dev/null; > shift; > done >} >KV_major () >{ > local KV=; > [ -z "$1" ] && return 1; > KV="$(echo "$1" | awk '{ tmp = $0; gsub(/^[0-9\.]*/, "", tmp); sub(tmp, ""); print }')"; > echo "${KV}" | awk -- 'BEGIN { FS = "." } { print $1 }'; > return 0 >} >KV_micro () >{ > local KV=; > [ -z "$1" ] && return 1; > KV="$(echo "$1" | awk '{ tmp = $0; gsub(/^[0-9\.]*/, "", tmp); sub(tmp, ""); print }')"; > echo "${KV}" | awk -- 'BEGIN { FS = "." } { print $3 }'; > return 0 >} >KV_minor () >{ > local KV=; > [ -z "$1" ] && return 1; > KV="$(echo "$1" | awk '{ tmp = $0; gsub(/^[0-9\.]*/, "", tmp); sub(tmp, ""); print }')"; > echo "${KV}" | awk -- 'BEGIN { FS = "." } { print $2 }'; > return 0 >} >KV_to_int () >{ > local KV_MAJOR=; > local KV_MINOR=; > local KV_MICRO=; > local KV_int=; > [ -z "$1" ] && return 1; > KV_MAJOR="$(KV_major "$1")"; > KV_MINOR="$(KV_minor "$1")"; > KV_MICRO="$(KV_micro "$1")"; > KV_int="$((KV_MAJOR * 65536 + KV_MINOR * 256 + KV_MICRO))"; > if [ "${KV_int}" -ge 131584 ]; then > echo "${KV_int}"; > return 0; > fi; > return 1 >} >abort_compile () >{ > abort_handler "src_compile" $1; > rm -f "${BUILDDIR}/.compiled"; > exit 1 >} >abort_handler () >{ > local msg; > if [ "$2" != "fail" ]; then > msg="${EBUILD}: ${1} aborted; exiting."; > else > msg="${EBUILD}: ${1} failed; exiting."; > fi; > echo; > echo "$msg"; > echo; > eval ${3}; > trap SIGINT SIGQUIT >} >abort_install () >{ > abort_handler "src_install" $1; > rm -rf "${BUILDDIR}/image"; > exit 1 >} >abort_package () >{ > abort_handler "dyn_package" $1; > rm -f "${BUILDDIR}/.packaged"; > rm -f "${PKGDIR}"/All/${PF}.t*; > exit 1 >} >abort_unpack () >{ > abort_handler "src_unpack" $1; > rm -f "${BUILDDIR}/.unpacked"; > rm -rf "${BUILDDIR}/work"; > exit 1 >} >add_suffix () >{ > if [ "${RC_USE_CONFIG_PROFILE}" = "yes" -a -e "$1.${DEFAULTLEVEL}" ]; then > echo "$1.${DEFAULTLEVEL}"; > else > echo "$1"; > fi; > return 0 >} >adddeny () >{ > export SANDBOX_DENY="$SANDBOX_DENY:$1" >} >addpredict () >{ > export SANDBOX_PREDICT="$SANDBOX_PREDICT:$1" >} >addread () >{ > export SANDBOX_READ="$SANDBOX_READ:$1" >} >addwrite () >{ > export SANDBOX_WRITE="$SANDBOX_WRITE:$1" >} >append-flags () >{ > export CFLAGS="${CFLAGS} $*"; > export CXXFLAGS="${CXXFLAGS} $*"; > [ -n "`is-flag -fno-stack-protector`" -o -n "`is-flag -fno-stack-protector-all`" ] && fstack-flags; > return 0 >} >append-ldflags () >{ > LDFLAGS="${LDFLAGS} $*"; > return 0 >} >append-lfs-flags () >{ > append-flags -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE >} >best_version () >{ > [ "${EBUILD_PHASE}" == "depend" ] && echo "best_version() in global scope: ${CATEGORY}/$PF" 1>&2; > /usr/lib/portage/bin/portageq 'best_version' "${ROOT}" "$1" >} >cdrom_get_cds () >{ > local cdcnt=0; > local f=; > for f in "$@"; > do > cdcnt=$((cdcnt + 1)); > export CDROM_CHECK_${cdcnt}="$f"; > done; > export CDROM_TOTAL_CDS=${cdcnt}; > export CDROM_CURRENT_CD=1; > if [ ! -z "${CD_ROOT}" ]; then > export CDROM_ROOT="${CD_ROOT}"; > einfo "Found CD #${CDROM_CURRENT_CD} root at ${CDROM_ROOT}"; > return; > fi; > if [ ! -z "${CD_ROOT_1}" ]; then > local var=; > cdcnt=0; > while [ ${cdcnt} -lt ${CDROM_TOTAL_CDS} ]; do > cdcnt=$((cdcnt + 1)); > var="CD_ROOT_${cdcnt}"; > if [ -z "${!var}" ]; then > eerror "You must either use just the CD_ROOT"; > eerror "or specify ALL the CD_ROOT_X variables."; > eerror "In this case, you will need ${CDROM_TOTAL_CDS} CD_ROOT_X variables."; > diefunc "$FUNCNAME" "$LINENO" "$?" "could not locate CD_ROOT_${cdcnt}"; > fi; > export CDROM_ROOTS_${cdcnt}="${!var}"; > done; > export CDROM_ROOT=${CDROM_ROOTS_1}; > einfo "Found CD #${CDROM_CURRENT_CD} root at ${CDROM_ROOT}"; > return; > fi; > if [ ${CDROM_TOTAL_CDS} -eq 1 ]; then > einfon "This ebuild will need the "; > if [ -z "${CDROM_NAME}" ]; then > echo "cdrom for ${PN}."; > else > echo "${CDROM_NAME}."; > fi; > echo; > einfo "If you do not have the CD, but have the data files"; > einfo "mounted somewhere on your filesystem, just export"; > einfo "the variable CD_ROOT so that it points to the"; > einfo "directory containing the files."; > echo; > else > einfo "This package will need access to ${CDROM_TOTAL_CDS} cds."; > cdcnt=0; > while [ ${cdcnt} -lt ${CDROM_TOTAL_CDS} ]; do > cdcnt=$((cdcnt + 1)); > var="CDROM_NAME_${cdcnt}"; > [ ! -z "${!var}" ] && einfo " CD ${cdcnt}: ${!var}"; > done; > echo; > einfo "If you do not have the CDs, but have the data files"; > einfo "mounted somewhere on your filesystem, just export"; > einfo "the following variables so they point to the right place:"; > einfon ""; > cdcnt=0; > while [ ${cdcnt} -lt ${CDROM_TOTAL_CDS} ]; do > cdcnt=$((cdcnt + 1)); > echo -n " CD_ROOT_${cdcnt}"; > done; > echo; > einfo "Or, if you have all the files in the same place, or"; > einfo "you only have one cdrom, you can export CD_ROOT"; > einfo "and that place will be used as the same data source"; > einfo "for all the CDs."; > echo; > fi; > export CDROM_CURRENT_CD=0; > cdrom_load_next_cd >} >cdrom_load_next_cd () >{ > export CDROM_CURRENT_CD=$((CDROM_CURRENT_CD + 1)); > local var=; > if [ ! -z "${CD_ROOT}" ]; then > einfo "Using same root as before for CD #${CDROM_CURRENT_CD}"; > return; > fi; > unset CDROM_ROOT; > var=CDROM_ROOTS_${CDROM_CURRENT_CD}; > if [ -z "${!var}" ]; then > var="CDROM_CHECK_${CDROM_CURRENT_CD}"; > cdrom_locate_file_on_cd ${!var}; > else > export CDROM_ROOT="${!var}"; > fi; > einfo "Found CD #${CDROM_CURRENT_CD} root at ${CDROM_ROOT}" >} >cdrom_locate_file_on_cd () >{ > while [ -z "${CDROM_ROOT}" ]; do > local dir="$(dirname ${@})"; > local file="$(basename ${@})"; > local mline=""; > local showedmsg=0; > for mline in `mount | egrep -e '(iso|cdrom)' | awk '{print $3}'`; > do > [ -d "${mline}/${dir}" ] || continue; > [ ! -z "$(find ${mline}/${dir} -iname ${file} -maxdepth 1)" ] && export CDROM_ROOT=${mline}; > done; > if [ -z "${CDROM_ROOT}" ]; then > echo; > if [ ${showedmsg} -eq 0 ]; then > if [ ${CDROM_TOTAL_CDS} -eq 1 ]; then > if [ -z "${CDROM_NAME}" ]; then > einfo "Please insert the cdrom for ${PN} now !"; > else > einfo "Please insert the ${CDROM_NAME} cdrom now !"; > fi; > else > if [ -z "${CDROM_NAME_1}" ]; then > einfo "Please insert 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."; > read; > fi; > done >} >check_KV () >{ > if [ -z "${KV}" ]; then > eerror ""; > eerror "Could not determine your kernel version."; > eerror "Make sure that you have /usr/src/linux symlink."; > eerror "And that said kernel has been configured."; > eerror "You can also simply run the following command"; > eerror "in the kernel referenced by /usr/src/linux:"; > eerror " make include/linux/version.h"; > eerror ""; > diefunc "$FUNCNAME" "$LINENO" "$?"; > fi >} >check_license () >{ > local lic=$1; > if [ -z "${lic}" ]; then > lic="${PORTDIR}/licenses/${LICENSE}"; > else > if [ -e "${PORTDIR}/licenses/${src}" ]; then > lic="${PORTDIR}/licenses/${src}"; > else > if [ -e "${PWD}/${src}" ]; then > lic="${PWD}/${src}"; > else > if [ -e "${src}" ]; then > lic="${src}"; > fi; > fi; > fi; > fi; > [ ! -f "${lic}" ] && diefunc "$FUNCNAME" "$LINENO" "$?" "Could not find requested license ${src}"; > local l="`basename ${lic}`"; > local alic; > for alic in "${ACCEPT_LICENSE}"; > do > [ "${alic}" == "*" ] && return 0; > [ "${alic}" == "${l}" ] && return 0; > done; > local licmsg="`mymktemp ${T}`"; > cat >${licmsg} <<EOF >********************************************************** >The following license outlines the terms of use of this >package. You MUST accept this license for installation to >continue. When you are done viewing, hit 'q'. If you >CTRL+C out of this, the install will not run! >********************************************************** > >EOF > > cat ${lic} >>${licmsg}; > ${PAGER:-less} ${licmsg} || diefunc "$FUNCNAME" "$LINENO" "$?" "Could not execute pager (${PAGER}) to accept ${lic}"; > einfon "Do you accept the terms of this license (${l})? [yes/no] "; > read alic; > case ${alic} in > yes | Yes | y | Y) > return 0 > ;; > *) > echo; > echo; > echo; > eerror "You MUST accept the license to continue! Exiting!"; > diefunc "$FUNCNAME" "$LINENO" "$?" "Failed to accept license" > ;; > esac >} >debug-print () >{ > [ -z "$T" ] && return 0; > while [ "$1" ]; do > if [ "$ECLASS_DEBUG_OUTPUT" == "on" ]; then > echo "debug: $1"; > else > if [ -n "$ECLASS_DEBUG_OUTPUT" ]; then > echo "debug: $1" >>$ECLASS_DEBUG_OUTPUT; > fi; > fi; > echo "$1" >>"${T}/eclass-debug.log"; > chmod g+w "${T}/eclass-debug.log" >&/dev/null; > shift; > done >} >debug-print-function () >{ > str="$1: entering function"; > shift; > debug-print "$str, parameters: $*" >} >debug-print-section () >{ > debug-print "now in section $*" >} >diefunc () >{ > local funcname="$1" lineno="$2" exitcode="$3"; > shift 3; > echo 1>&2; > echo "!!! ERROR: $CATEGORY/$PF failed." 1>&2; > echo "!!! Function $funcname, Line $lineno, Exitcode $exitcode" 1>&2; > echo "!!! ${*:-(no error message)}" 1>&2; > echo 1>&2; > exit 1 >} >diropts () >{ > DIROPTIONS=""; > for x in $*; > do > DIROPTIONS="${DIROPTIONS} $x"; > done; > export DIROPTIONS >} >do_newdepend () >{ > debug-print-function do_newdepend $*; > [ -z "$1" ] && diefunc "$FUNCNAME" "$LINENO" "$?" "do_newdepend without arguments"; > [[ ${ECLASS_DEPTH} > 0 ]] && TARGET="E_$1"; > [[ ${ECLASS_DEPTH} > 0 ]] || TARGET="$1"; > shift; > while [ -n "$1" ]; do > eval export ${TARGET}=\"\${${TARGET}} $1\"; > shift; > done >} >docinto () >{ > if [ "$1" == "/" ]; then > export DOCDESTTREE=""; > else > export DOCDESTTREE="$1"; > if [ ! -d "${D}usr/share/doc/${PF}/${DOCDESTTREE}" ]; then > install -d "${D}usr/share/doc/${PF}/${DOCDESTTREE}"; > fi; > fi >} >dolisting () >{ > local x=; > local y=; > local tmpstr=; > local mylist=; > local mypath="${*}"; > if [ "${mypath%/\*}" != "${mypath}" ]; then > mypath="${mypath%/\*}"; > fi; > for x in ${mypath}; > do > [ ! -e "${x}" ] && continue; > if [ ! -d "${x}" ] && ( [ -L "${x}" -o -f "${x}" ] ); then > mylist="${mylist} $(ls "${x}" 2> /dev/null)"; > else > [ "${x%/}" != "${x}" ] && x="${x%/}"; > cd "${x}"; > tmpstr="$(ls)"; > for y in ${tmpstr}; > do > mylist="${mylist} ${x}/${y}"; > done; > fi; > done; > echo "${mylist}" >} >draw_line () >{ > local i=0; > local str_length=""; > if [ -z "$1" -o ! -x "$(which wc 2>/dev/null)" ]; then > echo "==============================================================="; > return 0; > fi; > str_length="$(echo -n "$*" | wc -m)"; > while [ "$i" -lt "${str_length}" ]; do > echo -n "="; > i=$((i + 1)); > done; > echo; > return 0 >} >dyn_clean () >{ > rm -rf "${BUILDDIR}/image"; > rm -rf "${BUILDDIR}/build-info"; > if ! has keeptemp $FEATURES; then > rm -rf "${T}"/*; > else > mv "${T}/environment" "${T}/environment.keeptemp"; > fi; > if ! has keepwork $FEATURES; then > rm -rf "${BUILDDIR}/.compiled"; > rm -rf "${BUILDDIR}/.unpacked"; > rm -rf "${WORKDIR}"; > fi; > if [ -f "${BUILDDIR}/.unpacked" ]; then > find "${BUILDDIR}" -type d ! -regex "^${WORKDIR}" | sort -r | tr "\n" "\0" | $XARGS -0 rmdir >&/dev/null; > fi; > true >} >dyn_compile () >{ > trap "abort_compile" SIGINT SIGQUIT; > [ "${CFLAGS-unset}" != "unset" ] && export CFLAGS; > [ "${CXXFLAGS-unset}" != "unset" ] && export CXXFLAGS; > [ "${LIBCFLAGS-unset}" != "unset" ] && export LIBCFLAGS; > [ "${LIBCXXFLAGS-unset}" != "unset" ] && export LIBCXXFLAGS; > [ "${LDFLAGS-unset}" != "unset" ] && export LDFLAGS; > [ "${ASFLAGS-unset}" != "unset" ] && export ASFLAGS; > [ "${DISTCC_DIR-unset}" == "unset" ] && export DISTCC_DIR="${PORTAGE_TMPDIR}/.distcc"; > [ ! -z "${DISTCC_DIR}" ] && addwrite "${DISTCC_DIR}"; > if has noauto $FEATURES >&/dev/null && [ ! -f ${BUILDDIR}/.unpacked ]; then > echo; > echo "!!! We apparently haven't unpacked... This is probably not what you"; > echo "!!! want to be doing... You are using FEATURES=noauto so I'll assume"; > echo "!!! that you know what you are doing... You have 5 seconds to abort..."; > echo; > echo -ne "\a"; > sleep 0.25 >&/dev/null; > echo -ne "\a"; > sleep 0.25 >&/dev/null; > echo -ne "\a"; > sleep 0.25 >&/dev/null; > echo -ne "\a"; > sleep 0.25 >&/dev/null; > echo -ne "\a"; > sleep 0.25 >&/dev/null; > echo -ne "\a"; > sleep 0.25 >&/dev/null; > echo -ne "\a"; > sleep 0.25 >&/dev/null; > echo -ne "\a"; > sleep 0.25 >&/dev/null; > echo -ne "\a"; > sleep 0,25 >&/dev/null; > echo -ne "\a"; > sleep 0,25 >&/dev/null; > echo -ne "\a"; > sleep 0,25 >&/dev/null; > echo -ne "\a"; > sleep 0,25 >&/dev/null; > echo -ne "\a"; > sleep 0,25 >&/dev/null; > echo -ne "\a"; > sleep 0,25 >&/dev/null; > echo -ne "\a"; > sleep 0,25 >&/dev/null; > echo -ne "\a"; > sleep 0,25 >&/dev/null; > sleep 3; > fi; > cd "${BUILDDIR}"; > if [ ! -e "build-info" ]; then > mkdir build-info; > fi; > cp "${EBUILD}" "build-info/${PF}.ebuild"; > if [ ${BUILDDIR}/.compiled -nt "${WORKDIR}" ]; then > echo ">>> It appears that ${PN} is already compiled; skipping."; > echo ">>> (clean to force compilation)"; > trap SIGINT SIGQUIT; > return; > fi; > if [ -d "${S}" ]; then > cd "${S}"; > fi; > export S D; > export PWORKDIR="$WORKDIR"; > src_compile; > cd "${BUILDDIR}"; > touch .compiled; > cd build-info; > echo "$CBUILD" >CBUILD; > echo "$CC" >CC; > echo "$CDEPEND" >CDEPEND; > echo "$CFLAGS" >CFLAGS; > echo "$CHOST" >CHOST; > echo "$CXX" >CXX; > echo "$CXXFLAGS" >CXXFLAGS; > echo "$DEPEND" >DEPEND; > echo "$IUSE" >IUSE; > echo "$PKGUSE" >PKGUSE; > echo "$LICENSE" >LICENSE; > echo "$CATEGORY" >CATEGORY; > echo "$PDEPEND" >PDEPEND; > echo "$PF" >PF; > echo "$PROVIDE" >PROVIDE; > echo "$RDEPEND" >RDEPEND; > echo "$SLOT" >SLOT; > echo "$USE" >USE; > set | bzip2 -9 - >environment.bz2; > cp "${EBUILD}" "${PF}.ebuild"; > if has nostrip $FEATURES $RESTRICT; then > touch DEBUGBUILD; > fi; > trap SIGINT SIGQUIT >} >dyn_help () >{ > echo; > echo "Portage"; > echo "Copyright 2002 Gentoo Technologies, Inc."; > echo; > echo "How to use the ebuild command:"; > echo; > echo "The first argument to ebuild should be an existing .ebuild file."; > echo; > echo "One or more of the following options can then be specified. If more"; > echo "than one option is specified, each will be executed in order."; > echo; > echo " setup : execute package specific setup actions"; > echo " fetch : download source archive(s) and patches"; > echo " unpack : unpack/patch sources (auto-fetch if needed)"; > echo " compile : compile sources (auto-fetch/unpack if needed)"; > echo " merge : merge image into live filesystem, recording files in db"; > echo " (auto-fetch/unpack/compile if needed)"; > echo " unmerge : remove package from live filesystem"; > echo " package : create tarball package of type ${PACKAGE}"; > echo " (will be stored in ${PKGDIR}/All)"; > echo " clean : clean up all source and temporary files"; > echo; > echo "The following settings will be used for the ebuild process:"; > echo; > echo " package : ${PF}"; > echo " slot : ${SLOT}"; > echo " category : ${CATEGORY}"; > echo " description : ${DESCRIPTION}"; > echo " system : ${CHOST}"; > echo " c flags : ${CFLAGS}"; > echo " c++ flags : ${CXXFLAGS}"; > echo " make flags : ${MAKEOPTS}"; > echo -n " build mode : "; > if has nostrip $FEATURES $RESTRICT; then > echo "debug (large)"; > else > echo "production (stripped)"; > fi; > echo " merge to : ${ROOT}"; > echo; > if [ -n "$USE" ]; then > echo "Additionally, support for the following optional features will be enabled:"; > echo; > echo " ${USE}"; > fi; > echo >} >dyn_install () >{ > trap "abort_install" SIGINT SIGQUIT; > rm -rf "${BUILDDIR}/image"; > mkdir "${BUILDDIR}/image"; > if [ -d "${S}" ]; then > cd "${S}"; > fi; > echo; > echo ">>> Install ${PF} into ${D} category ${CATEGORY}"; > export S D; > export PWORKDIR="$WORKDIR"; > src_install; > prepall; > cd "${D}"; > declare -i UNSAFE=0; > for i in $(find "${D}/" -type f -perm -2002); > do > UNSAFE=$(($UNSAFE + 1)); > echo "UNSAFE SetGID: $i"; > done; > for i in $(find "${D}/" -type f -perm -4002); > do > UNSAFE=$(($UNSAFE + 1)); > echo "UNSAFE SetUID: $i"; > done; > if [[ $UNSAFE > 0 ]]; then > diefunc "$FUNCNAME" "$LINENO" "$?" "There are ${UNSAFE} unsafe files. Portage will not install them."; > fi; > find "${D}/" -user portage -print0 | $XARGS -0 -n100 chown root; > if [ "$USERLAND" == "BSD" ]; then > find "${D}/" -group portage -print0 | $XARGS -0 -n100 chgrp wheel; > else > find "${D}/" -group portage -print0 | $XARGS -0 -n100 chgrp root; > fi; > echo ">>> Completed installing into ${D}"; > echo; > cd ${BUILDDIR}; > trap SIGINT SIGQUIT >} >dyn_package () >{ > trap "abort_package" SIGINT SIGQUIT; > cd "${BUILDDIR}/image"; > tar cpvf - ./ | bzip2 -f >../bin.tar.bz2 || diefunc "$FUNCNAME" "$LINENO" "$?" "Failed to create tarball"; > cd ..; > xpak build-info inf.xpak; > tbz2tool join bin.tar.bz2 inf.xpak "${PF}.tbz2"; > mv "${PF}.tbz2" "${PKGDIR}/All" || diefunc "$FUNCNAME" "$LINENO" "$?" "Failed to move tbz2 to ${PKGDIR}/All"; > rm -f inf.xpak bin.tar.bz2; > if [ ! -d "${PKGDIR}/${CATEGORY}" ]; then > install -d "${PKGDIR}/${CATEGORY}"; > fi; > ln -sf "../All/${PF}.tbz2" "${PKGDIR}/${CATEGORY}/${PF}.tbz2" || diefunc "$FUNCNAME" "$LINENO" "$?" "Failed to create symlink in ${PKGDIR}/${CATEGORY}"; > echo ">>> Done."; > cd "${BUILDDIR}"; > touch .packaged || diefunc "$FUNCNAME" "$LINENO" "$?" "Failed to 'touch .packaged' in ${BUILDDIR}"; > trap SIGINT SIGQUIT >} >dyn_preinst () >{ > [ "${EMERGE_FROM}" == "binary" ] && IMAGE=${PKG_TMPDIR}/${PF}/bin || IMAGE=${D}; > pkg_preinst; > if has noman $FEATURES; then > rm -fR "${IMAGE}/usr/share/man"; > fi; > if has noinfo $FEATURES; then > rm -fR "${IMAGE}/usr/share/info"; > fi; > if has nodoc $FEATURES; then > rm -fR "${IMAGE}/usr/share/doc"; > fi; > if has sfperms $FEATURES; then > for i in $(find ${IMAGE}/ -type f -perm -4000); > do > ebegin ">>> SetUID: [chmod go-r] $i "; > chmod go-r "$i"; > eend $?; > done; > for i in $(find ${IMAGE}/ -type f -perm -2000); > do > ebegin ">>> SetGID: [chmod o-r] $i "; > chmod o-r "$i"; > eend $?; > done; > fi; > if has suidctl $FEATURES >/dev/null; then > sfconf=/etc/portage/suidctl.conf; > echo ">>> Preforming suid scan in ${IMAGE}"; > for i in $(find ${IMAGE}/ -type f \( -perm -4000 -o -perm -2000 \) ); > do > if [ -s "${sfconf}" ]; then > suid="`grep ^${i/${IMAGE}/}$ ${sfconf}`"; > if [ "${suid}" = "${i/${IMAGE}/}" ]; then > echo "- ${i/${IMAGE}/} is an approved suid file"; > else > for x in 5 4 3 2 1 0; > do > echo -ne "\a"; > sleep 0.25; > done; > echo ">>> Removing sbit on non registered ${i/${IMAGE}/}"; > echo -ne "\a"; > chmod ugo-s "${i}"; > grep ^#${i/${IMAGE}/}$ ${sfconf} >/dev/null || { > addwrite "${sfconf}"; > echo ">>> Appending commented out entry to ${sfconf} for ${PF}"; > ls -ldh "${i}" | awk '{print "## "$0}' | sed s:"${IMAGE}"::g >>${sfconf}; > echo "#${i/${IMAGE}/}" >>${sfconf} > }; > fi; > else > echo "suidctl feature set but you are lacking a ${sfconf}"; > fi; > done; > fi; > if use selinux; then > if [ -f /selinux/context -a -x /usr/sbin/setfiles ]; then > echo ">>> Setting SELinux security labels"; > if [ -f ${POLICYDIR}/file_contexts/file_contexts ]; then > cp -f "${POLICYDIR}/file_contexts/file_contexts" "${T}"; > else > make -C "${POLICYDIR}" FC=${T}/file_contexts "${T}/file_contexts"; > fi; > addwrite /selinux/context; > /usr/sbin/setfiles -r "${IMAGE}" "${T}/file_contexts" "${IMAGE}" || diefunc "$FUNCNAME" "$LINENO" "$?" "Failed to set SELinux security labels."; > else > echo "!!! Unable to set SELinux security labels"; > fi; > fi; > trap SIGINT SIGQUIT >} >dyn_rpm () >{ > dyn_spec; > rpm -bb "${PF}.spec" || diefunc "$FUNCNAME" "$LINENO" "$?" "Failed to integrate rpm spec file"; > install -D "/usr/src/redhat/RPMS/i386/${PN}-${PV}-${PR}.i386.rpm" "${RPMDIR}/${CATEGORY}/${PN}-${PV}-${PR}.rpm" || diefunc "$FUNCNAME" "$LINENO" "$?" "Failed to move rpm" >} >dyn_setup () >{ > if [ "$USERLAND" == "Linux" ]; then > if [ "${DISABLE_GEN_GCC_WRAPPERS}" != "yes" ]; then > if [ -L /lib/cpp -o ! -e /lib/cpp ]; then > [ -L /lib/cpp ] && rm -f /lib/cpp; > gen_wrapper /lib/cpp cpp; > fi; > if [ -L /usr/bin/cc -o ! -e /usr/bin/cc ]; then > [ -L /usr/bin/cc ] && rm -f /usr/bin/cc; > gen_wrapper /usr/bin/cc gcc; > fi; > fi; > fi; > pkg_setup >} >dyn_spec () >{ > tar czf "/usr/src/redhat/SOURCES/${PF}.tar.gz" "${O}/${PF}.ebuild" "${O}/files" || diefunc "$FUNCNAME" "$LINENO" "$?" "Failed to create base rpm tarball."; > cat >${PF}.spec <<__END1__ >Summary: ${DESCRIPTION} >Name: ${PN} >Version: ${PV} >Release: ${PR} >Copyright: GPL >Group: portage/${CATEGORY} >Source: ${PF}.tar.gz >Buildroot: ${D} >%description >${DESCRIPTION} > >${HOMEPAGE} > >%prep >%setup -c > >%build > >%install > >%clean > >%files >/ >__END1__ > >} >dyn_unpack () >{ > trap "abort_unpack" SIGINT SIGQUIT; > local newstuff="no"; > if [ -e "${WORKDIR}" ]; then > local x; > local checkme; > for x in ${AA}; > do > echo ">>> Checking ${x}'s mtime..."; > if [ "${DISTDIR}/${x}" -nt "${WORKDIR}" ]; then > echo ">>> ${x} has been updated; recreating WORKDIR..."; > newstuff="yes"; > rm -rf "${WORKDIR}"; > break; > fi; > done; > if [ "${EBUILD}" -nt "${WORKDIR}" ]; then > echo ">>> ${EBUILD} has been updated; recreating WORKDIR..."; > newstuff="yes"; > rm -rf "${WORKDIR}"; > else > if [ ! -f "${BUILDDIR}/.unpacked" ]; then > echo ">>> Not marked as unpacked; recreating WORKDIR..."; > newstuff="yes"; > rm -rf "${WORKDIR}"; > fi; > fi; > fi; > if [ -e "${WORKDIR}" ]; then > if [ "$newstuff" == "no" ]; then > echo ">>> WORKDIR is up-to-date, keeping..."; > return 0; > fi; > fi; > install -m0700 -d "${WORKDIR}" || diefunc "$FUNCNAME" "$LINENO" "$?" "Failed to create dir '${WORKDIR}'"; > [ -d "$WORKDIR" ] && cd "${WORKDIR}"; > echo ">>> Unpacking source..."; > src_unpack; > touch "${BUILDDIR}/.unpacked" || diefunc "$FUNCNAME" "$LINENO" "$?" "IO Failure -- Failed 'touch .unpacked' in BUILDIR"; > echo ">>> Source unpacked."; > cd "$BUILDDIR"; > trap SIGINT SIGQUIT >} >ebegin () >{ > if [ "${RC_QUIET_STDOUT}" != "yes" ]; then > if [ "${RC_NOCOLOR}" = "yes" ]; then > echo -ne " ${GOOD}*${NORMAL} ${*}..."; > else > echo -e " ${GOOD}*${NORMAL} ${*}..."; > fi; > fi; > return 0 >} >econf () >{ > if [ -x ./configure ]; then > if [ ! -z "${CBUILD}" ]; then > EXTRA_ECONF="--build=${CBUILD} ${EXTRA_ECONF}"; > fi; > ./configure --prefix=/usr --host=${CHOST} --mandir=/usr/share/man --infodir=/usr/share/info --datadir=/usr/share --sysconfdir=/etc --localstatedir=/var/lib ${EXTRA_ECONF} "$@" || diefunc "$FUNCNAME" "$LINENO" "$?" "econf failed"; > else > diefunc "$FUNCNAME" "$LINENO" "$?" "no configure script found"; > fi >} >edos2unix () >{ > for f in "$@"; > do > cp "${f}" ${T}/edos2unix; > sed 's/\r$//' ${T}/edos2unix >"${f}"; > done >} >eend () >{ > local retval=; > if [ "$#" -eq 0 ] || ( [ -n "$1" ] && [ "$1" -eq 0 ] ); then > if [ "${RC_QUIET_STDOUT}" != "yes" ]; then > echo -e "${ENDCOL} ${BRACKET}[ ${GOOD}ok${BRACKET} ]${NORMAL}"; > fi; > else > retval="$1"; > if [ -c /dev/null ]; then > rc_splash "stop" >&/dev/null & > else > rc_splash "stop" & > fi; > if [ "$#" -ge 2 ]; then > shift; > eerror "${*}"; > fi; > if [ "${RC_QUIET_STDOUT}" != "yes" ]; then > echo -e "${ENDCOL} ${BRACKET}[ ${BAD}!!${BRACKET} ]${NORMAL}"; > echo; > fi; > return ${retval}; > fi; > return 0 >} >eerror () >{ > if [ "${RC_QUIET_STDOUT}" = "yes" ]; then > echo " ${*}" >/dev/stderr; > else > echo -e " ${BAD}*${NORMAL} ${*}"; > fi; > esyslog "daemon.err" "rc-scripts" "${*}"; > return 0 >} >einfo () >{ > if [ "${RC_QUIET_STDOUT}" != "yes" ]; then > echo -e " ${GOOD}*${NORMAL} ${*}"; > fi; > return 0 >} >einfon () >{ > if [ "${RC_QUIET_STDOUT}" != "yes" ]; then > echo -ne " ${GOOD}*${NORMAL} ${*}"; > fi; > return 0 >} >einstall () >{ > if [ -f ./[mM]akefile -o -f ./GNUmakefile ]; then > if [ ! -z "${PORTAGE_DEBUG}" ]; then > make -n prefix=${D}/usr datadir=${D}/usr/share infodir=${D}/usr/share/info localstatedir=${D}/var/lib mandir=${D}/usr/share/man sysconfdir=${D}/etc "$@" install; > fi; > make prefix=${D}/usr datadir=${D}/usr/share infodir=${D}/usr/share/info localstatedir=${D}/var/lib mandir=${D}/usr/share/man sysconfdir=${D}/etc "$@" install || diefunc "$FUNCNAME" "$LINENO" "$?" "einstall failed"; > else > diefunc "$FUNCNAME" "$LINENO" "$?" "no Makefile found"; > fi >} >elibtoolize () >{ > local x=; > local y=; > local do_portage="no"; > local do_reversedeps="no"; > local do_only_patches="no"; > local deptoremove=; > local my_dirlist=; > local elt_patches="portage relink max_cmd_len sed test tmp"; > 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 > ;; > esac; > done; > for x in ${my_dirlist}; > do > local tmp="$(echo "${x}" | sed -e "s|${S}||")"; > export ELT_APPLIED_PATCHES=; > cd ${x}; > einfo "Patching \${S}$(echo "/${tmp}/ltmain.sh" | sed -e 's|//|/|g')..."; > for y in ${elt_patches}; > do > local ret=0; > case "${y}" in > "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 > ;; > *) > ELT_walk_patches "${x}/ltmain.sh" "${y}"; > ret=$? > ;; > esac; > if [ "${ret}" -ne 0 ]; then > case ${y} in > "relink") > if [ -z "$(grep 'inst_prefix_dir' "${x}/ltmain.sh")" ]; 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!"; > diefunc "$FUNCNAME" "$LINENO" "$?" "Portage patch requested, but failed to apply!"; > fi; > else > ewarn " Could not apply portage.patch!"; > ewarn " Please verify that it is not needed."; > fi > ;; > esac; > fi; > if [ -z "${ELT_APPLIED_PATCHES}" ]; then > if [ "${do_portage}" = "no" -a "${do_reversedeps}" = "no" -a "${do_only_patches}" = "no" -a "${deptoremove}" = "" ]; then > if [ ! -f ${x}/configure.in -a ! -f ${x}/configure.ac ]; then > if [ -f ${x}/../configure.in -o -f ${x}/../configure.ac ]; then > cd ${x}/../; > fi; > fi; > if which libtoolize >&/dev/null; then > ewarn "Cannot apply any patch, running libtoolize..."; > libtoolize --copy --force; > fi; > cd ${x}; > break; > fi; > fi; > done; > done; > if [ -f libtool ]; then > rm -f libtool; > fi; > cd ${S} >} >enewgroup () >{ > local egroup="$1"; > shift; > if [ -z "${egroup}" ]; then > eerror "No group specified !"; > diefunc "$FUNCNAME" "$LINENO" "$?" "Cannot call enewgroup without a group"; > fi; > if [ "${egroup}" == "`getent group \"${egroup}\" | cut -d: -f1`" ]; 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 "`getent group ${egid}`" ]; then > opts="${opts} -g ${egid}"; > 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"; > groupadd ${opts} ${egroup} || diefunc "$FUNCNAME" "$LINENO" "$?" "enewgroup failed"; > export SANDBOX_ON="${oldsandbox}" >} >enewuser () >{ > local euser="$1"; > shift; > if [ -z "${euser}" ]; then > eerror "No username specified !"; > diefunc "$FUNCNAME" "$LINENO" "$?" "Cannot call enewuser without a username"; > fi; > if [ "${euser}" == "`getent passwd \"${euser}\" | cut -d: -f1`" ]; then > return 0; > fi; > einfo "Adding user '${euser}' to your system ..."; > local opts=; > local euid="$1"; > shift; > if [ ! -z "${euid}" ] && [ "${euid}" != "-1" ]; then > if [ "${euid}" -gt 0 ]; then > if [ ! -z "`getent 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 in `seq 101 999`; > do > [ -z "`getent passwd ${euid}`" ] && break; > done; > fi; > opts="${opts} -u ${euid}"; > einfo " - Userid: ${euid}"; > local eshell="$1"; > shift; > if [ ! -z "${eshell}" ] && [ "${eshell}" != "-1" ]; then > if [ ! -e "${eshell}" ]; then > eerror "A shell was specified but it does not exist !"; > diefunc "$FUNCNAME" "$LINENO" "$?" "${eshell} does not exist"; > fi; > else > eshell="/bin/false"; > fi; > einfo " - Shell: ${eshell}"; > opts="${opts} -s ${eshell}"; > local ehome="$1"; > shift; > if [ -z "${ehome}" ] && [ "${eshell}" != "-1" ]; then > ehome="/dev/null"; > fi; > einfo " - Home: ${ehome}"; > opts="${opts} -d ${ehome}"; > local egroups="$1"; > shift; > if [ ! -z "${egroups}" ]; then > local oldifs="${IFS}"; > export IFS=","; > for g in ${egroups}; > do > if [ -z "`getent group \"${g}\"`" ]; then > eerror "You must add group ${g} to the system first"; > diefunc "$FUNCNAME" "$LINENO" "$?" "${g} is not a valid GID"; > fi; > done; > export IFS="${oldifs}"; > opts="${opts} -g ${egroups}"; > else > egroups="(none)"; > fi; > einfo " - Groups: ${egroups}"; > local eextra="$@"; > local oldsandbox="${SANDBOX_ON}"; > export SANDBOX_ON="0"; > if [ -z "${eextra}" ]; then > useradd ${opts} ${euser} -c "added by portage for ${PN}" || diefunc "$FUNCNAME" "$LINENO" "$?" "enewuser failed"; > else > einfo " - Extra: ${eextra}"; > useradd ${opts} ${euser} ${eextra} || diefunc "$FUNCNAME" "$LINENO" "$?" "enewuser failed"; > fi; > export SANDBOX_ON="${oldsandbox}"; > if [ ! -e "${ehome}" ] && [ ! -e "${D}/${ehome}" ]; then > einfo " - Creating ${ehome} in ${D}"; > dodir ${ehome}; > fowners ${euser} ${ehome}; > fperms 755 ${ehome}; > fi >} >epatch () >{ > local PIPE_CMD=""; > local STDERR_TARGET="${T}/$$.out"; > local PATCH_TARGET="${T}/$$.patch"; > local PATCH_SUFFIX=""; > local SINGLE_PATCH="no"; > local x=""; > if [ "$#" -gt 1 ]; then > eerror "Invalid arguments to epatch()"; > diefunc "$FUNCNAME" "$LINENO" "$?" "Invalid arguments to epatch()"; > 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} ]; 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}"; > 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 "Applying various patches (bugfixes/updates)..."; > fi; > for x in ${EPATCH_SOURCE}; > do > if [ -f ${x} ] && ( [ "${SINGLE_PATCH}" = "yes" -o "${x/_all_}" != "${x}" -o "`eval echo \$\{x/_${ARCH}_\}`" != "${x}" ] || [ "${EPATCH_FORCE}" = "yes" ] ); then > local count=0; > local popts="${EPATCH_OPTS}"; > if [ -n "${EPATCH_EXCLUDE}" ]; then > if [ "`eval echo \$\{EPATCH_EXCLUDE/${x##*/}\}`" != "${EPATCH_EXCLUDE}" ]; then > continue; > fi; > fi; > if [ "${SINGLE_PATCH}" = "yes" ]; then > if [ -n "${EPATCH_SINGLE_MSG}" ]; then > einfo "${EPATCH_SINGLE_MSG}"; > else > einfo "Applying ${x##*/}..."; > fi; > else > einfo " ${x##*/}..."; > fi; > echo "***** ${x##*/} *****" >${STDERR_TARGET%/*}/${x##*/}-${STDERR_TARGET##*/}; > echo >>${STDERR_TARGET%/*}/${x##*/}-${STDERR_TARGET##*/}; > while [ "${count}" -lt 5 ]; do > draw_line "***** ${x##*/} *****" >>${STDERR_TARGET%/*}/${x##*/}-${STDERR_TARGET##*/}; > echo >>${STDERR_TARGET%/*}/${x##*/}-${STDERR_TARGET##*/}; > if [ "${PATCH_SUFFIX}" != "patch" ]; then > echo -n "PIPE_COMMAND: " >>${STDERR_TARGET%/*}/${x##*/}-${STDERR_TARGET##*/}; > echo "${PIPE_CMD} ${x} > ${PATCH_TARGET}" >>${STDERR_TARGET%/*}/${x##*/}-${STDERR_TARGET##*/}; > else > PATCH_TARGET="${x}"; > fi; > echo -n "PATCH COMMAND: " >>${STDERR_TARGET%/*}/${x##*/}-${STDERR_TARGET##*/}; > echo "patch -p${count} ${popts} < ${PATCH_TARGET}" >>${STDERR_TARGET%/*}/${x##*/}-${STDERR_TARGET##*/}; > echo >>${STDERR_TARGET%/*}/${x##*/}-${STDERR_TARGET##*/}; > draw_line "***** ${x##*/} *****" >>${STDERR_TARGET%/*}/${x##*/}-${STDERR_TARGET##*/}; > if [ "${PATCH_SUFFIX}" != "patch" ]; then > if ! ( ${PIPE_CMD} ${x} >${PATCH_TARGET} ) >>${STDERR_TARGET%/*}/${x##*/}-${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 ) >>${STDERR_TARGET%/*}/${x##*/}-${STDERR_TARGET##*/} 2>&1; then > draw_line "***** ${x##*/} *****" >${STDERR_TARGET%/*}/${x##*/}-${STDERR_TARGET##*/}.real; > echo >>${STDERR_TARGET%/*}/${x##*/}-${STDERR_TARGET##*/}.real; > echo "ACTUALLY APPLYING ${x##*/}..." >>${STDERR_TARGET%/*}/${x##*/}-${STDERR_TARGET##*/}.real; > echo >>${STDERR_TARGET%/*}/${x##*/}-${STDERR_TARGET##*/}.real; > draw_line "***** ${x##*/} *****" >>${STDERR_TARGET%/*}/${x##*/}-${STDERR_TARGET##*/}.real; > cat ${PATCH_TARGET} | patch -p${count} ${popts} >>${STDERR_TARGET%/*}/${x##*/}-${STDERR_TARGET##*/}.real 2>&1; > if [ "$?" -ne 0 ]; then > cat ${STDERR_TARGET%/*}/${x##*/}-${STDERR_TARGET##*/}.real >>${STDERR_TARGET%/*}/${x##*/}-${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%/*}/${x##*/}-${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: ${x##*/}!"; > eerror; > eerror "Include in your bugreport the contents of:"; > eerror; > eerror " ${STDERR_TARGET%/*}/${x##*/}-${STDERR_TARGET##*/}"; > echo; > diefunc "$FUNCNAME" "$LINENO" "$?" "Failed Patch: ${x##*/}!"; > fi; > rm -f ${STDERR_TARGET%/*}/${x##*/}-${STDERR_TARGET##*/}; > eend 0; > fi; > done; > if [ "${SINGLE_PATCH}" = "no" ]; then > einfo "Done with patching"; > fi >} >esyslog () >{ > return 0 >} >etexec-flags () >{ > has_hardened || return 0; > if has_pie || has_pic; then > [ -z "`is-flag -fno-pic`" ] && export CFLAGS="${CFLAGS} `test_flag -fno-pic`"; > [ -z "`is-flag -nopie`" ] && export CFLAGS="${CFLAGS} `test_flag -nopie`"; > fi; > return 0 >} >ewarn () >{ > if [ "${RC_QUIET_STDOUT}" = "yes" ]; then > echo " ${*}"; > else > echo -e " ${WARN}*${NORMAL} ${*}"; > fi; > esyslog "daemon.warning" "rc-scripts" "${*}"; > return 0 >} >ewend () >{ > local retval=; > if [ "$#" -eq 0 ] || ( [ -n "$1" ] && [ "$1" -eq 0 ] ); then > if [ "${RC_QUIET_STDOUT}" != "yes" ]; then > echo -e "${ENDCOL} ${BRACKET}[ ${GOOD}ok${BRACKET} ]${NORMAL}"; > fi; > else > retval="$1"; > if [ "$#" -ge 2 ]; then > shift; > ewarn "${*}"; > fi; > if [ "${RC_QUIET_STDOUT}" != "yes" ]; then > echo -e "${ENDCOL} ${BRACKET}[ ${WARN}!!${BRACKET} ]${NORMAL}"; > echo; > fi; > return "${retval}"; > fi; > return 0 >} >exeinto () >{ > if [ "$1" == "/" ]; then > export EXEDESTTREE=""; > else > export EXEDESTTREE="$1"; > if [ ! -d "${D}${EXEDESTTREE}" ]; then > install -d "${D}${EXEDESTTREE}"; > fi; > fi >} >exeopts () >{ > EXEOPTIONS=""; > for x in $*; > do > if has nostrip $FEATURES $RESTRICT && [ "$x" == "-s" ]; then > continue; > else > EXEOPTIONS="$EXEOPTIONS $x"; > fi; > done; > export EXEOPTIONS >} >filter-flags () >{ > local x; > for x in "$@"; > do > case "${x}" in > -fPIC | -fpic | -fPIE | -fpie | -pie) > etexec-flags > ;; > -fstack-protector | -fstack-protector-all) > fstack-flags > ;; > *) > > ;; > esac; > done; > CFLAGS=" ${CFLAGS} "; > CXXFLAGS=" ${CXXFLAGS} "; > for x in "$@"; > do > CFLAGS="${CFLAGS// ${x} / }"; > CXXFLAGS="${CXXFLAGS// ${x} / }"; > done; > CFLAGS="${CFLAGS:1:${#CFLAGS}-2}"; > CXXFLAGS="${CXXFLAGS:1:${#CXXFLAGS}-2}"; > return 0 >} >filter-ldflags () >{ > local x; > LDFLAGS=" ${LDFLAGS} "; > for x in "$@"; > do > LDFLAGS="${LDFLAGS// ${x} / }"; > done; > LDFLAGS="${LDFLAGS:1:${#LDFLAGS}-2}"; > return 0 >} >filter-lfs-flags () >{ > 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 | tr , ' '` "; > prune_math=""; > for prune_math in "$@"; > do > new_math="${new_math/ ${prune_math} / }"; > done; > new_math="`echo ${new_math:1:${#new_math}-2} | tr ' ' ,`"; > 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}" ] && diefunc "$FUNCNAME" "$LINENO" "$?" "Could not find requested archive ${src}"; > echo "${src}" >} >fstack-flags () >{ > if has_ssp; then > [ -z "`is-flag -fno-stack-protector`" ] && export CFLAGS="${CFLAGS} `test_flag -fno-stack-protector`"; > fi; > return 0 >} >gen_usr_ldscript () >{ > dodir /usr/lib; > cat >${D}/usr/lib/$1 <<'END_LDSCRIPT' >/* GNU ld script > Because Gentoo have 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 #4411 on http://bugs.gentoo.org/ for > more info. */ >GROUP ( /lib/libxxx ) >END_LDSCRIPT > > dosed "s:libxxx:$1:" /usr/lib/$1; > return 0 >} >gen_wrapper () >{ > cat >$1 <<END >#!/bin/sh > >$2 "\$@" >END > > chmod 0755 $1 >} >get-flag () >{ > local f findflag="$1"; > for f in ${CFLAGS} ${CXXFLAGS}; > do > if [ "${f/${findflag}}" != "${f}" ]; then > printf "%s\n" "${f/-${findflag}=}"; > return 0; > fi; > done; > return 1 >} >get_KV () >{ > local KV="$(uname -r)"; > echo "$(KV_to_int "${KV}")"; > return $? >} >get_bootconfig () >{ > local copt=; > local newbootlevel=; > local newsoftlevel=; > for copt in $(< /proc/cmdline); > do > case "${copt%=*}" in > "bootlevel") > newbootlevel="${copt##*=}" > ;; > "softlevel") > newsoftlevel="${copt##*=}" > ;; > esac; > done; > if [ -n "${newbootlevel}" ]; then > export BOOTLEVEL="${newbootlevel}"; > else > export BOOTLEVEL="boot"; > fi; > if [ -n "${newsoftlevel}" ]; then > export DEFAULTLEVEL="${newsoftlevel}"; > else > export DEFAULTLEVEL="default"; > fi; > return 0 >} >get_bootparam () >{ > local x copt params retval=1; > [ ! -e "/proc/cmdline" ] && return 1; > for copt in $(< /proc/cmdline); > do > if [ "${copt%=*}" = "gentoo" ]; then > params="$(gawk -v PARAMS="${copt##*=}" ' > BEGIN { > split(PARAMS, nodes, ",") > for (x in nodes) > print nodes[x] > }')"; > for x in ${params}; > do > if [ "${x}" = "$1" ]; then > retval=0; > fi; > done; > fi; > done; > return ${retval} >} >get_number_of_jobs () >{ > local jobs=0; > if [ ! -r /proc/cpuinfo ]; then > return 1; > fi; > if [ "`egrep "^[[:space:]]*MAKEOPTS=" /etc/make.conf | wc -l`" -gt 0 ]; then > ADMINOPTS="`egrep "^[[:space:]]*MAKEOPTS=" /etc/make.conf | cut -d= -f2 | sed 's/\"//g'`"; > ADMINPARAM="`echo ${ADMINOPTS} | gawk '{match($0, /-j *[0-9]*/, opt); print opt[0]}'`"; > ADMINPARAM="${ADMINPARAM/-j}"; > fi; > export MAKEOPTS="`echo ${MAKEOPTS} | sed -e 's:-j *[0-9]*::g'`"; > if [ "${ARCH}" = "amd64" -o "${ARCH}" = "x86" -o "${ARCH}" = "hppa" -o "${ARCH}" = "arm" -o "${ARCH}" = "mips" -o "${ARCH}" = "ia64" ]; then > jobs="$((`grep -c ^[Pp]rocessor /proc/cpuinfo` * 2))"; > else > if [ "${ARCH}" = "sparc" -o "${ARCH}" = "sparc64" ]; then > jobs="$((`grep "^ncpus active" /proc/cpuinfo | sed -e "s/^.*: //"` * 2))"; > else > if [ "${ARCH}" = "alpha" ]; then > if [ "`grep -c "^cpus active" /proc/cpuinfo`" -eq 1 ]; then > jobs="$((`grep "^cpus active" /proc/cpuinfo | sed -e "s/^.*: //"` * 2))"; > else > jobs=2; > fi; > else > if [ "${ARCH}" = "ppc" -o "${ARCH}" = "ppc64" ]; then > if [ "`grep -c "^processor" /proc/cpuinfo`" -eq 1 ]; then > jobs="$((`grep -c ^processor /proc/cpuinfo` * 2))"; > else > jobs=2; > fi; > else > if [ "${ARCH}" = "s390" ]; then > jobs="$((`grep "^\# processors" /proc/cpuinfo | sed -e "s/^.*: //"` * 2))"; > else > jobs="$((`grep -c ^cpu /proc/cpuinfo` * 2))"; > diefunc "$FUNCNAME" "$LINENO" "$?" "Unknown ARCH -- ${ARCH}!"; > fi; > fi; > fi; > fi; > fi; > if [ "${jobs}" -lt 1 ]; then > jobs=1; > fi; > if [ -n "${ADMINPARAM}" ]; then > if [ "${jobs}" -gt "${ADMINPARAM}" ]; then > einfo "Setting make jobs to \"-j${ADMINPARAM}\" to ensure successful merge..."; > export MAKEOPTS="${MAKEOPTS} -j${ADMINPARAM}"; > else > einfo "Setting make jobs to \"-j${jobs}\" to ensure successful merge..."; > export MAKEOPTS="${MAKEOPTS} -j${jobs}"; > fi; > fi >} >get_options () >{ > if [ -f "${svcdir}/options/${myservice}/$1" ]; then > echo "$(< ${svcdir}/options/${myservice}/$1)"; > fi; > return 0 >} >getcols () >{ > echo "$2" >} >has () >{ > if hasq "$@"; then > echo "${1}"; > return 0; > fi; > return 1 >} >has_hardened () >{ > test_version_info Hardened; > return $? >} >has_m32 () >{ > test_flag -m32; > return $? >} >has_m64 () >{ > test_flag -m64; > return $? >} >has_pic () >{ > [ "${CFLAGS/-fPIC}" != "${CFLAGS}" ] && return 0; > [ "${CFLAGS/-fpic}" != "${CFLAGS}" ] && return 0; > test_version_info pie && return 0; > return 1 >} >has_pie () >{ > [ "${CFLAGS/-fPIE}" != "${CFLAGS}" ] && return 0; > [ "${CFLAGS/-fpie}" != "${CFLAGS}" ] && return 0; > test_version_info pie && return 0; > return 1 >} >has_ssp () >{ > [ "${CFLAGS/-fstack-protector}" != "${CFLAGS}" ] && return 0; > test_version_info ssp && return 0; > return 1 >} >has_version () >{ > [ "${EBUILD_PHASE}" == "depend" ] && echo "has_version() in global scope: ${CATEGORY}/$PF" 1>&2; > if /usr/lib/portage/bin/portageq 'has_version' "${ROOT}" "$1"; then > return 0; > else > return 1; > fi >} >hasq () >{ > local x; > local me=$1; > shift; > for x in "$@"; > do > if [ "${x}" == "${me}" ]; then > return 0; > fi; > done; > return 1 >} >have_NPTL () >{ > cat >${T}/test-nptl.c <<-'END' >#define _XOPEN_SOURCE >#include <unistd.h> >#include <stdio.h> > >int main() >{ > char buf[255]; > char *str = buf; > > confstr(_CS_GNU_LIBPTHREAD_VERSION, str, 255); > if (NULL != str) { > printf("%s\n", str); > if (NULL != strstr(str, "NPTL")) > return 0; > } > > return 1; >} >END > > einfon "Checking for _CS_GNU_LIBPTHREAD_VERSION support in glibc ... "; > if gcc -o ${T}/nptl ${T}/test-nptl.c >&/dev/null; then > echo "yes"; > einfon "Checking what PTHREADS implementation we have ... "; > if ${T}/nptl; then > return 0; > else > return 1; > fi; > else > echo "no"; > fi; > return 1 >} >inherit () >{ > ECLASS_DEPTH=$(($ECLASS_DEPTH + 1)); > if [[ $ECLASS_DEPTH > 1 ]]; then > debug-print "*** Multiple Inheritence (Level: ${ECLASS_DEPTH})"; > fi; > local location; > local PECLASS; > local B_IUSE; > local B_DEPEND; > local B_RDEPEND; > local B_CDEPEND; > local B_PDEPEND; > while [ "$1" ]; do > location="${ECLASSDIR}/${1}.eclass"; > PECLASS="$ECLASS"; > export ECLASS="$1"; > if [ -n "$PORTDIR_OVERLAY" ]; then > local overlay; > for overlay in ${PORTDIR_OVERLAY}; > do > olocation="${overlay}/eclass/${1}.eclass"; > if [ -e "$olocation" ]; then > location="${olocation}"; > debug-print " eclass exists: ${location}"; > break; > fi; > done; > fi; > debug-print "inherit: $1 -> $location"; > set -f; > unset B_DEPEND B_RDEPEND B_CDEPEND B_PDEPEND; > [ "${DEPEND-unset}" != "unset" ] && B_DEPEND="${DEPEND}"; > [ "${RDEPEND-unset}" != "unset" ] && B_RDEPEND="${RDEPEND}"; > [ "${CDEPEND-unset}" != "unset" ] && B_CDEPEND="${CDEPEND}"; > [ "${PDEPEND-unset}" != "unset" ] && B_PDEPEND="${PDEPEND}"; > unset DEPEND RDEPEND CDEPEND PDEPEND; > set +f; > source "$location" || export ERRORMSG="died sourcing $location in inherit()"; > [ -z "${ERRORMSG}" ] || diefunc "$FUNCNAME" "$LINENO" "$?" "${ERRORMSG}"; > set -f; > [ "${DEPEND-unset}" != "unset" ] && export E_DEPEND="${E_DEPEND} ${DEPEND}"; > [ "${RDEPEND-unset}" != "unset" ] && export E_RDEPEND="${E_RDEPEND} ${RDEPEND}"; > [ "${CDEPEND-unset}" != "unset" ] && export E_CDEPEND="${E_CDEPEND} ${CDEPEND}"; > [ "${PDEPEND-unset}" != "unset" ] && export E_PDEPEND="${E_PDEPEND} ${PDEPEND}"; > [ "${B_DEPEND-unset}" != "unset" ] && DEPEND="${B_DEPEND}"; > [ "${B_DEPEND-unset}" != "unset" ] || unset DEPEND; > [ "${B_RDEPEND-unset}" != "unset" ] && RDEPEND="${B_RDEPEND}"; > [ "${B_RDEPEND-unset}" != "unset" ] || unset RDEPEND; > [ "${B_CDEPEND-unset}" != "unset" ] && CDEPEND="${B_CDEPEND}"; > [ "${B_CDEPEND-unset}" != "unset" ] || unset CDEPEND; > [ "${B_PDEPEND-unset}" != "unset" ] && PDEPEND="${B_PDEPEND}"; > [ "${B_PDEPEND-unset}" != "unset" ] || unset PDEPEND; > set +f; > hasq $1 $INHERITED || export INHERITED="$INHERITED $1"; > export ECLASS="$PECLASS"; > shift; > done; > ECLASS_DEPTH=$(($ECLASS_DEPTH - 1)) >} >insinto () >{ > if [ "$1" == "/" ]; then > export INSDESTTREE=""; > else > export INSDESTTREE=$1; > if [ ! -d "${D}${INSDESTTREE}" ]; then > install -d "${D}${INSDESTTREE}"; > fi; > fi >} >insopts () >{ > INSOPTIONS=""; > for x in $*; > do > if has nostrip $FEATURES $RESTRICT && [ "$x" == "-s" ]; then > continue; > else > INSOPTIONS="$INSOPTIONS $x"; > fi; > done; > export INSOPTIONS >} >into () >{ > if [ $1 == "/" ]; then > export DESTTREE=""; > else > export DESTTREE=$1; > if [ ! -d "${D}${DESTTREE}" ]; then > install -d "${D}${DESTTREE}"; > fi; > fi >} >is-flag () >{ > local x; > for x in ${CFLAGS} ${CXXFLAGS}; > do > if [ "${x}" == "$1" ]; then > echo true; > return 0; > fi; > done; > return 1 >} >keepdir () >{ > dodir "$@"; > local x; > if [ "$1" == "-R" ] || [ "$1" == "-r" ]; then > shift; > find "$@" -type d -printf "${D}/%p/.keep\n" | tr "\n" "\0" | $XARGS -0 -n100 touch || diefunc "$FUNCNAME" "$LINENO" "$?" "Failed to recursive create .keep files"; > else > for x in "$@"; > do > touch "${D}/${x}/.keep" || diefunc "$FUNCNAME" "$LINENO" "$?" "Failed to create .keep in ${D}/${x}"; > done; > fi >} >libopts () >{ > LIBOPTIONS=""; > for x in $*; > do > if has nostrip $FEATURES $RESTRICT && [ "$x" == "-s" ]; then > continue; > else > LIBOPTIONS="$LIBOPTIONS $x"; > fi; > done; > export LIBOPTIONS >} >make_desktop_entry () >{ > [ -z "$1" ] && eerror "You must specify the executable" && return 1; > local exec="${1}"; > local name="${2:-${PN}}"; > local icon="${3:-${PN}.png}"; > local type="${4}"; > local subdir="${6}"; > local path="${5:-${GAMES_PREFIX}}"; > if [ -z "${type}" ]; then > case ${CATEGORY} in > "app-emulation") > type=Emulator; > subdir="Emulation" > ;; > "games-"*) > type=Game; > subdir="Games" > ;; > "net-"*) > type=Network; > subdir="${type}" > ;; > *) > type=; > subdir= > ;; > esac; > fi; > local desktop="${T}/${exec}.desktop"; > echo "[Desktop Entry] >Encoding=UTF-8 >Version=0.9.2 >Name=${name} >Type=Application >Comment=${DESCRIPTION} >Exec=${exec} >Path=${path} >Icon=${icon} >Categories=Application;${type};" >${desktop}; > if [ -d "/usr/share/applications" ]; then > insinto /usr/share/applications; > doins ${desktop}; > fi; > if [ -d "/usr/share/applnk" ]; then > insinto /usr/share/applnk/${subdir}; > doins ${desktop}; > fi; > return 0 >} >mymktemp () >{ > local topdir="$1"; > [ -z "${topdir}" ] && topdir=/tmp; > if [ "`which mktemp 2>/dev/null`" ]; then > mktemp -p ${topdir}; > else > local tmp="${topdir}/tmp.${RANDOM}.${RANDOM}.${RANDOM}"; > touch ${tmp}; > echo ${tmp}; > fi >} >newcdepend () >{ > debug-print-function newcdepend $*; > do_newdepend CDEPEND $1 >} >newdepend () >{ > debug-print-function newdepend $*; > debug-print "newdepend: E_DEPEND=$E_DEPEND E_RDEPEND=$E_RDEPEND"; > while [ -n "$1" ]; do > case $1 in > "/autotools") > do_newdepend DEPEND sys-devel/autoconf sys-devel/automake sys-devel/make > ;; > "/c") > do_newdepend DEPEND sys-devel/gcc virtual/glibc; > do_newdepend RDEPEND virtual/glibc > ;; > *) > do_newdepend DEPEND $1 > ;; > esac; > shift; > done >} >newpdepend () >{ > debug-print-function newpdepend $*; > do_newdepend PDEPEND $1 >} >newrdepend () >{ > debug-print-function newrdepend $*; > do_newdepend RDEPEND $1 >} >ordertest () >{ > echo "RUNNING FROM EXTRA_FUNCTIONS.SH" >} >pkg_nofetch () >{ > [ -z "${SRC_URI}" ] && return; > echo "!!! The following are listed in SRC_URI for ${PN}:"; > for MYFILE in `echo ${SRC_URI}`; > do > echo "!!! $MYFILE"; > done >} >pkg_postinst () >{ > return >} >pkg_postrm () >{ > return >} >pkg_preinst () >{ > return >} >pkg_prerm () >{ > return >} >pkg_setup () >{ > return >} >portageq () >{ > [ "${EBUILD_PHASE}" == "depend" ] && echo "portageq in global scope: ${CATEGORY}/$PF" 1>&2; > /usr/lib/portage/bin/portageq "$@" >} >replace-cpu-flags () >{ > local oldcpu newcpu="$1"; > shift; > for oldcpu in "$@"; > do > replace-flags -march=${oldcpu} -march=${newcpu}; > replace-flags -mcpu=${oldcpu} -mcpu=${newcpu}; > replace-flags -mtune=${oldcpu} -mtune=${newcpu}; > done; > return 0 >} >replace-flags () >{ > CFLAGS=" ${CFLAGS} "; > CXXFLAGS=" ${CXXFLAGS} "; > CFLAGS="${CFLAGS// ${1} / ${2} }"; > CXXFLAGS="${CXXFLAGS// ${1} / ${2} }"; > CFLAGS="${CFLAGS:1:${#CFLAGS}-2}"; > CXXFLAGS="${CXXFLAGS:1:${#CXXFLAGS}-2}"; > return 0 >} >replace-sparc64-flags () >{ > local SPARC64_CPUS="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 >} >save_options () >{ > local myopts="$1"; > shift; > if [ ! -d "${svcdir}/options/${myservice}" ]; then > mkdir -p -m 0755 "${svcdir}/options/${myservice}"; > fi; > echo "$*" >"${svcdir}/options/${myservice}/${myopts}"; > return 0 >} >setup-allowed-flags () >{ > if [ -z "${ALLOWED_FLAGS}" ]; then > export ALLOWED_FLAGS="-O -O1 -O2 -mcpu -march -mtune -fstack-protector -fno-unit-at-a-time -pipe -g"; > case "${ARCH}" in > mips) > ALLOWED_FLAGS="${ALLOWED_FLAGS} -mips1 -mips2 -mips3 -mips4 -mabi" > ;; > amd64) > ALLOWED_FLAGS="${ALLOWED_FLAGS} -fPIC -m64" > ;; > x86) > ALLOWED_FLAGS="${ALLOWED_FLAGS} -m32" > ;; > alpha) > ALLOWED_FLAGS="${ALLOWED_FLAGS} -fPIC" > ;; > ia64) > ALLOWED_FLAGS="${ALLOWED_FLAGS} -fPIC" > ;; > esac; > fi; > export UNSTABLE_FLAGS="-Os -O3 -freorder-blocks -fprefetch-loop-arrays"; > return 0 >} >setup_defaultlevels () >{ > get_bootconfig; > if get_bootparam "noconfigprofile"; then > export RC_USE_CONFIG_PROFILE="no"; > else > if get_bootparam "configprofile"; then > export RC_USE_CONFIG_PROFILE="yes"; > fi; > fi; > if [ "${RC_USE_CONFIG_PROFILE}" = "yes" -a -n "${DEFAULTLEVEL}" ] && [ -d "/etc/runlevels/${BOOTLEVEL}.${DEFAULTLEVEL}" -o -L "/etc/runlevels/${BOOTLEVEL}.${DEFAULTLEVEL}" ]; then > export BOOTLEVEL="${BOOTLEVEL}.${DEFAULTLEVEL}"; > fi; > if [ -z "${SOFTLEVEL}" ]; then > if [ -f "${svcdir}/softlevel" ]; then > export SOFTLEVEL="$(< ${svcdir}/softlevel)"; > else > export SOFTLEVEL="${BOOTLEVEL}"; > fi; > fi; > return 0 >} >splash_calc () >{ > pb_runs=($(dolisting "/etc/runlevels/${SOFTLEVEL}/")); > pb_runb=($(dolisting "/etc/runlevels/${BOOTLEVEL}/")); > pb_scripts=${#pb_runs[*]}; > pb_boot=${#pb_runb[*]}; > [ ! -e /proc/splash -o ! -x /sbin/splash ] && return 0; > if [ -f /etc/conf.d/bootsplash.conf ]; then > . /etc/conf.d/bootsplash.conf; > if [ -n "${PROGRESS_SYSINIT_RATE}" ]; then > init_rate=$((65535*${PROGRESS_SYSINIT_RATE}/100)); > fi; > if [ -n "${PROGRESS_BOOT_RATE}" ]; then > boot_rate=$((65535*${PROGRESS_BOOT_RATE}/100)); > fi; > fi; > if [ "${RUNLEVEL}" = "S" -a "${SOFTLEVEL}" = "boot" ]; then > pb_started=($(dolisting "${svcdir}/started/")); > pb_scripts=$((${pb_boot} - ${#pb_started[*]})); > pb_init=16383; > pb_rate=26213; > pb_count=0; > if [ -n "${init_rate}" -a -n "${boot_rate}" ]; then > pb_init="${init_rate}"; > pb_rate=$((${init_rate} + ${boot_rate})); > fi; > else > if [ "${SOFTLEVEL}" = "reboot" -o "${SOFTLEVEL}" = "shutdown" ]; then > pb_started=($(dolisting "${svcdir}/started/")); > pb_scripts=${#pb_started[*]}; > pb_rate=65534; > else > pb_init=26213; > pb_rate=65534; > if [ -n "${init_rate}" -a -n "${boot_rate}" ]; then > pb_init=$((${init_rate} + ${boot_rate})); > fi; > fi; > fi; > echo "pb_init=${pb_init}" >"${svcdir}/progress"; > echo "pb_rate=${pb_rate}" >>"${svcdir}/progress"; > echo "pb_count=${pb_count}" >>"${svcdir}/progress"; > echo "pb_scripts=${pb_scripts}" >>"${svcdir}/progress" >} >splash_debug () >{ > local softlevel="$1"; > [ ! -e /proc/splash -o ! -x /sbin/splash ] && return 0; > if [ -f /etc/conf.d/bootsplash.conf ]; then > source /etc/conf.d/bootsplash.conf; > [ "${BOOTSPLASH_DEBUG}" = "yes" -a -n "${softlevel}" ] || return; > if [ -f "${svcdir}/progress" ]; then > cat "${svcdir}/progress" >"/var/log/bootsplash.${softlevel}"; > else > echo "pb_init=${pb_init}" >"/var/log/bootsplash.${softlevel}"; > echo "pb_rate=${pb_rate}" >>"/var/log/bootsplash.${softlevel}"; > echo "pb_count=${pb_count}" >>"/var/log/bootsplash.${softlevel}"; > echo "pb_scripts=${pb_scripts}" >>"/var/log/bootsplash.${softlevel}"; > echo "pb_execed=\"${pb_execed}\"" >>"/var/log/bootsplash.${softlevel}"; > fi; > fi >} >splash_init () >{ > pb_init=0; > pb_count=0; > pb_scripts=0; > pb_rate=0; > if [ ! -x /sbin/splash ] || [ -e /proc/version -a ! -e /proc/splash ]; then > return 0; > fi; > if [ -f /etc/conf.d/bootsplash.conf ]; then > . /etc/conf.d/bootsplash.conf; > if [ -n "${PROGRESS_SYSINIT_RATE}" ]; then > rate=$((65535*${PROGRESS_SYSINIT_RATE}/100)); > fi; > fi; > if [ "${RUNLEVEL}" = "S" ]; then > pb_scripts=5; > pb_rate=16383; > [ -n "${rate}" ] && pb_rate="${rate}"; > fi; > export pb_init pb_count pb_scripts pb_rate >} >splash_update () >{ > local fsstate="$1"; > local myscript="$2"; > local action="$3"; > [ ! -e /proc/splash -o ! -x /sbin/splash ] && return 0; > if [ "${fsstate}" = "inline" ]; then > /sbin/splash "${myscript}" "${action}"; > pb_count=$((${pb_count} + 1)); > pb_execed="${pb_execed} ${myscript:-inline}"; > else > if [ ! -L "${svcdir}/softscripts/${myscript}" ]; then > [ "${SOFTLEVEL}" != "reboot" -a "${SOFTLEVEL}" != "shutdown" ] && return; > fi; > [ -f "${svcdir}/progress" ] && source "${svcdir}/progress"; > for x in ${pb_execed}; > do > [ "${x}" = "${myscript}" ] && return; > done; > /sbin/splash "${myscript}" "${action}"; > pb_count=$((${pb_count} + 1)); > echo "pb_init=${pb_init}" >"${svcdir}/progress"; > echo "pb_rate=${pb_rate}" >>"${svcdir}/progress"; > echo "pb_count=${pb_count}" >>"${svcdir}/progress"; > echo "pb_scripts=${pb_scripts}" >>"${svcdir}/progress"; > echo "pb_execed=\"${pb_execed} ${myscript}\"" >>"${svcdir}/progress"; > fi >} >src_compile () >{ > elibtoolize; > local AA=; > replace-flags "-march=k6*" "-march=i586"; > filter-flags "-fno-inline"; > econf --disable-default-binary `use_enable mmx` `use_enable sse` `use_enable altivec` `use_enable doc gtk-doc` `use_enable python` `use_enable gimpprint print` `use_with X x` `use_with png libpng` `use_with jpeg libjpeg` `use_with jpeg libexif` `use_with tiff libtiff` `use_with mng libmng` `use_with aalib aa` `use_enable debug` || diefunc "$FUNCNAME" "$LINENO" "$?"; > emake || diefunc "$FUNCNAME" "$LINENO" "$?" >} >src_install () >{ > local AA=; > dodir /usr/share/{applications,application-registry,mime-info}; > make DESTDIR=${D} install || diefunc "$FUNCNAME" "$LINENO" "$?"; > dodoc AUTHORS COPYING ChangeL* HACKING INSTALL MAINTAINERS NEWS PLUGIN_MAINTAINERS README* TODO* >} >src_unpack () >{ > unpack ${A}; > cd ${S}; > epatch ${FILESDIR}/ltmain_sh-1.5.0-fix-relink.patch >} >strip-flags () >{ > local x y flag NEW_CFLAGS NEW_CXXFLAGS; > setup-allowed-flags; > local NEW_CFLAGS=""; > local NEW_CXXFLAGS=""; > if has ~${ARCH} ${ACCEPT_KEYWORDS}; then > use debug && einfo "Enabling the use of some unstable flags"; > 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; > useq debug && einfo "CFLAGS=\"${NEW_CFLAGS}\"" && einfo "CXXFLAGS=\"${NEW_CXXFLAGS}\""; > export CFLAGS="${NEW_CFLAGS}"; > export CXXFLAGS="${NEW_CXXFLAGS}"; > return 0 >} >strip-unsupported-flags () >{ > local NEW_CFLAGS NEW_CXXFLAGS; > for x in ${CFLAGS}; > do > NEW_CFLAGS="${NEW_CFLAGS} `test_flag ${x}`"; > done; > for x in ${CXXFLAGS}; > do > NEW_CXXFLAGS="${NEW_CXXFLAGS} `test_flag ${x}`"; > done; > export CFLAGS="${NEW_CFLAGS}"; > export CXXFLAGS="${NEW_CXXFLAGS}" >} >test_flag () >{ > local cc=${CC:-gcc}; > cc=${cc%% *}; > if ${cc} -S -xc "$@" -o /dev/null /dev/null >&/dev/null; then > printf "%s\n" "$*"; > return 0; > fi; > return 1 >} >test_version_info () >{ > local cc=${CC:-gcc}; > cc=${cc%% *}; > if [[ $(${cc} --version 2>&1) == *$1* ]]; then > return 0; > else > return 1; > fi >} >unpack () >{ > local x; > local y; > local myfail; > local tarvars; > if [ "$USERLAND" == "BSD" ]; then > tarvars=""; > else > tarvars="--no-same-owner"; > fi; > for x in "$@"; > do > myfail="failure unpacking ${x}"; > echo ">>> Unpacking ${x} to $(pwd)"; > y="$(echo $x | sed 's:.*\.\(tar\)\.[a-zA-Z0-9]*:\1:')"; > case "${x##*.}" in > tar) > tar ${tarvars} -xf "${DISTDIR}/${x}" || diefunc "$FUNCNAME" "$LINENO" "$?" "$myfail" > ;; > tgz) > tar ${tarvars} -xzf "${DISTDIR}/${x}" || diefunc "$FUNCNAME" "$LINENO" "$?" "$myfail" > ;; > tbz2) > bzip2 -dc "${DISTDIR}/${x}" | tar ${tarvars} -xf - || diefunc "$FUNCNAME" "$LINENO" "$?" "$myfail" > ;; > ZIP | zip) > unzip -qo "${DISTDIR}/${x}" || diefunc "$FUNCNAME" "$LINENO" "$?" "$myfail" > ;; > gz | Z | z) > if [ "${y}" == "tar" ]; then > tar ${tarvars} -xzf "${DISTDIR}/${x}" || diefunc "$FUNCNAME" "$LINENO" "$?" "$myfail"; > else > gzip -dc "${DISTDIR}/${x}" >${x%.*} || diefunc "$FUNCNAME" "$LINENO" "$?" "$myfail"; > fi > ;; > bz2) > if [ "${y}" == "tar" ]; then > bzip2 -dc "${DISTDIR}/${x}" | tar ${tarvars} -xf - || diefunc "$FUNCNAME" "$LINENO" "$?" "$myfail"; > else > bzip2 -dc "${DISTDIR}/${x}" >${x%.*} || diefunc "$FUNCNAME" "$LINENO" "$?" "$myfail"; > fi > ;; > *) > echo "unpack ${x}: file format not recognized. Ignoring." > ;; > esac; > done >} >unpack_makeself () >{ > local src="`find_unpackable_file $1`"; > local skip="$2"; > 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; > case ${ver} in > 1.5.*) > skip=`grep -a ^skip= ${src} | cut -d= -f2` > ;; > 2.0 | 2.0.1) > skip=`grep -a ^$'\t'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" > ;; > *) > 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; > local tmpfile="`mymktemp ${T}`"; > tail -n +${skip} ${src} 2>/dev/null | head -c 512 >${tmpfile}; > local filetype="`file -b ${tmpfile}`"; > case ${filetype} in > *tar\ archive) > tail -n +${skip} ${src} | tar --no-same-owner -xf - > ;; > bzip2*) > tail -n +${skip} ${src} | bzip2 -dc | tar --no-same-owner -xf - > ;; > gzip*) > tail -n +${skip} ${src} | tar --no-same-owner -xzf - > ;; > *) > 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 "${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="`mymktemp ${T}`"; > tail -c +$((${metaskip}+1)) ${src} >${metafile}; > local datafile="`tail -c +$((${metaskip}+1)) ${src} | strings | head -n 1`"; > datafile="`basename ${datafile}`"; > local tmpfile="`mymktemp ${T}`"; > 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 >} >update_splash_wrappers () >{ > if [ -x /sbin/splash ] && ( [ ! -e /proc/version ] || [ -e /proc/version -a -e /proc/splash ] ); then > function rc_splash () > { > /sbin/splash $* > }; > function rc_splash_init () > { > splash_init $* > }; > function rc_splash_calc () > { > splash_calc $* > }; > function rc_splash_update () > { > splash_update $* > }; > function rc_splash_debug () > { > splash_debug $* > }; > else > function rc_splash () > { > return 0 > }; > function rc_splash_init () > { > return 0 > }; > function rc_splash_calc () > { > return 0 > }; > function rc_splash_update () > { > return 0 > }; > function rc_splash_debug () > { > return 0 > }; > fi; > export rc_splash rc_splash_init rc_splash_calc rc_splash_update rc_splash_debug >} >use () >{ > if useq ${1}; then > echo "${1}"; > return 0; > fi; > return 1 >} >use_enable () >{ > if [ -z "$1" ]; then > echo "!!! use_enable() called without a parameter." 1>&2; > echo "!!! use_enable <USEFLAG> [<flagname> [value]]" 1>&2; > return; > fi; > local UE_SUFFIX=""; > if [ ! -z "${3}" ]; then > UE_SUFFIX="=${3}"; > fi; > local UWORD="$2"; > if [ -z "${UWORD}" ]; then > UWORD="$1"; > fi; > if useq $1; then > echo "--enable-${UWORD}${UE_SUFFIX}"; > return 0; > else > echo "--disable-${UWORD}"; > return 1; > fi >} >use_with () >{ > if [ -z "$1" ]; then > echo "!!! use_with() called without a parameter." 1>&2; > echo "!!! use_with <USEFLAG> [<flagname> [value]]" 1>&2; > return; > fi; > local UW_SUFFIX=""; > if [ ! -z "${3}" ]; then > UW_SUFFIX="=${3}"; > fi; > local UWORD="$2"; > if [ -z "${UWORD}" ]; then > UWORD="$1"; > fi; > if useq $1; then > echo "--with-${UWORD}${UW_SUFFIX}"; > return 0; > else > echo "--without-${UWORD}"; > return 1; > fi >} >useq () >{ > local u="${1}"; > local neg=0; > if [ "${u:0:1}" == "!" ]; then > u="${u:1}"; > neg=1; > fi; > local x; > for x in ${USE}; > do > if [ "${x}" == "${u}" ]; then > if [ ${neg} -eq 1 ]; then > return 1; > else > return 0; > fi; > fi; > done; > if [ ${neg} -eq 1 ]; then > return 0; > else > return 1; > fi >} >wrap_rcscript () >{ > local retval=1; > local myservice="${1##*/}"; > ( echo "function test_script() {"; > cat "$1"; > echo "}" ) >"${svcdir}/${myservice}-$$"; > if source "${svcdir}/${myservice}-$$" >&/dev/null; then > test_script >&/dev/null; > retval=0; > fi; > rm -f "${svcdir}/${myservice}-$$"; > return "${retval}" >}
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Raw
Actions:
View
Attachments on
bug 54785
: 33884