Go to:
Gentoo Home
Documentation
Forums
Lists
Bugs
Planet
Store
Wiki
Get Gentoo!
Gentoo's Bugzilla – Attachment 56350 Details for
Bug 87877
let portage work in different PREFIX, with packages to install in new PREFIX too
Home
|
New
–
[Ex]
|
Browse
|
Search
|
Privacy Policy
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
collection of previous patches, updated agains current cvs
portage-affix-4.patch (text/plain), 362.51 KB, created by
Michael Haubenwallner (RETIRED)
on 2005-04-15 06:16:18 UTC
(
hide
)
Description:
collection of previous patches, updated agains current cvs
Filename:
MIME Type:
Creator:
Michael Haubenwallner (RETIRED)
Created:
2005-04-15 06:16:18 UTC
Size:
362.51 KB
patch
obsolete
>diff -ruN portage-cvs/ChangeLog portage-salomon/ChangeLog >--- portage-cvs/ChangeLog 2005-04-13 00:37:12.000000000 +0200 >+++ portage-salomon/ChangeLog 2005-04-15 13:08:31.000000000 +0200 >@@ -7,6 +7,23 @@ > 2. /var/cache/edb/world is now /var/lib/portage/world. > 3. /etc/portage/profile/virtuals is _USER_ configs only. > >+ 15 Apr 2005; <michael.haubenwallner@salomon.at> configure.in: >+ fixed the CFLAGS setting if CFLAGS has more than one entry. >+ >+ 15 Apr 2005; <michael.haubenwallner@salomon.at> >+ bin/ebuild-default-functions.sh: >+ not using hardcoded 'portage' user/group, use env or build setting, >+ and only search for portage-owned files if installed into prefix /usr >+ in dyn_install(). >+ >+ 15 Apr 2005; <michael.haubenwallner@salomon.at> cnf/Makefile.in, >+ cnf/dispatch-conf.conf, cnf/make.conf.sparc: >+ install dispatc-conf.conf and etc-update.conf too, >+ substitute CHOST in make.conf.sparc from configure-value. >+ >+ 15 Apr 2005; <michael.haubenwallner@salomon.at> pym/portage_dep.py: >+ import portage_util.writemsg >+ > 12 Apr 2005; Mike Frysinger <vapier@gentoo.org> bin/quickpkg pym/ebuild.py > pym/portage.py: > Rename 'portage-pkg' to 'binpkgs' so tab completion for 'portage' works. >@@ -14,11 +31,41 @@ > 08 Apr 2005; Marius Mauch <genone@gentoo.org> bin/emerge: > Add a list of active user config files to emerge --info. > >+ 07 Apr 2005; <michael.haubenwallner@salomon.at> Makefile.am, acinclude.m4, >+ bin/ebuild, cnf/Makefile.in, configure.in, pym/config.py, >+ pym/portage_data.py, src/filter-env/Makefile.am, -src/filter-env/getopt.c, >+ -src/filter-env/getopt.h, src/filter-env/posix.c: >+ creation of subst-install.vars works with non-bash too now. >+ check for existance of getopt.h instead of providing myself. >+ use portage_const.MYROOT in bin/ebuild too. >+ added PORTAGE_USER,PORTAGE_GROUP,PORTAGE_ROOTUSER,PORTAGE_WHEELGROUP to >+ environment variables, to upgrade with portage.ebuild keeping these names. >+ > 06 Apr 2005; Marius Mauch <genone@gentoo.org> pym/set_modules/*.py: > Added a basic framework for package sets including modules for "system", > general filelists (including "world") and "security", the latter currently > depending on glsa.py from gentoolkit. > >+ 04 Apr 2005; Michael Haubenwallner <michael.haubenwallner@salomon.at> >+ generally: >+ added ability to work with prefix other than /usr, including installing >+ of packages into a different prefix using PREFIX=/usr/local, much like >+ using ROOT=/tmp/test/; PREFIX can be set with or without setting ROOT. >+ This adds two ebuild-env-variables (samples are for >+ ./configure --prefix={/usr,/usr/local} ): >+ PREFIX={/usr,/usr/local} >+ AFFIX={,usr/local/} >+ Look at bin/ebuild-functions.sh (econf and einstall) for how to use them. >+ >+ 04 Apr 2005; Michael Haubenwallner <michael.haubenwallner@salomon.at> >+ cnf/Makefile.in Makefile.am: >+ also install /etc/make.conf.example and /etc/make.globals >+ >+ 04 Apr 2005; Michael Haubenwallner <michael.haubenwallner@salomon.at> >+ src/filter-env/getopt.c src/filter-env/getopt.h src/filter-env/posix.c >+ src/filter-env/Makefile.am: >+ provide own getopt in cases where libc doesnt. >+ > 03 Apr 2005; Jason Stubbs <jstubbs@gentoo.org> pym/portage_dep.py: > Added shortcut to circular dep "resolution" as per bug 85130. Removed > the traversed cache dict from __traverse_nodes and made the original >diff -ruN portage-cvs/Makefile.am portage-salomon/Makefile.am >--- portage-cvs/Makefile.am 2004-11-20 11:20:52.000000000 +0100 >+++ portage-salomon/Makefile.am 2005-04-07 13:56:20.000000000 +0200 >@@ -1,3 +1,41 @@ >-SUBDIRS = src man bin pym >+SUBDIRS = src man bin pym cnf > > AUTOMAKE_OPTIONS = dist-bzip2 no-dist-gzip >+ >+BUILT_SOURCES = subst-install.vars >+ >+subst-install: subst-install.vars >+ >+# >+# shells vary interpreting backslash within single quote: echo '\\' >+# bourne shell: \ >+# bash: \\ >+# >+subst-install.vars: subst-install.vars.in >+ @rm -f $@ \ >+ ; case `echo '\'\\\''` in \ >+ \\) bss='\\\\\\\\';; \ >+ \\\\) bss='\\\\';; \ >+ *) echo "unknown shell escape behaviour"; exit 1 ;; \ >+ esac \ >+ ; { echo; sed -e "s,"'\\'"\",\",g" \ >+ -e "s,\\\\,$${bss},g" \ >+ -e "s,#,\\\\\\#,g" \ >+ -e "s,\","'\\'"\",g" \ >+ < subst-install.vars.in \ >+ ; echo "$@:" \ >+ ; echo " @echo 'creating \$$@'" \ >+ ; echo " @{ \\" \ >+ ; eval `grep '^all_configurevars=' $@.in` \ >+ ; for v in `echo $${all_configurevars}` all_configurevars \ >+ ; do echo " echo $${v}='\"\$$($${v})\"' ; \\" \ >+ ; done \ >+ ; echo " } > \$$@" \ >+ ; } \ >+ | ${MAKE} -f - $@ >+ >+distclean-local: >+ rm -f subst-install.vars >+ >+MAINTAINERCLEANFILES = subst-install.vars.in.in \ >+ Makefile.in config.guess config.sub configure ltmain.sh aclocal.m4 >diff -ruN portage-cvs/acinclude.m4 portage-salomon/acinclude.m4 >--- portage-cvs/acinclude.m4 1970-01-01 01:00:00.000000000 +0100 >+++ portage-salomon/acinclude.m4 2005-04-15 11:55:02.000000000 +0200 >@@ -0,0 +1,199 @@ >+dnl acinclude.m4 generated automatically by ac-archive's acinclude 0.5.63 >+ >+dnl Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc. >+dnl This file is free software; the Free Software Foundation >+dnl gives unlimited permission to copy and/or distribute it, >+dnl with or without modifications, as long as this notice is preserved. >+ >+dnl This program is distributed in the hope that it will be useful, >+dnl but WITHOUT ANY WARRANTY, to the extent permitted by law; without >+dnl even the implied warranty of MERCHANTABILITY or FITNESS FOR A >+dnl PARTICULAR PURPOSE. >+ >+dnl ______ ______ >+ >+dnl ______ /usr/share/aclocal/djmitche/ax_with_python.m4 ______ >+dnl @synopsis AX_WITH_PYTHON([minimum-version], [value-if-not-found], [path]) >+dnl >+dnl Locates an installed Python binary, placing the result in the precious >+dnl variable $PYTHON. Accepts a present $PYTHON, then --with-python, and failing >+dnl that searches for python in the given path (which defaults to the system >+dnl path). If python is found, $PYTHON is set to the full path of the binary; if >+dnl it is not found, $PYTHON is set to VALUE-IF-NOT-FOUND, which defaults to >+dnl 'python'. >+dnl >+dnl Example: >+dnl >+dnl AX_WITH_PYTHON(2.2, missing) >+dnl >+dnl @author Dustin Mitchell <dustin@cs.uchicago.edu> >+dnl @version %Id: % >+ >+AC_DEFUN([AX_WITH_PYTHON], >+[ >+ AC_ARG_VAR([PYTHON]) >+ >+ dnl unless PYTHON was supplied to us (as a precious variable) >+ if test -z "$PYTHON" >+ then >+ AC_MSG_CHECKING(for --with-python) >+ AC_ARG_WITH(python, >+ AC_HELP_STRING([--with-python=PYTHON], >+ [absolute path name of Python executable]), >+ [ if test "$withval" != "yes" >+ then >+ PYTHON="$withval" >+ AC_MSG_RESULT($withval) >+ else >+ AC_MSG_RESULT(no) >+ fi >+ ], >+ [ AC_MSG_RESULT(no) >+ ]) >+ fi >+ >+ dnl if it's still not found, check the paths, or use the fallback >+ if test -z "$PYTHON" >+ then >+ AC_PATH_PROG([PYTHON], python, m4_ifval([$2],[$2],[python]), $3) >+ fi >+ >+ dnl check version if required >+ m4_ifvaln([$1], [ >+ dnl do this only if we didn't fall back >+ if test "$PYTHON" != "m4_ifval([$2],[$2],[python])" >+ then >+ AC_MSG_CHECKING($PYTHON version >= $1) >+ if test `$PYTHON -c ["import sys; print sys.version[:3] >= \"$1\" and \"OK\" or \"OLD\""]` = "OK" >+ then >+ AC_MSG_RESULT(ok) >+ else >+ AC_MSG_RESULT(no) >+ PYTHON="$2" >+ fi >+ fi]) >+]) >+ >+dnl ______ /usr/share/aclocal/Installed_Packages/ac_prog_perl_version.m4 ______ >+dnl @synopsis AC_PROG_PERL_VERSION(VERSION, [ACTION-IF-TRUE], [ACTION-IF-FALSE]) >+dnl >+dnl Makes sure that perl supports the version indicated. If true the shell >+dnl commands in ACTION-IF-TRUE are executed. If not the shell commands in >+dnl ACTION-IF-FALSE are run. Note if $PERL is not set (for example by >+dnl running AC_CHECK_PROG or AC_PATH_PROG), AC_CHECK_PROG(PERL, perl, perl) will >+dnl be run. >+dnl >+dnl Example: >+dnl >+dnl AC_PROG_PERL_VERSION(5.6.0) >+dnl >+dnl This will check to make sure that the perl you have supports at least >+dnl version 5.6.0. >+dnl >+dnl @version %Id: ac_prog_perl_version.m4,v 1.1 2002/12/12 23:14:52 guidod Exp % >+dnl @author Dean Povey <povey@wedgetail.com> >+dnl >+AC_DEFUN([AC_PROG_PERL_VERSION],[dnl >+# Make sure we have perl >+if test -z "$PERL"; then >+AC_CHECK_PROG(PERL,perl,perl) >+fi >+ >+# Check if version of Perl is sufficient >+ac_perl_version="$1" >+ >+if test "x$PERL" != "x"; then >+ AC_MSG_CHECKING(for perl version greater than or equal to $ac_perl_version) >+ # NB: It would be nice to log the error if there is one, but we cannot rely >+ # on autoconf internals >+ $PERL -e "use $ac_perl_version;" > /dev/null 2>&1 >+ if test $? -ne 0; then >+ AC_MSG_RESULT(no); >+ $3 >+ else >+ AC_MSG_RESULT(ok); >+ $2 >+ fi >+else >+ AC_MSG_WARN(could not find perl) >+fi >+])dnl >+ >+ >+dnl ______ acpackage.m4 ______ >+dnl @synopsis AX_PATH_XCU_ID >+dnl >+dnl Find the correct 'id' programm which accepts the arguments specified >+dnl in http://www.opengroup.org/onlinepubs/007908799/xcu/id.html >+dnl SunOS for example has this one in /usr/xpg4/bin, not /usr/bin >+dnl >+dnl This does AC_SUBST(XCU_ID) and accepts an absolute path >+dnl to be preset in XCU_ID variable. >+dnl If no id program is found, XCU_ID is left empty, not the word 'no'. >+dnl >+dnl Q: Why is it called 'XCU_ID' ? >+dnl A: The name 'ID' might be misunderstood, so i decided 'XCU_ID'. >+dnl XCU is the section where the specification of 'id' resides in at >+dnl opengroup.org, whereof 'CU' is synonym for "commandline utilities". >+dnl >+dnl @version $Id$ >+dnl >+dnl @author Michael Haubenwallner <mhaubi at users dot sourceforge dot net> >+dnl >+AC_DEFUN([AX_PATH_XCU_ID],[dnl >+ AC_CACHE_CHECK([for a SUSv2-compatible xcu id], [ax_cv_path_XCU_ID], >+ [case $XCU_ID in >+ [[\\/]]* | ?:[[\\/]]*) >+ # Let the user override the test with a path. >+ ax_cv_path_XCU_ID="$XCU_ID" >+ ;; >+ *) >+ save_IFS=${IFS} >+ ax_cv_path_XCU_ID=no >+ IFS=':' >+ for p in /usr/bin:/usr/xpg4/bin:${PATH} >+ do >+ IFS=${save_IFS} >+ test -x "${p}/id" || continue >+ ax_cv_path_XCU_ID="${p}/id" >+ for a in '' '-G' '-Gn' '-g' '-gn' '-gr' '-gnr' '-u' '-un' '-ur' '-unr' >+ do >+ "${ax_cv_path_XCU_ID}" ${a} >/dev/null 2>&1 \ >+ || { ax_cv_path_XCU_ID=no ; break ; } >+ done >+ test "x${ax_cv_path_XCU_ID}" = "xno" || break >+ done >+ IFS=${save_IFS} >+ ;; >+ esac]) >+ XCU_ID="${ax_cv_path_XCU_ID}" >+ test "x${XCU_ID}" != "xno" || XCU_ID= >+ test "$1:${XCU_ID}" != "required:"dnl >+ || AC_MSG_ERROR([SUSv2-compatible id not found (use XCU_ID=/path/to/id).]) >+ AC_SUBST(XCU_ID)dnl >+])dnl >+ >+dnl @synopsis AX_PATH_EGREP >+dnl >+dnl Much like AC_PROG_EGREP, but set output variable EGREP to an absolute path. >+dnl >+dnl Example: >+dnl >+dnl AX_PATH_EGREP >+dnl >+dnl This let EGREP be the absolute path for egrep >+dnl >+dnl @version %Id:% >+dnl @author Michael Haubenwallner <mhaubi at users dot sf dot net> >+dnl >+AC_DEFUN([AX_PATH_EGREP],[dnl >+ AC_REQUIRE([AC_PROG_EGREP])dnl >+ set dummy ${EGREP} >+ egrep=[$]2 ; shift ; shift >+ egrep_args=[$]* >+ EGREP= >+ AC_PATH_PROG(EGREP, [${egrep}]) >+ EGREP="${EGREP} ${egrep_args}" >+])dnl >+ >+ >diff -ruN portage-cvs/aclocal.m4 portage-salomon/aclocal.m4 >--- portage-cvs/aclocal.m4 2004-11-20 11:20:52.000000000 +0100 >+++ portage-salomon/aclocal.m4 1970-01-01 01:00:00.000000000 +0100 >@@ -1,908 +0,0 @@ >-# generated automatically by aclocal 1.8.5 -*- Autoconf -*- >- >-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004 >-# Free Software Foundation, Inc. >-# This file is free software; the Free Software Foundation >-# gives unlimited permission to copy and/or distribute it, >-# with or without modifications, as long as this notice is preserved. >- >-# This program is distributed in the hope that it will be useful, >-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without >-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A >-# PARTICULAR PURPOSE. >- >-# -*- Autoconf -*- >-# Copyright (C) 2002, 2003 Free Software Foundation, Inc. >-# Generated from amversion.in; do not edit by hand. >- >-# This program is free software; you can redistribute it and/or modify >-# it under the terms of the GNU General Public License as published by >-# the Free Software Foundation; either version 2, or (at your option) >-# any later version. >- >-# This program is distributed in the hope that it will be useful, >-# but WITHOUT ANY WARRANTY; without even the implied warranty of >-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the >-# GNU General Public License for more details. >- >-# You should have received a copy of the GNU General Public License >-# along with this program; if not, write to the Free Software >-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA >- >-# AM_AUTOMAKE_VERSION(VERSION) >-# ---------------------------- >-# Automake X.Y traces this macro to ensure aclocal.m4 has been >-# generated from the m4 files accompanying Automake X.Y. >-AC_DEFUN([AM_AUTOMAKE_VERSION], [am__api_version="1.8"]) >- >-# AM_SET_CURRENT_AUTOMAKE_VERSION >-# ------------------------------- >-# Call AM_AUTOMAKE_VERSION so it can be traced. >-# This function is AC_REQUIREd by AC_INIT_AUTOMAKE. >-AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], >- [AM_AUTOMAKE_VERSION([1.8.5])]) >- >-# AM_AUX_DIR_EXPAND >- >-# Copyright (C) 2001, 2003 Free Software Foundation, Inc. >- >-# This program is free software; you can redistribute it and/or modify >-# it under the terms of the GNU General Public License as published by >-# the Free Software Foundation; either version 2, or (at your option) >-# any later version. >- >-# This program is distributed in the hope that it will be useful, >-# but WITHOUT ANY WARRANTY; without even the implied warranty of >-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the >-# GNU General Public License for more details. >- >-# You should have received a copy of the GNU General Public License >-# along with this program; if not, write to the Free Software >-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA >-# 02111-1307, USA. >- >-# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets >-# $ac_aux_dir to `$srcdir/foo'. In other projects, it is set to >-# `$srcdir', `$srcdir/..', or `$srcdir/../..'. >-# >-# Of course, Automake must honor this variable whenever it calls a >-# tool from the auxiliary directory. The problem is that $srcdir (and >-# therefore $ac_aux_dir as well) can be either absolute or relative, >-# depending on how configure is run. This is pretty annoying, since >-# it makes $ac_aux_dir quite unusable in subdirectories: in the top >-# source directory, any form will work fine, but in subdirectories a >-# relative path needs to be adjusted first. >-# >-# $ac_aux_dir/missing >-# fails when called from a subdirectory if $ac_aux_dir is relative >-# $top_srcdir/$ac_aux_dir/missing >-# fails if $ac_aux_dir is absolute, >-# fails when called from a subdirectory in a VPATH build with >-# a relative $ac_aux_dir >-# >-# The reason of the latter failure is that $top_srcdir and $ac_aux_dir >-# are both prefixed by $srcdir. In an in-source build this is usually >-# harmless because $srcdir is `.', but things will broke when you >-# start a VPATH build or use an absolute $srcdir. >-# >-# So we could use something similar to $top_srcdir/$ac_aux_dir/missing, >-# iff we strip the leading $srcdir from $ac_aux_dir. That would be: >-# am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"` >-# and then we would define $MISSING as >-# MISSING="\${SHELL} $am_aux_dir/missing" >-# This will work as long as MISSING is not called from configure, because >-# unfortunately $(top_srcdir) has no meaning in configure. >-# However there are other variables, like CC, which are often used in >-# configure, and could therefore not use this "fixed" $ac_aux_dir. >-# >-# Another solution, used here, is to always expand $ac_aux_dir to an >-# absolute PATH. The drawback is that using absolute paths prevent a >-# configured tree to be moved without reconfiguration. >- >-AC_DEFUN([AM_AUX_DIR_EXPAND], >-[dnl Rely on autoconf to set up CDPATH properly. >-AC_PREREQ([2.50])dnl >-# expand $ac_aux_dir to an absolute path >-am_aux_dir=`cd $ac_aux_dir && pwd` >-]) >- >-# AM_CONDITIONAL -*- Autoconf -*- >- >-# Copyright (C) 1997, 2000, 2001, 2003 Free Software Foundation, Inc. >- >-# This program is free software; you can redistribute it and/or modify >-# it under the terms of the GNU General Public License as published by >-# the Free Software Foundation; either version 2, or (at your option) >-# any later version. >- >-# This program is distributed in the hope that it will be useful, >-# but WITHOUT ANY WARRANTY; without even the implied warranty of >-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the >-# GNU General Public License for more details. >- >-# You should have received a copy of the GNU General Public License >-# along with this program; if not, write to the Free Software >-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA >-# 02111-1307, USA. >- >-# serial 6 >- >-# AM_CONDITIONAL(NAME, SHELL-CONDITION) >-# ------------------------------------- >-# Define a conditional. >-AC_DEFUN([AM_CONDITIONAL], >-[AC_PREREQ(2.52)dnl >- ifelse([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])], >- [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl >-AC_SUBST([$1_TRUE]) >-AC_SUBST([$1_FALSE]) >-if $2; then >- $1_TRUE= >- $1_FALSE='#' >-else >- $1_TRUE='#' >- $1_FALSE= >-fi >-AC_CONFIG_COMMANDS_PRE( >-[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then >- AC_MSG_ERROR([conditional "$1" was never defined. >-Usually this means the macro was only invoked conditionally.]) >-fi])]) >- >-# serial 7 -*- Autoconf -*- >- >-# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 >-# Free Software Foundation, Inc. >- >-# This program is free software; you can redistribute it and/or modify >-# it under the terms of the GNU General Public License as published by >-# the Free Software Foundation; either version 2, or (at your option) >-# any later version. >- >-# This program is distributed in the hope that it will be useful, >-# but WITHOUT ANY WARRANTY; without even the implied warranty of >-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the >-# GNU General Public License for more details. >- >-# You should have received a copy of the GNU General Public License >-# along with this program; if not, write to the Free Software >-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA >-# 02111-1307, USA. >- >- >-# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be >-# written in clear, in which case automake, when reading aclocal.m4, >-# will think it sees a *use*, and therefore will trigger all it's >-# C support machinery. Also note that it means that autoscan, seeing >-# CC etc. in the Makefile, will ask for an AC_PROG_CC use... >- >- >- >-# _AM_DEPENDENCIES(NAME) >-# ---------------------- >-# See how the compiler implements dependency checking. >-# NAME is "CC", "CXX", "GCJ", or "OBJC". >-# We try a few techniques and use that to set a single cache variable. >-# >-# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was >-# modified to invoke _AM_DEPENDENCIES(CC); we would have a circular >-# dependency, and given that the user is not expected to run this macro, >-# just rely on AC_PROG_CC. >-AC_DEFUN([_AM_DEPENDENCIES], >-[AC_REQUIRE([AM_SET_DEPDIR])dnl >-AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl >-AC_REQUIRE([AM_MAKE_INCLUDE])dnl >-AC_REQUIRE([AM_DEP_TRACK])dnl >- >-ifelse([$1], CC, [depcc="$CC" am_compiler_list=], >- [$1], CXX, [depcc="$CXX" am_compiler_list=], >- [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'], >- [$1], GCJ, [depcc="$GCJ" am_compiler_list='gcc3 gcc'], >- [depcc="$$1" am_compiler_list=]) >- >-AC_CACHE_CHECK([dependency style of $depcc], >- [am_cv_$1_dependencies_compiler_type], >-[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then >- # We make a subdir and do the tests there. Otherwise we can end up >- # making bogus files that we don't know about and never remove. For >- # instance it was reported that on HP-UX the gcc test will end up >- # making a dummy file named `D' -- because `-MD' means `put the output >- # in D'. >- mkdir conftest.dir >- # Copy depcomp to subdir because otherwise we won't find it if we're >- # using a relative directory. >- cp "$am_depcomp" conftest.dir >- cd conftest.dir >- # We will build objects and dependencies in a subdirectory because >- # it helps to detect inapplicable dependency modes. For instance >- # both Tru64's cc and ICC support -MD to output dependencies as a >- # side effect of compilation, but ICC will put the dependencies in >- # the current directory while Tru64 will put them in the object >- # directory. >- mkdir sub >- >- am_cv_$1_dependencies_compiler_type=none >- if test "$am_compiler_list" = ""; then >- am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp` >- fi >- for depmode in $am_compiler_list; do >- # Setup a source with many dependencies, because some compilers >- # like to wrap large dependency lists on column 80 (with \), and >- # we should not choose a depcomp mode which is confused by this. >- # >- # We need to recreate these files for each test, as the compiler may >- # overwrite some of them when testing with obscure command lines. >- # This happens at least with the AIX C compiler. >- : > sub/conftest.c >- for i in 1 2 3 4 5 6; do >- echo '#include "conftst'$i'.h"' >> sub/conftest.c >- # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with >- # Solaris 8's {/usr,}/bin/sh. >- touch sub/conftst$i.h >- done >- echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf >- >- case $depmode in >- nosideeffect) >- # after this tag, mechanisms are not by side-effect, so they'll >- # only be used when explicitly requested >- if test "x$enable_dependency_tracking" = xyes; then >- continue >- else >- break >- fi >- ;; >- none) break ;; >- esac >- # We check with `-c' and `-o' for the sake of the "dashmstdout" >- # mode. It turns out that the SunPro C++ compiler does not properly >- # handle `-M -o', and we need to detect this. >- if depmode=$depmode \ >- source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ >- depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ >- $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ >- >/dev/null 2>conftest.err && >- grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && >- grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && >- ${MAKE-make} -s -f confmf > /dev/null 2>&1; then >- # icc doesn't choke on unknown options, it will just issue warnings >- # or remarks (even with -Werror). So we grep stderr for any message >- # that says an option was ignored or not supported. >- # When given -MP, icc 7.0 and 7.1 complain thusly: >- # icc: Command line warning: ignoring option '-M'; no argument required >- # The diagnosis changed in icc 8.0: >- # icc: Command line remark: option '-MP' not supported >- if (grep 'ignoring option' conftest.err || >- grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else >- am_cv_$1_dependencies_compiler_type=$depmode >- break >- fi >- fi >- done >- >- cd .. >- rm -rf conftest.dir >-else >- am_cv_$1_dependencies_compiler_type=none >-fi >-]) >-AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type]) >-AM_CONDITIONAL([am__fastdep$1], [ >- test "x$enable_dependency_tracking" != xno \ >- && test "$am_cv_$1_dependencies_compiler_type" = gcc3]) >-]) >- >- >-# AM_SET_DEPDIR >-# ------------- >-# Choose a directory name for dependency files. >-# This macro is AC_REQUIREd in _AM_DEPENDENCIES >-AC_DEFUN([AM_SET_DEPDIR], >-[AC_REQUIRE([AM_SET_LEADING_DOT])dnl >-AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl >-]) >- >- >-# AM_DEP_TRACK >-# ------------ >-AC_DEFUN([AM_DEP_TRACK], >-[AC_ARG_ENABLE(dependency-tracking, >-[ --disable-dependency-tracking speeds up one-time build >- --enable-dependency-tracking do not reject slow dependency extractors]) >-if test "x$enable_dependency_tracking" != xno; then >- am_depcomp="$ac_aux_dir/depcomp" >- AMDEPBACKSLASH='\' >-fi >-AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno]) >-AC_SUBST([AMDEPBACKSLASH]) >-]) >- >-# Generate code to set up dependency tracking. -*- Autoconf -*- >- >-# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc. >- >-# This program is free software; you can redistribute it and/or modify >-# it under the terms of the GNU General Public License as published by >-# the Free Software Foundation; either version 2, or (at your option) >-# any later version. >- >-# This program is distributed in the hope that it will be useful, >-# but WITHOUT ANY WARRANTY; without even the implied warranty of >-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the >-# GNU General Public License for more details. >- >-# You should have received a copy of the GNU General Public License >-# along with this program; if not, write to the Free Software >-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA >-# 02111-1307, USA. >- >-#serial 2 >- >-# _AM_OUTPUT_DEPENDENCY_COMMANDS >-# ------------------------------ >-AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], >-[for mf in $CONFIG_FILES; do >- # Strip MF so we end up with the name of the file. >- mf=`echo "$mf" | sed -e 's/:.*$//'` >- # Check whether this is an Automake generated Makefile or not. >- # We used to match only the files named `Makefile.in', but >- # some people rename them; so instead we look at the file content. >- # Grep'ing the first line is not enough: some people post-process >- # each Makefile.in and add a new line on top of each file to say so. >- # So let's grep whole file. >- if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then >- dirpart=`AS_DIRNAME("$mf")` >- else >- continue >- fi >- grep '^DEP_FILES *= *[[^ @%:@]]' < "$mf" > /dev/null || continue >- # Extract the definition of DEP_FILES from the Makefile without >- # running `make'. >- DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` >- test -z "$DEPDIR" && continue >- # When using ansi2knr, U may be empty or an underscore; expand it >- U=`sed -n 's/^U = //p' < "$mf"` >- test -d "$dirpart/$DEPDIR" || mkdir "$dirpart/$DEPDIR" >- # We invoke sed twice because it is the simplest approach to >- # changing $(DEPDIR) to its actual value in the expansion. >- for file in `sed -n ' >- /^DEP_FILES = .*\\\\$/ { >- s/^DEP_FILES = // >- :loop >- s/\\\\$// >- p >- n >- /\\\\$/ b loop >- p >- } >- /^DEP_FILES = / s/^DEP_FILES = //p' < "$mf" | \ >- sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do >- # Make sure the directory exists. >- test -f "$dirpart/$file" && continue >- fdir=`AS_DIRNAME(["$file"])` >- AS_MKDIR_P([$dirpart/$fdir]) >- # echo "creating $dirpart/$file" >- echo '# dummy' > "$dirpart/$file" >- done >-done >-])# _AM_OUTPUT_DEPENDENCY_COMMANDS >- >- >-# AM_OUTPUT_DEPENDENCY_COMMANDS >-# ----------------------------- >-# This macro should only be invoked once -- use via AC_REQUIRE. >-# >-# This code is only required when automatic dependency tracking >-# is enabled. FIXME. This creates each `.P' file that we will >-# need in order to bootstrap the dependency handling code. >-AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], >-[AC_CONFIG_COMMANDS([depfiles], >- [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS], >- [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"]) >-]) >- >-# Do all the work for Automake. -*- Autoconf -*- >- >-# This macro actually does too much some checks are only needed if >-# your package does certain things. But this isn't really a big deal. >- >-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 >-# Free Software Foundation, Inc. >- >-# This program is free software; you can redistribute it and/or modify >-# it under the terms of the GNU General Public License as published by >-# the Free Software Foundation; either version 2, or (at your option) >-# any later version. >- >-# This program is distributed in the hope that it will be useful, >-# but WITHOUT ANY WARRANTY; without even the implied warranty of >-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the >-# GNU General Public License for more details. >- >-# You should have received a copy of the GNU General Public License >-# along with this program; if not, write to the Free Software >-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA >-# 02111-1307, USA. >- >-# serial 11 >- >-# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE]) >-# AM_INIT_AUTOMAKE([OPTIONS]) >-# ----------------------------------------------- >-# The call with PACKAGE and VERSION arguments is the old style >-# call (pre autoconf-2.50), which is being phased out. PACKAGE >-# and VERSION should now be passed to AC_INIT and removed from >-# the call to AM_INIT_AUTOMAKE. >-# We support both call styles for the transition. After >-# the next Automake release, Autoconf can make the AC_INIT >-# arguments mandatory, and then we can depend on a new Autoconf >-# release and drop the old call support. >-AC_DEFUN([AM_INIT_AUTOMAKE], >-[AC_PREREQ([2.58])dnl >-dnl Autoconf wants to disallow AM_ names. We explicitly allow >-dnl the ones we care about. >-m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl >-AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl >-AC_REQUIRE([AC_PROG_INSTALL])dnl >-# test to see if srcdir already configured >-if test "`cd $srcdir && pwd`" != "`pwd`" && >- test -f $srcdir/config.status; then >- AC_MSG_ERROR([source directory already configured; run "make distclean" there first]) >-fi >- >-# test whether we have cygpath >-if test -z "$CYGPATH_W"; then >- if (cygpath --version) >/dev/null 2>/dev/null; then >- CYGPATH_W='cygpath -w' >- else >- CYGPATH_W=echo >- fi >-fi >-AC_SUBST([CYGPATH_W]) >- >-# Define the identity of the package. >-dnl Distinguish between old-style and new-style calls. >-m4_ifval([$2], >-[m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl >- AC_SUBST([PACKAGE], [$1])dnl >- AC_SUBST([VERSION], [$2])], >-[_AM_SET_OPTIONS([$1])dnl >- AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl >- AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl >- >-_AM_IF_OPTION([no-define],, >-[AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package]) >- AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl >- >-# Some tools Automake needs. >-AC_REQUIRE([AM_SANITY_CHECK])dnl >-AC_REQUIRE([AC_ARG_PROGRAM])dnl >-AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version}) >-AM_MISSING_PROG(AUTOCONF, autoconf) >-AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version}) >-AM_MISSING_PROG(AUTOHEADER, autoheader) >-AM_MISSING_PROG(MAKEINFO, makeinfo) >-AM_MISSING_PROG(AMTAR, tar) >-AM_PROG_INSTALL_SH >-AM_PROG_INSTALL_STRIP >-AC_REQUIRE([AM_PROG_MKDIR_P])dnl >-# We need awk for the "check" target. The system "awk" is bad on >-# some platforms. >-AC_REQUIRE([AC_PROG_AWK])dnl >-AC_REQUIRE([AC_PROG_MAKE_SET])dnl >-AC_REQUIRE([AM_SET_LEADING_DOT])dnl >- >-_AM_IF_OPTION([no-dependencies],, >-[AC_PROVIDE_IFELSE([AC_PROG_CC], >- [_AM_DEPENDENCIES(CC)], >- [define([AC_PROG_CC], >- defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl >-AC_PROVIDE_IFELSE([AC_PROG_CXX], >- [_AM_DEPENDENCIES(CXX)], >- [define([AC_PROG_CXX], >- defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl >-]) >-]) >- >- >-# When config.status generates a header, we must update the stamp-h file. >-# This file resides in the same directory as the config header >-# that is generated. The stamp files are numbered to have different names. >- >-# Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the >-# loop where config.status creates the headers, so we can generate >-# our stamp files there. >-AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK], >-[# Compute $1's index in $config_headers. >-_am_stamp_count=1 >-for _am_header in $config_headers :; do >- case $_am_header in >- $1 | $1:* ) >- break ;; >- * ) >- _am_stamp_count=`expr $_am_stamp_count + 1` ;; >- esac >-done >-echo "timestamp for $1" >`AS_DIRNAME([$1])`/stamp-h[]$_am_stamp_count]) >- >-# AM_PROG_INSTALL_SH >-# ------------------ >-# Define $install_sh. >- >-# Copyright (C) 2001, 2003 Free Software Foundation, Inc. >- >-# This program is free software; you can redistribute it and/or modify >-# it under the terms of the GNU General Public License as published by >-# the Free Software Foundation; either version 2, or (at your option) >-# any later version. >- >-# This program is distributed in the hope that it will be useful, >-# but WITHOUT ANY WARRANTY; without even the implied warranty of >-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the >-# GNU General Public License for more details. >- >-# You should have received a copy of the GNU General Public License >-# along with this program; if not, write to the Free Software >-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA >-# 02111-1307, USA. >- >-AC_DEFUN([AM_PROG_INSTALL_SH], >-[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl >-install_sh=${install_sh-"$am_aux_dir/install-sh"} >-AC_SUBST(install_sh)]) >- >-# -*- Autoconf -*- >-# Copyright (C) 2003 Free Software Foundation, Inc. >- >-# This program is free software; you can redistribute it and/or modify >-# it under the terms of the GNU General Public License as published by >-# the Free Software Foundation; either version 2, or (at your option) >-# any later version. >- >-# This program is distributed in the hope that it will be useful, >-# but WITHOUT ANY WARRANTY; without even the implied warranty of >-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the >-# GNU General Public License for more details. >- >-# You should have received a copy of the GNU General Public License >-# along with this program; if not, write to the Free Software >-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA >-# 02111-1307, USA. >- >-# serial 1 >- >-# Check whether the underlying file-system supports filenames >-# with a leading dot. For instance MS-DOS doesn't. >-AC_DEFUN([AM_SET_LEADING_DOT], >-[rm -rf .tst 2>/dev/null >-mkdir .tst 2>/dev/null >-if test -d .tst; then >- am__leading_dot=. >-else >- am__leading_dot=_ >-fi >-rmdir .tst 2>/dev/null >-AC_SUBST([am__leading_dot])]) >- >-# Check to see how 'make' treats includes. -*- Autoconf -*- >- >-# Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc. >- >-# This program is free software; you can redistribute it and/or modify >-# it under the terms of the GNU General Public License as published by >-# the Free Software Foundation; either version 2, or (at your option) >-# any later version. >- >-# This program is distributed in the hope that it will be useful, >-# but WITHOUT ANY WARRANTY; without even the implied warranty of >-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the >-# GNU General Public License for more details. >- >-# You should have received a copy of the GNU General Public License >-# along with this program; if not, write to the Free Software >-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA >-# 02111-1307, USA. >- >-# serial 2 >- >-# AM_MAKE_INCLUDE() >-# ----------------- >-# Check to see how make treats includes. >-AC_DEFUN([AM_MAKE_INCLUDE], >-[am_make=${MAKE-make} >-cat > confinc << 'END' >-am__doit: >- @echo done >-.PHONY: am__doit >-END >-# If we don't find an include directive, just comment out the code. >-AC_MSG_CHECKING([for style of include used by $am_make]) >-am__include="#" >-am__quote= >-_am_result=none >-# First try GNU make style include. >-echo "include confinc" > confmf >-# We grep out `Entering directory' and `Leaving directory' >-# messages which can occur if `w' ends up in MAKEFLAGS. >-# In particular we don't look at `^make:' because GNU make might >-# be invoked under some other name (usually "gmake"), in which >-# case it prints its new name instead of `make'. >-if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then >- am__include=include >- am__quote= >- _am_result=GNU >-fi >-# Now try BSD make style include. >-if test "$am__include" = "#"; then >- echo '.include "confinc"' > confmf >- if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then >- am__include=.include >- am__quote="\"" >- _am_result=BSD >- fi >-fi >-AC_SUBST([am__include]) >-AC_SUBST([am__quote]) >-AC_MSG_RESULT([$_am_result]) >-rm -f confinc confmf >-]) >- >-# -*- Autoconf -*- >- >- >-# Copyright (C) 1997, 1999, 2000, 2001, 2003 Free Software Foundation, Inc. >- >-# This program is free software; you can redistribute it and/or modify >-# it under the terms of the GNU General Public License as published by >-# the Free Software Foundation; either version 2, or (at your option) >-# any later version. >- >-# This program is distributed in the hope that it will be useful, >-# but WITHOUT ANY WARRANTY; without even the implied warranty of >-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the >-# GNU General Public License for more details. >- >-# You should have received a copy of the GNU General Public License >-# along with this program; if not, write to the Free Software >-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA >-# 02111-1307, USA. >- >-# serial 3 >- >-# AM_MISSING_PROG(NAME, PROGRAM) >-# ------------------------------ >-AC_DEFUN([AM_MISSING_PROG], >-[AC_REQUIRE([AM_MISSING_HAS_RUN]) >-$1=${$1-"${am_missing_run}$2"} >-AC_SUBST($1)]) >- >- >-# AM_MISSING_HAS_RUN >-# ------------------ >-# Define MISSING if not defined so far and test if it supports --run. >-# If it does, set am_missing_run to use it, otherwise, to nothing. >-AC_DEFUN([AM_MISSING_HAS_RUN], >-[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl >-test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing" >-# Use eval to expand $SHELL >-if eval "$MISSING --run true"; then >- am_missing_run="$MISSING --run " >-else >- am_missing_run= >- AC_MSG_WARN([`missing' script is too old or missing]) >-fi >-]) >- >-# AM_PROG_MKDIR_P >-# --------------- >-# Check whether `mkdir -p' is supported, fallback to mkinstalldirs otherwise. >- >-# Copyright (C) 2003, 2004 Free Software Foundation, Inc. >- >-# This program is free software; you can redistribute it and/or modify >-# it under the terms of the GNU General Public License as published by >-# the Free Software Foundation; either version 2, or (at your option) >-# any later version. >- >-# This program is distributed in the hope that it will be useful, >-# but WITHOUT ANY WARRANTY; without even the implied warranty of >-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the >-# GNU General Public License for more details. >- >-# You should have received a copy of the GNU General Public License >-# along with this program; if not, write to the Free Software >-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA >-# 02111-1307, USA. >- >-# Automake 1.8 used `mkdir -m 0755 -p --' to ensure that directories >-# created by `make install' are always world readable, even if the >-# installer happens to have an overly restrictive umask (e.g. 077). >-# This was a mistake. There are at least two reasons why we must not >-# use `-m 0755': >-# - it causes special bits like SGID to be ignored, >-# - it may be too restrictive (some setups expect 775 directories). >-# >-# Do not use -m 0755 and let people choose whatever they expect by >-# setting umask. >-# >-# We cannot accept any implementation of `mkdir' that recognizes `-p'. >-# Some implementations (such as Solaris 8's) are not thread-safe: if a >-# parallel make tries to run `mkdir -p a/b' and `mkdir -p a/c' >-# concurrently, both version can detect that a/ is missing, but only >-# one can create it and the other will error out. Consequently we >-# restrict ourselves to GNU make (using the --version option ensures >-# this.) >-AC_DEFUN([AM_PROG_MKDIR_P], >-[if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then >- # Keeping the `.' argument allows $(mkdir_p) to be used without >- # argument. Indeed, we sometimes output rules like >- # $(mkdir_p) $(somedir) >- # where $(somedir) is conditionally defined. >- # (`test -n '$(somedir)' && $(mkdir_p) $(somedir)' is a more >- # expensive solution, as it forces Make to start a sub-shell.) >- mkdir_p='mkdir -p -- .' >-else >- # On NextStep and OpenStep, the `mkdir' command does not >- # recognize any option. It will interpret all options as >- # directories to create, and then abort because `.' already >- # exists. >- for d in ./-p ./--version; >- do >- test -d $d && rmdir $d >- done >- # $(mkinstalldirs) is defined by Automake if mkinstalldirs exists. >- if test -f "$ac_aux_dir/mkinstalldirs"; then >- mkdir_p='$(mkinstalldirs)' >- else >- mkdir_p='$(install_sh) -d' >- fi >-fi >-AC_SUBST([mkdir_p])]) >- >-# Helper functions for option handling. -*- Autoconf -*- >- >-# Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc. >- >-# This program is free software; you can redistribute it and/or modify >-# it under the terms of the GNU General Public License as published by >-# the Free Software Foundation; either version 2, or (at your option) >-# any later version. >- >-# This program is distributed in the hope that it will be useful, >-# but WITHOUT ANY WARRANTY; without even the implied warranty of >-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the >-# GNU General Public License for more details. >- >-# You should have received a copy of the GNU General Public License >-# along with this program; if not, write to the Free Software >-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA >-# 02111-1307, USA. >- >-# serial 2 >- >-# _AM_MANGLE_OPTION(NAME) >-# ----------------------- >-AC_DEFUN([_AM_MANGLE_OPTION], >-[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])]) >- >-# _AM_SET_OPTION(NAME) >-# ------------------------------ >-# Set option NAME. Presently that only means defining a flag for this option. >-AC_DEFUN([_AM_SET_OPTION], >-[m4_define(_AM_MANGLE_OPTION([$1]), 1)]) >- >-# _AM_SET_OPTIONS(OPTIONS) >-# ---------------------------------- >-# OPTIONS is a space-separated list of Automake options. >-AC_DEFUN([_AM_SET_OPTIONS], >-[AC_FOREACH([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])]) >- >-# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET]) >-# ------------------------------------------- >-# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise. >-AC_DEFUN([_AM_IF_OPTION], >-[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) >- >-# >-# Check to make sure that the build environment is sane. >-# >- >-# Copyright (C) 1996, 1997, 2000, 2001, 2003 Free Software Foundation, Inc. >- >-# This program is free software; you can redistribute it and/or modify >-# it under the terms of the GNU General Public License as published by >-# the Free Software Foundation; either version 2, or (at your option) >-# any later version. >- >-# This program is distributed in the hope that it will be useful, >-# but WITHOUT ANY WARRANTY; without even the implied warranty of >-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the >-# GNU General Public License for more details. >- >-# You should have received a copy of the GNU General Public License >-# along with this program; if not, write to the Free Software >-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA >-# 02111-1307, USA. >- >-# serial 3 >- >-# AM_SANITY_CHECK >-# --------------- >-AC_DEFUN([AM_SANITY_CHECK], >-[AC_MSG_CHECKING([whether build environment is sane]) >-# Just in case >-sleep 1 >-echo timestamp > conftest.file >-# Do `set' in a subshell so we don't clobber the current shell's >-# arguments. Must try -L first in case configure is actually a >-# symlink; some systems play weird games with the mod time of symlinks >-# (eg FreeBSD returns the mod time of the symlink's containing >-# directory). >-if ( >- set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null` >- if test "$[*]" = "X"; then >- # -L didn't work. >- set X `ls -t $srcdir/configure conftest.file` >- fi >- rm -f conftest.file >- if test "$[*]" != "X $srcdir/configure conftest.file" \ >- && test "$[*]" != "X conftest.file $srcdir/configure"; then >- >- # If neither matched, then we have a broken ls. This can happen >- # if, for instance, CONFIG_SHELL is bash and it inherits a >- # broken ls alias from the environment. This has actually >- # happened. Such a system could not be considered "sane". >- AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken >-alias in your environment]) >- fi >- >- test "$[2]" = conftest.file >- ) >-then >- # Ok. >- : >-else >- AC_MSG_ERROR([newly created file is older than distributed files! >-Check your system clock]) >-fi >-AC_MSG_RESULT(yes)]) >- >-# AM_PROG_INSTALL_STRIP >- >-# Copyright (C) 2001, 2003 Free Software Foundation, Inc. >- >-# This program is free software; you can redistribute it and/or modify >-# it under the terms of the GNU General Public License as published by >-# the Free Software Foundation; either version 2, or (at your option) >-# any later version. >- >-# This program is distributed in the hope that it will be useful, >-# but WITHOUT ANY WARRANTY; without even the implied warranty of >-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the >-# GNU General Public License for more details. >- >-# You should have received a copy of the GNU General Public License >-# along with this program; if not, write to the Free Software >-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA >-# 02111-1307, USA. >- >-# One issue with vendor `install' (even GNU) is that you can't >-# specify the program used to strip binaries. This is especially >-# annoying in cross-compiling environments, where the build's strip >-# is unlikely to handle the host's binaries. >-# Fortunately install-sh will honor a STRIPPROG variable, so we >-# always use install-sh in `make install-strip', and initialize >-# STRIPPROG with the value of the STRIP variable (set by the user). >-AC_DEFUN([AM_PROG_INSTALL_STRIP], >-[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl >-# Installed binaries are usually stripped using `strip' when the user >-# run `make install-strip'. However `strip' might not be the right >-# tool to use in cross-compilation environments, therefore Automake >-# will honor the `STRIP' environment variable to overrule this program. >-dnl Don't test for $cross_compiling = yes, because it might be `maybe'. >-if test "$cross_compiling" != no; then >- AC_CHECK_TOOL([STRIP], [strip], :) >-fi >-INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s" >-AC_SUBST([INSTALL_STRIP_PROGRAM])]) >- >diff -ruN portage-cvs/acpackage.m4 portage-salomon/acpackage.m4 >--- portage-cvs/acpackage.m4 1970-01-01 01:00:00.000000000 +0100 >+++ portage-salomon/acpackage.m4 2005-03-25 10:41:48.000000000 +0100 >@@ -0,0 +1,75 @@ >+dnl @synopsis AX_PATH_XCU_ID >+dnl >+dnl Find the correct 'id' programm which accepts the arguments specified >+dnl in http://www.opengroup.org/onlinepubs/007908799/xcu/id.html >+dnl SunOS for example has this one in /usr/xpg4/bin, not /usr/bin >+dnl >+dnl This does AC_SUBST(XCU_ID) and accepts an absolute path >+dnl to be preset in XCU_ID variable. >+dnl If no id program is found, XCU_ID is left empty, not the word 'no'. >+dnl >+dnl Q: Why is it called 'XCU_ID' ? >+dnl A: The name 'ID' might be misunderstood, so i decided 'XCU_ID'. >+dnl XCU is the section where the specification of 'id' resides in at >+dnl opengroup.org, whereof 'CU' is synonym for "commandline utilities". >+dnl >+dnl @version $Id$ >+dnl >+dnl @author Michael Haubenwallner <mhaubi at users dot sourceforge dot net> >+dnl >+AC_DEFUN([AX_PATH_XCU_ID],[dnl >+ AC_CACHE_CHECK([for a SUSv2-compatible xcu id], [ax_cv_path_XCU_ID], >+ [case $XCU_ID in >+ [[\\/]]* | ?:[[\\/]]*) >+ # Let the user override the test with a path. >+ ax_cv_path_XCU_ID="$XCU_ID" >+ ;; >+ *) >+ save_IFS=${IFS} >+ ax_cv_path_XCU_ID=no >+ IFS=':' >+ for p in /usr/bin:/usr/xpg4/bin:${PATH} >+ do >+ IFS=${save_IFS} >+ test -x "${p}/id" || continue >+ ax_cv_path_XCU_ID="${p}/id" >+ for a in '' '-G' '-Gn' '-g' '-gn' '-gr' '-gnr' '-u' '-un' '-ur' '-unr' >+ do >+ "${ax_cv_path_XCU_ID}" ${a} >/dev/null 2>&1 \ >+ || { ax_cv_path_XCU_ID=no ; break ; } >+ done >+ test "x${ax_cv_path_XCU_ID}" = "xno" || break >+ done >+ IFS=${save_IFS} >+ ;; >+ esac]) >+ XCU_ID="${ax_cv_path_XCU_ID}" >+ test "x${XCU_ID}" != "xno" || XCU_ID= >+ test "$1:${XCU_ID}" != "required:"dnl >+ || AC_MSG_ERROR([SUSv2-compatible id not found (use XCU_ID=/path/to/id).]) >+ AC_SUBST(XCU_ID)dnl >+])dnl >+ >+dnl @synopsis AX_PATH_EGREP >+dnl >+dnl Much like AC_PROG_EGREP, but set output variable EGREP to an absolute path. >+dnl >+dnl Example: >+dnl >+dnl AX_PATH_EGREP >+dnl >+dnl This let EGREP be the absolute path for egrep >+dnl >+dnl @version %Id:% >+dnl @author Michael Haubenwallner <mhaubi at users dot sf dot net> >+dnl >+AC_DEFUN([AX_PATH_EGREP],[dnl >+ AC_REQUIRE([AC_PROG_EGREP])dnl >+ set dummy ${EGREP} >+ egrep=[$]2 ; shift ; shift >+ egrep_args=[$]* >+ EGREP= >+ AC_PATH_PROG(EGREP, [${egrep}]) >+ EGREP="${EGREP} ${egrep_args}" >+])dnl >+ >diff -ruN portage-cvs/autogen.sh portage-salomon/autogen.sh >--- portage-cvs/autogen.sh 2005-03-07 05:08:18.000000000 +0100 >+++ portage-salomon/autogen.sh 2005-03-25 10:41:48.000000000 +0100 >@@ -1,7 +1,22 @@ >-#!/bin/sh >+#! /bin/bash > >-autoheader || exit 1 >+set -e >+ >+cd `dirname $0` >+ >+test -f subst-install.vars.in.in || touch subst-install.vars.in.in >+rm -rf autom4te.cache >+if type -p acinclude >/dev/null 2>&1 ; then >+ acinclude >+elif [ acpackage.m4 -nt acinclude.m4 ]; then >+ echo "NOTE: missing acinclude: have you sys-devel/ac-archive installed ?" >+ echo "NOTE: acinclude.m4 might is out of date" >+ sleep 2 >+fi > aclocal-1.8 || exit 1 >+if grep '^[ \t]*A[CM]_CONFIG_HEADER' configure.in ; then >+ autoheader >+fi > libtoolize --automake -c -f || exit 1 > autoconf || exit 1 > automake-1.8 -a -c || exit 1 >diff -ruN portage-cvs/bin/Makefile.in portage-salomon/bin/Makefile.in >--- portage-cvs/bin/Makefile.in 2004-11-22 13:21:37.000000000 +0100 >+++ portage-salomon/bin/Makefile.in 2005-04-08 13:50:53.000000000 +0200 >@@ -1,15 +1,100 @@ >-PORTAGE_BASEDIR = @PORTAGE_BASE@ >-INSTALL = @INSTALL@ >-INSTALL_script = @INSTALL_PROGRAM@ -D -o 0 -g portage -m 755 >+prefix = @prefix@ >+exec_prefix = @exec_prefix@ >+libdir = @libdir@ >+ >+srcdir=@srcdir@ >+top_builddir=@top_builddir@ >+ >+portageuser = @portageuser@ >+portagegroup = @portagegroup@ >+ >+PORTAGE_BIN = @PORTAGE_BASE@/bin >+LN_S = @LN_S@ >+INSTALL = @INSTALL@ >+INSTALL_script = @INSTALL_PROGRAM@ -o $(portageuser) -g $(portagegroup) -m 755 >+INSTALL_scriptsubst = $(SHELL) ${top_builddir}/subst-install --installcmd='${INSTALL_script}' >+ >+user_binprogs = \ >+ ebuild \ >+ emerge \ >+ g-cpan.pl \ >+ portageq \ >+ quickpkg \ >+ repoman \ >+ tbz2tool \ >+ xpak >+ >+user_sbinprogs = \ >+ archive-conf \ >+ dispatch-conf \ >+ ebuild \ >+ ebuild.sh \ >+ env-update \ >+ etc-update \ >+ fixpackages \ >+ pkgmerge \ >+ regenworld >+ >+list_sourcedir = \ >+ ( cd ${srcdir} \ >+ && find . -name 'CVS' -prune \ >+ -o -name '.\#*' -prune \ >+ -o -name 'Makefile*' -prune \ >+ -o -type f -print \ >+ ) > > all: >+ > install: >- $(INSTALL) -d -m 755 -o 0-g portage $(DESTDIR)/$(PORTAGE_BASEDIR)/bin || exit 1 >- find . -type f -maxdepth 1 -exec $(INSTALL_script) {} $(DESTDIR)/$(PORTAGE_BASEDIR)/bin/{} \; || exit 1 >- rm $(DESTDIR)/$(PORTAGE_BASEDIR)/bin/Makefile* || exit 1 >+ $(INSTALL) -d -m 755 -o $(portageuser) -g $(portagegroup) $(DESTDIR)$(PORTAGE_BIN) >+ $(list_sourcedir) | while read f \ >+ ; do echo "$(INSTALL_scriptsubst) ${srcdir}/$${f} $(DESTDIR)$(PORTAGE_BIN)/$${f}" \ >+ ; $(INSTALL_scriptsubst) ${srcdir}/$${f} $(DESTDIR)$(PORTAGE_BIN)/$${f} \ >+ ; done >+ $(INSTALL) -d -m 755 -o $(portageuser) -g $(portagegroup) $(DESTDIR)$(prefix)/bin >+ cd $(DESTDIR)$(prefix)/bin \ >+ ; for p in $(user_binprogs) \ >+ ; do test -f $(DESTDIR)$(PORTAGE_BIN)/$${p} \ >+ || { echo "$(DESTDIR)$(PORTAGE_BIN)/$${p} does not exist" ; exit 1 ; } \ >+ ; echo "rm -f $(DESTDIR)$(prefix)/bin/$${p}" \ >+ ; rm -f $(DESTDIR)$(prefix)/bin/$${p} \ >+ ; echo "$(LN_S) ../lib/portage/bin/$${p} $${p}" \ >+ ; $(LN_S) ../lib/portage/bin/$${p} $${p} || exit 1 \ >+ ; done >+ $(INSTALL) -d -m 755 -o $(portageuser) -g $(portagegroup) $(DESTDIR)$(prefix)/sbin >+ cd $(DESTDIR)$(prefix)/sbin \ >+ ; for p in $(user_sbinprogs) \ >+ ; do test -f $(DESTDIR)$(PORTAGE_BIN)/$${p} \ >+ || { echo "$(DESTDIR)$(PORTAGE_BIN)/$${p} does not exist" ; exit 1 ; } \ >+ ; echo "rm -f $(DESTDIR)$(prefix)/sbin/$${p}" \ >+ ; rm -f $(DESTDIR)$(prefix)/sbin/$${p} \ >+ ; echo "$(LN_S) ../lib/portage/bin/$${p} $${p}" \ >+ ; $(LN_S) ../lib/portage/bin/$${p} $${p} || exit 1 \ >+ ; done >+ >+uninstall: >+ $(list_sourcedir) | while read f \ >+ ; do echo "rm -f $(DESTDIR)$(PORTAGE_BIN)/$${f}" \ >+ ; rm -f $(DESTDIR)$(PORTAGE_BIN)/$${f} \ >+ ; done >+ for p in $(user_binprogs) \ >+ ; do echo "rm -f $(DESTDIR)$(prefix)/bin/$${p}" \ >+ ; rm -f $(DESTDIR)$(prefix)/bin/$${p} \ >+ ; done >+ for p in $(user_sbinprogs) \ >+ ; do echo "rm -f $(DESTDIR)$(prefix)/sbin/$${p}" \ >+ ; rm -f $(DESTDIR)$(prefix)/sbin/$${p} \ >+ ; done > > distdir: >- find . -type f -maxdepth 1 -exec $(INSTALL_script) {} $(distdir)/{} \; >-clean: >+ $(list_sourcedir) | while read f \ >+ ; do echo "$(INSTALL_script) ${srcdir}/$${f} $(distdir)/$${f}" \ >+ ; $(INSTALL_script) ${srcdir}/$${f} $(distdir)/$${f} \ >+ ; done >+ >+all dvi check installcheck: >+clean distclean maintainer-clean: > >-.PHONY: distdir install clean >+.PHONY: all install distdir uninstall >+.PHONY: dvi check installcheck >+.PHONY: clean distclean maintainer-clean >diff -ruN portage-cvs/bin/affect-fakeroot-perms.sh portage-salomon/bin/affect-fakeroot-perms.sh >--- portage-cvs/bin/affect-fakeroot-perms.sh 2004-11-10 21:08:07.000000000 +0100 >+++ portage-salomon/bin/affect-fakeroot-perms.sh 2005-03-09 17:16:26.000000000 +0100 >@@ -1,4 +1,4 @@ >-#!/bin/bash >+#! @BASH@ > # affect-fakeroot-perms.sh; Make claimed fakeroot permissions, a reality. > # Copyright 2004 Gentoo Foundation > # Distributed under the terms of the GNU General Public License v2 >diff -ruN portage-cvs/bin/archive-conf portage-salomon/bin/archive-conf >--- portage-cvs/bin/archive-conf 2004-10-04 15:57:36.000000000 +0200 >+++ portage-salomon/bin/archive-conf 2005-03-19 21:55:22.000000000 +0100 >@@ -1,4 +1,4 @@ >-#!/usr/bin/python >+#! @PYTHON@ > # Copyright 1999-2004 Gentoo Foundation > # Distributed under the terms of the GNU General Public License v2 > # $Header$ >@@ -11,9 +11,10 @@ > # > > import os, sys, string >-sys.path = ["/usr/lib/portage/pym"]+sys.path >+sys.path = ["@PORTAGE_BASE@/pym"]+sys.path > > import portage, dispatch_conf >+from portage import ROOT, VDB_PATH > > FIND_EXTANT_CONTENTS = "find %s -name CONTENTS" > >@@ -56,7 +57,7 @@ > md5_match_hash[conf] = '' > > # Find all the CONTENT files in VDB_PATH. >- content_files += os.popen(FIND_EXTANT_CONTENTS % (portage.root+portage.VDB_PATH)).readlines() >+ content_files += os.popen(FIND_EXTANT_CONTENTS % (ROOT(VDB_PATH))).readlines() > > # Search for the saved md5 checksum of all the specified config files > # and see if the current file is unmodified or not. >diff -ruN portage-cvs/bin/chkcontents portage-salomon/bin/chkcontents >--- portage-cvs/bin/chkcontents 2004-10-04 15:56:50.000000000 +0200 >+++ portage-salomon/bin/chkcontents 2005-03-09 17:16:26.000000000 +0100 >@@ -1,4 +1,4 @@ >-#!/usr/bin/python >+#! @PYTHON@ > # Copyright 1999-2004 Gentoo Foundation > # Distributed under the terms of the GNU General Public License v2 > # $Header$ >@@ -9,7 +9,7 @@ > # the right files). > > import string, os.path, os, sys >-sys.path = ["/usr/lib/portage/pym"]+sys.path >+sys.path = ["@PORTAGE_BASE@/pym"]+sys.path > import portage > > def CONTENTScheck(path): >diff -ruN portage-cvs/bin/clean_locks portage-salomon/bin/clean_locks >--- portage-cvs/bin/clean_locks 2004-09-26 12:44:31.000000000 +0200 >+++ portage-salomon/bin/clean_locks 2005-03-09 17:16:26.000000000 +0100 >@@ -1,10 +1,10 @@ >-#!/usr/bin/python -O >+#! @PYTHON@ -O > # Copyright 1999-2004 Gentoo Foundation > # Distributed under the terms of the GNU General Public License v2 > # $Header$ > > import os,sys >-sys.path = ["/usr/lib/portage/pym"]+sys.path >+sys.path = ["@PORTAGE_BASE@/pym"]+sys.path > > import portage_locks > >@@ -15,8 +15,8 @@ > print "of the locks, even if we can't establish if they are in use." > print "Please attempt cleaning without force first." > print >- print sys.argv[0]+" /usr/portage/distfiles/.locks" >- print sys.argv[0]+" --force /usr/portage/distfiles/.locks" >+ print sys.argv[0]+" @prefix@/portage/distfiles/.locks" >+ print sys.argv[0]+" --force @prefix@/portage/distfiles/.locks" > print > sys.exit(1) > >@@ -33,4 +33,4 @@ > > > >- >\ No newline at end of file >+ >diff -ruN portage-cvs/bin/db-update.py portage-salomon/bin/db-update.py >--- portage-cvs/bin/db-update.py 2004-11-10 04:10:56.000000000 +0100 >+++ portage-salomon/bin/db-update.py 2005-03-21 13:59:30.000000000 +0100 >@@ -1,15 +1,16 @@ >-#!/usr/bin/python -O >+#! @PYTHON@ -O > # Copyright 1999-2004 Gentoo Foundation > # Distributed under the terms of the GNU General Public License v2 > # $Header$ > > import os,sys,string >-sys.path = ["/usr/lib/portage/pym"]+sys.path >+sys.path = ["@PORTAGE_BASE@/pym"]+sys.path > > import portage >+from portage import MYROOT,ROOT,VDB_PATH,CACHE_PATH > >-os.chdir(portage.root+portage.VDB_PATH) >-myvirts=portage.grabdict(portage.root+"var/cache/edb/virtuals") >+os.chdir(ROOT(VDB_PATH)) >+myvirts=portage.grabdict(ROOT(CACHE_PATH+"/virtuals")) > mypvirts={} > if portage.profiledir: > mypvirts=portage.grabdict(portage.profiledir+"/virtuals") >@@ -50,11 +51,11 @@ > myvirts[x]=[mydict[x]] > print ">>> Database upgrade..." > print ">>> Writing out new virtuals file..." >-portage.writedict(myvirts,portage.root+"var/cache/edb/virtuals") >-if not os.path.exists("/tmp/db-upgrade-bak"): >- os.mkdir("/tmp/db-upgrade-bak") >-print ">>> Backing up to /tmp/db-upgrade-bak..." >+portage.writedict(myvirts,ROOT(CACHE_PATH+"/virtuals")) >+if not os.path.exists(MYROOT("tmp/db-upgrade-bak")): >+ os.mkdir(MYROOT("tmp/db-upgrade-bak")) >+print ">>> Backing up to "+MYROOT("tmp/db-upgrade-bak")+"..." > for myarg in myvalidargs: >- print ">>> Backing up",portage.root+portage.VDB_PATH+"/"+origkey[myarg] >- os.system("mv "+portage.root+portage.VDB_PATH+"/"+origkey[myarg]+" /tmp/db-upgrade-bak") >+ print ">>> Backing up",ROOT(VDB_PATH+"/"+origkey[myarg]) >+ os.system("mv "+ROOT(VDB_PATH+"/"+origkey[myarg])+" "+MYROOT("tmp/db-upgrade-bak")) > print ">>> Done." >diff -ruN portage-cvs/bin/dispatch-conf portage-salomon/bin/dispatch-conf >--- portage-cvs/bin/dispatch-conf 2005-03-23 13:34:30.000000000 +0100 >+++ portage-salomon/bin/dispatch-conf 2005-03-25 10:43:56.000000000 +0100 >@@ -1,4 +1,4 @@ >-#!/usr/bin/python -O >+#! @PYTHON@ -O > # Copyright 1999-2004 Gentoo Foundation > # Distributed under the terms of the GNU General Public License v2 > # $Header$ >@@ -15,9 +15,10 @@ > from stat import * > from random import * > import os, shutil, sys, string, re, commands, atexit >-sys.path = ["/usr/lib/portage/pym"]+sys.path >+sys.path = ["@PORTAGE_BASE@/pym"]+sys.path > > import portage, dispatch_conf >+from portage import MYROOT > > FIND_EXTANT_CONFIGS = "find %s/ -iname '._cfg????_*' | sed -e 's://:/:g'" > DIFF_CONTENTS = 'diff -Nu %s %s' >@@ -237,8 +238,8 @@ > def massage (self, newconfigs): > """Sort, rstrip, remove old versions, break into triad hash. > >- Triad is dictionary of current (/etc/make.conf), new (/etc/._cfg0003_make.conf) >- and dir (/etc). >+ Triad is dictionary of current ("""+MYROOT("etc/make.conf")+"""), new ("""+MYROOT("etc/._cfg0003_make.conf")+""") >+ and dir ("""+MYROOT("etc")+"""). > > We keep ._cfg0002_conf over ._cfg0001_conf and ._cfg0000_conf. > """ >diff -ruN portage-cvs/bin/dispatch-conf-dialog portage-salomon/bin/dispatch-conf-dialog >--- portage-cvs/bin/dispatch-conf-dialog 2004-10-04 15:56:50.000000000 +0200 >+++ portage-salomon/bin/dispatch-conf-dialog 2005-03-19 21:55:22.000000000 +0100 >@@ -1,4 +1,4 @@ >-#!/usr/bin/python -O >+#! @PYTHON@ -O > # Copyright 1999-2004 Gentoo Foundation > # Distributed under the terms of the GNU General Public License v2 > # $Header$ >@@ -13,10 +13,11 @@ > # dialog menus > # > import os, shutil, sys, string, re, commands >-sys.path = ["/usr/lib/portage/pym"]+sys.path >+sys.path = ["@PORTAGE_BASE@/pym"]+sys.path > > from stat import * > import portage, dispatch_conf >+from portage import MYROOT > > from dcdialog import * > >@@ -216,8 +217,8 @@ > def massage (self, newconfigs): > """Sort, rstrip, remove old versions, break into triad hash. > >- Triad is dictionary of current (/etc/make.conf), new (/etc/._cfg0003_make.conf) >- and dir (/etc). >+ Triad is dictionary of current ("""+MYROOT("etc/make.conf")+"""), new ("""+MYROOT("etc/._cfg0003_make.conf")+""") >+ and dir ("""+MYROOT("etc")+"""). > > We keep ._cfg0002_conf over ._cfg0001_conf and ._cfg0000_conf. > """ >diff -ruN portage-cvs/bin/dobin portage-salomon/bin/dobin >--- portage-cvs/bin/dobin 2004-10-04 15:56:50.000000000 +0200 >+++ portage-salomon/bin/dobin 2005-03-22 09:10:36.000000000 +0100 >@@ -1,4 +1,4 @@ >-#!/bin/bash >+#! @BASH@ > # Copyright 1999-2004 Gentoo Foundation > # Distributed under the terms of the GNU General Public License v2 > # $Header$ >@@ -19,8 +19,12 @@ > else > #otherwise, use reasonable defaults > echo ">>> dobin: making ${x} executable..." >- if [ "$USERLAND" == "GNU" ]; then >+ if [ "/@affix@" != "/" ]; then >+ install -m0755 -o @rootuser@ -g @wheelgroup@ "${x}" "${D}${DESTTREE}/bin" || exit 4 >+ elif [ "$USERLAND" == "GNU" ]; then > install -m0755 -o root -g root "${x}" "${D}${DESTTREE}/bin" || exit 4 >+ elif [ "$USERLAND" == "UNIX" ]; then >+ install -m0755 -o root -g bin "${x}" "${D}${DESTTREE}/bin" || exit 4 > else > install -m0755 -o root -g wheel "${x}" "${D}${DESTTREE}/bin" || exit 4 > fi >diff -ruN portage-cvs/bin/doconfd portage-salomon/bin/doconfd >--- portage-cvs/bin/doconfd 2005-02-26 05:14:19.000000000 +0100 >+++ portage-salomon/bin/doconfd 2005-03-21 15:56:09.000000000 +0100 >@@ -1,4 +1,4 @@ >-#!/bin/bash >+#! @BASH@ > # Copyright 1999-2004 Gentoo Foundation > # Distributed under the terms of the GNU General Public License v2 > # $Header$ >@@ -9,7 +9,7 @@ > fi > > tmp_INSDESTTREE="${INSDESTTREE}" >-INSDESTTREE=/etc/conf.d/ >+INSDESTTREE=/${AFFIX}etc/conf.d/ > doins "$@" > INSDESTTREE="${tmp_INSDESTTREE}" > unset tmp_INSDESTTREE >diff -ruN portage-cvs/bin/dodir portage-salomon/bin/dodir >--- portage-cvs/bin/dodir 2004-10-04 15:56:50.000000000 +0200 >+++ portage-salomon/bin/dodir 2005-03-09 17:16:27.000000000 +0100 >@@ -1,4 +1,4 @@ >-#!/bin/bash >+#! @BASH@ > # Copyright 1999-2004 Gentoo Foundation > # Distributed under the terms of the GNU General Public License v2 > # $Header$ >diff -ruN portage-cvs/bin/dodoc portage-salomon/bin/dodoc >--- portage-cvs/bin/dodoc 2004-10-04 15:56:50.000000000 +0200 >+++ portage-salomon/bin/dodoc 2005-03-19 21:55:23.000000000 +0100 >@@ -1,19 +1,19 @@ >-#!/bin/bash >+#! @BASH@ > # Copyright 1999-2004 Gentoo Foundation > # Distributed under the terms of the GNU General Public License v2 > # $Header$ > > for x in "$@" ; do > if [ -s "${x}" ] ; then >- if [ ! -d "${D}usr/share/doc/${PF}" ] ; then >- install -d "${D}usr/share/doc/${PF}" >+ if [ ! -d "${D}${PREFIX}/share/doc/${PF}" ] ; then >+ install -d "${D}${PREFIX}/share/doc/${PF}" > fi > if [ -z "${DOCDESTTREE}" ] ; then >- install -m0644 "${x}" "${D}usr/share/doc/${PF}" >- gzip -f -9 "${D}usr/share/doc/${PF}/${x##*/}" >+ install -m0644 "${x}" "${D}${PREFIX}/share/doc/${PF}" >+ gzip -f -9 "${D}${PREFIX}/share/doc/${PF}/${x##*/}" > else >- install -m0644 "${x}" "${D}usr/share/doc/${PF}/${DOCDESTTREE}" >- gzip -f -9 "${D}usr/share/doc/${PF}/${DOCDESTTREE}/${x##*/}" >+ install -m0644 "${x}" "${D}${PREFIX}/share/doc/${PF}/${DOCDESTTREE}" >+ gzip -f -9 "${D}${PREFIX}/share/doc/${PF}/${DOCDESTTREE}/${x##*/}" > fi > else > echo "${0}: ${x} does not exist." >diff -ruN portage-cvs/bin/doenvd portage-salomon/bin/doenvd >--- portage-cvs/bin/doenvd 2005-02-26 05:14:19.000000000 +0100 >+++ portage-salomon/bin/doenvd 2005-03-21 15:56:09.000000000 +0100 >@@ -1,4 +1,4 @@ >-#!/bin/bash >+#! @BASH@ > # Copyright 1999-2004 Gentoo Foundation > # Distributed under the terms of the GNU General Public License v2 > # $Header$ >@@ -9,7 +9,7 @@ > fi > > tmp_INSDESTTREE="${INSDESTTREE}" >-INSDESTTREE=/etc/env.d/ >+INSDESTTREE=/${AFFIX}etc/env.d/ > doins "$@" > INSDESTTREE="${tmp_INSDESTTREE}" > unset tmp_INSDESTTREE >diff -ruN portage-cvs/bin/doexe portage-salomon/bin/doexe >--- portage-cvs/bin/doexe 2004-12-05 11:23:41.000000000 +0100 >+++ portage-salomon/bin/doexe 2005-03-09 17:16:27.000000000 +0100 >@@ -1,4 +1,4 @@ >-#!/bin/bash >+#! @BASH@ > # Copyright 1999-2004 Gentoo Foundation > # Distributed under the terms of the GNU General Public License v2 > # $Header$ >@@ -15,7 +15,7 @@ > for x in "$@" ; do > if [ -L "${x}" ] ; then > cp "${x}" "${T}" >- mysrc="${T}"/`/usr/bin/basename "${x}"` >+ mysrc="${T}"/`@BASENAME@ "${x}"` > elif [ -d "${x}" ] ; then > echo "doexe: warning, skipping directory ${x}" > continue >diff -ruN portage-cvs/bin/dohard portage-salomon/bin/dohard >--- portage-cvs/bin/dohard 2004-10-04 15:56:50.000000000 +0200 >+++ portage-salomon/bin/dohard 2005-03-09 17:16:27.000000000 +0100 >@@ -1,4 +1,4 @@ >-#!/bin/bash >+#! @BASH@ > # Copyright 1999-2004 Gentoo Foundation > # Distributed under the terms of the GNU General Public License v2 > # $Header$ >diff -ruN portage-cvs/bin/dohtml portage-salomon/bin/dohtml >--- portage-cvs/bin/dohtml 2004-10-23 11:13:13.000000000 +0200 >+++ portage-salomon/bin/dohtml 2005-03-21 15:17:56.000000000 +0100 >@@ -1,4 +1,4 @@ >-#!/usr/bin/python >+#! @PYTHON@ > # Copyright 1999-2004 Gentoo Foundation > # Distributed under the terms of the GNU General Public License v2 > # $Header$ >@@ -48,9 +48,9 @@ > if dirname: fullpath = dirname + "/" + fullpath > > if options.DOCDESTTREE: >- destdir = options.D + "usr/share/doc/" + options.PF + "/" + options.DOCDESTTREE + "/" + options.doc_prefix + "/" + prefix >+ destdir = options.D + options.PREFIX + "/share/doc/" + options.PF + "/" + options.DOCDESTTREE + "/" + options.doc_prefix + "/" + prefix > else: >- destdir = options.D + "usr/share/doc/" + options.PF + "/html/" + options.doc_prefix + "/" + prefix >+ destdir = options.D + options.PREFIX + "/share/doc/" + options.PF + "/html/" + options.doc_prefix + "/" + prefix > > if os.path.isfile(fullpath): > ext = os.path.splitext(basename)[1] >@@ -74,6 +74,10 @@ > self.PF = os.environ["PF"] > if os.environ.has_key("D"): > self.D = os.environ["D"] >+ if os.environ.has_key("AFFIX"): >+ self.AFFIX = os.environ["AFFIX"] >+ if os.environ.has_key("PREFIX"): >+ self.PREFIX = os.environ["PREFIX"] > if os.environ.has_key("DOCDESTTREE"): > self.DOCDESTTREE = os.environ["DOCDESTTREE"] > >diff -ruN portage-cvs/bin/doinfo portage-salomon/bin/doinfo >--- portage-cvs/bin/doinfo 2004-10-04 15:56:50.000000000 +0200 >+++ portage-salomon/bin/doinfo 2005-03-19 21:55:23.000000000 +0100 >@@ -1,4 +1,4 @@ >-#!/bin/bash >+#! @BASH@ > # Copyright 1999-2004 Gentoo Foundation > # Distributed under the terms of the GNU General Public License v2 > # $Header$ >@@ -7,14 +7,14 @@ > echo "doinfo: at least one argument needed" > exit 1 > fi >-if [ ! -d "${D}usr/share/info" ] ; then >- install -d "${D}usr/share/info" >+if [ ! -d "${D}${PREFIX}/share/info" ] ; then >+ install -d "${D}${PREFIX}/share/info" > fi > > for x in "$@" ; do > if [ -e "${x}" ] ; then >- install -m0644 "${x}" "${D}usr/share/info" >- gzip -f -9 "${D}usr/share/info/${x##*/}" >+ install -m0644 "${x}" "${D}${PREFIX}/share/info" >+ gzip -f -9 "${D}${PREFIX}/share/info/${x##*/}" > else > echo "doinfo: ${x} does not exist" > fi >diff -ruN portage-cvs/bin/doinitd portage-salomon/bin/doinitd >--- portage-cvs/bin/doinitd 2005-02-26 05:14:19.000000000 +0100 >+++ portage-salomon/bin/doinitd 2005-03-21 15:56:09.000000000 +0100 >@@ -1,4 +1,4 @@ >-#!/bin/bash >+#! @BASH@ > # Copyright 1999-2004 Gentoo Foundation > # Distributed under the terms of the GNU General Public License v2 > # $Header$ >@@ -9,7 +9,7 @@ > fi > > tmp_EXEDESTTREE="${EXEDESTTREE}" >-EXEDESTTREE=/etc/init.d/ >+EXEDESTTREE=/${AFFIX}etc/init.d/ > doexe "$@" > EXEDESTTREE="${tmp_EXEDESTTREE}" > unset tmp_EXEDESTTREE >diff -ruN portage-cvs/bin/doins portage-salomon/bin/doins >--- portage-cvs/bin/doins 2004-11-05 14:51:09.000000000 +0100 >+++ portage-salomon/bin/doins 2005-03-09 17:16:27.000000000 +0100 >@@ -1,4 +1,4 @@ >-#!/bin/bash >+#! @BASH@ > # Copyright 1999-2004 Gentoo Foundation > # Distributed under the terms of the GNU General Public License v2 > # $Header$ >@@ -25,7 +25,7 @@ > for x in "$@" ; do > if [ -L "$x" ] ; then > cp "$x" "${T}" >- mysrc="${T}/$(/usr/bin/basename "${x}")" >+ mysrc="${T}/$(@BASENAME@ "${x}")" > elif [ -d "$x" ] ; then > if [ "${DOINSRECUR}" == "n" ] ; then > continue >diff -ruN portage-cvs/bin/dojar portage-salomon/bin/dojar >--- portage-cvs/bin/dojar 2004-10-04 15:56:50.000000000 +0200 >+++ portage-salomon/bin/dojar 2005-03-09 17:16:27.000000000 +0100 >@@ -1,4 +1,4 @@ >-#!/bin/sh >+#! /bin/sh > # Copyright 1999-2004 Gentoo Foundation > # Distributed under the terms of the GNU General Public License v2 > # $Header$ >diff -ruN portage-cvs/bin/dolib portage-salomon/bin/dolib >--- portage-cvs/bin/dolib 2005-02-26 05:14:19.000000000 +0100 >+++ portage-salomon/bin/dolib 2005-03-09 17:16:27.000000000 +0100 >@@ -1,4 +1,4 @@ >-#!/bin/bash >+#! @BASH@ > # Copyright 1999-2004 Gentoo Foundation > # Distributed under the terms of the GNU General Public License v2 > # $Header$ >diff -ruN portage-cvs/bin/dolib.a portage-salomon/bin/dolib.a >--- portage-cvs/bin/dolib.a 2004-10-10 12:07:20.000000000 +0200 >+++ portage-salomon/bin/dolib.a 2005-03-09 17:16:27.000000000 +0100 >@@ -1,4 +1,4 @@ >-#!/bin/bash >+#! @BASH@ > # Copyright 1999-2004 Gentoo Foundation > # Distributed under the terms of the GNU General Public License v2 > # $Header$ >diff -ruN portage-cvs/bin/dolib.so portage-salomon/bin/dolib.so >--- portage-cvs/bin/dolib.so 2004-10-10 12:07:20.000000000 +0200 >+++ portage-salomon/bin/dolib.so 2005-03-09 17:16:27.000000000 +0100 >@@ -1,4 +1,4 @@ >-#!/bin/bash >+#! @BASH@ > # Copyright 1999-2004 Gentoo Foundation > # Distributed under the terms of the GNU General Public License v2 > # $Header$ >diff -ruN portage-cvs/bin/doman portage-salomon/bin/doman >--- portage-cvs/bin/doman 2004-10-10 12:07:20.000000000 +0200 >+++ portage-salomon/bin/doman 2005-03-25 10:41:48.000000000 +0100 >@@ -1,4 +1,4 @@ >-#!/bin/bash >+#! @BASH@ > # Copyright 1999-2004 Gentoo Foundation > # Distributed under the terms of the GNU General Public License v2 > # $Header$ >@@ -13,15 +13,15 @@ > # /opt/gnome/man > # /opt/kde/man > >-BASE="/usr/share" >+BASE="${PREFIX}/share" > OLDBASE="$BASE" > i18n="" > > for x in "$@" ; do >- [ "$x" == "--" ] && BASE="/usr/share" >- [ "$x" == "-kde" ] && BASE="/opt/kde" >- [ "$x" == "-gnome" ] && BASE="/opt/gnome" >- [ "$x" == "-x11" ] && BASE="/usr/X11R6" >+ [ "$x" == "--" ] && BASE="${PREFIX}/share" >+ [ "$x" == "-kde" ] && BASE="/${AFFIX}opt/kde" >+ [ "$x" == "-gnome" ] && BASE="/${AFFIX}opt/gnome" >+ [ "$x" == "-x11" ] && BASE="${PREFIX}/X11R6" > if [ "${x:0:6}" == "-i18n=" ] ; then > i18n="${x:6}/" > fi >@@ -48,12 +48,12 @@ > > if [ "x" == "${suffix:1:1}" ] ; then > OLDBASE="$BASE" >- BASE="/usr/X11R6" >+ BASE="${PREFIX}/X11R6" > fi > > mandir=${i18n}man${suffix:0:1} > >- if echo ${mandir} | egrep -q 'man[1-8n]$' -; then >+ if echo ${mandir} | @EGREP@ -q 'man[1-8n]$' -; then > if [ -e "${x}" ] ; then > if [ ! -d "${D}${BASE}/man/${mandir}" ] ; then > install -d "${D}${BASE}/man/${mandir}" >diff -ruN portage-cvs/bin/domo portage-salomon/bin/domo >--- portage-cvs/bin/domo 2004-10-04 15:56:50.000000000 +0200 >+++ portage-salomon/bin/domo 2005-03-09 17:16:27.000000000 +0100 >@@ -1,4 +1,4 @@ >-#!/bin/bash >+#! @BASH@ > # Copyright 1999-2004 Gentoo Foundation > # Distributed under the terms of the GNU General Public License v2 > # $Header$ >diff -ruN portage-cvs/bin/dopython portage-salomon/bin/dopython >--- portage-cvs/bin/dopython 2004-10-04 15:56:50.000000000 +0200 >+++ portage-salomon/bin/dopython 2005-03-09 17:16:27.000000000 +0100 >@@ -1,10 +1,10 @@ >-#!/usr/bin/python >+#! @PYTHON@ > # Copyright 1999-2004 Gentoo Foundation > # Distributed under the terms of the GNU General Public License v2 > # $Header$ > > import sys >-sys.path = ["/usr/lib/portage/pym"]+sys.path >+sys.path = ["@PORTAGE_BASE@/pym"]+sys.path > > from sys import * > import portage >diff -ruN portage-cvs/bin/dosbin portage-salomon/bin/dosbin >--- portage-cvs/bin/dosbin 2004-10-04 15:56:50.000000000 +0200 >+++ portage-salomon/bin/dosbin 2005-03-22 09:10:36.000000000 +0100 >@@ -1,4 +1,4 @@ >-#!/bin/bash >+#! @BASH@ > # Copyright 1999-2004 Gentoo Foundation > # Distributed under the terms of the GNU General Public License v2 > # $Header$ >@@ -18,8 +18,12 @@ > else > #otherwise, use reasonable defaults > echo ">>> dosbin: making ${x} executable..." >- if [ "$USERLAND" == "GNU" ]; then >+ if [ "/@affix@" != "/" ]; then >+ install -m0755 -o @rootuser@ -g @wheelgroup@ "${x}" "${D}${DESTTREE}/sbin" || exit 4 >+ elif [ "$USERLAND" == "GNU" ]; then > install -m0755 -o root -g root "${x}" "${D}${DESTTREE}/sbin" || exit 4 >+ elif [ "$USERLAND" == "UNIX" ]; then >+ install -m0755 -o root -g bin "${x}" "${D}${DESTTREE}/sbin" || exit 4 > else > install -m0755 -o root -g wheel "${x}" "${D}${DESTTREE}/sbin" || exit 4 > fi >diff -ruN portage-cvs/bin/dosed portage-salomon/bin/dosed >--- portage-cvs/bin/dosed 2004-10-04 15:56:50.000000000 +0200 >+++ portage-salomon/bin/dosed 2005-03-09 17:16:27.000000000 +0100 >@@ -1,4 +1,4 @@ >-#!/bin/bash >+#! @BASH@ > # Copyright 1999-2004 Gentoo Foundation > # Distributed under the terms of the GNU General Public License v2 > # $Header$ >diff -ruN portage-cvs/bin/dosym portage-salomon/bin/dosym >--- portage-cvs/bin/dosym 2004-10-04 15:56:50.000000000 +0200 >+++ portage-salomon/bin/dosym 2005-03-09 17:16:27.000000000 +0100 >@@ -1,4 +1,4 @@ >-#!/bin/bash >+#! @BASH@ > # Copyright 1999-2004 Gentoo Foundation > # Distributed under the terms of the GNU General Public License v2 > # $Header$ >diff -ruN portage-cvs/bin/ebuild portage-salomon/bin/ebuild >--- portage-cvs/bin/ebuild 2004-11-07 13:51:57.000000000 +0100 >+++ portage-salomon/bin/ebuild 2005-04-07 13:56:21.000000000 +0200 >@@ -1,21 +1,12 @@ >-#!/usr/bin/python -O >+#! @PYTHON@ -O > # Copyright 1999-2004 Gentoo Foundation > # Distributed under the terms of the GNU General Public License v2 > # $Header$ > >-import os,sys,portage_util >-sys.path = ["/usr/lib/portage/pym"]+sys.path >- >-def getroot(): >- try: >- a=os.environ["ROOT"] >- if a == '/': >- return '/' >- except SystemExit, e: >- raise # Needed else we can't exit. >- except: >- return '/' >- return os.path.normpath(a)+'/' >+import os,sys >+sys.path = ["@PORTAGE_BASE@/pym"]+sys.path >+import portage_util >+from portage_const import ROOT > > os.environ["PORTAGE_CALLER"]="ebuild" > >@@ -46,7 +37,7 @@ > cleanup=1 > else: > cleanup=0 >- a=portage.doebuild(pargs[0],x,getroot(),tmpsettings,debug=debug,cleanup=cleanup) >+ a=portage.doebuild(pargs[0],x,ROOT,tmpsettings,debug=debug,cleanup=cleanup) > except KeyboardInterrupt: > print "(interrupted by user -- ctrl-C?)" > a=1 >diff -ruN portage-cvs/bin/ebuild-daemon.sh portage-salomon/bin/ebuild-daemon.sh >--- portage-cvs/bin/ebuild-daemon.sh 2005-03-09 03:46:20.000000000 +0100 >+++ portage-salomon/bin/ebuild-daemon.sh 2005-03-25 10:41:48.000000000 +0100 >@@ -1,10 +1,10 @@ >-#!/bin/bash >+#! @BASH@ > # ebuild-daemon.sh; core ebuild processor handling code > # Copyright 2004 Gentoo Foundation > # Distributed under the terms of the GNU General Public License v2 >-$Header$ >+# $Header$ > >-source /usr/lib/portage/bin/ebuild.sh daemonize >+source ${PORTAGE_BASE}/bin/ebuild.sh daemonize > > alias die='diefunc "$FUNCNAME" "$LINENO" "$?"' > #alias listen='read -u 3 -t 10' >@@ -13,14 +13,14 @@ > # use listen/speak for talking to the running portage instance instead of echo'ing to the fd yourself. > # this allows us to move the open fd's w/out issues down the line. > listen() { >- if ! read -u 3 $1; then >+ if ! read -u 5 $1; then > echo "coms error, read failed: backing out of daemon." > exit 1 > fi > } > > speak() { >- echo "$*" >&4 >+ echo "$*" >&6 > } > declare -rf speak > >@@ -154,13 +154,13 @@ > export QA_CONTROLLED_EXTERNALLY="yes" > enable_qa_interceptors > >-source "/usr/lib/portage/bin/ebuild-functions.sh" || die "failed sourcing ebuild-functions.sh" >+source "@PORTAGE_BASE@/bin/ebuild-functions.sh" || die "failed sourcing ebuild-functions.sh" > > export PORTAGE_PRELOADED_ECLASSES='' > unset_colors > > >-PATH='/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/usr/lib/portage/bin' >+PATH='/@affix@bin:/@affix@sbin:@prefix@/bin:@prefix@/sbin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:@PORTAGE_BASE@/bin' > while [ "$alive" == "1" ]; do > com='' > listen com >diff -ruN portage-cvs/bin/ebuild-default-functions.sh portage-salomon/bin/ebuild-default-functions.sh >--- portage-cvs/bin/ebuild-default-functions.sh 2005-03-10 23:41:04.000000000 +0100 >+++ portage-salomon/bin/ebuild-default-functions.sh 2005-04-15 11:55:03.000000000 +0200 >@@ -1,4 +1,4 @@ >-#!/bin/bash >+#! @BASH@ > # ebuild-default-functions.sh; default functions for ebuild env that aren't saved- specific to the portage instance. > # Copyright 2004 Gentoo Foundation > # Distributed under the terms of the GNU General Public License v2 >@@ -16,10 +16,10 @@ > # Takes single depend-type atoms. > > if declare -F portageq &> /dev/null; then >- portageq 'has_version' "${ROOT}" "$1" >+ portageq 'has_version' "${ROOT}${AFFIX}" "$1" > e=$? > else >- /usr/lib/portage/bin/portageq 'has_version' "${ROOT}" "$1" >+ @PORTAGE_BASE@/bin/portageq 'has_version' "${ROOT}${AFFIX}" "$1" > e=$? > fi > return $e >@@ -28,10 +28,10 @@ > best_version() { > local -i e > if declare -F portageq &> /dev/null; then >- portageq 'best_version' "${ROOT}" "$1" >+ portageq 'best_version' "${ROOT}${AFFIX}" "$1" > e=$? > else >- /usr/lib/portage/bin/portageq 'best_version' "${ROOT}" "$1" >+ @PORTAGE_BASE@/bin/portageq 'best_version' "${ROOT}${AFFIX}" "$1" > e=$? > fi > return $e >@@ -97,6 +97,7 @@ > if [ "$USERLAND" == "BSD" ]; then > tarvars="" > else >+ # GNU or UNIX (where GNU tar is required) > tarvars="--no-same-owner" > fi > >@@ -158,14 +159,14 @@ > # Make sure we can have it disabled somehow .... > if [ "${DISABLE_GEN_GCC_WRAPPERS}" != "yes" ]; then > # Create /lib/cpp if missing or a symlink >- if [ -L /lib/cpp -o ! -e /lib/cpp ]; then >- [ -L /lib/cpp ] && rm -f /lib/cpp >- gen_wrapper /lib/cpp cpp >+ if [ -L /@affix@lib/cpp -o ! -e /@affix@lib/cpp ]; then >+ [ -L /@affix@lib/cpp ] && rm -f /@affix@lib/cpp >+ gen_wrapper /@affix@lib/cpp cpp > fi > # Create /usr/bin/cc if missing for a symlink >- 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 >+ if [ -L @prefix@/bin/cc -o ! -e @prefix@/bin/cc ]; then >+ [ -L @prefix@/bin/cc ] && rm -f @prefix@/bin/cc >+ gen_wrapper @prefix@/bin/cc gcc > fi > fi > fi >@@ -424,11 +425,11 @@ > echo "UNSAFE SetUID: $i" > done > >- if [ -x /usr/bin/readelf -a -x /usr/bin/file ]; then >+ if [ -x "@READELF@" -a -x "@FILE@" ]; then > for x in $(find "${D}/" -type f \( -perm -04000 -o -perm -02000 \) ); do > f=$(file "${x}") > if [ -z "${f/*SB executable*/}" -o -z "${f/*SB shared object*/}" ]; then >- /usr/bin/readelf -d "${x}" | egrep '\(FLAGS(.*)NOW' > /dev/null >+ "@READELF@" -d "${x}" | @EGREP@ '\(FLAGS(.*)NOW' > /dev/null > if [ "$?" != "0" ]; then > if [ ! -z "${f/*statically linked*/}" ]; then > #uncomment this line out after developers have had ample time to fix pkgs. >@@ -451,34 +452,39 @@ > > local file s > >- find "${D}/" -user portage -print | while read file; do >- ewarn "file $file was installed with user portage!" >+ [[ ${PORTAGE_USER:-@portageuser@} == ${PORTAGE_ROOTUSER:-@rootuser@} ]] || \ >+ find "${D}/" -user ${PORTAGE_USER:-@portageuser@} -print | while read file; do >+ ewarn "file $file was installed with user ${PORTAGE_USER:=@portageuser@}!" > s=$(stat_perms $file) >- chown root "$file" >+ chown ${PORTAGE_ROOTUSER:-@rootuser@} "$file" > #XXX: Stable does not have the symlink test > [ -h "$file" ] || chmod "$s" "$file" > done > >- find "${D}/" -group portage -print | while read file; do >+ find "${D}/" -group ${PORTAGE_GROUP:-@portagegroup@} -print | while read file; do > # Too annoying - uncommenting this as it's a regression - it's not, commenting again >- #ewarn "file $file was installed with group portage!" >+ #ewarn "file $file was installed with group ${PORTAGE_GROUP:-@portagegroup@}!" > s=$(stat_perms "$file") >- if [ "$USERLAND" == "BSD" ]; then >+ if [ "/@affix@" != "/" ]; then >+ chgrp ${PORTAGE_WHEELGROUP:-@wheelgroup@} "$file" >+ elif [ "$USERLAND" == "BSD" ]; then > chgrp wheel "$file" >- else >+ elif [ "$USERLAND" == "UNIX" ]; then >+ chgrp bin "$file" >+ else # userland GNU > chgrp root "$file" > fi > #XXX: Stable does not have the symlink test > [ -h "$file" ] || chmod "$s" "$file" > done > >- if hasq multilib-strict ${FEATURES} && [ -x /usr/bin/file -a -x /usr/bin/find -a \ >+ if hasq multilib-strict ${FEATURES} && [ -x "@FILE@" -a -x "@FIND@" -a \ > -n "${MULTILIB_STRICT_DIRS}" -a -n "${MULTILIB_STRICT_DENY}" ]; then > MULTILIB_STRICT_EXEMPT=${MULTILIB_STRICT_EXEMPT:-"(perl5|gcc|gcc-lib)"} > for dir in ${MULTILIB_STRICT_DIRS}; do > [ -d "${D}/${dir}" ] || continue >- for file in $(find ${D}/${dir} -type f | egrep -v "^${D}/${dir}/${MULTILIB_STRICT_EXEMPT}"); do >- file ${file} | egrep -q "${MULTILIB_STRICT_DENY}" && die "File ${file} matches a file type that is not allowed in ${dir}" >+ for file in $(find ${D}/${dir} -type f | @EGREP@ -v "^${D}/${dir}/${MULTILIB_STRICT_EXEMPT}"); do >+ file ${file} | @EGREP@ -q "${MULTILIB_STRICT_DENY}" && die "File ${file} matches a file type that is not allowed in ${dir}" > done > done > fi >@@ -503,17 +509,17 @@ > > # remove man pages > if hasq noman $FEATURES; then >- rm -fR "${IMAGE}/usr/share/man" >+ rm -fR "${IMAGE}${PREFIX}/share/man" > fi > > # remove info pages > if hasq noinfo $FEATURES; then >- rm -fR "${IMAGE}/usr/share/info" >+ rm -fR "${IMAGE}${PREFIX}/share/info" > fi > > # remove docs > if hasq nodoc $FEATURES; then >- rm -fR "${IMAGE}/usr/share/doc" >+ rm -fR "${IMAGE}${PREFIX}/share/doc" > fi > > # hopefully this will someday allow us to get rid of the no* feature flags >@@ -535,7 +541,7 @@ > > # remove share dir if unnessesary > if hasq nodoc $FEATURES -o hasq noman $FEATURES -o hasq noinfo $FEATURES; then >- rmdir "${IMAGE}/usr/share" &> /dev/null >+ rmdir "${IMAGE}${PREFIX}/share" &> /dev/null > fi > > # Smart FileSystem Permissions >@@ -554,7 +560,7 @@ > > # total suid control. > if hasq suidctl $FEATURES > /dev/null ; then >- sfconf=/etc/portage/suidctl.conf >+ sfconf=/@affix@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 >@@ -588,7 +594,7 @@ > if hasq selinux $FEATURES || use selinux; then > # only attempt to label if setfiles is executable > # and 'context' is available on selinuxfs. >- if [ -f /selinux/context -a -x /usr/sbin/setfiles ]; then >+ if [ -f /selinux/context -a -x "@SETFILES@" ]; then > echo ">>> Setting SELinux security labels" > if [ -f ${POLICYDIR}/file_contexts/file_contexts ]; then > cp -f "${POLICYDIR}/file_contexts/file_contexts" "${T}" >@@ -597,7 +603,7 @@ > fi > > addwrite /selinux/context >- /usr/sbin/setfiles -r "${IMAGE}" "${T}/file_contexts" "${IMAGE}" \ >+ @SETFILES@ -r "${IMAGE}" "${T}/file_contexts" "${IMAGE}" \ > || die "Failed to set SELinux security labels." > else > # nonfatal, since merging can happen outside a SE kernel >@@ -714,7 +720,7 @@ > # You can override the setting by exporting a new one from the console, or you can > # set a new default in make.*. Here the default is "" or unset. > >-# in the future might use e* from /etc/init.d/functions.sh if i feel like it >+# in the future might use e* from /@affix@etc/init.d/functions.sh if i feel like it > debug-print() { > if [ "$EBUILD_PHASE" == "depend" ] && [ -z "${PORTAGE_DEBUG}" ]; then > return >@@ -1058,7 +1064,7 @@ > # Used to generate the /lib/cpp and /usr/bin/cc wrappers > gen_wrapper() { > cat > $1 << END >-#!/bin/sh >+#! @SHELL@ > > $2 "\$@" > END >diff -ruN portage-cvs/bin/ebuild-functions.sh portage-salomon/bin/ebuild-functions.sh >--- portage-cvs/bin/ebuild-functions.sh 2005-03-29 02:22:28.000000000 +0200 >+++ portage-salomon/bin/ebuild-functions.sh 2005-03-29 10:56:00.000000000 +0200 >@@ -1,4 +1,4 @@ >-#!/bin/bash >+#! @BASH@ > # ebuild-functions.sh; ebuild env functions, saved with the ebuild (not specific to the portage version). > # Copyright 2004 Gentoo Foundation > # Distributed under the terms of the GNU General Public License v2 >@@ -74,11 +74,11 @@ > ECONF_SOURCE="${ECONF_SOURCE:-.}" > if [ -x "${ECONF_SOURCE}/configure" ]; then > if hasq autoconfig $FEATURES && ! hasq autoconfig $RESTRICT; then >- if [ -e /usr/share/gnuconfig/ ]; then >+ if [ -e @prefix@/share/gnuconfig/ ]; then > local x > for x in $(find ${WORKDIR} -type f -name config.guess -o -name config.sub); do >- echo " * econf: updating ${x/${WORKDIR}\/} with /usr/share/gnuconfig/${x##*/}" >- cp -f "/usr/share/gnuconfig/${x##*/}" "${x}" >+ echo " * econf: updating ${x/${WORKDIR}\/} with @prefix@/share/gnuconfig/${x##*/}" >+ cp -f "@prefix@/share/gnuconfig/${x##*/}" "${x}" > done > fi > fi >@@ -105,7 +105,7 @@ > CONF_PREFIX=${pref} > [ "${CONF_PREFIX:0:1}" != "/" ] && CONF_PREFIX="/${CONF_PREFIX}" > else >- CONF_PREFIX="/usr" >+ CONF_PREFIX="${PREFIX}" > fi > export CONF_PREFIX > [ "${CONF_LIBDIR:0:1}" != "/" ] && CONF_LIBDIR="/${CONF_LIBDIR}" >@@ -123,25 +123,26 @@ > EECONF_CACHE="--cache-file=${T}/local_cache" > fi > echo "${ECONF_SOURCE}/configure" \ >- --prefix=/usr \ >+ --prefix=${PREFIX} \ > --host=${CHOST} \ >- --mandir=/usr/share/man \ >- --infodir=/usr/share/info \ >- --datadir=/usr/share \ >- --sysconfdir=/etc \ >- --localstatedir=/var/lib \ >+ --mandir=${PREFIX}/share/man \ >+ --infodir=${PREFIX}/share/info \ >+ --datadir=${PREFIX}/share \ >+ --sysconfdir=/${AFFIX}etc \ >+ --localstatedir=/${AFFIX}var/lib \ > ${EXTRA_ECONF} \ > ${EECONF_CACHE} \ > "$@" > > if ! "${ECONF_SOURCE}/configure" \ > --prefix=/usr \ >+ --prefix=${PREFIX} \ > --host=${CHOST} \ >- --mandir=/usr/share/man \ >- --infodir=/usr/share/info \ >- --datadir=/usr/share \ >- --sysconfdir=/etc \ >- --localstatedir=/var/lib \ >+ --mandir=${PREFIX}/share/man \ >+ --infodir=${PREFIX}/share/info \ >+ --datadir=${PREFIX}/share \ >+ --sysconfdir=/${AFFIX}etc \ >+ --localstatedir=/${AFFIX}var/lib \ > ${EXTRA_ECONF} \ > ${EECONF_CACHE} \ > "$@" ; then >@@ -188,21 +189,21 @@ > > 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 \ >+ make -n prefix=${D}${PREFIX} \ >+ datadir=${D}${PREFIX}/share \ >+ infodir=${D}${PREFIX}/share/info \ >+ localstatedir=${D}${AFFIX}var/lib \ >+ mandir=${D}${PREFIX}/share/man \ >+ sysconfdir=${D}${AFFIX}etc \ > ${EXTRA_EINSTALL} \ > "$@" install > fi >- make prefix=${D}/usr \ >- datadir=${D}/usr/share \ >- infodir=${D}/usr/share/info \ >- localstatedir=${D}/var/lib \ >- mandir=${D}/usr/share/man \ >- sysconfdir=${D}/etc \ >+ make prefix=${D}${PREFIX} \ >+ datadir=${D}${PREFIX}/share \ >+ infodir=${D}${PREFIX}/share/info \ >+ localstatedir=${D}${AFFIX}var/lib \ >+ mandir=${D}${PREFIX}/share/man \ >+ sysconfdir=${D}${AFFIX}etc \ > ${EXTRA_EINSTALL} \ > "$@" install || die "einstall failed" > else >@@ -324,8 +325,8 @@ > export DOCDESTTREE="" > else > export DOCDESTTREE="$1" >- if [ ! -d "${D}usr/share/doc/${PF}/${DOCDESTTREE}" ]; then >- install -d "${D}usr/share/doc/${PF}/${DOCDESTTREE}" >+ if [ ! -d "${D}${PREFIX}/share/doc/${PF}/${DOCDESTTREE}" ]; then >+ install -d "${D}${PREFIX}/share/doc/${PF}/${DOCDESTTREE}" > fi > fi > } >diff -ruN portage-cvs/bin/ebuild.sh portage-salomon/bin/ebuild.sh >--- portage-cvs/bin/ebuild.sh 2005-02-26 05:14:19.000000000 +0100 >+++ portage-salomon/bin/ebuild.sh 2005-03-25 10:41:48.000000000 +0100 >@@ -1,4 +1,4 @@ >-#!/bin/bash >+#! @BASH@ > # ebuild.sh; ebuild phase processing, env handling > # Copyright 2004 Gentoo Foundation > # Distributed under the terms of the GNU General Public License v2 >@@ -23,7 +23,7 @@ > # readonly. This limits users, but also helps to ensure that reloaded envs from older portages don't > # overwrite an internal ebd.sh function that has since changed. > >-ORIG_VARS=`declare | egrep '^[^[:space:]{}()]+=' | cut -s -d '=' -f 1` >+ORIG_VARS=`declare | @EGREP@ '^[^[:space:]{}()]+=' | cut -s -d '=' -f 1` > ORIG_FUNCS=`declare -F | cut -s -d ' ' -f 3` > DONT_EXPORT_FUNCS='portageq speak' > DONT_EXPORT_VARS="ORIG_VARS GROUPS ORIG_FUNCS FUNCNAME DAEMONIZED CCACHE.* DISTCC.* AUTOCLEAN CLEAN_DELAY SYNC >@@ -38,7 +38,7 @@ > # knock the sandbox vars back to the defaults. > reset_sandbox() { > export SANDBOX_ON="1" >- export SANDBOX_PREDICT="${SANDBOX_PREDICT:+${SANDBOX_PREDICT}:}/proc/self/maps:/dev/console:/usr/lib/portage/pym:/dev/random" >+ export SANDBOX_PREDICT="${SANDBOX_PREDICT:+${SANDBOX_PREDICT}:}/proc/self/maps:/dev/console:${PORTAGE_BASE}/pym:/dev/random" > export SANDBOX_WRITE="${SANDBOX_WRITE:+${SANDBOX_WRITE}:}/dev/shm:${PORTAGE_TMPDIR}" > export SANDBOX_READ="${SANDBOX_READ:+${SANDBOX_READ}:}/dev/shm:${PORTAGE_TMPDIR}" > } >@@ -177,18 +177,18 @@ > echo "reinstate_loaded_env_attributes ()" > echo "{" > >- x=$(export | get_vars | egrep -v "$(gen_filter ${DONT_EXPORT_VARS} f x y)$") >+ x=$(export | get_vars | @EGREP@ -v "$(gen_filter ${DONT_EXPORT_VARS} f x y)$") > [ ! -z "$x" ] && echo " export `echo $x`" > > >- x=$(readonly | get_vars | egrep -v "$(gen_filter ${DONT_EXPORT_VARS} f x y)") >+ x=$(readonly | get_vars | @EGREP@ -v "$(gen_filter ${DONT_EXPORT_VARS} f x y)") > [ ! -z "$x" ] && echo " readonly `echo $x`" > > >- x=$(declare -i | get_vars | egrep -v "$(gen_filter ${DONT_EXPORT_VARS} f x y)") >+ x=$(declare -i | get_vars | @EGREP@ -v "$(gen_filter ${DONT_EXPORT_VARS} f x y)") > [ ! -z "$x" ] && echo " declare -i `echo $x`" > >- declare -F | egrep "^declare -[aFfirtx]+ $(gen_filter ${f} )\$" | egrep -v "^declare -f " >+ declare -F | @EGREP@ "^declare -[aFfirtx]+ $(gen_filter ${f} )\$" | @EGREP@ -v "^declare -f " > shopt -p > echo " unset reinstate_loaded_env_attributes" > echo "}" >@@ -252,7 +252,7 @@ > local SANDBOX_STATE=$SANDBOX_ON > local EBUILD_PHASE=$EBUILD_PHASE > SANDBOX_ON=0 >- SANDBOX_READ="/bin:${SANDBOX_READ}:/dev/urandom:/dev/random:/usr/lib/portage/bin/" >+ SANDBOX_READ="/bin:${SANDBOX_READ}:/dev/urandom:/dev/random:${PORTAGE_BASE}/bin/" > SANDBOX_ON=$SANDBOX_STATE > > if [ ! -z $DEBUGGING ]; then >@@ -281,7 +281,7 @@ > eval "$({ [ "${src%.bz2}" != "${src}" ] && bzcat "$src" || cat "${src}" > } | filter-env -v $(convert_filter ${DONT_EXPORT_VARS}) \ > -f $(convert_filter ${DONT_EXPORT_FUNCS}) )" >-# } | egrep -v "^$(gen_filter $DONT_EXPORT_VARS)=")" >+# } | @EGREP@ -v "^$(gen_filter $DONT_EXPORT_VARS)=")" > else > echo "ebuild=${EBUILD}, phase $EBUILD_PHASE" >&2 > return 1 >@@ -321,8 +321,7 @@ > OCC="$CC" > OCXX="$CXX" > >- >- export PATH="/sbin:/usr/sbin:/usr/lib/portage/bin:/bin:/usr/bin${ROOTPATH:+:${ROOTPATH}}" >+ export PATH="/@affix@sbin:@prefix@/sbin:/sbin:/usr/sbin:${PORTAGE_BASE}/bin:/@affix@bin:@prefix@/bin:/bin:/usr/bin${ROOTPATH:+:${ROOTPATH}}" > if [ "${EBUILD_PHASE}" == "setup" ]; then > #we specifically save the env so it's not stomped on by sourcing. > #bug 51552 >@@ -330,7 +329,7 @@ > > if [ "$USERLAND" == "GNU" ]; then > local PORTAGE_SHIFTED_PATH="$PATH" >- source /etc/profile.env &>/dev/null >+ source /@affix@etc/profile.env &>/dev/null > PATH="${PORTAGE_SHIFTED_PATH:+${PORTAGE_SHIFTED_PATH}}${PATH:+:${PATH}}" > fi > #shift path. I don't care about 51552, I'm not using the env's supplied path, alright? :) >@@ -354,7 +353,7 @@ > [ ! -z "$PREROOTPATH" ] && export PATH="${PREROOTPATH%%:}:$PATH" > > >- export DESTTREE=/usr >+ export DESTTREE=${PREFIX} > export INSDESTTREE="" > export EXEDESTTREE="" > export DOCDESTTREE="" >@@ -366,7 +365,7 @@ > > # if daemonized, it's already loaded these funcs. > if [ "$DAEMONIZED" != "yes" ]; then >- source "/usr/lib/portage/bin/ebuild-functions.sh" || die "failed sourcing ebuild-functions.sh" >+ source "${PORTAGE_BASE}/bin/ebuild-functions.sh" || die "failed sourcing ebuild-functions.sh" > fi > SANDBOX_ON="1" > export S=${WORKDIR}/${P} >@@ -435,8 +434,8 @@ > # echo "DONT_EXPORT_FUNCS=$DONT_EXPORT_FUNCS" >&2 > } > >-source "/usr/lib/portage/bin/ebuild-default-functions.sh" || die "failed sourcing ebuild-default-functions.sh" >-source "/usr/lib/portage/bin/isolated-functions.sh" || die "failed sourcing stripped down functions.sh" >+source "${PORTAGE_BASE}/bin/ebuild-default-functions.sh" || die "failed sourcing ebuild-default-functions.sh" >+source "${PORTAGE_BASE}/bin/isolated-functions.sh" || die "failed sourcing stripped down functions.sh" > > # general func to call for phase execution. this handles necessary env loading/dumping, and executing pre/post/dyn > # calls. >@@ -509,7 +508,7 @@ > setup) > #pkg_setup needs to be out of the sandbox for tmp file creation; > #for example, awking and piping a file in /tmp requires a temp file to be created >- #in /etc. If pkg_setup is in the sandbox, both our lilo and apache ebuilds break. >+ #in /@affix@etc. If pkg_setup is in the sandbox, both our lilo and apache ebuilds break. > > export SANDBOX_ON="0" > >@@ -531,7 +530,15 @@ > [ "$PORTAGE_DEBUG" == "1" ] && set +x > > if hasq distcc ${FEATURES} &>/dev/null; then >- if [ -d /usr/lib/distcc/bin ]; then >+ if [ -d @prefix@/lib/distcc/bin ]; then >+ #We can enable distributed compile support >+ if [ -z "${PATH/*distcc*/}" ]; then >+ # Remove the other reference. >+ remove_path_entry "distcc" >+ fi >+ export PATH="@prefix@/lib/distcc/bin:${PATH}" >+ [ ! -z "${DISTCC_LOG}" ] && addwrite "$(dirname ${DISTCC_LOG})" >+ elif [ -d /usr/lib/distcc/bin ]; then > #We can enable distributed compile support > if [ -z "${PATH/*distcc*/}" ]; then > # Remove the other reference. >@@ -552,7 +559,11 @@ > remove_path_entry "ccache" > fi > >- if [ -d /usr/lib/ccache/bin ]; then >+ if [ -d @prefix@/lib/ccache/bin ]; then >+ export PATH="@prefix@/lib/ccache/bin:${PATH}" >+ elif [ -d @prefix@/bin/ccache ]; then >+ export PATH="@prefix@/bin/ccache:${PATH}" >+ elif [ -d /usr/lib/ccache/bin ]; then > export PATH="/usr/lib/ccache/bin:${PATH}" > elif [ -d /usr/bin/ccache ]; then > export PATH="/usr/bin/ccache:${PATH}" >@@ -691,7 +702,7 @@ > if [ -z "${ORIG_VARS}" ]; then > DONT_EXPORT_VARS="${DONT_EXPORT_VARS} ${f}" > else >- DONT_EXPORT_VARS="${DONT_EXPORT_VARS} $(echo "${f}" | egrep -v "^`gen_filter ${ORIG_VARS}`\$")" >+ DONT_EXPORT_VARS="${DONT_EXPORT_VARS} $(echo "${f}" | @EGREP@ -v "^`gen_filter ${ORIG_VARS}`\$")" > fi > unset f > >@@ -703,7 +714,7 @@ > set +f > > export XARGS >-if [ "$(id -nu)" == "portage" ] ; then >+if [ "$(@XCU_ID@ -nu)" == "portage" ] ; then > export USER=portage > fi > set +H -h >diff -ruN portage-cvs/bin/emake portage-salomon/bin/emake >--- portage-cvs/bin/emake 2004-10-04 15:56:50.000000000 +0200 >+++ portage-salomon/bin/emake 2005-03-09 17:16:27.000000000 +0100 >@@ -1,4 +1,4 @@ >-#!/bin/bash >+#! @BASH@ > # Copyright 1999-2004 Gentoo Foundation > # Distributed under the terms of the GNU General Public License v2 > # $Header$ >diff -ruN portage-cvs/bin/emerge portage-salomon/bin/emerge >--- portage-cvs/bin/emerge 2005-04-08 03:19:55.000000000 +0200 >+++ portage-salomon/bin/emerge 2005-04-08 13:51:11.000000000 +0200 >@@ -1,13 +1,14 @@ >-#!/usr/bin/python -O >+#! @PYTHON@ -O > # Copyright 1999-2004 Gentoo Foundation > # Distributed under the terms of the GNU General Public License v2 > # $Header$ > > import os,sys > os.environ["PORTAGE_CALLER"]="emerge" >-sys.path = ["/usr/lib/portage/pym"]+sys.path >+sys.path = ["@PORTAGE_BASE@/pym"]+sys.path > >-import portage >+import portage_const, portage >+from portage_const import MYROOT,ROOT,VDB_PATH,WORLD_FILE > import random > > import emergehelp,xpak,string,re,commands,time,shutil,traceback,atexit,signal,socket,types >@@ -391,9 +392,9 @@ > print > print red("*** --inject has been deprecated.") > print red("*** If you manage a piece of software yourself, add it's name and") >- print red("*** version (eg foo/bar-1.0) to /etc/portage/profile/package.provided.") >+ print red("*** version (eg foo/bar-1.0) to "+MYROOT(CUSTOM_PROFILE_PATH+"/package.provided")+".") > print red("*** If you want to prevent portage from upgrading a package, add it to") >- print red("*** /etc/portage/package.mask prepending it with '>' (eg >foo/bar-1.0)") >+ print red("*** "+MYROOT(USER_CONFIG_PATH+"/package.mask")+" prepending it with '>' (eg >foo/bar-1.0)") > print red("*** For more information on fine-grained portage control, please see") > print red("*** the portage man page.") > print >@@ -406,12 +407,12 @@ > xtermTitle(mystr) > try: > #seems odd opening a file each write... >- if not os.path.exists("/var/log/emerge.log"): >- mylogfile=open("/var/log/emerge.log", "w") >- os.chmod("/var/log/emerge.log", S_IRUSR|S_IWUSR|S_IRGRP|S_IWGRP) >- os.chown("/var/log/emerge.log", portage.portage_uid, portage.portage_gid) >+ if not os.path.exists(MYROOT("var/log/emerge.log")): >+ mylogfile=open(MYROOT("var/log/emerge.log"), "w") >+ os.chmod(MYROOT("var/log/emerge.log"), S_IRUSR|S_IWUSR|S_IRGRP|S_IWGRP) >+ os.chown(MYROOT("var/log/emerge.log"), portage.portage_uid, portage.portage_gid) > else: >- mylogfile=open("/var/log/emerge.log", "a") >+ mylogfile=open(MYROOT("var/log/emerge.log"), "a") > > l=portage_locks.lockfile(mylogfile) > # seek because we may have gotten held up by the lock. >@@ -473,13 +474,13 @@ > return: the current in-use gcc version > """ > >- gcc_env_dir = os.path.join('/', 'etc', 'env.d', 'gcc') >+ gcc_env_dir = os.path.join(MYROOT(), 'etc', 'env.d', 'gcc') > gcc_config_config = os.path.join(gcc_env_dir, 'config') > gcc_ver_command = 'gcc -dumpversion' > gcc_ver_prefix = 'gcc-' > > gcc_not_found_error = red( >- "!!! No gcc found. You probably need to 'source /etc/profile'\n" + >+ "!!! No gcc found. You probably need to 'source "+MYROOT("etc/profile")+"'\n" + > "!!! to update the environment of this terminal and possibly\n" + > "!!! other terminals also." > ) >@@ -534,7 +535,7 @@ > def getportageversion(): > try: > import re >- profilever = os.path.normpath("///"+os.readlink("/etc/make.profile")) >+ profilever = os.path.normpath("///"+os.readlink(MYROOT("etc/make.profile"))) > basepath = os.path.normpath("///"+portage.settings["PORTDIR"]+"/profiles") > if re.match(basepath,profilever): > profilever = profilever[len(basepath)+1:] >@@ -546,8 +547,8 @@ > except: > profilever="unavailable" > libcver=[] >- libclist = portage.vardbapi(portage.root).match("virtual/libc") >- libclist += portage.vardbapi(portage.root).match("virtual/glibc") >+ libclist = portage.vardbapi(ROOT).match("virtual/libc") >+ libclist += portage.vardbapi(ROOT).match("virtual/glibc") > libclist = portage_util.unique_array(libclist) > for x in libclist: > xs=portage_versions.catpkgsplit(x) >@@ -658,7 +659,7 @@ > """Searches the available and installed packages for the supplied search key. > The list of available and installed packages is created at object instantiation. > This makes successive searches faster.""" >- self.installcache = portage.db["/"]["vartree"] >+ self.installcache = portage.db[MYROOT()]["vartree"] > > def execute(self,searchkey): > """Performs the search for the supplied search key""" >@@ -752,7 +753,7 @@ > mycat = match.split("/")[0] > mypkg = match.split("/")[1] > >- mydigest = portage.db["/"]["porttree"].dbapi.finddigest(mycat+"/"+mypkg + "-" + myversion) >+ mydigest = portage.db[MYROOT()]["porttree"].dbapi.finddigest(mycat+"/"+mypkg + "-" + myversion) > > try: > myfile = open(mydigest,"r") >@@ -828,7 +829,7 @@ > mylines=portage.settings.packages > elif mode=="world": > try: >- myfile=open(portage.root+portage.WORLD_FILE,"r") >+ myfile=open(ROOT(WORLD_FILE),"r") > mylines=myfile.readlines() > myfile.close() > except OSError: >@@ -864,7 +865,8 @@ > global olddbapi > self.pkgsettings = portage.config(clone=portage.settings) > if not self.pkgsettings["ARCH"]: >- portage.writemsg(red("\a!!! ARCH is not set... Are you missing the /etc/make.profile symlink?\n")) >+ portage.writemsg(red("\a!!! ARCH is not set... Are you missing the " >+ +MYROOT("etc/make.profile")+" symlink?\n")) > portage.writemsg(red("\a!!! Is the symlink correct? Is your portage tree complete?\n\n")) > sys.exit(9) > self.applied_useflags = {} >@@ -875,18 +877,18 @@ > self.orderedkeys=[] > self.outdatedpackages=[] > self.mydbapi={} >- self.mydbapi["/"] = portage.fakedbapi() >+ self.mydbapi[MYROOT()] = portage.fakedbapi() > if "empty" not in myparams: >- for pkg in portage.db["/"]["vartree"].getallcpv(): >- self.mydbapi["/"].cpv_inject(pkg) >- if portage.root != "/": >- self.mydbapi[portage.root] = portage.fakedbapi() >+ for pkg in portage.db[MYROOT()]["vartree"].getallcpv(): >+ self.mydbapi[MYROOT()].cpv_inject(pkg) >+ if ROOT() != MYROOT(): >+ self.mydbapi[ROOT()] = portage.fakedbapi() > if "empty" not in myparams: >- for pkg in portage.db[portage.root]["vartree"].getallcpv(): >- self.mydbapi[portage.root].cpv_inject(pkg) >+ for pkg in portage.db[ROOT()]["vartree"].getallcpv(): >+ self.mydbapi[ROOT()].cpv_inject(pkg) > > if "--usepkg" in myopts: >- portage.db["/"]["bintree"].populate(("--getbinpkg" in myopts), ("--getbinpkgonly" in myopts)) >+ portage.db[MYROOT()]["bintree"].populate(("--getbinpkg" in myopts), ("--getbinpkgonly" in myopts)) > > def create(self,mybigkey,myparent=None,addme=1,myuse=None): > """creates the actual digraph of packages to merge. return 1 on success, 0 on failure >@@ -898,7 +900,9 @@ > #"no downgrade" emerge > #print "mybigkey:",mybigkey > >- jbigkey=" ".join(mybigkey) >+ jbigkey="" >+ for k in mybigkey: >+ jbigkey=jbigkey+" "+str(k) > if self.mynewgraph.has_node(jbigkey+" merge") or self.mynewgraph.has_node(jbigkey+" nomerge"): > if myparent: > if self.mynewgraph.has_node(jbigkey+" merge"): >@@ -913,16 +917,19 @@ > > mytype,myroot,mykey=mybigkey > # select the correct /var database that we'll be checking against >- vardbapi=portage.db[myroot]["vartree"].dbapi >+ vardbapi=portage.db[myroot()]["vartree"].dbapi > > if addme: > if mytype=="blocks": > # we've encountered a "blocks" node. We will totally ignore this > # node and not add it to our digraph if it doesn't apply to us. >- if myparent and (self.mydbapi[myroot].match(mykey) or vardbapi.match(mykey)): >+ if myparent and (self.mydbapi[myroot()].match(mykey) or vardbapi.match(mykey)): > mybigkey.append(myparent.split()[2]) >- self.mynewgraph.add_node(" ".join(mybigkey)) >- self.mynewgraph.add_relationship(myparent, " ".join(mybigkey)) >+ jbigkey="" >+ for k in mybigkey: >+ jbigkey=jbigkey+" "+str(k) >+ self.mynewgraph.add_node(jbigkey) >+ self.mynewgraph.add_relationship(myparent, jbigkey) > return 1 > > if myuse == None: >@@ -963,9 +970,12 @@ > > # whatever the case, we need to add the node to our digraph so > # that children can depend upon it. >- self.mynewgraph.add_node(" ".join(mybigkey)) >+ jbigkey="" >+ for k in mybigkey: >+ jbigkey=jbigkey+" "+str(k) >+ self.mynewgraph.add_node(jbigkey) > if myparent: >- self.mynewgraph.add_relationship(myparent, " ".join(mybigkey)) >+ self.mynewgraph.add_relationship(myparent, jbigkey) > if ("deep" not in myparams) and (not merging): > return 1 > elif "recurse" not in myparams: >@@ -975,19 +985,19 @@ > if mytype=="binary": > mypkgparts=portage_versions.catpkgsplit(mykey) > tbz2name = mykey.split("/")[1]+".tbz2" >- if tbz2name in portage.db[portage.root]["bintree"].invalids: >+ if tbz2name in portage.db[ROOT()]["bintree"].invalids: > sys.stderr.write("\nINVALID PACKAGE (is required to continue): "+str(mykey)+"\n") > sys.exit(1) >- if portage.db[portage.root]["bintree"].isremote(mykey): >- edepend = portage.db[portage.root]["bintree"].remotepkgs[tbz2name] >+ if portage.db[ROOT()]["bintree"].isremote(mykey): >+ edepend = portage.db[ROOT()]["bintree"].remotepkgs[tbz2name] > edepend["DEPEND"] ="" > edepend["RDEPEND"]=" ".join(edepend["RDEPEND"].split()) > edepend["PDEPEND"]=" ".join(edepend["PDEPEND"].split()) > edepend["CDEPEND"]=" ".join(edepend["CDEPEND"].split()) > edepend["SLOT"] =edepend["SLOT"].strip() >- #portage.db[portage.root]["bintree"].gettbz2(mykey) >+ #portage.db[ROOT()]["bintree"].gettbz2(mykey) > else: # It's local. >- mytbz2=xpak.tbz2(portage.db[portage.root]["bintree"].getname(mykey)) >+ mytbz2=xpak.tbz2(portage.db[ROOT()]["bintree"].getname(mykey)) > edepend["DEPEND"] ="" > edepend["RDEPEND"]=" ".join(mytbz2.getelements("RDEPEND")) > edepend["PDEPEND"]=" ".join(mytbz2.getelements("PDEPEND")) >@@ -1003,18 +1013,20 @@ > print "emerge: create(): aux_get() error on",mykey+"; aborting..." > sys.exit(1) > mydep={} >- mp=" ".join(mybigkey) >- >- if myroot=="/": >- mydep["/"]=edepend["DEPEND"]+" "+edepend["RDEPEND"] >- if not self.select_dep("/",mydep["/"],myparent=mp,myuse=myuse): >+ mp="" >+ for k in mybigkey: >+ mp=mp+" "+str(k) >+ >+ if myroot()==MYROOT(): >+ mydep[MYROOT()]=edepend["DEPEND"]+" "+edepend["RDEPEND"] >+ if not self.select_dep(MYROOT,mydep[MYROOT()],myparent=mp,myuse=myuse): > return 0 > else: >- mydep["/"]=edepend["DEPEND"] >- mydep[myroot]=edepend["RDEPEND"] >- if not self.select_dep("/",mydep["/"],myparent=mp,myuse=myuse): >+ mydep[MYROOT()]=edepend["DEPEND"] >+ mydep[myroot()]=edepend["RDEPEND"] >+ if not self.select_dep(MYROOT,mydep[MYROOT()],myparent=mp,myuse=myuse): > return 0 >- if not self.select_dep(myroot,mydep[myroot],myparent=mp,myuse=myuse): >+ if not self.select_dep(myroot,mydep[myroot()],myparent=mp,myuse=myuse): > return 0 > > if edepend.has_key("PDEPEND") and edepend["PDEPEND"]: >@@ -1041,30 +1053,30 @@ > sys.exit(1) > mytbz2=xpak.tbz2(x) > mykey=mytbz2.getelements("CATEGORY")[0]+"/"+os.path.basename(x)[:-5] >- if os.path.realpath(portage.db["/"]["bintree"].getname(mykey)) != os.path.realpath(x): >+ if os.path.realpath(portage.db[MYROOT()]["bintree"].getname(mykey)) != os.path.realpath(x): > print red("\n*** You need to adjust PKGDIR to emerge this package.\n") > sys.exit(1) >- if not self.create(["binary",portage.root,mykey],None,"--onlydeps" not in myopts): >+ if not self.create(["binary",ROOT,mykey],None,"--onlydeps" not in myopts): > return (0,myfavorites) > elif not "--oneshot" in myopts: > myfavorites.append(mykey) > elif x[-7:]==".ebuild": > x = os.path.realpath(x) > mykey=os.path.basename(os.path.normpath(x+"/../.."))+"/"+os.path.basename(x)[:-7] >- ebuild_path = portage.db["/"]["porttree"].dbapi.findname(mykey) >+ ebuild_path = portage.db[MYROOT()]["porttree"].dbapi.findname(mykey) > if ebuild_path: > if os.path.realpath(ebuild_path) != x: > print red("\n*** You need to adjust PORTDIR or PORTDIR_OVERLAY to emerge this package.\n") > sys.exit(1) >- if mykey not in portage.db["/"]["porttree"].dbapi.xmatch("match-visible", portage.portage_dep.dep_getkey(mykey)): >+ if mykey not in portage.db[MYROOT()]["porttree"].dbapi.xmatch("match-visible", portage.portage_dep.dep_getkey(mykey)): > print red("\n*** You are emerging a masked package. It is MUCH better to use") >- print red("*** /etc/portage/package.* to accomplish this. See portage(5) man") >+ print red("*** "+MYROOT(USER_CONFIG_PATH+"/")+"package.* to accomplish this. See portage(5) man") > print red("*** page for details.") > countdown(EMERGE_WARNING_DELAY, "Continuing...") > else: > print red("\n*** "+x+" does not exist") > sys.exit(1) >- if not self.create(["ebuild",portage.root,mykey],None,"--onlydeps" not in myopts): >+ if not self.create(["ebuild",ROOT,mykey],None,"--onlydeps" not in myopts): > return (0,myfavorites) > elif not "--oneshot" in myopts: > myfavorites.append(mykey) >@@ -1085,7 +1097,7 @@ > sys.stderr.flush() > > try: >- self.mysd = self.select_dep(portage.root,mykey,arg=x) >+ self.mysd = self.select_dep(ROOT,mykey,arg=x) > except portage_exception.MissingSignature, e: > portage.writemsg("\n\n!!! A missing gpg signature is preventing portage from calculating the\n") > portage.writemsg("!!! required dependencies. This is a security feature enabled by the admin\n") >@@ -1129,14 +1141,14 @@ > > def is_newer_ver_installed(self,myroot,pkg,pkgver): > "if there is a version of pkg installed newer than pkgver, return it" >- vardbapi=portage.db[myroot]["vartree"].dbapi >+ vardbapi=portage.db[myroot()]["vartree"].dbapi > >- matches=portage.db[myroot]["vartree"].dbapi.match(pkg) >+ matches=portage.db[myroot()]["vartree"].dbapi.match(pkg) > if matches: >- myslot=portage.db["/"]["porttree"].getslot(pkgver) >+ myslot=portage.db[MYROOT()]["porttree"].getslot(pkgver) > for match in matches: > if portage_versions.pkgcmp(portage_versions.catpkgsplit(pkgver)[1:], portage_versions.catpkgsplit(match)[1:]) < 0: >- curslot=portage.db[myroot]["vartree"].getslot(match) >+ curslot=portage.db[myroot()]["vartree"].getslot(match) > if curslot == myslot: > return match > >@@ -1148,8 +1160,8 @@ > print "Depstring:",depstring > if not arg: > #processing dependencies >- mycheck=portage.dep_check(depstring,self.mydbapi[myroot],self.pkgsettings,myuse=myuse,use_binaries=("--usepkg" in myopts)) >- #mycheck=portage.dep_check(depstring,self.mydbapi[myroot],self.pkgsettings,myuse=myuse) >+ mycheck=portage.dep_check(depstring,self.mydbapi[myroot()],self.pkgsettings,myuse=myuse,use_binaries=("--usepkg" in myopts)) >+ #mycheck=portage.dep_check(depstring,self.mydbapi[myroot()],self.pkgsettings,myuse=myuse) > > if not mycheck[0]: > mymerge=[] >@@ -1167,11 +1179,11 @@ > if myparent: > myp = myparent.split() > if myp[3]=="merge": >- self.mydbapi[myroot].cpv_inject(myp[2]) >+ self.mydbapi[myroot()].cpv_inject(myp[2]) > if myp[0]=="binary": >- self.pkgsettings.setinst(myp[2],portage.db["/"]["bintree"].dbapi) >+ self.pkgsettings.setinst(myp[2],portage.db[MYROOT()]["bintree"].dbapi) > else: >- self.pkgsettings.setinst(myp[2],portage.db[myroot]["porttree"].dbapi) >+ self.pkgsettings.setinst(myp[2],portage.db[myroot()]["porttree"].dbapi) > > if not mymerge: > return 1 >@@ -1202,7 +1214,7 @@ > if ("--usepkg" in myopts): > # The next line assumes the binarytree has been populated. > # XXX: Need to work out how we use the binary tree with roots. >- myeb_pkg_matches=portage.db["/"]["bintree"].dbapi.match(x) >+ myeb_pkg_matches=portage.db[MYROOT()]["bintree"].dbapi.match(x) > if ("--usepkgonly" not in myopts): > # Remove any binary package entries that are masked in the portage tree (#55871) > for idx in range(len(myeb_pkg_matches)-1,-1,-1): >@@ -1281,7 +1293,7 @@ > if myeb: > myk=["ebuild",myroot,myeb] > elif myeb_pkg: >- binpkguseflags=portage.db[portage.root]["bintree"].get_use(myeb_pkg) >+ binpkguseflags=portage.db[ROOT()]["bintree"].get_use(myeb_pkg) > myk=["binary",myroot,myeb_pkg] > else: > sys.stderr.write("!!! Confused... Don't know what I'm using for dependency info. :(\n") >@@ -1289,7 +1301,7 @@ > > #if "--usepkg" in myopts: > # #If we want to use packages, see if we have a pre-built one... >- # mypk=portage.db["/"]["bintree"].dbapi.match(x) >+ # mypk=portage.db[MYROOT()]["bintree"].dbapi.match(x) > # if myeb in mypk: > # #Use it only if it's exactly the version we want. > # myk=["binary",myroot,myeb] >@@ -1314,7 +1326,7 @@ > > def altlist(self): > mygraph=self.mynewgraph.clone() >- dolist=["/"] >+ dolist=[MYROOT()] > retlist=[] > for x in portage.db: > portage.db[x]["merge"]=[] >@@ -1323,7 +1335,8 @@ > while mygraph.get_all_nodes(): > mycurkey=mygraph.get_leaf_nodes()[0] > splitski=mycurkey.split() >- portage.db[splitski[1]]["merge"].append(splitski) >+ splitski[1] = portage_const.find_root_instance(splitski[1]) >+ portage.db[splitski[1]()]["merge"].append(splitski) > mygraph.remove_node(mycurkey) > for x in dolist: > for y in portage.db[x]["merge"]: >@@ -1345,9 +1358,9 @@ > #actually installed -- this prevents the remerging of already unmerged packages when we do a world --update; > #actually available -- this prevents emerge from bombing out due to no match being found (we want a silent ignore) > if "empty" in myparams: >- if portage.db["/"]["vartree"].dbapi.match(x): >+ if portage.db[MYROOT()]["vartree"].dbapi.match(x): > sysdict[x]=worlddict[x] >- elif portage.db[portage.root]["vartree"].dbapi.match(x): >+ elif portage.db[ROOT()]["vartree"].dbapi.match(x): > #package is installed > sysdict[x]=worlddict[x] > else: >@@ -1361,7 +1374,7 @@ > continue > > if "--upgradeonly" in myopts: >- cand=self.is_newer_ver_installed(portage.root,mydep,myeb) >+ cand=self.is_newer_ver_installed(ROOT,mydep,myeb) > if cand: > myeb=cand > >@@ -1369,20 +1382,20 @@ > #if mydep2[0]=="!":, etc. > binpkguseflags = None > if "--usepkg" in myopts: >- mypk=portage.db[portage.root]["bintree"].dep_bestmatch(mydep) >+ mypk=portage.db[ROOT()]["bintree"].dep_bestmatch(mydep) > if myeb==mypk: >- myk=["binary",portage.root,mypk] >- binpkguseflags=portage.db[portage.root]["bintree"].get_use(mypk) >+ myk=["binary",ROOT,mypk] >+ binpkguseflags=portage.db[ROOT()]["bintree"].get_use(mypk) > elif "--usepkgonly" in myopts: > if not mypk: > self.missingbins += [myeb] >- myk=["binary",portage.root,myeb] >+ myk=["binary",ROOT,myeb] > else: >- myk=["binary",portage.root,mypk] >+ myk=["binary",ROOT,mypk] > else: >- myk=["ebuild",portage.root,myeb] >+ myk=["ebuild",ROOT,myeb] > else: >- myk=["ebuild",portage.root,myeb] >+ myk=["ebuild",ROOT,myeb] > > if not self.create(myk,myuse=binpkguseflags): > print >@@ -1392,13 +1405,13 @@ > return 0 > return 1 > >- def match(self,mydep,myroot=portage.root,mykey=None): >+ def match(self,mydep,myroot=ROOT,mykey=None): > # support mutual exclusive deps > if mydep[0]=="!": > #add our blocker; it will be ignored later if necessary (if we are remerging the same pkg, for example) > myk="blocks "+myroot+" "+mydep[1:] > else: >- myeb=portage.db[portage.root]["porttree"].dep_bestmatch(mydep) >+ myeb=portage.db[ROOT()]["porttree"].dep_bestmatch(mydep) > if not myeb: > if not mykey: > print "\n!!! Error: couldn't find match for",mydep >@@ -1408,13 +1421,13 @@ > sys.exit(1) > > if "--usepkg" in myopts: >- mypk=portage.db[portage.root]["bintree"].dep_bestmatch(mydep) >+ mypk=portage.db[ROOT()]["bintree"].dep_bestmatch(mydep) > if myeb==mypk: >- myk="binary "+portage.root+" "+mypk >+ myk="binary "+ROOT()+" "+mypk > else: >- myk="ebuild "+myroot+" "+myeb >+ myk="ebuild "+myroot()+" "+myeb > else: >- myk="ebuild "+myroot+" "+myeb >+ myk="ebuild "+myroot()+" "+myeb > > return myk > >@@ -1470,11 +1483,11 @@ > addl=" "+yellow("R")+fetch+" " > elif (not "--emptytree" in myopts) and portage.db[x[1]]["vartree"].exists_specific_cat(x[2]): > if x[0] == "binary": >- mynewslot=portage.db["/"]["bintree"].getslot(x[2]) >+ mynewslot=portage.db[MYROOT()]["bintree"].getslot(x[2]) > elif x[0] == "ebuild": >- mynewslot=portage.db["/"]["porttree"].getslot(x[2]) >+ mynewslot=portage.db[MYROOT()]["porttree"].getslot(x[2]) > myoldlist=portage.db[x[1]]["vartree"].dbapi.match(portage_versions.pkgsplit(x[2])[0]) >- myinslotlist=filter((lambda p: portage.db[portage.root]["vartree"].getslot(p)==mynewslot),myoldlist) >+ myinslotlist=filter((lambda p: portage.db[ROOT()]["vartree"].getslot(p)==mynewslot),myoldlist) > if myinslotlist: > myoldbest=portage.best(myinslotlist) > addl=" "+fetch >@@ -1491,7 +1504,7 @@ > if "--changelog" in myopts: > changelogs.extend(self.calc_changelog( > portage.portdb.findname(x[2]), >- portage.db["/"]["vartree"].dep_bestmatch('/'.join(portage_versions.catpkgsplit(x[2])[:2])), >+ portage.db[MYROOT()]["vartree"].dep_bestmatch('/'.join(portage_versions.catpkgsplit(x[2])[:2])), > x[2] > )) > else: >@@ -1502,7 +1515,7 @@ > # iuse verbose > try: > if x[0] == "binary": >- iuse_split = portage.db["/"]["bintree"].dbapi.aux_get(x[2],["IUSE"])[0].split() >+ iuse_split = portage.db[MYROOT()]["bintree"].dbapi.aux_get(x[2],["IUSE"])[0].split() > elif x[0] == "ebuild": > iuse_split = portage.portdb.aux_get(x[2],["IUSE"])[0].split() > else: >@@ -1519,9 +1532,9 @@ > pkg=myoldbest > else: > pkg=x[2] >- if portage.db["/"]["vartree"].dbapi.cpv_exists(pkg): >+ if portage.db[MYROOT()]["vartree"].dbapi.cpv_exists(pkg): > try: >- old_use=portage.db["/"]["vartree"].dbapi.aux_get(pkg, ["USE"])[0].split() >+ old_use=portage.db[MYROOT()]["vartree"].dbapi.aux_get(pkg, ["USE"])[0].split() > except SystemExit, e: > raise # Needed else can't exit > except: >@@ -1779,7 +1792,7 @@ > del portage.mtimedb["resume"]["mergelist"][0] > del mymergelist[0] > else: >- myfavs=portage.grabfile(portage.root+portage.WORLD_FILE) >+ myfavs=portage.grabfile(ROOT(WORLD_FILE)) > myfavdict=genericdict(myfavs) > for x in range(len(mylist)): > if mylist[x][3]!="nomerge": >@@ -1797,7 +1810,7 @@ > myfavdict[myfavkey]=myfavkey > print ">>> Recording",myfavkey,"in \"world\" favorites file..." > if not "--fetchonly" in myopts: >- portage.writedict(myfavdict,portage.root+portage.WORLD_FILE,writekey=0) >+ portage.writedict(myfavdict,ROOT(WORLD_FILE),writekey=0) > > portage.mtimedb["resume"]["mergelist"]=mymergelist[:] > >@@ -1849,7 +1862,7 @@ > y=portage.portdb.findname(x[pkgindex]) > if not "--pretend" in myopts: > print ">>> emerge ("+str(mergecount)+" of "+str(len(mymergelist))+")",x[pkgindex],"to",x[1] >- emergelog(" >>> emerge ("+str(mergecount)+" of "+str(len(mymergelist))+") "+x[pkgindex]+" to "+x[1]) >+ emergelog(" >>> emerge ("+str(mergecount)+" of "+str(len(mymergelist))+") "+x[pkgindex]+" to "+x[1]()) > > self.pkgsettings["EMERGE_FROM"] = x[0][:] > self.pkgsettings.backup_changes("EMERGE_FROM") >@@ -1891,8 +1904,8 @@ > sys.exit(1) > #dynamically update our database > if "--buildpkgonly" not in myopts: >- portage.db[portage.root]["bintree"].inject(x[2]) >- mytbz2=portage.db[portage.root]["bintree"].getname(x[2]) >+ portage.db[ROOT()]["bintree"].inject(x[2]) >+ mytbz2=portage.db[ROOT()]["bintree"].getname(x[2]) > short_msg = "emerge: ("+str(mergecount)+" of "+str(len(mymergelist))+") "+x[pkgindex]+" Merge" > emergelog(" === ("+str(mergecount)+" of "+str(len(mymergelist))+") Merging ("+x[pkgindex]+"::"+y+")", short_msg=short_msg) > >@@ -1916,11 +1929,11 @@ > #dynamically update our database > elif x[0]=="binary": > #merge the tbz2 >- mytbz2=portage.db[portage.root]["bintree"].getname(x[2]) >- if portage.db[portage.root]["bintree"].isremote(x[2]): >+ mytbz2=portage.db[ROOT()]["bintree"].getname(x[2]) >+ if portage.db[ROOT()]["bintree"].isremote(x[2]): > short_msg = "emerge: ("+str(mergecount)+" of "+str(len(mymergelist))+") "+x[pkgindex]+" Fetch" > emergelog(" --- ("+str(mergecount)+" of "+str(len(mymergelist))+") Fetching Binary ("+x[pkgindex]+"::"+mytbz2+")", short_msg=short_msg) >- portage.db[portage.root]["bintree"].gettbz2(x[2]) >+ portage.db[ROOT()]["bintree"].gettbz2(x[2]) > > if ("--fetchonly" in myopts) or ("--fetch-all-uri" in myopts): > continue >@@ -1932,20 +1945,20 @@ > sys.exit(1) > #need to check for errors > if "--buildpkgonly" not in myopts: >- portage.db[x[1]]["vartree"].inject(x[2]) >+ portage.db[x[1]()]["vartree"].inject(x[2]) > myfavkey=portage.cpv_getkey(x[2]) > if (not "--fetchonly" in myopts) and (not "--fetch-all-uri" in myopts) and (myfavkey in favorites): >- myfavs=portage.grabfile(myroot+portage.WORLD_FILE) >+ myfavs=portage.grabfile(myroot(WORLD_FILE)) > myfavdict=genericdict(myfavs) > mysysdict=genericdict(syslist) > #don't record if already in system profile or already recorded >- if ("--update" not in myopts or not portage.db[portage.root]["vartree"].dbapi.match(myfavkey)) and \ >+ if ("--update" not in myopts or not portage.db[ROOT()]["vartree"].dbapi.match(myfavkey)) and \ > (not mysysdict.has_key(myfavkey)) and (not myfavdict.has_key(myfavkey)): > #we don't have a favorites entry for this package yet; add one > myfavdict[myfavkey]=myfavkey > print ">>> Recording",myfavkey,"in \"world\" favorites file..." > emergelog(" === ("+str(mergecount)+" of "+str(len(mymergelist))+") Updating world file ("+x[pkgindex]+")") >- portage.writedict(myfavdict,myroot+portage.WORLD_FILE,writekey=0) >+ portage.writedict(myfavdict,myroot(WORLD_FILE),writekey=0) > > if ("noclean" not in portage.features) and (x[0] != "binary"): > short_msg = "emerge: ("+str(mergecount)+" of "+str(len(mymergelist))+") "+x[pkgindex]+" Clean Post" >@@ -2000,10 +2013,10 @@ > mynewargv += [myarg] > else: > mynewargv += [arg] >- os.execv("/usr/lib/portage/bin/emerge", mynewargv) >+ os.execv("@PORTAGE_BASE@/bin/emerge", mynewargv) > > if ("--pretend" not in myopts) and ("--fetchonly" not in myopts) and ("--fetch-all-uri" not in myopts): >- emergelog(" ::: completed emerge ("+str(mergecount)+" of "+str(len(mymergelist))+") "+x[2]+" to "+x[1]) >+ emergelog(" ::: completed emerge ("+str(mergecount)+" of "+str(len(mymergelist))+") "+x[2]+" to "+x[1]()) > > # Unsafe for parallel merges > del portage.mtimedb["resume"]["mergelist"][0] >@@ -2022,7 +2035,7 @@ > if ("--fetchonly" not in myopts) and ("--fetch-all-uri" not in myopts): > if (mergecount>0): > if retval: >- portage.env_update(portage.root) >+ portage.env_update(ROOT) > > #by doing an exit this way, --fetchonly can continue to try to > #fetch everything even if a particular download fails. >@@ -2067,9 +2080,9 @@ > return None > > if dep_type == "binary": >- mynewslot=portage.db["/"]["bintree"].getslot(dep_pkg) >+ mynewslot=portage.db[MYROOT()]["bintree"].getslot(dep_pkg) > else: >- mynewslot=portage.db["/"]["porttree"].getslot(dep_pkg) >+ mynewslot=portage.db[MYROOT()]["porttree"].getslot(dep_pkg) > > mycurpkgs = portage.db[dep_root]["vartree"].dbapi.match(portage.portage_versions.pkgsplit(dep_pkg)[0]) > for x in range(len(mycurpkgs)-1, -1, -1): >@@ -2109,9 +2122,9 @@ > > else: > if dep_type != "binary": >- restrictions = portage.db["/"]["porttree"].dbapi.aux_get(dep_pkg, ["RESTRICT"])[0].split() >+ restrictions = portage.db[MYROOT()]["porttree"].dbapi.aux_get(dep_pkg, ["RESTRICT"])[0].split() > if "fetch" in restrictions: >- if portage.db["/"]["porttree"].dbapi.fetch_check(dep_pkg, portage.settings): >+ if portage.db[MYROOT()]["porttree"].dbapi.fetch_check(dep_pkg, portage.settings): > problem_status = green("f") > else: > problem_status = red("F") >@@ -2138,6 +2151,7 @@ > summary += slot_status > summary += update_status > summary += downgrade_status+"]" >+ summary += "["+dep_root+"]" > > return summary > >@@ -2208,9 +2222,9 @@ > return "" > > if dep_type == "binary": >- iuse = portage.db["/"]["bintree"].dbapi.aux_get(dep_pkg,["IUSE"])[0].split() >+ iuse = portage.db[MYROOT()]["bintree"].dbapi.aux_get(dep_pkg,["IUSE"])[0].split() > elif dep_type == "ebuild": >- iuse = portage.db["/"]["porttree"].dbapi.aux_get(dep_pkg,["IUSE"])[0].split() >+ iuse = portage.db[MYROOT()]["porttree"].dbapi.aux_get(dep_pkg,["IUSE"])[0].split() > else: > iuse = [] > iuse.sort() >@@ -2282,7 +2296,7 @@ > def format_overlay(self, mydep): > if mydep[0] != "ebuild" or mydep[3] == "nomerge": > return "" >- filename = portage.db["/"]["porttree"].dbapi.findname(mydep[2]) >+ filename = portage.db[MYROOT()]["porttree"].dbapi.findname(mydep[2]) > dirname = os.path.abspath(os.path.dirname(filename)+"/../..") > if dirname in portage.settings['PORTDIR_OVERLAY'].split(): > if dirname not in self.overlays: >@@ -2344,7 +2358,7 @@ > > def format_changelog(self, mydep): > thispkg = mydep[2] >- ebuild_path = portage.db["/"]["porttree"].dbapi.findname(thispkg) >+ ebuild_path = portage.db[MYROOT()]["porttree"].dbapi.findname(thispkg) > if ebuild_path: > prevpkg = self.old_version(mydep) > if prevpkg: >@@ -2530,7 +2544,7 @@ > else: > global_unmerge=1 > >- localtree=portage.db[portage.root]["vartree"] >+ localtree=portage.db[ROOT()]["vartree"] > # process all arguments and add all valid db entries to candidate_catpkgs > if global_unmerge: > if not unmerge_files or "world" in unmerge_files: >@@ -2565,7 +2579,7 @@ > > sp_absx_len = len(sp_absx) > >- vdb_path = portage.root+portage.VDB_PATH >+ vdb_path = ROOT(VDB_PATH) > vdb_len = len(vdb_path) > > sp_vdb = vdb_path.split("/") >@@ -2579,14 +2593,14 @@ > # The Path is shorter... so it can't be inside the vdb. > print spabsx > print absx >- print "\n!!!",x,"cannot be inside "+(portage.root+portage.VDB_PATH)+"; aborting.\n" >+ print "\n!!!",x,"cannot be inside "+ROOT(VDB_PATH)+"; aborting.\n" > return 0 > > for idx in range(0,sp_vdb_len): > if (idx >= sp_absx_len) or (sp_vdb[idx] != sp_absx[idx]): > print sp_absx > print absx >- print "\n!!!",x,"is not inside "+(portage.root+portage.VDB_PATH)+"; aborting.\n" >+ print "\n!!!",x,"is not inside "+ROOT(VDB_PATH)+"; aborting.\n" > return 0 > > print "="+"/".join(sp_absx[sp_vdb_len:]) >@@ -2617,7 +2631,7 @@ > if not mymatch: > print "\n--- Couldn't find " + white(x) + " to "+unmerge_action+"." > continue >- mykey=portage.key_expand(portage.portage_dep.dep_getkey(mymatch[0]),portage.db["/"]["vartree"].dbapi) >+ mykey=portage.key_expand(portage.portage_dep.dep_getkey(mymatch[0]),portage.db[MYROOT()]["vartree"].dbapi) > if not pkgmap.has_key(mykey): > pkgmap[mykey]={"protected":[], "selected":[], "omitted":[] } > if unmerge_action=="unmerge": >@@ -2720,13 +2734,13 @@ > emergelog("=== Unmerging... ("+y+")") > mysplit=y.split("/") > #unmerge... >- retval=portage.unmerge(mysplit[0],mysplit[1],portage.root,mysettings,unmerge_action not in ["clean","prune"]) >+ retval=portage.unmerge(mysplit[0],mysplit[1],ROOT,mysettings,unmerge_action not in ["clean","prune"]) > if retval: > emergelog(" !!! unmerge FAILURE: "+y) > else: > emergelog(" >>> unmerge success: "+y) > #run ldconfig, etc... >- portage.env_update(portage.root) >+ portage.env_update(ROOT) > if not numselected: > return 0 > else: >@@ -2734,18 +2748,18 @@ > > > def chk_updated_info_files(): >- root=portage.root >+ root=ROOT > > infodirs =portage.settings["INFOPATH"].split(":") > infodirs+=portage.settings["INFODIR"].split(":") > > print >- if os.path.exists("/usr/bin/install-info"): >+ if os.path.exists("@INSTALL_INFO@"): > regen_infodirs=[] > for z in infodirs: > if z=='': > continue >- inforoot=normpath(root+z) >+ inforoot=normpath(root(z)) > if os.path.isdir(inforoot): > try: > infomtime=os.stat(inforoot)[ST_MTIME] >@@ -2788,8 +2802,8 @@ > for x in os.listdir(inforoot): > if (x[0] == ".") or (x in ["dir","dir.old"]) or (os.path.isdir(inforoot+"/"+x)): > continue >-# myso=commands.getstatusoutput("LANG=C LANGUAGE=C /usr/bin/install-info --dir-file="+inforoot+"/dir "+inforoot+"/"+x)[1] >- mycmd = "LANG=C LANGUAGE=C /usr/bin/install-info --dir-file="+inforoot+"/dir "+inforoot+"/"+x >+# myso=commands.getstatusoutput("LANG=C LANGUAGE=C @INSTALL_INFO@ --dir-file="+inforoot+"/dir "+inforoot+"/"+x)[1] >+ mycmd = "LANG=C LANGUAGE=C @INSTALL_INFO@ --dir-file="+inforoot+"/dir "+inforoot+"/"+x > myso=portage_exec.spawn_get_output(mycmd,spawn_type=portage_exec.spawn_bash)[1] > existsstr="already exists, for file `" > if myso!="": >@@ -3095,7 +3109,16 @@ > print "\n>>> Updating Portage cache: ", > os.umask(0002) > cachedir = os.path.normpath(portage.settings.depcachedir) >- if cachedir in ["/", "/bin", "/dev", "/etc", "/home", >+ if cachedir in [MYROOT(""), MYROOT("bin"), >+ MYROOT("etc"), MYROOT("lib"), >+ MYROOT("opt"), MYROOT("sbin"), >+ MYROOT("tmp"), MYROOT("var"), >+ ROOT(""), ROOT("bin"), >+ ROOT("etc"), ROOT("lib"), >+ ROOT("opt"), ROOT("sbin"), >+ ROOT("tmp"), ROOT("var"), >+ MYROOT.prefix(), ROOT.prefix(), >+ "/", "/bin", "/dev", "/etc", "/home", > "/lib", "/opt", "/proc", "/root", "/sbin", > "/sys", "/tmp", "/usr", "/var"]: > print "!!! PORTAGE_CACHEDIR IS SET TO A PRIMARY ROOT DIRECTORY ON YOUR SYSTEM." >@@ -3171,7 +3194,7 @@ > portage.portageexit() > reload(portage) > mybestpv=portage.portdb.xmatch("bestmatch-visible","sys-apps/portage") >- mypvs=portage.best(portage.db[portage.root]["vartree"].dbapi.match("sys-apps/portage")) >+ mypvs=portage.best(portage.db[ROOT()]["vartree"].dbapi.match("sys-apps/portage")) > > chk_updated_cfg_files() > >@@ -3199,12 +3222,12 @@ > print getportageversion() > print "=================================================================" > print "System uname: "+unameout >- if os.path.exists("/etc/gentoo-release"): >- portage_exec.spawn("cat /etc/gentoo-release") >+ if os.path.exists(MYROOT("etc/gentoo-release")): >+ portage_exec.spawn("cat "+MYROOT("etc/gentoo-release")) > else: > print "Unknown Host Operating System" > >- py_vers = string.join(portage.db["/"]["vartree"].dbapi.match("dev-lang/python"), ",") >+ py_vers = string.join(portage.db[MYROOT()]["vartree"].dbapi.match("dev-lang/python"), ",") > py_this = string.strip(string.split(sys.version,"\n")[0]) > print "%-20s %s [%s]" % ("Python:",py_vers,py_this) > >@@ -3232,7 +3255,7 @@ > > for x in myvars: > if portage.portage_dep.isvalidatom(x): >- pkg_matches = portage.db["/"]["vartree"].dbapi.match(x) >+ pkg_matches = portage.db[MYROOT()]["vartree"].dbapi.match(x) > pkgs = "" > for y in pkg_matches: > mycpv = portage.catpkgsplit(y) >@@ -3247,7 +3270,7 @@ > else: > print "%-20s %s" % (x+":", "[NOT VALID]") > >- libtool_vers = string.join(portage.db["/"]["vartree"].dbapi.match("sys-devel/libtool"), ",") >+ libtool_vers = string.join(portage.db[MYROOT()]["vartree"].dbapi.match("sys-devel/libtool"), ",") > > if "--verbose" in myopts: > myvars=portage.settings.keys() >@@ -3271,13 +3294,13 @@ > print "Unset: "+", ".join(unset_vars) > print > >- config_files = [portage.MAKE_CONF_FILE, >- portage.MODULES_FILE_PATH, >- portage.USER_VIRTUALS_FILE, >- portage.EBUILD_SH_ENV_FILE, >- portage.CUSTOM_MIRRORS_FILE] >- config_files += [portage.USER_CONFIG_PATH+"/package."+x for x in ["mask","unmask","keywords","env"]] >- config_files += [portage.CUSTOM_PROFILE_PATH+"/"+x for x in ["make.defaults","packages","use.mask","virtuals","profile.bashrc","use.defaults"]] >+ config_files = [MYROOT(portage.MAKE_CONF_FILE), >+ MYROOT(portage.MODULES_FILE_PATH), >+ MYROOT(portage.USER_VIRTUALS_FILE), >+ MYROOT(portage.EBUILD_SH_ENV_FILE), >+ MYROOT(portage.CUSTOM_MIRRORS_FILE)] >+ config_files += [MYROOT(portage.USER_CONFIG_PATH+"/package."+x) for x in ["mask","unmask","keywords","env"]] >+ config_files += [MYROOT(portage.CUSTOM_PROFILE_PATH+"/"+x) for x in ["make.defaults","packages","use.mask","virtuals","profile.bashrc","use.defaults"]] > print "Config files: "+(", ".join([x for x in config_files if os.path.exists(x)])) > > if "--debug" in myopts: >@@ -3316,7 +3339,7 @@ > if (not mycps) or (mycps[0]=="null"): > print "!!!",x,"is not a specific cat/pkg-version, skipping..." > continue >- if portage.db["/"]["vartree"].exists_specific(x): >+ if portage.db[MYROOT()]["vartree"].exists_specific(x): > print "!!! Not injecting",x+"; Package already exists." > else: > if "--ask" in myopts: >@@ -3325,7 +3348,7 @@ > print "Quitting." > print > sys.exit(0) >- portage.db["/"]["vartree"].dbapi.cpv_inject(x) >+ portage.db[MYROOT()]["vartree"].dbapi.cpv_inject(x) > print ">>> Injected",x+"." > emergelog(" === inject: "+x) > elif "unmerge"==myaction or "prune"==myaction or "clean"==myaction: >@@ -3377,14 +3400,14 @@ > sys.exit(1) > > alldeps=mydepgraph.mynewgraph.get_all_nodes() >- myvarlist=portage.vardbapi(portage.root).cp_all() >+ myvarlist=portage.vardbapi(ROOT).cp_all() > > if not syslist: > print "!!! You have no system list. Cannot determine system from world." > if not worldlist: > print "!!! You have no world file. Cannot determine explicit merges." > if not myvarlist: >- print "!!! You have no installed package tree (%s). This is a problem." % portage.VDB_PATH >+ print "!!! You have no installed package tree (%s). This is a problem." % ROOT(VDB_PATH) > if not alldeps: > print "!!! You have no dependencies. Impossible. Bug." > >@@ -3586,7 +3609,7 @@ > if pkgline[0]=="ebuild" and pkgline[3]=="merge": > y=portage.portdb.findname(pkgline[2]) > tmpsettings = portage.config(clone=portage.settings) >- retval=portage.doebuild(y,"digest",portage.root,tmpsettings,edebug,("--pretend" in myopts)) >+ retval=portage.doebuild(y,"digest",ROOT,tmpsettings,edebug,("--pretend" in myopts)) > mydepgraph.merge(mydepgraph.altlist()) > > if portage.mtimedb.has_key("resume"): >diff -ruN portage-cvs/bin/env-update portage-salomon/bin/env-update >--- portage-cvs/bin/env-update 2004-11-07 14:15:28.000000000 +0100 >+++ portage-salomon/bin/env-update 2005-03-09 17:16:28.000000000 +0100 >@@ -1,11 +1,11 @@ >-#!/usr/bin/python -O >+#! @PYTHON@ -O > # Copyright 1999-2004 Gentoo Foundation > # Distributed under the terms of the GNU General Public License v2 > # $Header$ > > import os,sys > os.environ["PORTAGE_CALLER"] = "env-update" >-sys.path = ["/usr/lib/portage/pym"]+sys.path >+sys.path = ["@PORTAGE_BASE@/pym"]+sys.path > > import portage > portage.env_update(portage.root) >diff -ruN portage-cvs/bin/env-update.sh portage-salomon/bin/env-update.sh >--- portage-cvs/bin/env-update.sh 2004-10-04 15:56:50.000000000 +0200 >+++ portage-salomon/bin/env-update.sh 2005-03-21 15:56:09.000000000 +0100 >@@ -1,4 +1,4 @@ >-#!/bin/bash >+#! @BASH@ > # Copyright 1999-2004 Gentoo Foundation > # Distributed under the terms of the GNU General Public License v2 > # $Header$ >@@ -20,9 +20,9 @@ > export MAKELINKS=1 > fi > export ROOT="${ROOT:=/}" >-[[ ${ROOT} == */ ]] || export ROOT="${ROOT}/" >+[[ ${ROOT}${AFFIX} == */ ]] || export AFFIX="${AFFIX}/" > >-export ENVDIR="${ROOT}etc/env.d" >+export ENVDIR="${ROOT}${AFFIX}etc/env.d" > mkdir -p ${ENVDIR} > chmod 755 ${ENVDIR} > specials=" >@@ -33,13 +33,13 @@ > ADA_INCLUDE_PATH ADA_OBJECTS_PATH LDPATH PATH MANPATH ROOTPATH > PRELINK_PATH PRELINK_PATH_MASK PYTHON_PATH" > >-export LDSOCONF="${ROOT}etc/ld.so.conf" >+export LDSOCONF="${ROOT}${AFFIX}etc/ld.so.conf" > >-export PRELINKCONF="${ROOT}etc/prelink.conf" >-defaultprelinkpaths=":/bin:/sbin:/usr/bin:/usr/sbin:/lib:/usr/lib" >+export PRELINKCONF="${ROOT}${AFFIX}etc/prelink.conf" >+defaultprelinkpaths=":/${AFFIX}/bin:/${AFFIX}/sbin:${PREFIX}/bin:${PREFIX}/sbin:/${AFFIX}/lib:${PREFIX}/lib" > >-export PROFILEENV="${ROOT}etc/profile.env" >-export CSHENV="${ROOT}etc/csh.env" >+export PROFILEENV="${ROOT}${AFFIX}etc/profile.env" >+export CSHENV="${ROOT}${AFFIX}etc/csh.env" > > # make sure we aren't tricked with previous 'my_envd_' variables > unset $(set | grep '^my_envd_' | cut -d= -f1) >@@ -140,7 +140,7 @@ > if [[ "${OLD_LDPATH}" != "${my_envd_LDPATH}" ]] ; then > cat << EOF > ${LDSOCONF} > # ld.so.conf autogenerated by env-update; make all changes to >-# contents of /etc/env.d directory >+# contents of /${AFFIX}etc/env.d directory > ${my_envd_LDPATH//:/ > } > EOF >@@ -181,7 +181,7 @@ > > cat << EOF > ${PRELINKCONF} > # prelink.conf autogenerated by env-update; make all changes to >-# contents of /etc/env.d directory >+# contents of /${AFFIX}etc/env.d directory > ${defaultprelinkpaths//:/ > -l } > ${envdprelinkpaths//:/ >@@ -195,17 +195,18 @@ > # RUN EXTERNAL PROGRAMS NOW > ############################################ > >-echo ">>> Regenerating ${ROOT}etc/ld.so.cache..." >+set -xv >+echo ">>> Regenerating ${ROOT}${AFFIX}etc/ld.so.cache..." > if [[ ${MAKELINKS} -eq 0 ]] ; then >- (cd / ; /sbin/ldconfig -X -r ${ROOT} >& /dev/null) >+ (cd / ; /@affix@sbin/ldconfig -X -r ${ROOT}${AFFIX} >& /dev/null) > else >- (cd / ; /sbin/ldconfig -r ${ROOT} >& /dev/null) >+ (cd / ; /@affix@sbin/ldconfig -r ${ROOT}${AFFIX} >& /dev/null) > fi > > cat << EOF > ${PROFILEENV} > # THIS FILE IS AUTOMATICALLY GENERATED BY env-update. > # DO NOT EDIT THIS FILE. CHANGES TO STARTUP PROFILES >-# GO INTO /etc/profile NOT /etc/profile.env >+# GO INTO /${AFFIX}etc/profile NOT /${AFFIX}etc/profile.env > > $(set | grep '^my_envd_' | sed -e 's:^my_envd_:export :') > EOF >@@ -213,9 +214,9 @@ > cat << EOF > ${CSHENV} > # THIS FILE IS AUTOMATICALLY GENERATED BY env-update. > # DO NOT EDIT THIS FILE. CHANGES TO STARTUP PROFILES >-# GO INTO /etc/csh.cshrc NOT /etc/csh.env >+# GO INTO /${AFFIX}etc/csh.cshrc NOT /${AFFIX}etc/csh.env > > $(set | grep '^my_envd_' | sed -e 's:^my_envd_\([[:alpha:]_][[:alnum:]_]*\)=:setenv \1 :') > EOF > >-[[ ${ROOT} == / ]] && /sbin/depscan.sh >+[[ ${ROOT}${AFFIX} == / ]] && /sbin/depscan.sh >diff -ruN portage-cvs/bin/etc-update portage-salomon/bin/etc-update >--- portage-cvs/bin/etc-update 2005-02-26 05:14:19.000000000 +0100 >+++ portage-salomon/bin/etc-update 2005-03-25 10:41:48.000000000 +0100 >@@ -1,4 +1,4 @@ >-#!/bin/bash >+#! @BASH@ > # Copyright 1999-2004 Gentoo Foundation > # Distributed under the terms of the GNU General Public License v2 > # $Header$ >@@ -12,7 +12,7 @@ > > export PORTAGE_CALLER="etc-update" > >-if [ $(/usr/lib/portage/bin/portageq envvar USERLAND) = BSD ] ; then >+if [ $(@PORTAGE_BASE@/bin/portageq envvar USERLAND) = BSD ] ; then > function sed() { gsed "$@"; } > fi > >@@ -22,7 +22,7 @@ > # First strip off comment lines, then grab the configuration > # item. If there's more than one of the same configuration item, > # then allow the last setting to take precedence. >- cut -d'#' -f1-1 /etc/etc-update.conf | \ >+ cut -d'#' -f1-1 /@affix@etc/etc-update.conf | \ > sed -ne "s/^ *$item *= *\([\"']\{0,1\}\)\(.*\)\1/\2/p" |sed -e '$p;d' > } > >@@ -57,7 +57,7 @@ > if [ ! -e "${rpath}/${rfile}" ] || [ ! -e "${rpath}/${rfile:10}" ]; then > MATCHES=0 > else >- diff -Bbua ${rpath}/${rfile} ${rpath}/${rfile:10} | egrep '^[+-]' | egrep -v '^[+-][\t ]*#|^--- |^\+\+\+ ' | egrep -qv '^[-+][\t ]*$' >+ diff -Bbua ${rpath}/${rfile} ${rpath}/${rfile:10} | @EGREP@ '^[+-]' | @EGREP@ -v '^[+-][\t ]*#|^--- |^\+\+\+ ' | @EGREP@ -qv '^[-+][\t ]*$' > MATCHES=$? > fi > elif [[ -z `diff -Nua ${rpath}/${rfile} ${rpath}/${rfile:10}| >@@ -359,8 +359,8 @@ > mkdir ${TMP} || die "failed mkdir command!" 1 > > # I need the CONFIG_PROTECT value >-CONFIG_PROTECT=$(/usr/lib/portage/bin/portageq envvar CONFIG_PROTECT) >-CONFIG_PROTECT_MASK=$(/usr/lib/portage/bin/portageq envvar CONFIG_PROTECT_MASK) >+CONFIG_PROTECT=$(@PORTAGE_BASE@/bin/portageq envvar CONFIG_PROTECT) >+CONFIG_PROTECT_MASK=$(@PORTAGE_BASE@/bin/portageq envvar CONFIG_PROTECT_MASK) > > # load etc-config's configuration > EU_AUTOMERGE=`get_config eu_automerge` >diff -ruN portage-cvs/bin/find-requires portage-salomon/bin/find-requires >--- portage-cvs/bin/find-requires 2004-10-04 15:56:50.000000000 +0200 >+++ portage-salomon/bin/find-requires 2005-03-25 10:41:48.000000000 +0100 >@@ -1,4 +1,4 @@ >-#!/bin/sh >+#! /bin/sh > # Copyright 1999-2004 Gentoo Foundation > # Distributed under the terms of the GNU General Public License v2 > # $Header$ >@@ -10,7 +10,7 @@ > > filelist=`sed "s/['\"]/\\\&/g"` > exelist=`echo $filelist | $XARGS file | grep ":.*executable" | cut -d: -f1 ` >-scriptlist=`echo $filelist | $XARGS file | egrep ":.* (commands|script) " | cut -d: -f1 ` >+scriptlist=`echo $filelist | $XARGS file | @EGREP@ ":.* (commands|script) " | cut -d: -f1 ` > liblist=`echo $filelist | $XARGS file | grep ":.*shared object" | cut -d : -f1 ` > > for f in $exelist; do >diff -ruN portage-cvs/bin/fix-db.py portage-salomon/bin/fix-db.py >--- portage-cvs/bin/fix-db.py 2004-10-11 06:01:00.000000000 +0200 >+++ portage-salomon/bin/fix-db.py 2005-03-19 21:55:23.000000000 +0100 >@@ -1,17 +1,17 @@ >-#!/usr/bin/python >+#! @PYTHON@ > # Copyright 1999-2004 Gentoo Foundation > # Distributed under the terms of the GNU General Public License v2 > # $Header$ > > import os,sys,re >-sys.path = ["/usr/lib/portage/pym"]+sys.path >+sys.path = ["@PORTAGE_BASE@/pym"]+sys.path > > from stat import * > from output import * >-from portage import lockfile,unlockfile,VDB_PATH,root >+from portage import lockfile,unlockfile,MYROOT,ROOT,VDB_PATH > > >-mylog = open("/var/log/emerge_fix-db.log", "a") >+mylog = open(MYROOT("var/log/emerge_fix-db.log"), "a") > def writemsg(msg): > if msg[-1] != '\n': > msg += "\n" >@@ -21,7 +21,7 @@ > mylog.flush() > > def fix_global_counter(value): >- myf = open("/var/cache/edb/counter") >+ myf = open(MYROOT(CACHE_PATH+"/counter")) > newvalue = value+1000 > myf.write(str(newvalue)) > myf.flush() >@@ -33,14 +33,14 @@ > times = {} > > try: >- real_counter = long(open("/var/cache/edb/counter").read()) >+ real_counter = long(open(MYROOT(CACHE_PATH+"/counter")).read()) > except SystemExit, e: > raise # This needs to be propogated > except: > writemsg("ERROR: Real counter is invalid.\n") > real_counter = 0 > >-vardbdir = root+VDB_PATH+"/" >+vardbdir = ROOT(VDB_PATH+"/") > for cat in os.listdir(vardbdir): > catdir = vardbdir+cat+"/" > if not os.path.isdir(catdir): >diff -ruN portage-cvs/bin/fixdbentries portage-salomon/bin/fixdbentries >--- portage-cvs/bin/fixdbentries 2004-10-04 15:56:50.000000000 +0200 >+++ portage-salomon/bin/fixdbentries 2005-03-09 17:16:28.000000000 +0100 >@@ -1,4 +1,4 @@ >-#!/bin/bash >+#! @BASH@ > # Copyright 1999-2004 Gentoo Foundation > # Distributed under the terms of the GNU General Public License v2 > # $Header$ >diff -ruN portage-cvs/bin/fixpackages portage-salomon/bin/fixpackages >--- portage-cvs/bin/fixpackages 2004-10-04 15:56:50.000000000 +0200 >+++ portage-salomon/bin/fixpackages 2005-03-09 17:16:28.000000000 +0100 >@@ -1,11 +1,11 @@ >-#!/usr/bin/python >+#! @PYTHON@ > # Copyright 1999-2004 Gentoo Foundation > # Distributed under the terms of the GNU General Public License v2 > # $Header$ > > import os,sys > os.environ["PORTAGE_CALLER"]="fixpackages" >-sys.path = ["/usr/lib/portage/pym"]+sys.path >+sys.path = ["@PORTAGE_BASE@/pym"]+sys.path > > import portage > >diff -ruN portage-cvs/bin/fixvardbentries portage-salomon/bin/fixvardbentries >--- portage-cvs/bin/fixvardbentries 2004-10-11 06:01:00.000000000 +0200 >+++ portage-salomon/bin/fixvardbentries 2005-03-21 13:40:28.000000000 +0100 >@@ -1,4 +1,4 @@ >-#!/usr/bin/python -O >+#! @PYTHON@ -O > # Copyright 1999-2004 Gentoo Foundation > # Distributed under the terms of the GNU General Public License v2 > # $Header$ >@@ -141,7 +141,7 @@ > return True > > >-vardb = "/var/db/pkg/" >+vardb = "/@affix@var/db/pkg/" > changed = False > for cat in os.listdir(vardb): > if os.path.isdir(vardb+cat): >diff -ruN portage-cvs/bin/fixvirtuals portage-salomon/bin/fixvirtuals >--- portage-cvs/bin/fixvirtuals 2004-11-10 04:10:56.000000000 +0100 >+++ portage-salomon/bin/fixvirtuals 2005-03-19 21:55:23.000000000 +0100 >@@ -1,20 +1,21 @@ >-#!/usr/bin/python -O >+#! @PYTHON@ -O > # Copyright 1999-2004 Gentoo Foundation > # Distributed under the terms of the GNU General Public License v2 > # $Header$ > > import os,sys >-sys.path = ["/usr/lib/portage/pym"]+sys.path >+sys.path = ["@PORTAGE_BASE@/pym"]+sys.path > > import portage >+from portage import MYROOT, CACHE_PATH > > if portage.secpass!=2: > print "fixvirtuals: root access required." > sys.exit(1) > > newvirts={} >-myvirts=portage.grabdict("/var/cache/edb/virtuals") >-myprovides=portage.db["/"]["vartree"].get_all_provides() >+myvirts=portage.grabdict(MYROOT(CACHE_PATH+"/virtuals")) >+myprovides=portage.db[MYROOT()]["vartree"].get_all_provides() > > for myvirt in myprovides.keys(): > newvirts[myvirt]=[] >@@ -30,4 +31,4 @@ > except: > newvirts[myvirt].append(pkg) > >-portage.writedict(newvirts,"/var/cache/edb/virtuals") >+portage.writedict(newvirts,MYROOT(CACHE_PATH+"/virtuals")) >diff -ruN portage-cvs/bin/fowners portage-salomon/bin/fowners >--- portage-cvs/bin/fowners 2004-10-04 15:56:50.000000000 +0200 >+++ portage-salomon/bin/fowners 2005-03-09 17:16:28.000000000 +0100 >@@ -1,4 +1,4 @@ >-#!/bin/bash >+#! @BASH@ > # Copyright 1999-2004 Gentoo Foundation > # Distributed under the terms of the GNU General Public License v2 > # $Header$ >diff -ruN portage-cvs/bin/fperms portage-salomon/bin/fperms >--- portage-cvs/bin/fperms 2004-10-04 15:56:50.000000000 +0200 >+++ portage-salomon/bin/fperms 2005-03-09 17:16:28.000000000 +0100 >@@ -1,4 +1,4 @@ >-#!/bin/bash >+#! @BASH@ > # Copyright 1999-2004 Gentoo Foundation > # Distributed under the terms of the GNU General Public License v2 > # $Header$ >diff -ruN portage-cvs/bin/g-cpan.pl portage-salomon/bin/g-cpan.pl >--- portage-cvs/bin/g-cpan.pl 2005-03-14 20:06:17.000000000 +0100 >+++ portage-salomon/bin/g-cpan.pl 2005-03-21 13:40:28.000000000 +0100 >@@ -1,4 +1,4 @@ >-#!/usr/bin/perl -w >+#! @PERL@ -w > # Copyright 1999-2004 Gentoo Foundation > # Distributed under the terms of the GNU General Public License v2 > # $Header$ >@@ -101,8 +101,8 @@ > my @ebuild_list; > > # Set up global paths >-my $TMP_DEV_PERL_DIR = '/var/db/pkg/dev-perl'; >-my $MAKECONF = '/etc/make.conf'; >+my $TMP_DEV_PERL_DIR = '/@affix@var/db/pkg/dev-perl'; >+my $MAKECONF = '/@affix@etc/make.conf'; > my ( $OVERLAY_DIR, $PORTAGE_DIR, $PORTAGE_DEV_PERL, $PORTAGE_DISTDIR ) = get_globals(); > > # Create the ebuild in PORTDIR_OVERLAY, if it is defined and exists >@@ -339,7 +339,7 @@ > $md5digest = Digest::MD5->new->addfile(*DIGIFILE)->hexdigest; > close(DIGIFILE); > } else { >- ($md5digest = qx(/usr/bin/md5sum $localfile)) =~ s/^(.*?)\s.*$/$1/s; >+ ($md5digest = qx(@MD5SUM@ $localfile)) =~ s/^(.*?)\s.*$/$1/s; > } > > my $md5string = sprintf "MD5 %s %s %d", $md5digest, $base, >@@ -387,9 +387,9 @@ > # let's not beat around the bush here, make.conf isn't the > # only place these variables can be defined > >- $OVERLAY_DIR=qx(/usr/lib/portage/bin/portageq portdir_overlay); >- $PORTAGE_DIR=qx(/usr/lib/portage/bin/portageq portdir); >- $PORTAGE_DISTDIR=qx(/usr/lib/portage/bin/portageq distdir); >+ $OVERLAY_DIR=qx(@PORTAGE_BASE@/bin/portageq portdir_overlay); >+ $PORTAGE_DIR=qx(@PORTAGE_BASE@/bin/portageq portdir); >+ $PORTAGE_DISTDIR=qx(@PORTAGE_BASE@/bin/portageq distdir); > > chomp $OVERLAY_DIR; > chomp $PORTAGE_DIR; >@@ -400,11 +400,11 @@ > } > > unless ( length $PORTAGE_DIR && -d $PORTAGE_DIR ) { >- $PORTAGE_DIR = "/usr/portage"; >+ $PORTAGE_DIR = "@prefix@/portage"; > } > > unless ( length $PORTAGE_DISTDIR && -d $PORTAGE_DISTDIR ) { >- $PORTAGE_DISTDIR = "/usr/portage/distfiles"; >+ $PORTAGE_DISTDIR = "@prefix@/portage/distfiles"; > } > > # Finally, set the dev-perl dir explicitly >diff -ruN portage-cvs/bin/isolated-functions.sh portage-salomon/bin/isolated-functions.sh >--- portage-cvs/bin/isolated-functions.sh 2005-02-21 13:45:49.000000000 +0100 >+++ portage-salomon/bin/isolated-functions.sh 2005-03-09 17:16:28.000000000 +0100 >@@ -30,7 +30,7 @@ > local pri= > local tag= > >- if [ -x /usr/bin/logger ] >+ if [ -x "@LOGGER@" ] > then > pri="$1" > tag="$2" >@@ -38,7 +38,7 @@ > shift 2 > [ -z "$*" ] && return 0 > >- /usr/bin/logger -p "${pri}" -t "${tag}" -- "$*" >+ @LOGGER@ -p "${pri}" -t "${tag}" -- "$*" > fi > > return 0 >diff -ruN portage-cvs/bin/md5check.py portage-salomon/bin/md5check.py >--- portage-cvs/bin/md5check.py 2004-10-10 12:07:20.000000000 +0200 >+++ portage-salomon/bin/md5check.py 2005-03-19 21:55:23.000000000 +0100 >@@ -1,4 +1,4 @@ >-#!/usr/bin/python -O >+#! @PYTHON@ -O > # Copyright 1999-2004 Gentoo Foundation > # Distributed under the terms of the GNU General Public License v2 > # $Header$ >@@ -6,9 +6,10 @@ > import os,sys,string > os.environ["PORTAGE_CALLER"]="mirror" > os.environ["FEATURES"]="mirror cvs" >-sys.path = ["/usr/lib/portage/pym"]+sys.path >+sys.path = ["@PORTAGE_BASE@/pym"]+sys.path > > import portage >+from portage import MYROOT > from threading import * > from output import red,green,blue,bold > from random import shuffle >@@ -27,17 +28,17 @@ > col_list = [] > > hugelist = [] >-for mycp in portage.db["/"]["porttree"].dbapi.cp_all(): >- hugelist += portage.db["/"]["porttree"].dbapi.cp_list(mycp) >+for mycp in portage.db[MYROOT()]["porttree"].dbapi.cp_all(): >+ hugelist += portage.db[MYROOT()]["porttree"].dbapi.cp_list(mycp) > hugelist.sort() > > for mycpv in hugelist: > pv = string.split(mycpv, "/")[-1] > >- newuri = portage.db["/"]["porttree"].dbapi.aux_get(mycpv,["SRC_URI"])[0] >+ newuri = portage.db[MYROOT()]["porttree"].dbapi.aux_get(mycpv,["SRC_URI"])[0] > newuri = string.split(newuri) > >- digestpath = portage.db["/"]["porttree"].dbapi.findname(mycpv) >+ digestpath = portage.db[MYROOT()]["porttree"].dbapi.findname(mycpv) > digestpath = os.path.dirname(digestpath)+"/files/digest-"+pv > md5sums = portage.digestParseFile(digestpath) > >diff -ruN portage-cvs/bin/md5check.sh portage-salomon/bin/md5check.sh >--- portage-cvs/bin/md5check.sh 2004-10-04 15:56:50.000000000 +0200 >+++ portage-salomon/bin/md5check.sh 2005-03-09 17:16:28.000000000 +0100 >@@ -1,4 +1,4 @@ >-#!/bin/bash >+#! @BASH@ > # Copyright 1999-2004 Gentoo Foundation > # Distributed under the terms of the GNU General Public License v2 > # $Header$ >diff -ruN portage-cvs/bin/mirror.py portage-salomon/bin/mirror.py >--- portage-cvs/bin/mirror.py 2004-10-10 12:07:20.000000000 +0200 >+++ portage-salomon/bin/mirror.py 2005-03-19 21:55:23.000000000 +0100 >@@ -1,4 +1,4 @@ >-#!/usr/bin/python -O >+#! @PYTHON@ -O > # Copyright 1999-2004 Gentoo Foundation > # Distributed under the terms of the GNU General Public License v2 > # $Header$ >@@ -9,9 +9,10 @@ > import os,sys,string > os.environ["PORTAGE_CALLER"]="mirror" > os.environ["FEATURES"]="mirror cvs" >-sys.path = ["/usr/lib/portage/pym"]+sys.path >+sys.path = ["@PORTAGE_BASE@/pym"]+sys.path > > import portage >+from portage import MYROOT > from threading import * > from output import red,green,blue,bold > from random import shuffle >@@ -106,8 +107,8 @@ > destdir = portage.settings["DISTDIR"][:] > > hugelist = [] >-for mycp in portage.db["/"]["porttree"].dbapi.cp_all(): >- hugelist += portage.db["/"]["porttree"].dbapi.cp_list(mycp) >+for mycp in portage.db[MYROOT()]["porttree"].dbapi.cp_all(): >+ hugelist += portage.db[MYROOT()]["porttree"].dbapi.cp_list(mycp) > shuffle(hugelist) > > mycount = -1 >@@ -120,10 +121,10 @@ > if ((mycount % 20) == 0): > sys.stdout.write("\nCompleted: %s\n" % mycount) > sys.stdout.flush() >- newuri = portage.db["/"]["porttree"].dbapi.aux_get(mycpv,["SRC_URI"])[0] >+ newuri = portage.db[MYROOT()]["porttree"].dbapi.aux_get(mycpv,["SRC_URI"])[0] > newuri = string.split(newuri) > >- digestpath = portage.db["/"]["porttree"].dbapi.findname(mycpv) >+ digestpath = portage.db[MYROOT()]["porttree"].dbapi.findname(mycpv) > digestpath = os.path.dirname(digestpath)+"/files/digest-"+pv > md5sums = portage.digestParseFile(digestpath) > >diff -ruN portage-cvs/bin/newbin portage-salomon/bin/newbin >--- portage-cvs/bin/newbin 2004-10-04 15:56:50.000000000 +0200 >+++ portage-salomon/bin/newbin 2005-03-09 17:16:28.000000000 +0100 >@@ -1,4 +1,4 @@ >-#!/bin/bash >+#! @BASH@ > # Copyright 1999-2004 Gentoo Foundation > # Distributed under the terms of the GNU General Public License v2 > # $Header$ >diff -ruN portage-cvs/bin/newconfd portage-salomon/bin/newconfd >--- portage-cvs/bin/newconfd 2004-10-04 15:56:50.000000000 +0200 >+++ portage-salomon/bin/newconfd 2005-03-09 17:16:28.000000000 +0100 >@@ -1,4 +1,4 @@ >-#!/bin/bash >+#! @BASH@ > # Copyright 1999-2004 Gentoo Foundation > # Distributed under the terms of the GNU General Public License v2 > # $Header$ >diff -ruN portage-cvs/bin/newdoc portage-salomon/bin/newdoc >--- portage-cvs/bin/newdoc 2004-10-04 15:56:50.000000000 +0200 >+++ portage-salomon/bin/newdoc 2005-03-09 17:16:28.000000000 +0100 >@@ -1,4 +1,4 @@ >-#!/bin/bash >+#! @BASH@ > # Copyright 1999-2004 Gentoo Foundation > # Distributed under the terms of the GNU General Public License v2 > # $Header$ >diff -ruN portage-cvs/bin/newenvd portage-salomon/bin/newenvd >--- portage-cvs/bin/newenvd 2004-10-04 15:56:50.000000000 +0200 >+++ portage-salomon/bin/newenvd 2005-03-09 17:16:28.000000000 +0100 >@@ -1,4 +1,4 @@ >-#!/bin/bash >+#! @BASH@ > # Copyright 1999-2004 Gentoo Foundation > # Distributed under the terms of the GNU General Public License v2 > # $Header$ >diff -ruN portage-cvs/bin/newexe portage-salomon/bin/newexe >--- portage-cvs/bin/newexe 2004-10-04 15:56:50.000000000 +0200 >+++ portage-salomon/bin/newexe 2005-03-09 17:16:28.000000000 +0100 >@@ -1,4 +1,4 @@ >-#!/bin/bash >+#! @BASH@ > # Copyright 1999-2004 Gentoo Foundation > # Distributed under the terms of the GNU General Public License v2 > # $Header$ >diff -ruN portage-cvs/bin/newinitd portage-salomon/bin/newinitd >--- portage-cvs/bin/newinitd 2004-10-04 15:56:50.000000000 +0200 >+++ portage-salomon/bin/newinitd 2005-03-09 17:16:28.000000000 +0100 >@@ -1,4 +1,4 @@ >-#!/bin/bash >+#! @BASH@ > # Copyright 1999-2004 Gentoo Foundation > # Distributed under the terms of the GNU General Public License v2 > # $Header$ >diff -ruN portage-cvs/bin/newins portage-salomon/bin/newins >--- portage-cvs/bin/newins 2004-10-04 15:56:50.000000000 +0200 >+++ portage-salomon/bin/newins 2005-03-09 17:16:28.000000000 +0100 >@@ -1,4 +1,4 @@ >-#!/bin/bash >+#! @BASH@ > # Copyright 1999-2004 Gentoo Foundation > # Distributed under the terms of the GNU General Public License v2 > # $Header$ >diff -ruN portage-cvs/bin/newlib.a portage-salomon/bin/newlib.a >--- portage-cvs/bin/newlib.a 2004-10-04 15:56:50.000000000 +0200 >+++ portage-salomon/bin/newlib.a 2005-03-09 17:16:28.000000000 +0100 >@@ -1,4 +1,4 @@ >-#!/bin/bash >+#! @BASH@ > # Copyright 1999-2004 Gentoo Foundation > # Distributed under the terms of the GNU General Public License v2 > # $Header$ >diff -ruN portage-cvs/bin/newlib.so portage-salomon/bin/newlib.so >--- portage-cvs/bin/newlib.so 2004-10-04 15:56:50.000000000 +0200 >+++ portage-salomon/bin/newlib.so 2005-03-09 17:16:28.000000000 +0100 >@@ -1,4 +1,4 @@ >-#!/bin/bash >+#! @BASH@ > # Copyright 1999-2004 Gentoo Foundation > # Distributed under the terms of the GNU General Public License v2 > # $Header$ >diff -ruN portage-cvs/bin/newman portage-salomon/bin/newman >--- portage-cvs/bin/newman 2004-10-04 15:56:50.000000000 +0200 >+++ portage-salomon/bin/newman 2005-03-09 17:16:28.000000000 +0100 >@@ -1,4 +1,4 @@ >-#!/bin/bash >+#! @BASH@ > # Copyright 1999-2004 Gentoo Foundation > # Distributed under the terms of the GNU General Public License v2 > # $Header$ >diff -ruN portage-cvs/bin/newsbin portage-salomon/bin/newsbin >--- portage-cvs/bin/newsbin 2004-10-04 15:56:50.000000000 +0200 >+++ portage-salomon/bin/newsbin 2005-03-09 17:16:28.000000000 +0100 >@@ -1,4 +1,4 @@ >-#!/bin/bash >+#! @BASH@ > # Copyright 1999-2004 Gentoo Foundation > # Distributed under the terms of the GNU General Public License v2 > # $Header$ >diff -ruN portage-cvs/bin/pkgmerge portage-salomon/bin/pkgmerge >--- portage-cvs/bin/pkgmerge 2004-10-04 15:56:50.000000000 +0200 >+++ portage-salomon/bin/pkgmerge 2005-03-19 21:55:23.000000000 +0100 >@@ -1,10 +1,10 @@ >-#!/usr/bin/python >+#! @PYTHON@ > # Copyright 1999-2004 Gentoo Foundation > # Distributed under the terms of the GNU General Public License v2 > # $Header$ > > import sys,os,string >-sys.path = ["/usr/lib/portage/pym"]+sys.path >+sys.path = ["@PORTAGE_BASE@/pym"]+sys.path > > import portage,xpak > >diff -ruN portage-cvs/bin/pkgmerge.new portage-salomon/bin/pkgmerge.new >--- portage-cvs/bin/pkgmerge.new 2004-10-04 15:56:50.000000000 +0200 >+++ portage-salomon/bin/pkgmerge.new 2005-03-19 21:55:23.000000000 +0100 >@@ -1,10 +1,10 @@ >-#!/usr/bin/python >+#! @PYTHON@ > # Copyright 1999-2004 Gentoo Foundation > # Distributed under the terms of the GNU General Public License v2 > # $Header$ > > import os,string,sys >-sys.path = ["/usr/lib/portage/pym"]+sys.path >+sys.path = ["@PORTAGE_BASE@/pym"]+sys.path > > import portage,xpak > >diff -ruN portage-cvs/bin/pkgname portage-salomon/bin/pkgname >--- portage-cvs/bin/pkgname 2004-11-10 04:10:56.000000000 +0100 >+++ portage-salomon/bin/pkgname 2005-03-09 17:16:28.000000000 +0100 >@@ -1,10 +1,10 @@ >-#!/usr/bin/python >+#! @PYTHON@ > # Copyright 1999-2004 Gentoo Foundation > # Distributed under the terms of the GNU General Public License v2 > # $Header$ > > import sys >-sys.path = ["/usr/lib/portage/pym"]+sys.path >+sys.path = ["@PORTAGE_BASE@/pym"]+sys.path > > import portage > >diff -ruN portage-cvs/bin/portage_gpg_update.sh portage-salomon/bin/portage_gpg_update.sh >--- portage-cvs/bin/portage_gpg_update.sh 2004-10-04 15:56:50.000000000 +0200 >+++ portage-salomon/bin/portage_gpg_update.sh 2005-03-09 17:16:28.000000000 +0100 >@@ -1,6 +1,6 @@ >-#!/bin/bash >+#! @BASH@ > # Copyright 1999-2004 Gentoo Foundation > # Distributed under the terms of the GNU General Public License v2 > # $Header$ > >-wget -O - http://www.gentoo.org/proj/en/devrel/roll-call/userinfo.xml | sed 's:.*\(0x[0-9a-fA-F]\+\)[^0-9a-fA-F].*:\1:gp;d' | xargs gpg -vvv --no-default-keyring --no-permission-warning --homedir /usr/portage/metadata --keyring "gentoo.gpg" --keyserver subkeys.pgp.net --recv-keys &> gpg.log >+@WGET@ -O - http://www.gentoo.org/proj/en/devrel/roll-call/userinfo.xml | @SED@ 's:.*\(0x[0-9a-fA-F]\+\)[^0-9a-fA-F].*:\1:gp;d' | xargs @GPG@ -vvv --no-default-keyring --no-permission-warning --homedir @prefix@/portage/metadata --keyring "gentoo.gpg" --keyserver subkeys.pgp.net --recv-keys &> gpg.log >diff -ruN portage-cvs/bin/portageq portage-salomon/bin/portageq >--- portage-cvs/bin/portageq 2004-12-07 16:06:41.000000000 +0100 >+++ portage-salomon/bin/portageq 2005-03-09 17:16:28.000000000 +0100 >@@ -1,10 +1,10 @@ >-#!/usr/bin/python -O >+#! @PYTHON@ -O > # Copyright 1999-2004 Gentoo Foundation > # Distributed under the terms of the GNU General Public License v2 > # $Header$ > > import sys >-sys.path = ["/usr/lib/portage/pym"]+sys.path >+sys.path = ["@PORTAGE_BASE@/pym"]+sys.path > > import portage,types, portageq > >diff -ruN portage-cvs/bin/prepall portage-salomon/bin/prepall >--- portage-cvs/bin/prepall 2004-10-15 01:31:33.000000000 +0200 >+++ portage-salomon/bin/prepall 2005-03-21 15:56:09.000000000 +0100 >@@ -1,4 +1,4 @@ >-#!/bin/bash >+#! @BASH@ > # Copyright 1999-2004 Gentoo Foundation > # Distributed under the terms of the GNU General Public License v2 > # $Header$ >@@ -8,10 +8,10 @@ > prepallstrip > > #this should help to ensure that all (most?) shared libraries are executable >-for i in "${D}"opt/*/lib{,32,64} \ >- "${D}"lib{,32,64} \ >- "${D}"usr/lib{,32,64} \ >- "${D}"usr/X11R6/lib{,32,64} ; do >+for i in "${D}"${AFFIX}opt/*/lib{,32,64} \ >+ "${D}"${AFFIX}lib{,32,64} \ >+ "${D}"${PREFIX}/lib{,32,64} \ >+ "${D}"${PREFIX}/X11R6/lib{,32,64} ; do > [ ! -d "${i}" ] && continue > > for j in "${i}"/*.so.* "${i}"/*.so ; do >@@ -23,17 +23,17 @@ > done > > # Move aclocals >-for i in `find "${D}"/ -name "aclocal" -type d 2>/dev/null` ; do >+for i in `find "${D}"/${AFFIX} -name "aclocal" -type d 2>/dev/null` ; do > [ -z "${i}" ] && continue > > # Strip double '/' > dir1="`echo "${i}" | sed -e 's:/\{2,\}:/:g'`" >- dir2="`echo "${D}/usr/share/aclocal" | sed -e 's:/\{2,\}:/:g'`" >+ dir2="`echo "${D}${PREFIX}/share/aclocal" | sed -e 's:/\{2,\}:/:g'`" > > [ "${dir1}" == "${dir2}" ] && continue > > echo "moving aclocal: /${i/${D}/}" >- install -d "${D}"usr/share/aclocal >- mv "${i}"/* "${D}"usr/share/aclocal >+ install -d "${D}"${PREFIX}/share/aclocal >+ mv "${i}"/* "${D}"${PREFIX}/share/aclocal > rm -fr "${i}" > done >diff -ruN portage-cvs/bin/prepalldocs portage-salomon/bin/prepalldocs >--- portage-cvs/bin/prepalldocs 2004-10-04 15:56:50.000000000 +0200 >+++ portage-salomon/bin/prepalldocs 2005-03-19 21:55:23.000000000 +0100 >@@ -1,9 +1,9 @@ >-#!/bin/bash >+#! @BASH@ > # Copyright 1999-2004 Gentoo Foundation > # Distributed under the terms of the GNU General Public License v2 > # $Header$ > >-z="`find "${D}"usr/share/doc \( -type f -or -type l \) -not -name "*.gz" -not -name "*.js" 2>/dev/null`" >+z="`find "${D}"${PREFIX}/share/doc \( -type f -or -type l \) -not -name "*.gz" -not -name "*.js" 2>/dev/null`" > > for y in ${z} ; do > if [ -L "${y}" ] ; then >diff -ruN portage-cvs/bin/prepallinfo portage-salomon/bin/prepallinfo >--- portage-cvs/bin/prepallinfo 2004-10-04 15:56:50.000000000 +0200 >+++ portage-salomon/bin/prepallinfo 2005-03-19 21:55:23.000000000 +0100 >@@ -1,9 +1,9 @@ >-#!/bin/bash >+#! @BASH@ > # Copyright 1999-2004 Gentoo Foundation > # Distributed under the terms of the GNU General Public License v2 > # $Header$ > >-[ ! -d "${D}usr/share/info" ] && exit 0 >+[ ! -d "${D}${PREFIX}/share/info" ] && exit 0 > > echo "info:" > prepinfo >diff -ruN portage-cvs/bin/prepallman portage-salomon/bin/prepallman >--- portage-cvs/bin/prepallman 2004-10-04 15:56:50.000000000 +0200 >+++ portage-salomon/bin/prepallman 2005-03-21 15:56:09.000000000 +0100 >@@ -1,10 +1,10 @@ >-#!/bin/bash >+#! @BASH@ > # Copyright 1999-2004 Gentoo Foundation > # Distributed under the terms of the GNU General Public License v2 > # $Header$ > > echo "man:" >-for x in "${D}"opt/*/man "${D}"usr/share/man "${D}"usr/local/man "${D}"usr/X11R6/man ; do >+for x in "${D}"/${AFFIX}man "${D}"/${AFFIX}opt/*/man "${D}"${PREFIX}/share/man "${D}"${PREFIX}/local/man "${D}"${PREFIX}/X11R6/man ; do > if [ -d "${x}" ] > then > prepman "`echo "${x}" | sed -e "s:${D}::" -e "s:/man[/]*$::"`" >diff -ruN portage-cvs/bin/prepallstrip portage-salomon/bin/prepallstrip >--- portage-cvs/bin/prepallstrip 2004-10-04 15:56:50.000000000 +0200 >+++ portage-salomon/bin/prepallstrip 2005-03-09 17:16:29.000000000 +0100 >@@ -1,4 +1,4 @@ >-#!/bin/bash >+#! @BASH@ > # Copyright 1999-2004 Gentoo Foundation > # Distributed under the terms of the GNU General Public License v2 > # $Header$ >diff -ruN portage-cvs/bin/prepinfo portage-salomon/bin/prepinfo >--- portage-cvs/bin/prepinfo 2004-10-04 15:56:50.000000000 +0200 >+++ portage-salomon/bin/prepinfo 2005-03-19 21:55:23.000000000 +0100 >@@ -1,10 +1,10 @@ >-#!/bin/bash >+#! @BASH@ > # Copyright 1999-2004 Gentoo Foundation > # Distributed under the terms of the GNU General Public License v2 > # $Header$ > > if [ -z "$1" ] ; then >- z="${D}usr/share/info" >+ z="${D}${PREFIX}/share/info" > else > if [ -d "${D}$1/share/info" ] ; then > z="${D}$1/share/info" >diff -ruN portage-cvs/bin/preplib portage-salomon/bin/preplib >--- portage-cvs/bin/preplib 2005-02-26 05:14:19.000000000 +0100 >+++ portage-salomon/bin/preplib 2005-03-19 21:55:23.000000000 +0100 >@@ -1,4 +1,4 @@ >-#!/bin/bash >+#! @BASH@ > # Copyright 1999-2004 Gentoo Foundation > # Distributed under the terms of the GNU General Public License v2 > # $Header$ >@@ -15,7 +15,7 @@ > fi > > if [ -z "$1" ] ; then >- z="${D}usr/${CONF_LIBDIR}" >+ z="${D}${PREFIX}/${CONF_LIBDIR}" > else > z="${D}$1/${CONF_LIBDIR}" > fi >diff -ruN portage-cvs/bin/preplib.so portage-salomon/bin/preplib.so >--- portage-cvs/bin/preplib.so 2004-12-05 11:23:41.000000000 +0100 >+++ portage-salomon/bin/preplib.so 2005-03-09 17:16:29.000000000 +0100 >@@ -1,4 +1,4 @@ >-#!/bin/bash >+#! @BASH@ > # Copyright 1999-2004 Gentoo Foundation > # Distributed under the terms of the GNU General Public License v2 > # $Header$ >diff -ruN portage-cvs/bin/prepman portage-salomon/bin/prepman >--- portage-cvs/bin/prepman 2005-02-26 05:14:19.000000000 +0100 >+++ portage-salomon/bin/prepman 2005-03-19 21:55:23.000000000 +0100 >@@ -1,10 +1,10 @@ >-#!/bin/bash >+#! @BASH@ > # Copyright 1999-2004 Gentoo Foundation > # Distributed under the terms of the GNU General Public License v2 > # $Header$ > > if [ -z "$1" ] ; then >- z="${D}usr/share/man" >+ z="${D}${PREFIX}/share/man" > else > z="${D}$1/man" > fi >diff -ruN portage-cvs/bin/prepstrip portage-salomon/bin/prepstrip >--- portage-cvs/bin/prepstrip 2004-12-06 04:04:31.000000000 +0100 >+++ portage-salomon/bin/prepstrip 2005-03-09 17:16:29.000000000 +0100 >@@ -1,4 +1,4 @@ >-#!/bin/bash >+#! @BASH@ > # Copyright 1999-2004 Gentoo Foundation > # Distributed under the terms of the GNU General Public License v2 > # $Header$ >@@ -35,8 +35,8 @@ > echo " ${x:${#D}:${#x}}" > ${STRIP} ${PORTAGE_STRIP_FLAGS} "${x}" > >- if [ -x /usr/bin/readelf ] ; then >- /usr/bin/readelf -d "${x}" | grep TEXTREL > /dev/null >+ if [ -x "@READELF@" ] ; then >+ @READELF@ -d "${x}" | grep TEXTREL > /dev/null > if [ $? = 0 ]; then > echo " ${x:${#D}:${#x}} will contain runtime text relocations" > if [ "${FEATURES//*strict*/true}" == "true" ] ; then >diff -ruN portage-cvs/bin/queryhost.sh portage-salomon/bin/queryhost.sh >--- portage-cvs/bin/queryhost.sh 2004-10-04 15:56:50.000000000 +0200 >+++ portage-salomon/bin/queryhost.sh 2005-03-09 17:16:29.000000000 +0100 >@@ -1,4 +1,4 @@ >-#!/bin/bash >+#! @BASH@ > # Copyright 1999-2004 Gentoo Foundation > # Distributed under the terms of the GNU General Public License v2 > # $Header$ >diff -ruN portage-cvs/bin/quickpkg portage-salomon/bin/quickpkg >--- portage-cvs/bin/quickpkg 2005-04-13 00:37:12.000000000 +0200 >+++ portage-salomon/bin/quickpkg 2005-04-15 13:08:32.000000000 +0200 >@@ -1,4 +1,4 @@ >-#!/bin/bash >+#! @BASH@ > # Copyright 1999-2005 Gentoo Foundation > # Distributed under the terms of the GNU General Public License v2 > # $Header$ >diff -ruN portage-cvs/bin/regenworld portage-salomon/bin/regenworld >--- portage-cvs/bin/regenworld 2005-02-26 05:14:19.000000000 +0100 >+++ portage-salomon/bin/regenworld 2005-03-19 21:55:23.000000000 +0100 >@@ -1,12 +1,13 @@ >-#!/usr/bin/python >+#! @PYTHON@ > # Copyright 1999-2004 Gentoo Foundation > # Distributed under the terms of the GNU General Public License v2 > # $Header$ > > import sys >-sys.path.insert(0, "/usr/lib/portage/pym") >+sys.path.insert(0, "@PORTAGE_BASE@/pym") > > import portage, string, re >+from portage import MYROOT, ROOT, WORLD_FILE > > __candidatematcher__ = re.compile("^[0-9]+: \\*\\*\\* emerge ") > __noncandidatematcher__ = re.compile(" sync( |$)| clean( |$)| search( |$)|--oneshot| unmerge( |$)") >@@ -41,14 +42,15 @@ > print "This script regenerates the portage world file by checking the portage" > print "logfile for all actions that you've done in the past. It ignores any" > print "arguments except --help. It is recommended that you make a backup of" >- print "your existing world file (%s) before using this tool." % portage.WORLD_FILE >+ print "your existing world file (%s) before using this tool." \ >+ % MYROOT(WORLD_FILE) > sys.exit(0) > >-worldlist = portage.grabfile(portage.WORLD_FILE) >+worldlist = portage.grabfile(MYROOT(WORLD_FILE)) > syslist = portage.settings.packages > syslist = filter(issyspkg, syslist) > >-logfile = portage.grabfile("/var/log/emerge.log") >+logfile = portage.grabfile(MYROOT("var/log/emerge.log")) > biglist = filter(iscandidate, logfile) > biglist = map(getpkginfo, biglist) > tmplist = [] >@@ -65,7 +67,7 @@ > # drop the asterix > mykey = mykey[1:] > #print "candidate:",mykey >- mylist=portage.db["/"]["vartree"].dbapi.match(mykey) >+ mylist=portage.db[MYROOT()]["vartree"].dbapi.match(mykey) > if mylist: > mykey=portage.cpv_getkey(mylist[0]) > if mykey not in realsyslist: >@@ -74,7 +76,7 @@ > for mykey in biglist: > #print "checking:",mykey > try: >- mylist=portage.db["/"]["vartree"].dbapi.match(mykey) >+ mylist=portage.db[MYROOT()]["vartree"].dbapi.match(mykey) > except KeyError: > if "--debug" in sys.argv: > print "* ignoring broken log entry for %s (likely injected)" % mykey >@@ -88,6 +90,6 @@ > print "add to world:",myfavkey > worldlist.append(myfavkey) > >-myfile=open(portage.WORLD_FILE, "w") >+myfile=open(MYROOT(WORLD_FILE), "w") > myfile.write(string.join(worldlist, '\n')+'\n') > myfile.close() >diff -ruN portage-cvs/bin/repoman portage-salomon/bin/repoman >--- portage-cvs/bin/repoman 2005-03-07 05:14:36.000000000 +0100 >+++ portage-salomon/bin/repoman 2005-03-25 10:41:48.000000000 +0100 >@@ -1,4 +1,4 @@ >-#!/usr/bin/python -O >+#! @PYTHON@ -O > # Copyright 1999-2004 Gentoo Foundation > # Distributed under the terms of the GNU General Public License v2 > # $Header$ >@@ -10,12 +10,13 @@ > import os,sys,shutil > exename=os.path.basename(sys.argv[0]) > os.environ["PORTAGE_CALLER"]="repoman" >-sys.path = ["/usr/lib/portage/pym"]+sys.path >+sys.path = ["@PORTAGE_BASE@/pym"]+sys.path > version="1.2" > > import string,signal,re,pickle,tempfile > > import portage >+from portage import MYROOT, ROOT, CACHE_PATH > import portage_checksum > import portage_const > import portage_dep >@@ -214,10 +215,10 @@ > def last(): > try: > #Retrieve and unpickle stats and fails from saved files >- savedf=open('/var/cache/edb/repo.stats','r') >+ savedf=open(MYROOT(CACHE_PATH+'/repo.stats'),'r') > stats = pickle.load(savedf) > savedf.close() >- savedf=open('/var/cache/edb/repo.fails','r') >+ savedf=open(MYROOT(CACHE_PATH+'/repo.fails'),'r') > fails = pickle.load(savedf) > savedf.close() > except SystemExit, e: >@@ -588,17 +589,17 @@ > try: > # if it's been over a week since fetching (or the system clock is fscked), grab an updated copy of metadata.dtd > # clock is fscked or it's been a week. time to grab a new one. >- ct=os.stat(portage.CACHE_PATH + '/metadata.dtd')[ST_CTIME] >+ ct=os.stat(MYROOT(CACHE_PATH+'/metadata.dtd'))[ST_CTIME] > if abs(time.time() - ct) > (60*60*24*7): > # don't trap the exception, we're watching for errno 2 (file not found), anything else is a bug. > backup_exists=1 >- os.rename(portage.CACHE_PATH+'/metadata.dtd',portage.CACHE_PATH+'/metadata.dtd.backup') >+ os.rename(MYROOT(CACHE_PATH+'/metadata.dtd'),MYROOT(CACHE_PATH+'/metadata.dtd.backup')) > else: > must_fetch=0 > > except (OSError,IOError), e: > if e.errno != 2: >- print red("!!!")+" caught exception '%s' for %s/metadata.dtd, bailing" % (str(e), portage.CACHE_PATH) >+ print red("!!!")+" caught exception '%s' for %s/metadata.dtd, bailing" % (str(e), MYROOT(CACHE_PATH)) > sys.exit(1) > > if must_fetch: >@@ -609,14 +610,14 @@ > fetcher=portage.get_preferred_fetcher() > > val=fetcher.fetch("http://www.gentoo.org/dtd/metadata.dtd",file_name="%s/metadata.dtd" % >- portage.CACHE_PATH) >+ MYROOT(CACHE_PATH)) > del fetcher > if not val: > print "fetched." > if backup_exists: >- os.remove(portage.CACHE_PATH+'/metadata.dtd.backup') >- os.chown(portage.CACHE_PATH+'/metadata.dtd',os.getuid(),portage.portage_gid) >- os.chmod(portage.CACHE_PATH+'/metadata.dtd',0664) >+ os.remove(MYROOT(CACHE_PATH+'/metadata.dtd.backup')) >+ os.chown(MYROOT(CACHE_PATH+'/metadata.dtd'),os.getuid(),portage.portage_gid) >+ os.chmod(MYROOT(CACHE_PATH+'/metadata.dtd'),0664) > > except SystemExit, e: > raise # Need to propogate this >@@ -627,7 +628,7 @@ > val=0 > if val: > if backup_exists: >- os.rename(portage.CACHE_PATH+'/metadata.dtd.backup',portage.CACHE_PATH+'/metadata.dtd') >+ os.rename(MYROOT(CACHE_PATH+'/metadata.dtd.backup'),sMYROOT(+CACHE_PATH+'/metadata.dtd')) > print red("!!!")+" fetching new metadata.dtd failed, aborting" > sys.exit(1) > #this can be problematic if xmllint changes their output >@@ -734,7 +735,7 @@ > fails["digest.stray"].append(x+"/files/"+y) > else: > # We have an ebuild >- myuris,myfiles = portage.db["/"]["porttree"].dbapi.getfetchlist(mykey,all=True) >+ myuris,myfiles = portage.db[MYROOT()]["porttree"].dbapi.getfetchlist(mykey,all=True) > for entry in mydigests.keys(): > if entry not in myfiles: > stats["digest.unused"] += 1 >@@ -756,7 +757,7 @@ > stats["digest.unmatch"] += 1 > fails["digest.unmatch"].append(y+"::"+myf) > else: >- eb_name,eb_location = portage.db["/"]["porttree"].dbapi.findname2(mykey) >+ eb_name,eb_location = portage.db[MYROOT()]["porttree"].dbapi.findname2(mykey) > portage.doebuild(eb_name, "digest", "/", uri_settings) > else: > if os.path.exists(myff): >@@ -799,7 +800,7 @@ > else: > #Only carry out if in package directory or check forced > if xmllint_capable: >- st=getstatusoutput("xmllint --noout --valid --dtdvalid %s/metadata.dtd %s/metadata.xml" % (portage.CACHE_PATH, checkdir)) >+ st=getstatusoutput("xmllint --noout --valid --dtdvalid %s/metadata.dtd %s/metadata.xml" % (MYROOT(CACHE_PATH), checkdir)) > if st[0] != 0: > for z in st[1].split("\n"): > print red("!!! ")+z >@@ -821,9 +822,9 @@ > if mymode=="fix": > if "--pretend" in myoptions: > print "You will need to run:" >- print " /usr/sbin/ebuild "+repodir+"/"+x+"/"+y+".ebuild digest" >+ print " @prefix@/sbin/ebuild "+repodir+"/"+x+"/"+y+".ebuild digest" > else: >- retval=os.system("/usr/sbin/ebuild "+repodir+"/"+x+"/"+y+".ebuild digest") >+ retval=os.system("@prefix@/sbin/ebuild "+repodir+"/"+x+"/"+y+".ebuild digest") > if retval: > print "!!! Exiting on ebuild digest (shell) error code:",retval > sys.exit(retval) >@@ -841,7 +842,7 @@ > fails["ebuild.namenomatch"].append(x+"/"+y+".ebuild") > continue > try: >- myaux=portage.db["/"]["porttree"].dbapi.aux_get(catdir+"/"+y,allvars,strict=1) >+ myaux=portage.db[MYROOT()]["porttree"].dbapi.aux_get(catdir+"/"+y,allvars,strict=1) > except KeyError: > stats["ebuild.syntax"]=stats["ebuild.syntax"]+1 > fails["ebuild.syntax"].append(x+"/"+y+".ebuild") >@@ -857,10 +858,10 @@ > # print "Bad RESTRICT value: %s" % x > > for pos in range(0,len(missingvars)): >- if portage.db["/"]["porttree"].dbapi.aux_get(catdir+"/"+y, [ missingvars[pos] ] )[0]=="": >+ if portage.db[MYROOT()]["porttree"].dbapi.aux_get(catdir+"/"+y, [ missingvars[pos] ] )[0]=="": > if missingvars[pos]=="IUSE": > # We should rewrite here later. See #21544 >- if not os.system("egrep '^IUSE=' "+repodir+"/"+x+"/"+y+".ebuild > /dev/null 2>&1"): >+ if not os.system("@EGREP@ '^IUSE=' "+repodir+"/"+x+"/"+y+".ebuild > /dev/null 2>&1"): > continue > myqakey=missingvars[pos]+".missing" > stats[myqakey]=stats[myqakey]+1 >@@ -870,7 +871,7 @@ > arches=[[repoman_settings["ARCH"], repoman_settings["ARCH"], portage.groups]] > else: > arches=[] >- for keyword in string.split(portage.db["/"]["porttree"].dbapi.aux_get(catdir+"/"+y,["KEYWORDS"])[0]): >+ for keyword in string.split(portage.db[MYROOT()]["porttree"].dbapi.aux_get(catdir+"/"+y,["KEYWORDS"])[0]): > if (keyword[0]=="-"): > continue > elif (keyword[0]=="~"): >@@ -882,7 +883,7 @@ > badlicsyntax = False > catpkg = catdir+"/"+y > for mytype in ["DEPEND","RDEPEND","PDEPEND","LICENSE"]: >- mydepstr = string.join(portage.db["/"]["porttree"].dbapi.aux_get(catpkg, [mytype])) >+ mydepstr = string.join(portage.db[MYROOT()]["porttree"].dbapi.aux_get(catpkg, [mytype])) > if (string.find(mydepstr, " ?") != -1): > stats[mytype+".syntax"] += 1 > fails[mytype+".syntax"].append(catpkg+".ebuild "+mytype+": '?' preceded by space") >@@ -932,10 +933,10 @@ > portage.portdb=portage.portdbapi(portdir, dep_settings) > arch_caches[arch]=[dep_settings, portage.portdb] > >- portage.db["/"]["porttree"]=portage.portagetree("/",dep_settings.getvirtuals("/")) >+ portage.db[MYROOT()]["porttree"]=portage.portagetree("/",dep_settings.getvirtuals("/")) > > for mytype,mypos in [["DEPEND",len(missingvars)],["RDEPEND",len(missingvars)+1],["PDEPEND",len(missingvars)+2]]: >- if not catdir+"/"+y in portage.db["/"]["porttree"].dbapi.xmatch("list-visible",x): >+ if not catdir+"/"+y in portage.db[MYROOT()]["porttree"].dbapi.xmatch("list-visible",x): > #we are testing deps for a masked package; give it some lee-way > suffix="masked" > matchmode="match-all" >@@ -947,11 +948,11 @@ > suffix=suffix+"indev" > > mykey=mytype+".bad"+suffix >- myvalue=string.join(portage.db["/"]["porttree"].dbapi.aux_get(catdir+"/"+y,[ mytype ])) >+ myvalue=string.join(portage.db[MYROOT()]["porttree"].dbapi.aux_get(catdir+"/"+y,[ mytype ])) > if not myvalue: > continue > try: >- mydep=portage.dep_check(myvalue,portage.db["/"]["porttree"].dbapi,dep_settings,use="all",mode=matchmode) >+ mydep=portage.dep_check(myvalue,portage.db[MYROOT()]["porttree"].dbapi,dep_settings,use="all",mode=matchmode) > except KeyError, e: > stats[mykey]=stats[mykey]+1 > fails[mykey].append(x+"/"+y+".ebuild: "+keyword+" "+repr(e[0])) >@@ -977,11 +978,11 @@ > fails[mykey].append(x+"/"+y+".ebuild: "+keyword+" "+repr(mydep[1])) > > # this check needs work, it won't catch (\ndie) >- if not os.system("egrep '^[^#]*\([^)]*\<die\>' "+checkdir+"/"+y+".ebuild >/dev/null 2>&1"): >+ if not os.system("@EGREP@ '^[^#]*\([^)]*\<die\>' "+checkdir+"/"+y+".ebuild >/dev/null 2>&1"): > stats["ebuild.nesteddie"]=stats["ebuild.nesteddie"]+1 > fails["ebuild.nesteddie"].append(x+"/"+y+".ebuild") > # uselist checks - global >- myuse=string.split(portage.db["/"]["porttree"].dbapi.aux_get(catdir+"/"+y,["IUSE"])[0]) >+ myuse=string.split(portage.db[MYROOT()]["porttree"].dbapi.aux_get(catdir+"/"+y,["IUSE"])[0]) > for mypos in range(len(myuse)-1,-1,-1): > if myuse[mypos] and (myuse[mypos] in uselist): > del myuse[mypos] >@@ -997,7 +998,7 @@ > > # license checks > if not badlicsyntax: >- myuse=portage.db["/"]["porttree"].dbapi.aux_get(catdir+"/"+y,["LICENSE"])[0] >+ myuse=portage.db[MYROOT()]["porttree"].dbapi.aux_get(catdir+"/"+y,["LICENSE"])[0] > # Parse the LICENSE variable, remove USE conditions and > # flatten it. > myuse=portage_dep.use_reduce(portage_dep.paren_reduce(myuse), matchall=1) >@@ -1012,7 +1013,7 @@ > fails["LICENSE.invalid"].append(x+"/"+y+".ebuild: %s" % myuse[mypos]) > > #keyword checks >- myuse=string.split(portage.db["/"]["porttree"].dbapi.aux_get(catdir+"/"+y,["KEYWORDS"])[0]) >+ myuse=string.split(portage.db[MYROOT()]["porttree"].dbapi.aux_get(catdir+"/"+y,["KEYWORDS"])[0]) > for mykey in myuse: > myskey=mykey[:] > if myskey[0]=="-": >@@ -1116,18 +1117,18 @@ > fails["ebuild.allmasked"].append(x) > > #Pickle and save results for instant reuse in last and lfull >-savef=open('/var/cache/edb/repo.stats','w') >+savef=open(MYROOT(CACHE_DIR+'/repo.stats'),'w') > pickle.dump(stats,savef) > savef.close() >-savef=open('/var/cache/edb/repo.fails','w') >+savef=open(MYROOT(CACHE_DIR+'/repo.fails'),'w') > pickle.dump(fails,savef) > savef.close() >-if not (os.stat('/var/cache/edb/repo.stats')[ST_GID] == getgrnam('portage')[2]): >- os.chown('/var/cache/edb/repo.stats',os.geteuid(),getgrnam('portage')[2]) >- os.chmod('/var/cache/edb/repo.stats',0664) >-if not (os.stat('/var/cache/edb/repo.fails')[ST_GID] == getgrnam('portage')[2]): >- os.chown('/var/cache/edb/repo.fails',os.geteuid(),getgrnam('portage')[2]) >- os.chmod('/var/cache/edb/repo.fails',0664) >+if not (os.stat(MYROOT(CACHE_DIR+'/repo.stats'))[ST_GID] == getgrnam('@portagegroup@')[2]): >+ os.chown(MYROOT(CACHE_DIR+'/repo.stats'),os.geteuid(),getgrnam('@portagegroup@')[2]) >+ os.chmod(MYROOT(CACHE_DIR+'/repo.stats'),0664) >+if not (os.stat(MYROOT(CACHE_DIR+'/repo.fails'))[ST_GID] == getgrnam('@portagegroup@')[2]): >+ os.chown(MYROOT(CACHE_DIR+'/repo.fails'),os.geteuid(),getgrnam('@portagegroup@')[2]) >+ os.chmod(MYROOT(CACHE_DIR+'/repo.fails'),0664) > print > #dofail will be set to 1 if we have failed in at least one non-warning category > dofail=0 >@@ -1241,10 +1242,10 @@ > if myautoadd: > print ">>> Auto-Adding missing digests..." > if "--pretend" in myoptions: >- print "(/usr/bin/cvs add "+string.join(myautoadd)+")" >+ print "(@CVS@ add "+string.join(myautoadd)+")" > retval=0 > else: >- retval=os.system("/usr/bin/cvs add "+string.join(myautoadd)) >+ retval=os.system("@CVS@ add "+string.join(myautoadd)) > if retval: > print "!!! Exiting on cvs (shell) error code:",retval > sys.exit(retval) >@@ -1265,10 +1266,10 @@ > for x in mymissing: > print " ",x > if "--pretend" in myoptions: >- print "(/usr/bin/cvs -q up "+string.join(mymissing)+")" >+ print "(@CVS@ -q up "+string.join(mymissing)+")" > retval=0 > else: >- retval=os.system("/usr/bin/cvs -q up "+string.join(mymissing)) >+ retval=os.system("@CVS@ -q up "+string.join(mymissing)) > if retval: > print "!!! Exiting on cvs (shell) error code:",retval > sys.exit(retval) >@@ -1277,7 +1278,7 @@ > retval=["",""] > if isCvs: > print "Performing a "+green("cvs -n up")+" with a little magic grep to check for updates." >- retval=getstatusoutput("/usr/bin/cvs -n up 2>&1 | egrep '^[^\?] .*' | egrep -v '^. .*/digest-[^/]+|^cvs server: .* -- ignored$'") >+ retval=getstatusoutput("@CVS@ -n up 2>&1 | @EGREP@ '^[^\?] .*' | @EGREP@ -v '^. .*/digest-[^/]+|^cvs server: .* -- ignored$'") > > mylines=string.split(retval[1], "\n") > myupdates=[] >@@ -1296,10 +1297,10 @@ > if myupdates: > print green("Fetching trivial updates...") > if "--pretend" in myoptions: >- print "(/usr/bin/cvs up "+string.join(myupdates)+")" >+ print "(@CVS@ up "+string.join(myupdates)+")" > retval=0 > else: >- retval=os.system("/usr/bin/cvs up "+string.join(myupdates)) >+ retval=os.system("@CVS@ up "+string.join(myupdates)) > if retval!=0: > print "!!! cvs exited with an error. Terminating." > sys.exit(retval) >@@ -1323,7 +1324,7 @@ > headerstring="'\$(Header|Id)" > headerstring+=".*\$'" > for myfile in myupdates: >- myout=getstatusoutput("egrep -q "+headerstring+" "+myfile) >+ myout=getstatusoutput("@EGREP@ -q "+headerstring+" "+myfile) > if myout[0]==0: > myheaders.append(myfile) > >@@ -1371,10 +1372,10 @@ > print > > if "--pretend" in myoptions: >- print "(/usr/bin/cvs -q commit -F "+commitmessagefile+")" >+ print "(@CVS@ -q commit -F "+commitmessagefile+")" > retval=0 > else: >- retval=os.system("/usr/bin/cvs -q commit -F "+commitmessagefile) >+ retval=os.system("@CVS@ -q commit -F "+commitmessagefile) > if retval: > print "!!! Exiting on cvs (shell) error code:",retval > sys.exit(retval) >@@ -1446,7 +1447,7 @@ > sys.exit(1) > > if "--pretend" in myoptions: >- print "(/usr/bin/cvs -q commit -F "+commitmessagefile+")" >+ print "(@CVS@ -q commit -F "+commitmessagefile+")" > else: > mymsg=open(commitmessagefile,"a") > mymsg.write(" (Manifest recommit)") >@@ -1456,7 +1457,7 @@ > print "Failed to insert portage version in message!" > mymsg.write("\n(Portage version: Unknown)") > mymsg.close() >- retval=os.system("/usr/bin/cvs -q commit -F "+commitmessagefile) >+ retval=os.system("@CVS@ -q commit -F "+commitmessagefile) > if retval: > print "!!! Exiting on cvs (shell) error code:",retval > sys.exit(retval) >diff -ruN portage-cvs/bin/xpak portage-salomon/bin/xpak >--- portage-cvs/bin/xpak 2004-10-04 15:56:50.000000000 +0200 >+++ portage-salomon/bin/xpak 2005-03-09 17:16:29.000000000 +0100 >@@ -1,4 +1,4 @@ >-#!/usr/bin/python -O >+#! @PYTHON@ -O > # Copyright 1999-2004 Gentoo Foundation > # Distributed under the terms of the GNU General Public License v2 > # $Header$ >@@ -8,7 +8,7 @@ > print "xpak: expecting three arguments." > sys.exit(1) > >-sys.path = ["/usr/lib/portage/pym"]+sys.path >+sys.path = ["@PORTAGE_BASE@/pym"]+sys.path > > import xpak > xpak.xpak(sys.argv[1],sys.argv[2]) >diff -ruN portage-cvs/cnf/Makefile.in portage-salomon/cnf/Makefile.in >--- portage-cvs/cnf/Makefile.in 1970-01-01 01:00:00.000000000 +0100 >+++ portage-salomon/cnf/Makefile.in 2005-04-15 11:55:03.000000000 +0200 >@@ -0,0 +1,63 @@ >+sysconfdir = @prefix@/etc >+ARCH = @ARCH@ >+ >+srcdir=@srcdir@ >+top_builddir=@top_builddir@ >+ >+portageuser = @portageuser@ >+portagegroup = @portagegroup@ >+ >+INSTALL = @INSTALL@ >+INSTALL_cnf = @INSTALL_PROGRAM@ -o $(portageuser) -g $(portagegroup) -m 644 >+INSTALL_cnfsubst = $(SHELL) ${top_builddir}/subst-install --installcmd='${INSTALL_cnf}' >+ >+list_sourcedir = \ >+ ( cd ${srcdir} \ >+ && find . -name 'CVS' -prune \ >+ -o -name 'Makefile*' -prune \ >+ -o -name 'make.*' -type f -print \ >+ -o -name 'dispatch-conf.conf' -type f -print \ >+ -o -name 'etc-update.conf' -type f -print \ >+ ) >+ >+all: >+ >+install: >+ $(INSTALL) -d -m 755 -o $(portageuser) -g $(portagegroup) $(DESTDIR)$(sysconfdir) >+ @ if [ -f $(srcdir)/make.globals.$(ARCH) ] \ >+ ; then echo "$(INSTALL_cnfsubst) $(srcdir)/make.globals.$(ARCH) $(DESTDIR)$(sysconfdir)/make.globals" \ >+ ; $(INSTALL_cnfsubst) $(srcdir)/make.globals.$(ARCH) $(DESTDIR)$(sysconfdir)/make.globals \ >+ ; echo "$(INSTALL_cnfsubst) $(srcdir)/make.conf.$(ARCH) $(DESTDIR)$(sysconfdir)/make.conf.example" \ >+ ; $(INSTALL_cnfsubst) $(srcdir)/make.conf.$(ARCH) $(DESTDIR)$(sysconfdir)/make.conf.example \ >+ ; else echo "" \ >+ ; echo "Portage does not have an arch-specific configuration for this arch." \ >+ ; echo "Please notify the arch maintainer about this issue. Using generic." \ >+ ; echo "" \ >+ ; echo "$(INSTALL_cnfsubst) $(srcdir)/make.globals $(DESTDIR)$(sysconfdir)/make.globals" \ >+ ; $(INSTALL_cnfsubst) $(srcdir)/make.globals $(DESTDIR)$(sysconfdir)/make.globals \ >+ ; echo "$(INSTALL_cnfsubst) $(srcdir)/make.conf $(DESTDIR)$(sysconfdir)/make.conf.example" \ >+ ; $(INSTALL_cnfsubst) $(srcdir)/make.conf $(DESTDIR)$(sysconfdir)/make.conf.example \ >+ ; fi >+ @ for p in etc-update dispatch-conf \ >+ ; do echo "$(INSTALL_cnfsubst) $(srcdir)/$${p}.conf $(DESTDIR)$(sysconfdir)/$${p}.conf" \ >+ ; $(INSTALL_cnfsubst) $(srcdir)/$${p}.conf $(DESTDIR)$(sysconfdir)/$${p}.conf \ >+ ; done >+ >+uninstall: >+ @ echo rm -f $(DESTDIR)$(sysconfdir)/make.conf.example \ >+ ; rm -f $(DESTDIR)$(sysconfdir)/make.conf.example \ >+ ; echo rm -f $(DESTDIR)$(sysconfdir)/make.globals \ >+ ; rm -f $(DESTDIR)$(sysconfdir)/make.globals \ >+ >+distdir: >+ $(list_sourcedir) | while read f \ >+ ; do echo $(INSTALL_cnf) ${srcdir}/$${f} $(distdir)/$${f} \ >+ ; $(INSTALL_cnf) ${srcdir}/$${f} $(distdir)/$${f} \ >+ ; done >+ >+all dvi check installcheck: >+clean distclean maintainer-clean: >+ >+.PHONY: all install distdir uninstall >+.PHONY: dvi check installcheck >+.PHONY: clean distclean maintainer-clean >diff -ruN portage-cvs/cnf/dispatch-conf.conf portage-salomon/cnf/dispatch-conf.conf >--- portage-cvs/cnf/dispatch-conf.conf 2004-10-27 16:47:26.000000000 +0200 >+++ portage-salomon/cnf/dispatch-conf.conf 2005-04-15 11:55:03.000000000 +0200 >@@ -3,7 +3,7 @@ > # > > # Directory to archive replaced configs >-archive-dir=/etc/config-archive >+archive-dir=/@affix@etc/config-archive > > # Use rcs for storing files in the archive directory? > # (yes or no) >@@ -28,4 +28,4 @@ > replace-unmodified=no > > # Per-session log file of changes made to configuration files >-#log-file=/var/log/dispatch-conf.log >+#log-file=/@affix@var/log/dispatch-conf.log >diff -ruN portage-cvs/cnf/make.conf portage-salomon/cnf/make.conf >--- portage-cvs/cnf/make.conf 2005-02-26 08:21:14.000000000 +0100 >+++ portage-salomon/cnf/make.conf 2005-03-21 13:40:28.000000000 +0100 >@@ -15,7 +15,7 @@ > # http://www.gentoo.org/doc/en/handbook/handbook-x86.xml?part=2&chap=1 > # > # The available list of use flags with descriptions is in your portage tree. >-# Use 'less' to view them: --> less /usr/portage/profiles/use.desc <-- >+# Use 'less' to view them: --> less @prefix@/portage/profiles/use.desc <-- > # > # 'ufed' is an ncurses/dialog interface available in portage to make handling > # useflags for you. 'emerge app-portage/ufed' >@@ -30,7 +30,7 @@ > # Change this line as appropriate (i686, i586, i486 or i386). > # All modern systems (even Athlons) should use "i686-pc-linux-gnu". > # All K6's are i586. >-CHOST="i686-pc-linux-gnu" >+CHOST="@target@" > > # Host and optimization settings > # ============================== >@@ -106,13 +106,13 @@ > # PORTAGE_TMPDIR is the location portage will use for compilations and > # temporary storage of data. This can get VERY large depending upon > # the application being installed. >-#PORTAGE_TMPDIR=/var/tmp >+#PORTAGE_TMPDIR=/@affix@var/tmp > # > # PORTDIR is the location of the portage tree. This is the repository > # for all profile information as well as all ebuilds. This directory > # itself can reach 200M. If you change this, you must update your >-# /etc/make.profile symlink accordingly. >-#PORTDIR=/usr/portage >+# /@affix@etc/make.profile symlink accordingly. >+#PORTDIR=@prefix@/portage > # > # DISTDIR is where all of the source code tarballs will be placed for > # emerges. The source code is maintained here unless you delete >@@ -132,7 +132,7 @@ > # providing a directory. Permissions will be modified as needed IF the > # directory exists, otherwise logging will be disabled. NNNN is the > # increment at the time the log is created. Logs are thus sequential. >-#PORT_LOGDIR=/var/log/portage >+#PORT_LOGDIR=/@affix@var/log/portage > # > # PORTDIR_OVERLAY is a directory where local ebuilds may be stored without > # concern that they will be deleted by rsync updates. Default is not >@@ -143,7 +143,7 @@ > # ============== > # > # If you need to set a proxy for wget or lukemftp, add the appropriate "export >-# ftp_proxy=<proxy>" and "export http_proxy=<proxy>" lines to /etc/profile if >+# ftp_proxy=<proxy>" and "export http_proxy=<proxy>" lines to /@affix@etc/profile if > # all users on your system should use them. > # > # Portage uses wget by default. Here are some settings for some alternate >@@ -151,12 +151,12 @@ > # will be available. > # > # Default fetch command (5 tries, passive ftp for firewall compatibility) >-#FETCHCOMMAND="/usr/bin/wget -t 5 --passive-ftp \${URI} -P \${DISTDIR}" >-#RESUMECOMMAND="/usr/bin/wget -c -t 5 --passive-ftp \${URI} -P \${DISTDIR}" >+#FETCHCOMMAND="@WGET@ -t 5 --passive-ftp \${URI} -P \${DISTDIR}" >+#RESUMECOMMAND="@WGET@ -c -t 5 --passive-ftp \${URI} -P \${DISTDIR}" > # > # Using wget, ratelimiting downloads >-#FETCHCOMMAND="/usr/bin/wget -t 5 --passive-ftp --limit-rate=200k \${URI} -P \${DISTDIR}" >-#RESUMECOMMAND="/usr/bin/wget -c -t 5 --passive-ftp --limit-rate=200k \${URI} -P \${DISTDIR}" >+#FETCHCOMMAND="@WGET@ -t 5 --passive-ftp --limit-rate=200k \${URI} -P \${DISTDIR}" >+#RESUMECOMMAND="@WGET@ -c -t 5 --passive-ftp --limit-rate=200k \${URI} -P \${DISTDIR}" > # > # Lukemftp (BSD ftp): > #FETCHCOMMAND="/usr/bin/lukemftp -s -a -o \${DISTDIR}/\${FILE} \${URI}" >@@ -301,7 +301,7 @@ > # 'distcc' enables distcc support via CC. > # 'distlocks' enables distfiles locking using fcntl or hardlinks. This > # is enabled by default. Tools exist to help clean the locks >-# after crashes: /usr/lib/portage/bin/clean_locks. >+# after crashes: @PORTAGE_BASE@/bin/clean_locks. > # 'fixpackages' allows portage to fix binary packages that are stored in > # PKGDIR. This can consume a lot of time. 'fixpackages' is > # also a script that can be run at any given time to force >@@ -347,7 +347,7 @@ > # 2G, and will be set if not defined otherwise and ccache is in features. > # Portage will set the default ccache dir if it is not present in the > # user's environment, for userpriv it sets: ${PORTAGE_TMPDIR}/ccache >-# (/var/tmp/ccache), and for regular use the default is /root/.ccache. >+# (/@affix@var/tmp/ccache), and for regular use the default is /root/.ccache. > # Sizes are specified with 'G' 'M' or 'K'. > # '2G' for 2 gigabytes, '2048M' for 2048 megabytes (same as 2G). > #CCACHE_SIZE="512M" >@@ -360,7 +360,7 @@ > # consideration. This may cause dependency failures if you are not careful. > # The file format is one pattern per line, blanks and ';' or '#' lines are > # comments. See 'man rsync' for more details on the exclude-from format. >-#RSYNC_EXCLUDEFROM=/etc/portage/rsync_excludes >+#RSYNC_EXCLUDEFROM=/@affix@etc/portage/rsync_excludes > > # logging related variables: > # PORTAGE_LOG_CLASSES: selects messages to be logged, possible values are: >diff -ruN portage-cvs/cnf/make.conf.alpha portage-salomon/cnf/make.conf.alpha >--- portage-cvs/cnf/make.conf.alpha 2005-02-26 08:21:14.000000000 +0100 >+++ portage-salomon/cnf/make.conf.alpha 2005-03-21 13:40:28.000000000 +0100 >@@ -15,7 +15,7 @@ > # http://www.gentoo.org/doc/en/handbook/handbook-x86.xml?part=2&chap=1 > # > # The available list of use flags with descriptions is in your portage tree. >-# Use 'less' to view them: --> less /usr/portage/profiles/use.desc <-- >+# Use 'less' to view them: --> less @prefix@/portage/profiles/use.desc <-- > # > # 'ufed' is an ncurses/dialog interface available in portage to make handling > # useflags for you. 'emerge app-portage/ufed' >@@ -32,7 +32,7 @@ > # either alphaev6-unknown-linux-gnu or alphaev67-unknown-linux-gnu accordingly. > # > #CHOST="alphaev67-unknown-linux-gnu" >-CHOST="alpha-unknown-linux-gnu" >+CHOST="@target@" > > # Host and optimization settings > # ============================== >@@ -92,13 +92,13 @@ > # PORTAGE_TMPDIR is the location portage will use for compilations and > # temporary storage of data. This can get VERY large depending upon > # the application being installed. >-#PORTAGE_TMPDIR=/var/tmp >+#PORTAGE_TMPDIR=/@affix@var/tmp > # > # PORTDIR is the location of the portage tree. This is the repository > # for all profile information as well as all ebuilds. This directory > # itself can reach 200M. If you change this, you must update your >-# /etc/make.profile symlink accordingly. >-#PORTDIR=/usr/portage >+# /@affix@etc/make.profile symlink accordingly. >+#PORTDIR=@prefix@/portage > # > # DISTDIR is where all of the source code tarballs will be placed for > # emerges. The source code is maintained here unless you delete >@@ -118,7 +118,7 @@ > # providing a directory. Permissions will be modified as needed IF the > # directory exists, otherwise logging will be disabled. NNNN is the > # increment at the time the log is created. Logs are thus sequential. >-#PORT_LOGDIR=/var/log/portage >+#PORT_LOGDIR=/@affix@var/log/portage > # > # PORTDIR_OVERLAY is a directory where local ebuilds may be stored without > # concern that they will be deleted by rsync updates. Default is not >@@ -129,7 +129,7 @@ > # ============== > # > # If you need to set a proxy for wget or lukemftp, add the appropriate "export >-# ftp_proxy=<proxy>" and "export http_proxy=<proxy>" lines to /etc/profile if >+# ftp_proxy=<proxy>" and "export http_proxy=<proxy>" lines to /@affix@etc/profile if > # all users on your system should use them. > # > # Portage uses wget by default. Here are some settings for some alternate >@@ -137,12 +137,12 @@ > # will be available. > # > # Default fetch command (5 tries, passive ftp for firewall compatibility) >-#FETCHCOMMAND="/usr/bin/wget -t 5 --passive-ftp \${URI} -P \${DISTDIR}" >-#RESUMECOMMAND="/usr/bin/wget -c -t 5 --passive-ftp \${URI} -P \${DISTDIR}" >+#FETCHCOMMAND="@WGET@ -t 5 --passive-ftp \${URI} -P \${DISTDIR}" >+#RESUMECOMMAND="@WGET@ -c -t 5 --passive-ftp \${URI} -P \${DISTDIR}" > # > # Using wget, ratelimiting downloads >-#FETCHCOMMAND="/usr/bin/wget -t 5 --passive-ftp --limit-rate=200k \${URI} -P \${DISTDIR}" >-#RESUMECOMMAND="/usr/bin/wget -c -t 5 --passive-ftp --limit-rate=200k \${URI} -P \${DISTDIR}" >+#FETCHCOMMAND="@WGET@ -t 5 --passive-ftp --limit-rate=200k \${URI} -P \${DISTDIR}" >+#RESUMECOMMAND="@WGET@ -c -t 5 --passive-ftp --limit-rate=200k \${URI} -P \${DISTDIR}" > # > # Lukemftp (BSD ftp): > #FETCHCOMMAND="/usr/bin/lukemftp -s -a -o \${DISTDIR}/\${FILE} \${URI}" >@@ -251,7 +251,7 @@ > # 'distcc' enables distcc support via CC. > # 'distlocks' enables distfiles locking using fcntl or hardlinks. This > # is enabled by default. Tools exist to help clean the locks >-# after crashes: /usr/lib/portage/bin/clean_locks. >+# after crashes: @PORTAGE_BASE@/bin/clean_locks. > # 'fixpackages' allows portage to fix binary packages that are stored in > # PKGDIR. This can consume a lot of time. 'fixpackages' is > # also a script that can be run at any given time to force >@@ -285,7 +285,7 @@ > # 2G, and will be set if not defined otherwise and ccache is in features. > # Portage will set the default ccache dir if it is not present in the > # user's environment, for userpriv it sets: ${PORTAGE_TMPDIR}/ccache >-# (/var/tmp/ccache), and for regular use the default is /root/.ccache. >+# (/@affix@var/tmp/ccache), and for regular use the default is /root/.ccache. > # Sizes are specified with 'G' 'M' or 'K'. > # '2G' for 2 gigabytes, '2048M' for 2048 megabytes (same as 2G). > #CCACHE_SIZE="512M" >@@ -298,7 +298,7 @@ > # consideration. This may cause dependency failures if you are not careful. > # The file format is one pattern per line, blanks and ';' or '#' lines are > # comments. See 'man rsync' for more details on the exclude-from format. >-#RSYNC_EXCLUDEFROM=/etc/portage/rsync_excludes >+#RSYNC_EXCLUDEFROM=/@affix@etc/portage/rsync_excludes > > # logging related variables: > # PORTAGE_LOG_CLASSES: selects messages to be logged, possible values are: >diff -ruN portage-cvs/cnf/make.conf.amd64 portage-salomon/cnf/make.conf.amd64 >--- portage-cvs/cnf/make.conf.amd64 2005-02-26 08:21:14.000000000 +0100 >+++ portage-salomon/cnf/make.conf.amd64 2005-03-21 13:40:28.000000000 +0100 >@@ -15,7 +15,7 @@ > # http://www.gentoo.org/doc/en/handbook/handbook-x86.xml?part=2&chap=1 > # > # The available list of use flags with descriptions is in your portage tree. >-# Use 'less' to view them: --> less /usr/portage/profiles/use.desc <-- >+# Use 'less' to view them: --> less @prefix@/portage/profiles/use.desc <-- > # > # 'ufed' is an ncurses/dialog interface available in portage to make handling > # useflags for you. 'emerge app-portage/ufed' >@@ -26,7 +26,7 @@ > # Host Setting > # ============ > # >-CHOST="x86_64-pc-linux-gnu" >+CHOST="@target@" > > # Host and optimization settings > # ============================== >@@ -103,13 +103,13 @@ > # PORTAGE_TMPDIR is the location portage will use for compilations and > # temporary storage of data. This can get VERY large depending upon > # the application being installed. >-#PORTAGE_TMPDIR=/var/tmp >+#PORTAGE_TMPDIR=/@affix@var/tmp > # > # PORTDIR is the location of the portage tree. This is the repository > # for all profile information as well as all ebuilds. This directory > # itself can reach 200M. If you change this, you must update your >-# /etc/make.profile symlink accordingly. >-#PORTDIR=/usr/portage >+# /@affix@etc/make.profile symlink accordingly. >+#PORTDIR=@prefix@/portage > # > # DISTDIR is where all of the source code tarballs will be placed for > # emerges. The source code is maintained here unless you delete >@@ -129,7 +129,7 @@ > # providing a directory. Permissions will be modified as needed IF the > # directory exists, otherwise logging will be disabled. NNNN is the > # increment at the time the log is created. Logs are thus sequential. >-#PORT_LOGDIR=/var/log/portage >+#PORT_LOGDIR=/@affix@var/log/portage > # > # PORTDIR_OVERLAY is a directory where local ebuilds may be stored without > # concern that they will be deleted by rsync updates. Default is not >@@ -140,7 +140,7 @@ > # ============== > # > # If you need to set a proxy for wget or lukemftp, add the appropriate "export >-# ftp_proxy=<proxy>" and "export http_proxy=<proxy>" lines to /etc/profile if >+# ftp_proxy=<proxy>" and "export http_proxy=<proxy>" lines to /@affix@etc/profile if > # all users on your system should use them. > # > # Portage uses wget by default. Here are some settings for some alternate >@@ -148,12 +148,12 @@ > # will be available. > # > # Default fetch command (5 tries, passive ftp for firewall compatibility) >-#FETCHCOMMAND="/usr/bin/wget -t 5 --passive-ftp \${URI} -P \${DISTDIR}" >-#RESUMECOMMAND="/usr/bin/wget -c -t 5 --passive-ftp \${URI} -P \${DISTDIR}" >+#FETCHCOMMAND="@WGET@ -t 5 --passive-ftp \${URI} -P \${DISTDIR}" >+#RESUMECOMMAND="@WGET@ -c -t 5 --passive-ftp \${URI} -P \${DISTDIR}" > # > # Using wget, ratelimiting downloads >-#FETCHCOMMAND="/usr/bin/wget -t 5 --passive-ftp --limit-rate=200k \${URI} -P \${DISTDIR}" >-#RESUMECOMMAND="/usr/bin/wget -c -t 5 --passive-ftp --limit-rate=200k \${URI} -P \${DISTDIR}" >+#FETCHCOMMAND="@WGET@ -t 5 --passive-ftp --limit-rate=200k \${URI} -P \${DISTDIR}" >+#RESUMECOMMAND="@WGET@ -c -t 5 --passive-ftp --limit-rate=200k \${URI} -P \${DISTDIR}" > # > # Lukemftp (BSD ftp): > #FETCHCOMMAND="/usr/bin/lukemftp -s -a -o \${DISTDIR}/\${FILE} \${URI}" >@@ -262,7 +262,7 @@ > # 'distcc' enables distcc support via CC. > # 'distlocks' enables distfiles locking using fcntl or hardlinks. This > # is enabled by default. Tools exist to help clean the locks >-# after crashes: /usr/lib/portage/bin/clean_locks. >+# after crashes: @PORTAGE_BASE@/bin/clean_locks. > # 'fixpackages' allows portage to fix binary packages that are stored in > # PKGDIR. This can consume a lot of time. 'fixpackages' is > # also a script that can be run at any given time to force >@@ -296,7 +296,7 @@ > # 2G, and will be set if not defined otherwise and ccache is in features. > # Portage will set the default ccache dir if it is not present in the > # user's environment, for userpriv it sets: ${PORTAGE_TMPDIR}/ccache >-# (/var/tmp/ccache), and for regular use the default is /root/.ccache. >+# (/@affix@var/tmp/ccache), and for regular use the default is /root/.ccache. > # Sizes are specified with 'G' 'M' or 'K'. > # '2G' for 2 gigabytes, '2048M' for 2048 megabytes (same as 2G). > #CCACHE_SIZE="512M" >@@ -309,7 +309,7 @@ > # consideration. This may cause dependency failures if you are not careful. > # The file format is one pattern per line, blanks and ';' or '#' lines are > # comments. See 'man rsync' for more details on the exclude-from format. >-#RSYNC_EXCLUDEFROM=/etc/portage/rsync_excludes >+#RSYNC_EXCLUDEFROM=/@affix@etc/portage/rsync_excludes > > # logging related variables: > # PORTAGE_LOG_CLASSES: selects messages to be logged, possible values are: >diff -ruN portage-cvs/cnf/make.conf.arm portage-salomon/cnf/make.conf.arm >--- portage-cvs/cnf/make.conf.arm 2005-02-26 08:21:14.000000000 +0100 >+++ portage-salomon/cnf/make.conf.arm 2005-03-21 13:40:28.000000000 +0100 >@@ -15,7 +15,7 @@ > # http://www.gentoo.org/doc/en/handbook/handbook-x86.xml?part=2&chap=1 > # > # The available list of use flags with descriptions is in your portage tree. >-# Use 'less' to view them: --> less /usr/portage/profiles/use.desc <-- >+# Use 'less' to view them: --> less @prefix@/portage/profiles/use.desc <-- > # > # 'ufed' is an ncurses/dialog interface available in portage to make handling > # useflags for you. 'emerge app-portage/ufed' >@@ -34,7 +34,7 @@ > # nslu2: armvbe-unknown-linux-gnu > # Generic ARM: arm-unknown-linux-gnu > # >-CHOST="armv4l-unknown-linux-gnu" >+CHOST="@target@" > > # Host and optimization settings > # ============================== >@@ -100,13 +100,13 @@ > # PORTAGE_TMPDIR is the location portage will use for compilations and > # temporary storage of data. This can get VERY large depending upon > # the application being installed. >-#PORTAGE_TMPDIR=/var/tmp >+#PORTAGE_TMPDIR=/@affix@var/tmp > # > # PORTDIR is the location of the portage tree. This is the repository > # for all profile information as well as all ebuilds. This directory > # itself can reach 200M. If you change this, you must update your >-# /etc/make.profile symlink accordingly. >-#PORTDIR=/usr/portage >+# /@affix@etc/make.profile symlink accordingly. >+#PORTDIR=@prefix@/portage > # > # DISTDIR is where all of the source code tarballs will be placed for > # emerges. The source code is maintained here unless you delete >@@ -126,7 +126,7 @@ > # providing a directory. Permissions will be modified as needed IF the > # directory exists, otherwise logging will be disabled. NNNN is the > # increment at the time the log is created. Logs are thus sequential. >-#PORT_LOGDIR=/var/log/portage >+#PORT_LOGDIR=/@affix@var/log/portage > # > # PORTDIR_OVERLAY is a directory where local ebuilds may be stored without > # concern that they will be deleted by rsync updates. Default is not >@@ -137,7 +137,7 @@ > # ============== > # > # If you need to set a proxy for wget or lukemftp, add the appropriate "export >-# ftp_proxy=<proxy>" and "export http_proxy=<proxy>" lines to /etc/profile if >+# ftp_proxy=<proxy>" and "export http_proxy=<proxy>" lines to /@affix@etc/profile if > # all users on your system should use them. > # > # Portage uses wget by default. Here are some settings for some alternate >@@ -145,12 +145,12 @@ > # will be available. > # > # Default fetch command (5 tries, passive ftp for firewall compatibility) >-#FETCHCOMMAND="/usr/bin/wget -t 5 --passive-ftp \${URI} -P \${DISTDIR}" >-#RESUMECOMMAND="/usr/bin/wget -c -t 5 --passive-ftp \${URI} -P \${DISTDIR}" >+#FETCHCOMMAND="@WGET@ -t 5 --passive-ftp \${URI} -P \${DISTDIR}" >+#RESUMECOMMAND="@WGET@ -c -t 5 --passive-ftp \${URI} -P \${DISTDIR}" > # > # Using wget, ratelimiting downloads >-#FETCHCOMMAND="/usr/bin/wget -t 5 --passive-ftp --limit-rate=200k \${URI} -P \${DISTDIR}" >-#RESUMECOMMAND="/usr/bin/wget -c -t 5 --passive-ftp --limit-rate=200k \${URI} -P \${DISTDIR}" >+#FETCHCOMMAND="@WGET@ -t 5 --passive-ftp --limit-rate=200k \${URI} -P \${DISTDIR}" >+#RESUMECOMMAND="@WGET@ -c -t 5 --passive-ftp --limit-rate=200k \${URI} -P \${DISTDIR}" > # > # Lukemftp (BSD ftp): > #FETCHCOMMAND="/usr/bin/lukemftp -s -a -o \${DISTDIR}/\${FILE} \${URI}" >@@ -259,7 +259,7 @@ > # 'distcc' enables distcc support via CC. > # 'distlocks' enables distfiles locking using fcntl or hardlinks. This > # is enabled by default. Tools exist to help clean the locks >-# after crashes: /usr/lib/portage/bin/clean_locks. >+# after crashes: @PORTAGE_BASE@/bin/clean_locks. > # 'fixpackages' allows portage to fix binary packages that are stored in > # PKGDIR. This can consume a lot of time. 'fixpackages' is > # also a script that can be run at any given time to force >@@ -293,7 +293,7 @@ > # 2G, and will be set if not defined otherwise and ccache is in features. > # Portage will set the default ccache dir if it is not present in the > # user's environment, for userpriv it sets: ${PORTAGE_TMPDIR}/ccache >-# (/var/tmp/ccache), and for regular use the default is /root/.ccache. >+# (/@affix@var/tmp/ccache), and for regular use the default is /root/.ccache. > # Sizes are specified with 'G' 'M' or 'K'. > # '2G' for 2 gigabytes, '2048M' for 2048 megabytes (same as 2G). > #CCACHE_SIZE="512M" >@@ -306,7 +306,7 @@ > # consideration. This may cause dependency failures if you are not careful. > # The file format is one pattern per line, blanks and ';' or '#' lines are > # comments. See 'man rsync' for more details on the exclude-from format. >-#RSYNC_EXCLUDEFROM=/etc/portage/rsync_excludes >+#RSYNC_EXCLUDEFROM=/@affix@etc/portage/rsync_excludes > > # logging related variables: > # PORTAGE_LOG_CLASSES: selects messages to be logged, possible values are: >diff -ruN portage-cvs/cnf/make.conf.hppa portage-salomon/cnf/make.conf.hppa >--- portage-cvs/cnf/make.conf.hppa 2005-02-26 08:21:14.000000000 +0100 >+++ portage-salomon/cnf/make.conf.hppa 2005-03-21 13:40:28.000000000 +0100 >@@ -15,7 +15,7 @@ > # http://www.gentoo.org/doc/en/handbook/handbook-x86.xml?part=2&chap=1 > # > # The available list of use flags with descriptions is in your portage tree. >-# Use 'less' to view them: --> less /usr/portage/profiles/use.desc <-- >+# Use 'less' to view them: --> less @prefix@/portage/profiles/use.desc <-- > # > # 'ufed' is an ncurses/dialog interface available in portage to make handling > # useflags for you. 'emerge app-portage/ufed' >@@ -31,7 +31,7 @@ > # But you might want to use hppa1.1-unknown-linux-gnu or hppa2.0-unknown-linux-gnu > # according to your station. > # >-CHOST="hppa-unknown-linux-gnu" >+CHOST="@target@" > #CHOST="hppa1.1-unknown-linux-gnu" > #CHOST="hppa2.0-unknown-linux-gnu" > >@@ -109,13 +109,13 @@ > # PORTAGE_TMPDIR is the location portage will use for compilations and > # temporary storage of data. This can get VERY large depending upon > # the application being installed. >-#PORTAGE_TMPDIR=/var/tmp >+#PORTAGE_TMPDIR=/@affix@var/tmp > # > # PORTDIR is the location of the portage tree. This is the repository > # for all profile information as well as all ebuilds. This directory > # itself can reach 200M. If you change this, you must update your >-# /etc/make.profile symlink accordingly. >-#PORTDIR=/usr/portage >+# /@affix@etc/make.profile symlink accordingly. >+#PORTDIR=@prefix@/portage > # > # DISTDIR is where all of the source code tarballs will be placed for > # emerges. The source code is maintained here unless you delete >@@ -135,7 +135,7 @@ > # providing a directory. Permissions will be modified as needed IF the > # directory exists, otherwise logging will be disabled. NNNN is the > # increment at the time the log is created. Logs are thus sequential. >-#PORT_LOGDIR=/var/log/portage >+#PORT_LOGDIR=/@affix@var/log/portage > # > # PORTDIR_OVERLAY is a directory where local ebuilds may be stored without > # concern that they will be deleted by rsync updates. Default is not >@@ -146,7 +146,7 @@ > # ============== > # > # If you need to set a proxy for wget or lukemftp, add the appropriate "export >-# ftp_proxy=<proxy>" and "export http_proxy=<proxy>" lines to /etc/profile if >+# ftp_proxy=<proxy>" and "export http_proxy=<proxy>" lines to /@affix@etc/profile if > # all users on your system should use them. > # > # Portage uses wget by default. Here are some settings for some alternate >@@ -154,12 +154,12 @@ > # will be available. > # > # Default fetch command (5 tries, passive ftp for firewall compatibility) >-#FETCHCOMMAND="/usr/bin/wget -t 5 --passive-ftp \${URI} -P \${DISTDIR}" >-#RESUMECOMMAND="/usr/bin/wget -c -t 5 --passive-ftp \${URI} -P \${DISTDIR}" >+#FETCHCOMMAND="@WGET@ -t 5 --passive-ftp \${URI} -P \${DISTDIR}" >+#RESUMECOMMAND="@WGET@ -c -t 5 --passive-ftp \${URI} -P \${DISTDIR}" > # > # Using wget, ratelimiting downloads >-#FETCHCOMMAND="/usr/bin/wget -t 5 --passive-ftp --limit-rate=200k \${URI} -P \${DISTDIR}" >-#RESUMECOMMAND="/usr/bin/wget -c -t 5 --passive-ftp --limit-rate=200k \${URI} -P \${DISTDIR}" >+#FETCHCOMMAND="@WGET@ -t 5 --passive-ftp --limit-rate=200k \${URI} -P \${DISTDIR}" >+#RESUMECOMMAND="@WGET@ -c -t 5 --passive-ftp --limit-rate=200k \${URI} -P \${DISTDIR}" > # > # Lukemftp (BSD ftp): > #FETCHCOMMAND="/usr/bin/lukemftp -s -a -o \${DISTDIR}/\${FILE} \${URI}" >@@ -268,7 +268,7 @@ > # 'distcc' enables distcc support via CC. > # 'distlocks' enables distfiles locking using fcntl or hardlinks. This > # is enabled by default. Tools exist to help clean the locks >-# after crashes: /usr/lib/portage/bin/clean_locks. >+# after crashes: @PORTAGE_BASE@/bin/clean_locks. > # 'fixpackages' allows portage to fix binary packages that are stored in > # PKGDIR. This can consume a lot of time. 'fixpackages' is > # also a script that can be run at any given time to force >@@ -302,7 +302,7 @@ > # 2G, and will be set if not defined otherwise and ccache is in features. > # Portage will set the default ccache dir if it is not present in the > # user's environment, for userpriv it sets: ${PORTAGE_TMPDIR}/ccache >-# (/var/tmp/ccache), and for regular use the default is /root/.ccache. >+# (/@affix@var/tmp/ccache), and for regular use the default is /root/.ccache. > # Sizes are specified with 'G' 'M' or 'K'. > # '2G' for 2 gigabytes, '2048M' for 2048 megabytes (same as 2G). > #CCACHE_SIZE="512M" >@@ -315,7 +315,7 @@ > # consideration. This may cause dependency failures if you are not careful. > # The file format is one pattern per line, blanks and ';' or '#' lines are > # comments. See 'man rsync' for more details on the exclude-from format. >-#RSYNC_EXCLUDEFROM=/etc/portage/rsync_excludes >+#RSYNC_EXCLUDEFROM=/@affix@etc/portage/rsync_excludes > > # logging related variables: > # PORTAGE_LOG_CLASSES: selects messages to be logged, possible values are: >diff -ruN portage-cvs/cnf/make.conf.ia64 portage-salomon/cnf/make.conf.ia64 >--- portage-cvs/cnf/make.conf.ia64 2005-02-26 08:21:14.000000000 +0100 >+++ portage-salomon/cnf/make.conf.ia64 2005-03-21 13:40:28.000000000 +0100 >@@ -15,7 +15,7 @@ > # http://www.gentoo.org/doc/en/handbook/handbook-x86.xml?part=2&chap=1 > # > # The available list of use flags with descriptions is in your portage tree. >-# Use 'less' to view them: --> less /usr/portage/profiles/use.desc <-- >+# Use 'less' to view them: --> less @prefix@/portage/profiles/use.desc <-- > # > # 'ufed' is an ncurses/dialog interface available in portage to make handling > # useflags for you. 'emerge app-portage/ufed' >@@ -28,7 +28,7 @@ > # > # All Itanium systems should use this host setting: > >-CHOST="ia64-unknown-linux-gnu" >+CHOST="@target@" > > # Host and optimization settings > # ============================== >@@ -71,13 +71,13 @@ > # PORTAGE_TMPDIR is the location portage will use for compilations and > # temporary storage of data. This can get VERY large depending upon > # the application being installed. >-#PORTAGE_TMPDIR=/var/tmp >+#PORTAGE_TMPDIR=/@affix@var/tmp > # > # PORTDIR is the location of the portage tree. This is the repository > # for all profile information as well as all ebuilds. This directory > # itself can reach 200M. If you change this, you must update your >-# /etc/make.profile symlink accordingly. >-#PORTDIR=/usr/portage >+# /@affix@etc/make.profile symlink accordingly. >+#PORTDIR=@prefix@/portage > # > # DISTDIR is where all of the source code tarballs will be placed for > # emerges. The source code is maintained here unless you delete >@@ -97,7 +97,7 @@ > # providing a directory. Permissions will be modified as needed IF the > # directory exists, otherwise logging will be disabled. NNNN is the > # increment at the time the log is created. Logs are thus sequential. >-#PORT_LOGDIR=/var/log/portage >+#PORT_LOGDIR=/@affix@var/log/portage > # > # PORTDIR_OVERLAY is a directory where local ebuilds may be stored without > # concern that they will be deleted by rsync updates. Default is not >@@ -108,7 +108,7 @@ > # ============== > # > # If you need to set a proxy for wget or lukemftp, add the appropriate "export >-# ftp_proxy=<proxy>" and "export http_proxy=<proxy>" lines to /etc/profile if >+# ftp_proxy=<proxy>" and "export http_proxy=<proxy>" lines to /@affix@etc/profile if > # all users on your system should use them. > # > # Portage uses wget by default. Here are some settings for some alternate >@@ -116,12 +116,12 @@ > # will be available. > # > # Default fetch command (5 tries, passive ftp for firewall compatibility) >-#FETCHCOMMAND="/usr/bin/wget -t 5 --passive-ftp \${URI} -P \${DISTDIR}" >-#RESUMECOMMAND="/usr/bin/wget -c -t 5 --passive-ftp \${URI} -P \${DISTDIR}" >+#FETCHCOMMAND="@WGET@ -t 5 --passive-ftp \${URI} -P \${DISTDIR}" >+#RESUMECOMMAND="@WGET@ -c -t 5 --passive-ftp \${URI} -P \${DISTDIR}" > # > # Using wget, ratelimiting downloads >-#FETCHCOMMAND="/usr/bin/wget -t 5 --passive-ftp --limit-rate=200k \${URI} -P \${DISTDIR}" >-#RESUMECOMMAND="/usr/bin/wget -c -t 5 --passive-ftp --limit-rate=200k \${URI} -P \${DISTDIR}" >+#FETCHCOMMAND="@WGET@ -t 5 --passive-ftp --limit-rate=200k \${URI} -P \${DISTDIR}" >+#RESUMECOMMAND="@WGET@ -c -t 5 --passive-ftp --limit-rate=200k \${URI} -P \${DISTDIR}" > # > # Lukemftp (BSD ftp): > #FETCHCOMMAND="/usr/bin/lukemftp -s -a -o \${DISTDIR}/\${FILE} \${URI}" >@@ -230,7 +230,7 @@ > # 'distcc' enables distcc support via CC. > # 'distlocks' enables distfiles locking using fcntl or hardlinks. This > # is enabled by default. Tools exist to help clean the locks >-# after crashes: /usr/lib/portage/bin/clean_locks. >+# after crashes: @PORTAGE_BASE@/bin/clean_locks. > # 'fixpackages' allows portage to fix binary packages that are stored in > # PKGDIR. This can consume a lot of time. 'fixpackages' is > # also a script that can be run at any given time to force >@@ -264,7 +264,7 @@ > # 2G, and will be set if not defined otherwise and ccache is in features. > # Portage will set the default ccache dir if it is not present in the > # user's environment, for userpriv it sets: ${PORTAGE_TMPDIR}/ccache >-# (/var/tmp/ccache), and for regular use the default is /root/.ccache. >+# (/@affix@var/tmp/ccache), and for regular use the default is /root/.ccache. > # Sizes are specified with 'G' 'M' or 'K'. > # '2G' for 2 gigabytes, '2048M' for 2048 megabytes (same as 2G). > #CCACHE_SIZE="512M" >@@ -277,7 +277,7 @@ > # consideration. This may cause dependency failures if you are not careful. > # The file format is one pattern per line, blanks and ';' or '#' lines are > # comments. See 'man rsync' for more details on the exclude-from format. >-#RSYNC_EXCLUDEFROM=/etc/portage/rsync_excludes >+#RSYNC_EXCLUDEFROM=/@affix@etc/portage/rsync_excludes > > # logging related variables: > # PORTAGE_LOG_CLASSES: selects messages to be logged, possible values are: >diff -ruN portage-cvs/cnf/make.conf.mips portage-salomon/cnf/make.conf.mips >--- portage-cvs/cnf/make.conf.mips 2005-02-26 08:21:14.000000000 +0100 >+++ portage-salomon/cnf/make.conf.mips 2005-03-21 13:40:28.000000000 +0100 >@@ -15,7 +15,7 @@ > # http://www.gentoo.org/doc/en/handbook/handbook-x86.xml?part=2&chap=1 > # > # The available list of use flags with descriptions is in your portage tree. >-# Use 'less' to view them: --> less /usr/portage/profiles/use.desc <-- >+# Use 'less' to view them: --> less @prefix@/portage/profiles/use.desc <-- > # > # 'ufed' is an ncurses/dialog interface available in portage to make handling > # useflags for you. 'emerge app-portage/ufed' >@@ -28,7 +28,7 @@ > # > # All MIPS systems should use this host setting: > >-CHOST="mips-unknown-linux-gnu" >+CHOST="@target@" > > # Host and optimization settings > # ============================== >@@ -89,13 +89,13 @@ > # PORTAGE_TMPDIR is the location portage will use for compilations and > # temporary storage of data. This can get VERY large depending upon > # the application being installed. >-#PORTAGE_TMPDIR=/var/tmp >+#PORTAGE_TMPDIR=/@affix@var/tmp > # > # PORTDIR is the location of the portage tree. This is the repository > # for all profile information as well as all ebuilds. This directory > # itself can reach 200M. If you change this, you must update your >-# /etc/make.profile symlink accordingly. >-#PORTDIR=/usr/portage >+# /@affix@etc/make.profile symlink accordingly. >+#PORTDIR=@prefix@/portage > # > # DISTDIR is where all of the source code tarballs will be placed for > # emerges. The source code is maintained here unless you delete >@@ -115,7 +115,7 @@ > # providing a directory. Permissions will be modified as needed IF the > # directory exists, otherwise logging will be disabled. NNNN is the > # increment at the time the log is created. Logs are thus sequential. >-#PORT_LOGDIR=/var/log/portage >+#PORT_LOGDIR=/@affix@var/log/portage > # > # PORTDIR_OVERLAY is a directory where local ebuilds may be stored without > # concern that they will be deleted by rsync updates. Default is not >@@ -126,7 +126,7 @@ > # ============== > # > # If you need to set a proxy for wget or lukemftp, add the appropriate "export >-# ftp_proxy=<proxy>" and "export http_proxy=<proxy>" lines to /etc/profile if >+# ftp_proxy=<proxy>" and "export http_proxy=<proxy>" lines to /@affix@etc/profile if > # all users on your system should use them. > # > # Portage uses wget by default. Here are some settings for some alternate >@@ -134,12 +134,12 @@ > # will be available. > # > # Default fetch command (5 tries, passive ftp for firewall compatibility) >-#FETCHCOMMAND="/usr/bin/wget -t 5 --passive-ftp \${URI} -P \${DISTDIR}" >-#RESUMECOMMAND="/usr/bin/wget -c -t 5 --passive-ftp \${URI} -P \${DISTDIR}" >+#FETCHCOMMAND="@WGET@ -t 5 --passive-ftp \${URI} -P \${DISTDIR}" >+#RESUMECOMMAND="@WGET@ -c -t 5 --passive-ftp \${URI} -P \${DISTDIR}" > # > # Using wget, ratelimiting downloads >-#FETCHCOMMAND="/usr/bin/wget -t 5 --passive-ftp --limit-rate=200k \${URI} -P \${DISTDIR}" >-#RESUMECOMMAND="/usr/bin/wget -c -t 5 --passive-ftp --limit-rate=200k \${URI} -P \${DISTDIR}" >+#FETCHCOMMAND="@WGET@ -t 5 --passive-ftp --limit-rate=200k \${URI} -P \${DISTDIR}" >+#RESUMECOMMAND="@WGET@ -c -t 5 --passive-ftp --limit-rate=200k \${URI} -P \${DISTDIR}" > # > # Lukemftp (BSD ftp): > #FETCHCOMMAND="/usr/bin/lukemftp -s -a -o \${DISTDIR}/\${FILE} \${URI}" >@@ -248,7 +248,7 @@ > # 'distcc' enables distcc support via CC. > # 'distlocks' enables distfiles locking using fcntl or hardlinks. This > # is enabled by default. Tools exist to help clean the locks >-# after crashes: /usr/lib/portage/bin/clean_locks. >+# after crashes: @PORTAGE_BASE@/bin/clean_locks. > # 'fixpackages' allows portage to fix binary packages that are stored in > # PKGDIR. This can consume a lot of time. 'fixpackages' is > # also a script that can be run at any given time to force >@@ -282,7 +282,7 @@ > # 2G, and will be set if not defined otherwise and ccache is in features. > # Portage will set the default ccache dir if it is not present in the > # user's environment, for userpriv it sets: ${PORTAGE_TMPDIR}/ccache >-# (/var/tmp/ccache), and for regular use the default is /root/.ccache. >+# (/@affix@var/tmp/ccache), and for regular use the default is /root/.ccache. > # Sizes are specified with 'G' 'M' or 'K'. > # '2G' for 2 gigabytes, '2048M' for 2048 megabytes (same as 2G). > #CCACHE_SIZE="512M" >@@ -295,7 +295,7 @@ > # consideration. This may cause dependency failures if you are not careful. > # The file format is one pattern per line, blanks and ';' or '#' lines are > # comments. See 'man rsync' for more details on the exclude-from format. >-#RSYNC_EXCLUDEFROM=/etc/portage/rsync_excludes >+#RSYNC_EXCLUDEFROM=/@affix@etc/portage/rsync_excludes > > # logging related variables: > # PORTAGE_LOG_CLASSES: selects messages to be logged, possible values are: >diff -ruN portage-cvs/cnf/make.conf.ppc portage-salomon/cnf/make.conf.ppc >--- portage-cvs/cnf/make.conf.ppc 2005-02-26 08:21:14.000000000 +0100 >+++ portage-salomon/cnf/make.conf.ppc 2005-03-21 13:40:28.000000000 +0100 >@@ -15,7 +15,7 @@ > # http://www.gentoo.org/doc/en/handbook/handbook-x86.xml?part=2&chap=1 > # > # The available list of use flags with descriptions is in your portage tree. >-# Use 'less' to view them: --> less /usr/portage/profiles/use.desc <-- >+# Use 'less' to view them: --> less @prefix@/portage/profiles/use.desc <-- > # > # 'ufed' is an ncurses/dialog interface available in portage to make handling > # useflags for you. 'emerge app-portage/ufed' >@@ -28,7 +28,7 @@ > # > # All PowerPC systems should use this host setting: > >-CHOST="powerpc-unknown-linux-gnu" >+CHOST="@target@" > > # Host and optimization settings > # ============================== >@@ -122,13 +122,13 @@ > # PORTAGE_TMPDIR is the location portage will use for compilations and > # temporary storage of data. This can get VERY large depending upon > # the application being installed. >-#PORTAGE_TMPDIR=/var/tmp >+#PORTAGE_TMPDIR=/@affix@var/tmp > # > # PORTDIR is the location of the portage tree. This is the repository > # for all profile information as well as all ebuilds. This directory > # itself can reach 200M. If you change this, you must update your >-# /etc/make.profile symlink accordingly. >-#PORTDIR=/usr/portage >+# /@affix@etc/make.profile symlink accordingly. >+#PORTDIR=@prefix@/portage > # > # DISTDIR is where all of the source code tarballs will be placed for > # emerges. The source code is maintained here unless you delete >@@ -148,7 +148,7 @@ > # providing a directory. Permissions will be modified as needed IF the > # directory exists, otherwise logging will be disabled. NNNN is the > # increment at the time the log is created. Logs are thus sequential. >-#PORT_LOGDIR=/var/log/portage >+#PORT_LOGDIR=/@affix@var/log/portage > # > # PORTDIR_OVERLAY is a directory where local ebuilds may be stored without > # concern that they will be deleted by rsync updates. Default is not >@@ -159,7 +159,7 @@ > # ============== > # > # If you need to set a proxy for wget or lukemftp, add the appropriate "export >-# ftp_proxy=<proxy>" and "export http_proxy=<proxy>" lines to /etc/profile if >+# ftp_proxy=<proxy>" and "export http_proxy=<proxy>" lines to /@affix@etc/profile if > # all users on your system should use them. > # > # Portage uses wget by default. Here are some settings for some alternate >@@ -167,12 +167,12 @@ > # will be available. > # > # Default fetch command (5 tries, passive ftp for firewall compatibility) >-#FETCHCOMMAND="/usr/bin/wget -t 5 --passive-ftp \${URI} -P \${DISTDIR}" >-#RESUMECOMMAND="/usr/bin/wget -c -t 5 --passive-ftp \${URI} -P \${DISTDIR}" >+#FETCHCOMMAND="@WGET@ -t 5 --passive-ftp \${URI} -P \${DISTDIR}" >+#RESUMECOMMAND="@WGET@ -c -t 5 --passive-ftp \${URI} -P \${DISTDIR}" > # > # Using wget, ratelimiting downloads >-#FETCHCOMMAND="/usr/bin/wget -t 5 --passive-ftp --limit-rate=200k \${URI} -P \${DISTDIR}" >-#RESUMECOMMAND="/usr/bin/wget -c -t 5 --passive-ftp --limit-rate=200k \${URI} -P \${DISTDIR}" >+#FETCHCOMMAND="@WGET@ -t 5 --passive-ftp --limit-rate=200k \${URI} -P \${DISTDIR}" >+#RESUMECOMMAND="@WGET@ -c -t 5 --passive-ftp --limit-rate=200k \${URI} -P \${DISTDIR}" > # > # Lukemftp (BSD ftp): > #FETCHCOMMAND="/usr/bin/lukemftp -s -a -o \${DISTDIR}/\${FILE} \${URI}" >@@ -281,7 +281,7 @@ > # 'distcc' enables distcc support via CC. > # 'distlocks' enables distfiles locking using fcntl or hardlinks. This > # is enabled by default. Tools exist to help clean the locks >-# after crashes: /usr/lib/portage/bin/clean_locks. >+# after crashes: @PORTAGE_BASE@/bin/clean_locks. > # 'fixpackages' allows portage to fix binary packages that are stored in > # PKGDIR. This can consume a lot of time. 'fixpackages' is > # also a script that can be run at any given time to force >@@ -315,7 +315,7 @@ > # 2G, and will be set if not defined otherwise and ccache is in features. > # Portage will set the default ccache dir if it is not present in the > # user's environment, for userpriv it sets: ${PORTAGE_TMPDIR}/ccache >-# (/var/tmp/ccache), and for regular use the default is /root/.ccache. >+# (/@affix@var/tmp/ccache), and for regular use the default is /root/.ccache. > # Sizes are specified with 'G' 'M' or 'K'. > # '2G' for 2 gigabytes, '2048M' for 2048 megabytes (same as 2G). > #CCACHE_SIZE="512M" >@@ -328,7 +328,7 @@ > # consideration. This may cause dependency failures if you are not careful. > # The file format is one pattern per line, blanks and ';' or '#' lines are > # comments. See 'man rsync' for more details on the exclude-from format. >-#RSYNC_EXCLUDEFROM=/etc/portage/rsync_excludes >+#RSYNC_EXCLUDEFROM=/@affix@etc/portage/rsync_excludes > > # logging related variables: > # PORTAGE_LOG_CLASSES: selects messages to be logged, possible values are: >diff -ruN portage-cvs/cnf/make.conf.ppc64 portage-salomon/cnf/make.conf.ppc64 >--- portage-cvs/cnf/make.conf.ppc64 2005-02-21 13:45:49.000000000 +0100 >+++ portage-salomon/cnf/make.conf.ppc64 2005-03-21 13:40:28.000000000 +0100 >@@ -15,7 +15,7 @@ > # http://www.gentoo.org/doc/en/handbook/handbook-x86.xml?part=2&chap=1 > # > # The available list of use flags with descriptions is in your portage tree. >-# Use 'less' to view them: --> less /usr/portage/profiles/use.desc <-- >+# Use 'less' to view them: --> less @prefix@/portage/profiles/use.desc <-- > # > # 'ufed' is an ncurses/dialog interface available in portage to make handling > # useflags for you. 'emerge app-portage/ufed' >@@ -28,7 +28,7 @@ > # > # All PowerPC64 systems should use this host setting: > >-CHOST="powerpc64-unknown-linux-gnu" >+CHOST="@target@" > > # Host and optimization settings > # ============================== >@@ -112,12 +112,12 @@ > # PORTAGE_TMPDIR is the location portage will use for compilations and > # temporary storage of data. This can get VERY large depending upon > # the application being installed. >-#PORTAGE_TMPDIR=/var/tmp >+#PORTAGE_TMPDIR=/@affix@var/tmp > # > # PORTDIR is the location of the portage tree. This is the repository > # for all profile information as well as all ebuilds. This directory > # itself can reach 200M. WE DO NOT RECOMMEND that you change this. >-#PORTDIR=/usr/portage >+#PORTDIR=@prefix@/portage > # > # DISTDIR is where all of the source code tarballs will be placed for > # emerges. The source code is maintained here unless you delete >@@ -137,7 +137,7 @@ > # providing a directory. Permissions will be modified as needed IF the > # directory exists, otherwise logging will be disabled. NNNN is the > # increment at the time the log is created. Logs are thus sequential. >-#PORT_LOGDIR=/var/log/portage >+#PORT_LOGDIR=/@affix@var/log/portage > # > # PORTDIR_OVERLAY is a directory where local ebuilds may be stored without > # concern that they will be deleted by rsync updates. Default is not >@@ -148,7 +148,7 @@ > # ============== > # > # If you need to set a proxy for wget or lukemftp, add the appropriate "export >-# ftp_proxy=<proxy>" and "export http_proxy=<proxy>" lines to /etc/profile if >+# ftp_proxy=<proxy>" and "export http_proxy=<proxy>" lines to /@affix@etc/profile if > # all users on your system should use them. > # > # Portage uses wget by default. Here are some settings for some alternate >@@ -156,12 +156,12 @@ > # will be available. > # > # Default fetch command (5 tries, passive ftp for firewall compatibility) >-#FETCHCOMMAND="/usr/bin/wget -t 5 --passive-ftp \${URI} -P \${DISTDIR}" >-#RESUMECOMMAND="/usr/bin/wget -c -t 5 --passive-ftp \${URI} -P \${DISTDIR}" >+#FETCHCOMMAND="@WGET@ -t 5 --passive-ftp \${URI} -P \${DISTDIR}" >+#RESUMECOMMAND="@WGET@ -c -t 5 --passive-ftp \${URI} -P \${DISTDIR}" > # > # Using wget, ratelimiting downloads >-#FETCHCOMMAND="/usr/bin/wget -t 5 --passive-ftp --limit-rate=200k \${URI} -P \${DISTDIR}" >-#RESUMECOMMAND="/usr/bin/wget -c -t 5 --passive-ftp --limit-rate=200k \${URI} -P \${DISTDIR}" >+#FETCHCOMMAND="@WGET@ -t 5 --passive-ftp --limit-rate=200k \${URI} -P \${DISTDIR}" >+#RESUMECOMMAND="@WGET@ -c -t 5 --passive-ftp --limit-rate=200k \${URI} -P \${DISTDIR}" > # > # Lukemftp (BSD ftp): > #FETCHCOMMAND="/usr/bin/lukemftp -s -a -o \${DISTDIR}/\${FILE} \${URI}" >@@ -260,7 +260,7 @@ > # 'distcc' enables distcc support via CC. > # 'distlocks' enables distfiles locking using fcntl or hardlinks. This > # is enabled by default. Tools exist to help clean the locks >-# after crashes: /usr/lib/portage/bin/clean_locks. >+# after crashes: @PORTAGE_BASE@/bin/clean_locks. > # 'fixpackages' allows portage to fix binary packages that are stored in > # PKGDIR. This can consume a lot of time. 'fixpackages' is > # also a script that can be run at any given time to force >@@ -294,7 +294,7 @@ > # 2G, and will be set if not defined otherwise and ccache is in features. > # Portage will set the default ccache dir if it is not present in the > # user's environment, for userpriv it sets: ${PORTAGE_TMPDIR}/ccache >-# (/var/tmp/ccache), and for regular use the default is /root/.ccache. >+# (/@affix@var/tmp/ccache), and for regular use the default is /root/.ccache. > # Sizes are specified with 'G' 'M' or 'K'. > # '2G' for 2 gigabytes, '2048M' for 2048 megabytes (same as 2G). > #CCACHE_SIZE="512M" >@@ -307,7 +307,7 @@ > # consideration. This may cause dependency failures if you are not careful. > # The file format is one pattern per line, blanks and ';' or '#' lines are > # comments. See 'man rsync' for more details on the exclude-from format. >-#RSYNC_EXCLUDEFROM=/etc/portage/rsync_excludes >+#RSYNC_EXCLUDEFROM=/@affix@etc/portage/rsync_excludes > > # logging related variables: > # PORTAGE_LOG_CLASSES: selects messages to be logged, possible values are: >diff -ruN portage-cvs/cnf/make.conf.s390 portage-salomon/cnf/make.conf.s390 >--- portage-cvs/cnf/make.conf.s390 2005-02-26 08:21:14.000000000 +0100 >+++ portage-salomon/cnf/make.conf.s390 2005-03-21 13:40:28.000000000 +0100 >@@ -15,7 +15,7 @@ > # http://www.gentoo.org/doc/en/handbook/handbook-x86.xml?part=2&chap=1 > # > # The available list of use flags with descriptions is in your portage tree. >-# Use 'less' to view them: --> less /usr/portage/profiles/use.desc <-- >+# Use 'less' to view them: --> less @prefix@/portage/profiles/use.desc <-- > # > # 'ufed' is an ncurses/dialog interface available in portage to make handling > # useflags for you. 'emerge app-portage/ufed' >@@ -28,7 +28,7 @@ > # > # All s390 systems should use this host setting: > >-CHOST="s390-ibm-linux-gnu" >+CHOST="@target@" > > # Host and optimization settings > # ============================== >@@ -71,13 +71,13 @@ > # PORTAGE_TMPDIR is the location portage will use for compilations and > # temporary storage of data. This can get VERY large depending upon > # the application being installed. >-#PORTAGE_TMPDIR=/var/tmp >+#PORTAGE_TMPDIR=/@affix@var/tmp > # > # PORTDIR is the location of the portage tree. This is the repository > # for all profile information as well as all ebuilds. This directory > # itself can reach 200M. If you change this, you must update your >-# /etc/make.profile symlink accordingly. >-#PORTDIR=/usr/portage >+# /@affix@etc/make.profile symlink accordingly. >+#PORTDIR=@prefix@/portage > # > # DISTDIR is where all of the source code tarballs will be placed for > # emerges. The source code is maintained here unless you delete >@@ -97,7 +97,7 @@ > # providing a directory. Permissions will be modified as needed IF the > # directory exists, otherwise logging will be disabled. NNNN is the > # increment at the time the log is created. Logs are thus sequential. >-#PORT_LOGDIR=/var/log/portage >+#PORT_LOGDIR=/@affix@var/log/portage > # > # PORTDIR_OVERLAY is a directory where local ebuilds may be stored without > # concern that they will be deleted by rsync updates. Default is not >@@ -108,7 +108,7 @@ > # ============== > # > # If you need to set a proxy for wget or lukemftp, add the appropriate "export >-# ftp_proxy=<proxy>" and "export http_proxy=<proxy>" lines to /etc/profile if >+# ftp_proxy=<proxy>" and "export http_proxy=<proxy>" lines to /@affix@etc/profile if > # all users on your system should use them. > # > # Portage uses wget by default. Here are some settings for some alternate >@@ -116,12 +116,12 @@ > # will be available. > # > # Default fetch command (5 tries, passive ftp for firewall compatibility) >-#FETCHCOMMAND="/usr/bin/wget -t 5 --passive-ftp \${URI} -P \${DISTDIR}" >-#RESUMECOMMAND="/usr/bin/wget -c -t 5 --passive-ftp \${URI} -P \${DISTDIR}" >+#FETCHCOMMAND="@WGET@ -t 5 --passive-ftp \${URI} -P \${DISTDIR}" >+#RESUMECOMMAND="@WGET@ -c -t 5 --passive-ftp \${URI} -P \${DISTDIR}" > # > # Using wget, ratelimiting downloads >-#FETCHCOMMAND="/usr/bin/wget -t 5 --passive-ftp --limit-rate=200k \${URI} -P \${DISTDIR}" >-#RESUMECOMMAND="/usr/bin/wget -c -t 5 --passive-ftp --limit-rate=200k \${URI} -P \${DISTDIR}" >+#FETCHCOMMAND="@WGET@ -t 5 --passive-ftp --limit-rate=200k \${URI} -P \${DISTDIR}" >+#RESUMECOMMAND="@WGET@ -c -t 5 --passive-ftp --limit-rate=200k \${URI} -P \${DISTDIR}" > # > # Lukemftp (BSD ftp): > #FETCHCOMMAND="/usr/bin/lukemftp -s -a -o \${DISTDIR}/\${FILE} \${URI}" >@@ -230,7 +230,7 @@ > # 'distcc' enables distcc support via CC. > # 'distlocks' enables distfiles locking using fcntl or hardlinks. This > # is enabled by default. Tools exist to help clean the locks >-# after crashes: /usr/lib/portage/bin/clean_locks. >+# after crashes: @PORTAGE_BASE@/bin/clean_locks. > # 'fixpackages' allows portage to fix binary packages that are stored in > # PKGDIR. This can consume a lot of time. 'fixpackages' is > # also a script that can be run at any given time to force >@@ -264,7 +264,7 @@ > # 2G, and will be set if not defined otherwise and ccache is in features. > # Portage will set the default ccache dir if it is not present in the > # user's environment, for userpriv it sets: ${PORTAGE_TMPDIR}/ccache >-# (/var/tmp/ccache), and for regular use the default is /root/.ccache. >+# (/@affix@var/tmp/ccache), and for regular use the default is /root/.ccache. > # Sizes are specified with 'G' 'M' or 'K'. > # '2G' for 2 gigabytes, '2048M' for 2048 megabytes (same as 2G). > #CCACHE_SIZE="512M" >@@ -277,7 +277,7 @@ > # consideration. This may cause dependency failures if you are not careful. > # The file format is one pattern per line, blanks and ';' or '#' lines are > # comments. See 'man rsync' for more details on the exclude-from format. >-#RSYNC_EXCLUDEFROM=/etc/portage/rsync_excludes >+#RSYNC_EXCLUDEFROM=/@affix@etc/portage/rsync_excludes > > # logging related variables: > # PORTAGE_LOG_CLASSES: selects messages to be logged, possible values are: >diff -ruN portage-cvs/cnf/make.conf.sh portage-salomon/cnf/make.conf.sh >--- portage-cvs/cnf/make.conf.sh 2005-02-21 13:45:49.000000000 +0100 >+++ portage-salomon/cnf/make.conf.sh 2005-03-21 13:40:29.000000000 +0100 >@@ -15,7 +15,7 @@ > # http://www.gentoo.org/doc/en/handbook/handbook-x86.xml?part=2&chap=1 > # > # The available list of use flags with descriptions is in your portage tree. >-# Use 'less' to view them: --> less /usr/portage/profiles/use.desc <-- >+# Use 'less' to view them: --> less @prefix@/portage/profiles/use.desc <-- > # > # 'ufed' is an ncurses/dialog interface available in portage to make handling > # useflags for you. 'emerge app-portage/ufed' >@@ -27,7 +27,7 @@ > # ============ > # > # Change this line as appropriate (sh, sh2, sh3, sh4, sh5). >-CHOST="sh-unknown-linux-gnu" >+CHOST="@target@" > > # Host and optimization settings > # ============================== >@@ -79,12 +79,12 @@ > # PORTAGE_TMPDIR is the location portage will use for compilations and > # temporary storage of data. This can get VERY large depending upon > # the application being installed. >-#PORTAGE_TMPDIR=/var/tmp >+#PORTAGE_TMPDIR=/@affix@var/tmp > # > # PORTDIR is the location of the portage tree. This is the repository > # for all profile information as well as all ebuilds. This directory > # itself can reach 200M. WE DO NOT RECOMMEND that you change this. >-#PORTDIR=/usr/portage >+#PORTDIR=@prefix@/portage > # > # DISTDIR is where all of the source code tarballs will be placed for > # emerges. The source code is maintained here unless you delete >@@ -104,7 +104,7 @@ > # providing a directory. Permissions will be modified as needed IF the > # directory exists, otherwise logging will be disabled. NNNN is the > # increment at the time the log is created. Logs are thus sequential. >-#PORT_LOGDIR=/var/log/portage >+#PORT_LOGDIR=/@affix@var/log/portage > # > # PORTDIR_OVERLAY is a directory where local ebuilds may be stored without > # concern that they will be deleted by rsync updates. Default is not >@@ -115,7 +115,7 @@ > # ============== > # > # If you need to set a proxy for wget or lukemftp, add the appropriate "export >-# ftp_proxy=<proxy>" and "export http_proxy=<proxy>" lines to /etc/profile if >+# ftp_proxy=<proxy>" and "export http_proxy=<proxy>" lines to /@affix@etc/profile if > # all users on your system should use them. > # > # Portage uses wget by default. Here are some settings for some alternate >@@ -123,12 +123,12 @@ > # will be available. > # > # Default fetch command (5 tries, passive ftp for firewall compatibility) >-#FETCHCOMMAND="/usr/bin/wget -t 5 --passive-ftp \${URI} -P \${DISTDIR}" >-#RESUMECOMMAND="/usr/bin/wget -c -t 5 --passive-ftp \${URI} -P \${DISTDIR}" >+#FETCHCOMMAND="@WGET@ -t 5 --passive-ftp \${URI} -P \${DISTDIR}" >+#RESUMECOMMAND="@WGET@ -c -t 5 --passive-ftp \${URI} -P \${DISTDIR}" > # > # Using wget, ratelimiting downloads >-#FETCHCOMMAND="/usr/bin/wget -t 5 --passive-ftp --limit-rate=200k \${URI} -P \${DISTDIR}" >-#RESUMECOMMAND="/usr/bin/wget -c -t 5 --passive-ftp --limit-rate=200k \${URI} -P \${DISTDIR}" >+#FETCHCOMMAND="@WGET@ -t 5 --passive-ftp --limit-rate=200k \${URI} -P \${DISTDIR}" >+#RESUMECOMMAND="@WGET@ -c -t 5 --passive-ftp --limit-rate=200k \${URI} -P \${DISTDIR}" > # > # Lukemftp (BSD ftp): > #FETCHCOMMAND="/usr/bin/lukemftp -s -a -o \${DISTDIR}/\${FILE} \${URI}" >@@ -227,7 +227,7 @@ > # 'distcc' enables distcc support via CC. > # 'distlocks' enables distfiles locking using fcntl or hardlinks. This > # is enabled by default. Tools exist to help clean the locks >-# after crashes: /usr/lib/portage/bin/clean_locks. >+# after crashes: @PORTAGE_BASE@/bin/clean_locks. > # 'fixpackages' allows portage to fix binary packages that are stored in > # PKGDIR. This can consume a lot of time. 'fixpackages' is > # also a script that can be run at any given time to force >@@ -261,7 +261,7 @@ > # 2G, and will be set if not defined otherwise and ccache is in features. > # Portage will set the default ccache dir if it is not present in the > # user's environment, for userpriv it sets: ${PORTAGE_TMPDIR}/ccache >-# (/var/tmp/ccache), and for regular use the default is /root/.ccache. >+# (/@affix@var/tmp/ccache), and for regular use the default is /root/.ccache. > # Sizes are specified with 'G' 'M' or 'K'. > # '2G' for 2 gigabytes, '2048M' for 2048 megabytes (same as 2G). > #CCACHE_SIZE="512M" >@@ -274,7 +274,7 @@ > # consideration. This may cause dependency failures if you are not careful. > # The file format is one pattern per line, blanks and ';' or '#' lines are > # comments. See 'man rsync' for more details on the exclude-from format. >-#RSYNC_EXCLUDEFROM=/etc/portage/rsync_excludes >+#RSYNC_EXCLUDEFROM=/@affix@etc/portage/rsync_excludes > > # logging related variables: > # PORTAGE_LOG_CLASSES: selects messages to be logged, possible values are: >diff -ruN portage-cvs/cnf/make.conf.sparc portage-salomon/cnf/make.conf.sparc >--- portage-cvs/cnf/make.conf.sparc 2005-02-26 08:21:14.000000000 +0100 >+++ portage-salomon/cnf/make.conf.sparc 2005-04-15 11:55:03.000000000 +0200 >@@ -15,7 +15,7 @@ > # http://www.gentoo.org/doc/en/handbook/handbook-x86.xml?part=2&chap=1 > # > # The available list of use flags with descriptions is in your portage tree. >-# Use 'less' to view them: --> less /usr/portage/profiles/use.desc <-- >+# Use 'less' to view them: --> less @prefix@/portage/profiles/use.desc <-- > # > # 'ufed' is an ncurses/dialog interface available in portage to make handling > # useflags for you. 'emerge app-portage/ufed' >@@ -30,7 +30,7 @@ > # destroying your system, you will recieve no support and your bugs will be > # marked INVALID if you change this. > # >-# CHOST="sparc-unknown-linux-gnu" >+CHOST="@target@" > > # Host and optimization settings > # ============================== >@@ -106,13 +106,13 @@ > # PORTAGE_TMPDIR is the location portage will use for compilations and > # temporary storage of data. This can get VERY large depending upon > # the application being installed. >-#PORTAGE_TMPDIR=/var/tmp >+#PORTAGE_TMPDIR=/@affix@var/tmp > # > # PORTDIR is the location of the portage tree. This is the repository > # for all profile information as well as all ebuilds. This directory > # itself can reach 200M. If you change this, you must update your >-# /etc/make.profile symlink accordingly. >-#PORTDIR=/usr/portage >+# /@affix@etc/make.profile symlink accordingly. >+#PORTDIR=@prefix@/portage > # > # DISTDIR is where all of the source code tarballs will be placed for > # emerges. The source code is maintained here unless you delete >@@ -132,7 +132,7 @@ > # providing a directory. Permissions will be modified as needed IF the > # directory exists, otherwise logging will be disabled. NNNN is the > # increment at the time the log is created. Logs are thus sequential. >-#PORT_LOGDIR=/var/log/portage >+#PORT_LOGDIR=/@affix@var/log/portage > # > # PORTDIR_OVERLAY is a directory where local ebuilds may be stored without > # concern that they will be deleted by rsync updates. Default is not >@@ -143,7 +143,7 @@ > # ============== > # > # If you need to set a proxy for wget or lukemftp, add the appropriate "export >-# ftp_proxy=<proxy>" and "export http_proxy=<proxy>" lines to /etc/profile if >+# ftp_proxy=<proxy>" and "export http_proxy=<proxy>" lines to /@affix@etc/profile if > # all users on your system should use them. > # > # Portage uses wget by default. Here are some settings for some alternate >@@ -151,12 +151,12 @@ > # will be available. > # > # Default fetch command (5 tries, passive ftp for firewall compatibility) >-#FETCHCOMMAND="/usr/bin/wget -t 5 --passive-ftp \${URI} -P \${DISTDIR}" >-#RESUMECOMMAND="/usr/bin/wget -c -t 5 --passive-ftp \${URI} -P \${DISTDIR}" >+#FETCHCOMMAND="@WGET@ -t 5 --passive-ftp \${URI} -P \${DISTDIR}" >+#RESUMECOMMAND="@WGET@ -c -t 5 --passive-ftp \${URI} -P \${DISTDIR}" > # > # Using wget, ratelimiting downloads >-#FETCHCOMMAND="/usr/bin/wget -t 5 --passive-ftp --limit-rate=200k \${URI} -P \${DISTDIR}" >-#RESUMECOMMAND="/usr/bin/wget -c -t 5 --passive-ftp --limit-rate=200k \${URI} -P \${DISTDIR}" >+#FETCHCOMMAND="@WGET@ -t 5 --passive-ftp --limit-rate=200k \${URI} -P \${DISTDIR}" >+#RESUMECOMMAND="@WGET@ -c -t 5 --passive-ftp --limit-rate=200k \${URI} -P \${DISTDIR}" > # > # Lukemftp (BSD ftp): > #FETCHCOMMAND="/usr/bin/lukemftp -s -a -o \${DISTDIR}/\${FILE} \${URI}" >@@ -265,7 +265,7 @@ > # 'distcc' enables distcc support via CC. > # 'distlocks' enables distfiles locking using fcntl or hardlinks. This > # is enabled by default. Tools exist to help clean the locks >-# after crashes: /usr/lib/portage/bin/clean_locks. >+# after crashes: @PORTAGE_BASE@/bin/clean_locks. > # 'fixpackages' allows portage to fix binary packages that are stored in > # PKGDIR. This can consume a lot of time. 'fixpackages' is > # also a script that can be run at any given time to force >@@ -299,7 +299,7 @@ > # 2G, and will be set if not defined otherwise and ccache is in features. > # Portage will set the default ccache dir if it is not present in the > # user's environment, for userpriv it sets: ${PORTAGE_TMPDIR}/ccache >-# (/var/tmp/ccache), and for regular use the default is /root/.ccache. >+# (/@affix@var/tmp/ccache), and for regular use the default is /root/.ccache. > # Sizes are specified with 'G' 'M' or 'K'. > # '2G' for 2 gigabytes, '2048M' for 2048 megabytes (same as 2G). > #CCACHE_SIZE="512M" >@@ -312,7 +312,7 @@ > # consideration. This may cause dependency failures if you are not careful. > # The file format is one pattern per line, blanks and ';' or '#' lines are > # comments. See 'man rsync' for more details on the exclude-from format. >-#RSYNC_EXCLUDEFROM=/etc/portage/rsync_excludes >+#RSYNC_EXCLUDEFROM=/@affix@etc/portage/rsync_excludes > > # logging related variables: > # PORTAGE_LOG_CLASSES: selects messages to be logged, possible values are: >diff -ruN portage-cvs/cnf/make.conf.x86 portage-salomon/cnf/make.conf.x86 >--- portage-cvs/cnf/make.conf.x86 2005-02-26 08:21:14.000000000 +0100 >+++ portage-salomon/cnf/make.conf.x86 2005-03-21 13:40:29.000000000 +0100 >@@ -15,7 +15,7 @@ > # http://www.gentoo.org/doc/en/handbook/handbook-x86.xml?part=2&chap=1 > # > # The available list of use flags with descriptions is in your portage tree. >-# Use 'less' to view them: --> less /usr/portage/profiles/use.desc <-- >+# Use 'less' to view them: --> less @prefix@/portage/profiles/use.desc <-- > # > # 'ufed' is an ncurses/dialog interface available in portage to make handling > # useflags for you. 'emerge app-portage/ufed' >@@ -30,7 +30,7 @@ > # Change this line as appropriate (i686, i586, i486 or i386). > # All modern systems (even Athlons) should use "i686-pc-linux-gnu". > # All K6's are i586. >-CHOST="i686-pc-linux-gnu" >+CHOST="@target@" > > # Host and optimization settings > # ============================== >@@ -106,13 +106,13 @@ > # PORTAGE_TMPDIR is the location portage will use for compilations and > # temporary storage of data. This can get VERY large depending upon > # the application being installed. >-#PORTAGE_TMPDIR=/var/tmp >+#PORTAGE_TMPDIR=/@affix@var/tmp > # > # PORTDIR is the location of the portage tree. This is the repository > # for all profile information as well as all ebuilds. This directory > # itself can reach 200M. If you change this, you must update your >-# /etc/make.profile symlink accordingly. >-#PORTDIR=/usr/portage >+# /@affix@etc/make.profile symlink accordingly. >+#PORTDIR=@prefix@/portage > # > # DISTDIR is where all of the source code tarballs will be placed for > # emerges. The source code is maintained here unless you delete >@@ -132,7 +132,7 @@ > # providing a directory. Permissions will be modified as needed IF the > # directory exists, otherwise logging will be disabled. NNNN is the > # increment at the time the log is created. Logs are thus sequential. >-#PORT_LOGDIR=/var/log/portage >+#PORT_LOGDIR=/@affix@var/log/portage > # > # PORTDIR_OVERLAY is a directory where local ebuilds may be stored without > # concern that they will be deleted by rsync updates. Default is not >@@ -143,7 +143,7 @@ > # ============== > # > # If you need to set a proxy for wget or lukemftp, add the appropriate "export >-# ftp_proxy=<proxy>" and "export http_proxy=<proxy>" lines to /etc/profile if >+# ftp_proxy=<proxy>" and "export http_proxy=<proxy>" lines to /@affix@etc/profile if > # all users on your system should use them. > # > # Portage uses wget by default. Here are some settings for some alternate >@@ -151,12 +151,12 @@ > # will be available. > # > # Default fetch command (5 tries, passive ftp for firewall compatibility) >-#FETCHCOMMAND="/usr/bin/wget -t 5 --passive-ftp \${URI} -P \${DISTDIR}" >-#RESUMECOMMAND="/usr/bin/wget -c -t 5 --passive-ftp \${URI} -P \${DISTDIR}" >+#FETCHCOMMAND="@WGET@ -t 5 --passive-ftp \${URI} -P \${DISTDIR}" >+#RESUMECOMMAND="@WGET@ -c -t 5 --passive-ftp \${URI} -P \${DISTDIR}" > # > # Using wget, ratelimiting downloads >-#FETCHCOMMAND="/usr/bin/wget -t 5 --passive-ftp --limit-rate=200k \${URI} -P \${DISTDIR}" >-#RESUMECOMMAND="/usr/bin/wget -c -t 5 --passive-ftp --limit-rate=200k \${URI} -P \${DISTDIR}" >+#FETCHCOMMAND="@WGET@ -t 5 --passive-ftp --limit-rate=200k \${URI} -P \${DISTDIR}" >+#RESUMECOMMAND="@WGET@ -c -t 5 --passive-ftp --limit-rate=200k \${URI} -P \${DISTDIR}" > # > # Lukemftp (BSD ftp): > #FETCHCOMMAND="/usr/bin/lukemftp -s -a -o \${DISTDIR}/\${FILE} \${URI}" >@@ -265,7 +265,7 @@ > # 'distcc' enables distcc support via CC. > # 'distlocks' enables distfiles locking using fcntl or hardlinks. This > # is enabled by default. Tools exist to help clean the locks >-# after crashes: /usr/lib/portage/bin/clean_locks. >+# after crashes: @PORTAGE_BASE@/bin/clean_locks. > # 'fixpackages' allows portage to fix binary packages that are stored in > # PKGDIR. This can consume a lot of time. 'fixpackages' is > # also a script that can be run at any given time to force >@@ -299,7 +299,7 @@ > # 2G, and will be set if not defined otherwise and ccache is in features. > # Portage will set the default ccache dir if it is not present in the > # user's environment, for userpriv it sets: ${PORTAGE_TMPDIR}/ccache >-# (/var/tmp/ccache), and for regular use the default is /root/.ccache. >+# (/@affix@var/tmp/ccache), and for regular use the default is /root/.ccache. > # Sizes are specified with 'G' 'M' or 'K'. > # '2G' for 2 gigabytes, '2048M' for 2048 megabytes (same as 2G). > #CCACHE_SIZE="512M" >@@ -312,7 +312,7 @@ > # consideration. This may cause dependency failures if you are not careful. > # The file format is one pattern per line, blanks and ';' or '#' lines are > # comments. See 'man rsync' for more details on the exclude-from format. >-#RSYNC_EXCLUDEFROM=/etc/portage/rsync_excludes >+#RSYNC_EXCLUDEFROM=/@affix@etc/portage/rsync_excludes > > # logging related variables: > # PORTAGE_LOG_CLASSES: selects messages to be logged, possible values are: >diff -ruN portage-cvs/cnf/make.conf.x86-fbsd portage-salomon/cnf/make.conf.x86-fbsd >--- portage-cvs/cnf/make.conf.x86-fbsd 2005-02-23 01:22:13.000000000 +0100 >+++ portage-salomon/cnf/make.conf.x86-fbsd 2005-03-21 13:40:29.000000000 +0100 >@@ -15,7 +15,7 @@ > # http://www.gentoo.org/doc/en/handbook/handbook-x86.xml?part=2&chap=1 > # > # The available list of use flags with descriptions is in your portage tree. >-# Use 'less' to view them: --> less /usr/portage/profiles/use.desc <-- >+# Use 'less' to view them: --> less @prefix@/portage/profiles/use.desc <-- > # > # 'ufed' is an ncurses/dialog interface available in portage to make handling > # useflags for you. 'emerge app-portage/ufed' >@@ -30,7 +30,7 @@ > # Change this line as appropriate (i686, i586, i486 or i386). > # All modern systems (even Athlons) should use "i686-pc-linux-gnu". > # All K6's are i586. >-CHOST="i686-unknown-freebsd5.3" >+CHOST="@target@" > > # Host and optimization settings > # ============================== >@@ -106,13 +106,13 @@ > # PORTAGE_TMPDIR is the location portage will use for compilations and > # temporary storage of data. This can get VERY large depending upon > # the application being installed. >-#PORTAGE_TMPDIR=/var/tmp >+#PORTAGE_TMPDIR=/@affix@var/tmp > # > # PORTDIR is the location of the portage tree. This is the repository > # for all profile information as well as all ebuilds. This directory > # itself can reach 200M. If you change this, you must update your >-# /etc/make.profile symlink accordingly. >-#PORTDIR=/usr/portage >+# /@affix@etc/make.profile symlink accordingly. >+#PORTDIR=@prefix@/portage > # > # DISTDIR is where all of the source code tarballs will be placed for > # emerges. The source code is maintained here unless you delete >@@ -132,7 +132,7 @@ > # providing a directory. Permissions will be modified as needed IF the > # directory exists, otherwise logging will be disabled. NNNN is the > # increment at the time the log is created. Logs are thus sequential. >-#PORT_LOGDIR=/var/log/portage >+#PORT_LOGDIR=/@affix@var/log/portage > # > # PORTDIR_OVERLAY is a directory where local ebuilds may be stored without > # concern that they will be deleted by rsync updates. Default is not >@@ -143,7 +143,7 @@ > # ============== > # > # If you need to set a proxy for wget or lukemftp, add the appropriate "export >-# ftp_proxy=<proxy>" and "export http_proxy=<proxy>" lines to /etc/profile if >+# ftp_proxy=<proxy>" and "export http_proxy=<proxy>" lines to /@affix@etc/profile if > # all users on your system should use them. > # > # Portage uses wget by default. Here are some settings for some alternate >@@ -151,12 +151,12 @@ > # will be available. > # > # Default fetch command (5 tries, passive ftp for firewall compatibility) >-#FETCHCOMMAND="/usr/bin/wget -t 5 --passive-ftp \${URI} -P \${DISTDIR}" >-#RESUMECOMMAND="/usr/bin/wget -c -t 5 --passive-ftp \${URI} -P \${DISTDIR}" >+#FETCHCOMMAND="@WGET@ -t 5 --passive-ftp \${URI} -P \${DISTDIR}" >+#RESUMECOMMAND="@WGET@ -c -t 5 --passive-ftp \${URI} -P \${DISTDIR}" > # > # Using wget, ratelimiting downloads >-#FETCHCOMMAND="/usr/bin/wget -t 5 --passive-ftp --limit-rate=200k \${URI} -P \${DISTDIR}" >-#RESUMECOMMAND="/usr/bin/wget -c -t 5 --passive-ftp --limit-rate=200k \${URI} -P \${DISTDIR}" >+#FETCHCOMMAND="@WGET@ -t 5 --passive-ftp --limit-rate=200k \${URI} -P \${DISTDIR}" >+#RESUMECOMMAND="@WGET@ -c -t 5 --passive-ftp --limit-rate=200k \${URI} -P \${DISTDIR}" > # > # Lukemftp (BSD ftp): > #FETCHCOMMAND="/usr/bin/lukemftp -s -a -o \${DISTDIR}/\${FILE} \${URI}" >@@ -260,7 +260,7 @@ > # 'distcc' enables distcc support via CC. > # 'distlocks' enables distfiles locking using fcntl or hardlinks. This > # is enabled by default. Tools exist to help clean the locks >-# after crashes: /usr/lib/portage/bin/clean_locks. >+# after crashes: @PORTAGE_BASE@/bin/clean_locks. > # 'fixpackages' allows portage to fix binary packages that are stored in > # PKGDIR. This can consume a lot of time. 'fixpackages' is > # also a script that can be run at any given time to force >@@ -295,7 +295,7 @@ > # 2G, and will be set if not defined otherwise and ccache is in features. > # Portage will set the default ccache dir if it is not present in the > # user's environment, for userpriv it sets: ${PORTAGE_TMPDIR}/ccache >-# (/var/tmp/ccache), and for regular use the default is /root/.ccache. >+# (/@affix@var/tmp/ccache), and for regular use the default is /root/.ccache. > # Sizes are specified with 'G' 'M' or 'K'. > # '2G' for 2 gigabytes, '2048M' for 2048 megabytes (same as 2G). > #CCACHE_SIZE="512M" >@@ -308,4 +308,4 @@ > # consideration. This may cause dependency failures if you are not careful. > # The file format is one pattern per line, blanks and ';' or '#' lines are > # comments. See 'man rsync' for more details on the exclude-from format. >-#RSYNC_EXCLUDEFROM=/etc/portage/rsync_excludes >+#RSYNC_EXCLUDEFROM=/@affix@etc/portage/rsync_excludes >diff -ruN portage-cvs/cnf/make.globals portage-salomon/cnf/make.globals >--- portage-cvs/cnf/make.globals 2005-02-26 08:21:14.000000000 +0100 >+++ portage-salomon/cnf/make.globals 2005-03-22 09:10:36.000000000 +0100 >@@ -16,22 +16,22 @@ > SYNC="rsync://rsync.gentoo.org/gentoo-portage" > > # Host-type >-CHOST=i686-pc-linux-gnu >-PORTAGE_TMPDIR=/var/tmp >+CHOST="@target@" >+PORTAGE_TMPDIR=/@affix@var/tmp > >-PORTDIR=/usr/portage >+PORTDIR=@prefix@/portage > DISTDIR=${PORTDIR}/distfiles > PKGDIR=${PORTDIR}/packages > RPMDIR=${PORTDIR}/rpm >-CONFIG_PROTECT="/etc /var/qmail/control /usr/share/config /usr/kde/2/share/config /usr/kde/3/share/config" >-CONFIG_PROTECT_MASK="/etc/gconf" >+CONFIG_PROTECT="/@affix@etc /@affix@var/qmail/control @prefix@/share/config @prefix@/kde/2/share/config @prefix@/kde/3/share/config" >+CONFIG_PROTECT_MASK="/@affix@etc/gconf" > > # Options passed to make during the build process > MAKEOPTS="-j2" > > # Fetching command (5 tries, passive ftp for firewall compatibility) >-FETCHCOMMAND="/usr/bin/wget -t 5 --passive-ftp -P \${DISTDIR} \${URI}" >-RESUMECOMMAND="/usr/bin/wget -c -t 5 --passive-ftp -P \${DISTDIR} \${URI}" >+FETCHCOMMAND="@WGET@ -t 5 --passive-ftp -P \${DISTDIR} \${URI}" >+RESUMECOMMAND="@WGET@ -c -t 5 --passive-ftp -P \${DISTDIR} \${URI}" > > CFLAGS="-O2 -mcpu=i686 -pipe" > CXXFLAGS=${CFLAGS} >diff -ruN portage-cvs/cnf/make.globals.alpha portage-salomon/cnf/make.globals.alpha >--- portage-cvs/cnf/make.globals.alpha 2005-02-26 08:21:14.000000000 +0100 >+++ portage-salomon/cnf/make.globals.alpha 2005-03-22 09:10:36.000000000 +0100 >@@ -15,22 +15,22 @@ > GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/Linux/distributions/gentoo" > SYNC="rsync://rsync.gentoo.org/gentoo-portage" > # Host-type >-CHOST="alpha-unknown-linux-gnu" >-PORTAGE_TMPDIR=/var/tmp >+CHOST="@target@" >+PORTAGE_TMPDIR=/@affix@var/tmp > >-PORTDIR=/usr/portage >+PORTDIR=@prefix@/portage > DISTDIR=${PORTDIR}/distfiles > PKGDIR=${PORTDIR}/packages > RPMDIR=${PORTDIR}/rpm >-CONFIG_PROTECT="/etc /var/qmail/control /usr/share/config /usr/kde/2/share/config /usr/kde/3/share/config" >-CONFIG_PROTECT_MASK="/etc/gconf" >+CONFIG_PROTECT="/@affix@etc /@affix@var/qmail/control @prefix@/share/config @prefix@/kde/2/share/config @prefix@/kde/3/share/config" >+CONFIG_PROTECT_MASK="/@affix@etc/gconf" > > # Options passed to make during the build process > MAKEOPTS="-j2" > > # Fetching command (5 tries, passive ftp for firewall compatibility) >-FETCHCOMMAND="/usr/bin/wget -t 5 --passive-ftp -P \${DISTDIR} \${URI}" >-RESUMECOMMAND="/usr/bin/wget -c -t 5 --passive-ftp -P \${DISTDIR} \${URI}" >+FETCHCOMMAND="@WGET@ -t 5 --passive-ftp -P \${DISTDIR} \${URI}" >+RESUMECOMMAND="@WGET@ -c -t 5 --passive-ftp -P \${DISTDIR} \${URI}" > > CFLAGS="-O2 -pipe" > CXXFLAGS=${CFLAGS} >diff -ruN portage-cvs/cnf/make.globals.amd64 portage-salomon/cnf/make.globals.amd64 >--- portage-cvs/cnf/make.globals.amd64 2005-02-26 08:21:14.000000000 +0100 >+++ portage-salomon/cnf/make.globals.amd64 2005-03-22 09:10:36.000000000 +0100 >@@ -15,22 +15,22 @@ > GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/Linux/distributions/gentoo" > SYNC="rsync://rsync.gentoo.org/gentoo-portage" > # Host-type >-CHOST=x86_64-pc-linux-gnu >-PORTAGE_TMPDIR=/var/tmp >+CHOST="@target@" >+PORTAGE_TMPDIR=/@affix@var/tmp > >-PORTDIR=/usr/portage >+PORTDIR=@prefix@/portage > DISTDIR=${PORTDIR}/distfiles > PKGDIR=${PORTDIR}/packages > RPMDIR=${PORTDIR}/rpm >-CONFIG_PROTECT="/etc /var/qmail/control /usr/share/config /usr/kde/2/share/config /usr/kde/3/share/config" >-CONFIG_PROTECT_MASK="/etc/gconf" >+CONFIG_PROTECT="/@affix@etc /@affix@var/qmail/control @prefix@/share/config @prefix@/kde/2/share/config @prefix@/kde/3/share/config" >+CONFIG_PROTECT_MASK="/@affix@etc/gconf" > > # Options passed to make during the build process > MAKEOPTS="-j2" > > # Fetching command (5 tries, passive ftp for firewall compatibility) >-FETCHCOMMAND="/usr/bin/wget -t 5 --passive-ftp -P \${DISTDIR} \${URI}" >-RESUMECOMMAND="/usr/bin/wget -c -t 5 --passive-ftp -P \${DISTDIR} \${URI}" >+FETCHCOMMAND="@WGET@ -t 5 --passive-ftp -P \${DISTDIR} \${URI}" >+RESUMECOMMAND="@WGET@ -c -t 5 --passive-ftp -P \${DISTDIR} \${URI}" > > CFLAGS="-march=x86-64 -O2 -pipe" > CXXFLAGS=${CFLAGS} >diff -ruN portage-cvs/cnf/make.globals.arm portage-salomon/cnf/make.globals.arm >--- portage-cvs/cnf/make.globals.arm 2005-02-26 08:21:14.000000000 +0100 >+++ portage-salomon/cnf/make.globals.arm 2005-03-22 09:10:36.000000000 +0100 >@@ -15,22 +15,22 @@ > GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/Linux/distributions/gentoo" > SYNC="rsync://rsync.gentoo.org/gentoo-portage" > # Host-type >-CHOST=arm-unknown-linux-gnu >-PORTAGE_TMPDIR=/var/tmp >+CHOST="@target@" >+PORTAGE_TMPDIR=/@affix@var/tmp > >-PORTDIR=/usr/portage >+PORTDIR=@prefix@/portage > DISTDIR=${PORTDIR}/distfiles > PKGDIR=${PORTDIR}/packages > RPMDIR=${PORTDIR}/rpm >-CONFIG_PROTECT="/etc /var/qmail/control /usr/share/config /usr/kde/2/share/config /usr/kde/3/share/config" >-CONFIG_PROTECT_MASK="/etc/gconf" >+CONFIG_PROTECT="/@affix@etc /@affix@var/qmail/control @prefix@/share/config @prefix@/kde/2/share/config @prefix@/kde/3/share/config" >+CONFIG_PROTECT_MASK="/@affix@etc/gconf" > > # Options passed to make during the build process > MAKEOPTS="-j2" > > # Fetching command (5 tries, passive ftp for firewall compatibility) >-FETCHCOMMAND="/usr/bin/wget -t 5 --passive-ftp -P \${DISTDIR} \${URI}" >-RESUMECOMMAND="/usr/bin/wget -c -t 5 --passive-ftp -P \${DISTDIR} \${URI}" >+FETCHCOMMAND="@WGET@ -t 5 --passive-ftp -P \${DISTDIR} \${URI}" >+RESUMECOMMAND="@WGET@ -c -t 5 --passive-ftp -P \${DISTDIR} \${URI}" > > CFLAGS="-O2 -mcpu=strongarm110 -pipe" > CXXFLAGS=${CFLAGS} >diff -ruN portage-cvs/cnf/make.globals.hppa portage-salomon/cnf/make.globals.hppa >--- portage-cvs/cnf/make.globals.hppa 2005-02-26 08:21:14.000000000 +0100 >+++ portage-salomon/cnf/make.globals.hppa 2005-03-22 09:10:36.000000000 +0100 >@@ -15,22 +15,22 @@ > GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/Linux/distributions/gentoo" > SYNC="rsync://rsync.gentoo.org/gentoo-portage" > # Host-type >-CHOST=hppa-unknown-linux-gnu >-PORTAGE_TMPDIR=/var/tmp >+CHOST="@target@" >+PORTAGE_TMPDIR=/@affix@var/tmp > >-PORTDIR=/usr/portage >+PORTDIR=@prefix@/portage > DISTDIR=${PORTDIR}/distfiles > PKGDIR=${PORTDIR}/packages > RPMDIR=${PORTDIR}/rpm >-CONFIG_PROTECT="/etc /var/qmail/control /usr/share/config /usr/kde/2/share/config /usr/kde/3/share/config" >-CONFIG_PROTECT_MASK="/etc/gconf" >+CONFIG_PROTECT="/@affix@etc /@affix@var/qmail/control @prefix@/share/config @prefix@/kde/2/share/config @prefix@/kde/3/share/config" >+CONFIG_PROTECT_MASK="/@affix@etc/gconf" > > # Options passed to make during the build process > MAKEOPTS="-j2" > > # Fetching command (5 tries, passive ftp for firewall compatibility) >-FETCHCOMMAND="/usr/bin/wget -t 5 --passive-ftp -P \${DISTDIR} \${URI}" >-RESUMECOMMAND="/usr/bin/wget -c -t 5 --passive-ftp -P \${DISTDIR} \${URI}" >+FETCHCOMMAND="@WGET@ -t 5 --passive-ftp -P \${DISTDIR} \${URI}" >+RESUMECOMMAND="@WGET@ -c -t 5 --passive-ftp -P \${DISTDIR} \${URI}" > > CFLAGS="-O2 -pipe" > CXXFLAGS="-O1 -pipe" >diff -ruN portage-cvs/cnf/make.globals.ia64 portage-salomon/cnf/make.globals.ia64 >--- portage-cvs/cnf/make.globals.ia64 2005-02-26 08:21:14.000000000 +0100 >+++ portage-salomon/cnf/make.globals.ia64 2005-03-22 09:10:36.000000000 +0100 >@@ -15,22 +15,22 @@ > GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/Linux/distributions/gentoo" > SYNC="rsync://rsync.gentoo.org/gentoo-portage" > # Host-type >-CHOST=ia64-unknown-linux-gnu >-PORTAGE_TMPDIR=/var/tmp >+CHOST="@target@" >+PORTAGE_TMPDIR=/@affix@var/tmp > >-PORTDIR=/usr/portage >+PORTDIR=@prefix@/portage > DISTDIR=${PORTDIR}/distfiles > PKGDIR=${PORTDIR}/packages > RPMDIR=${PORTDIR}/rpm >-CONFIG_PROTECT="/etc /var/qmail/control /usr/share/config /usr/kde/2/share/config /usr/kde/3/share/config" >-CONFIG_PROTECT_MASK="/etc/gconf" >+CONFIG_PROTECT="/@affix@etc /@affix@var/qmail/control @prefix@/share/config @prefix@/kde/2/share/config @prefix@/kde/3/share/config" >+CONFIG_PROTECT_MASK="/@affix@etc/gconf" > > # Options passed to make during the build process > MAKEOPTS="-j2" > > # Fetching command (5 tries, passive ftp for firewall compatibility) >-FETCHCOMMAND="/usr/bin/wget -t 5 --passive-ftp -P \${DISTDIR} \${URI}" >-RESUMECOMMAND="/usr/bin/wget -c -t 5 --passive-ftp -P \${DISTDIR} \${URI}" >+FETCHCOMMAND="@WGET@ -t 5 --passive-ftp -P \${DISTDIR} \${URI}" >+RESUMECOMMAND="@WGET@ -c -t 5 --passive-ftp -P \${DISTDIR} \${URI}" > > CFLAGS="-O2 -pipe" > CXXFLAGS=${CFLAGS} >diff -ruN portage-cvs/cnf/make.globals.mac portage-salomon/cnf/make.globals.mac >--- portage-cvs/cnf/make.globals.mac 2005-02-26 08:21:14.000000000 +0100 >+++ portage-salomon/cnf/make.globals.mac 2005-03-22 09:10:36.000000000 +0100 >@@ -15,15 +15,15 @@ > GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/Linux/distributions/gentoo" > SYNC="rsync://rsync.gentoo.org/gentoo-portage" > # Host-type >-CHOST=ppc-darwin >-PORTAGE_TMPDIR=/var/tmp >+CHOST="@target@" >+PORTAGE_TMPDIR=/@affix@var/tmp > >-PORTDIR=/usr/portage >+PORTDIR=@prefix@/portage > DISTDIR=${PORTDIR}/distfiles > PKGDIR=${PORTDIR}/packages > RPMDIR=${PORTDIR}/rpm >-CONFIG_PROTECT="/etc /var/qmail/control /usr/share/config /usr/kde/2/share/config /usr/kde/3/share/config" >-CONFIG_PROTECT_MASK="/etc/gconf" >+CONFIG_PROTECT="/@affix@etc /@affix@var/qmail/control @prefix@/share/config @prefix@/kde/2/share/config @prefix@/kde/3/share/config" >+CONFIG_PROTECT_MASK="/@affix@etc/gconf" > > # Options passed to make during the build process > MAKEOPTS="-j2" >diff -ruN portage-cvs/cnf/make.globals.mips portage-salomon/cnf/make.globals.mips >--- portage-cvs/cnf/make.globals.mips 2005-02-26 08:21:14.000000000 +0100 >+++ portage-salomon/cnf/make.globals.mips 2005-03-22 09:10:36.000000000 +0100 >@@ -15,22 +15,22 @@ > GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/Linux/distributions/gentoo" > SYNC="rsync://rsync.gentoo.org/gentoo-portage" > # Host-type >-CHOST="mips-unknown-linux-gnu" >-PORTAGE_TMPDIR=/var/tmp >+CHOST="@target@" >+PORTAGE_TMPDIR=/@affix@var/tmp > >-PORTDIR=/usr/portage >+PORTDIR=@prefix@/portage > DISTDIR=${PORTDIR}/distfiles > PKGDIR=${PORTDIR}/packages > RPMDIR=${PORTDIR}/rpm >-CONFIG_PROTECT="/etc /var/qmail/control /usr/share/config /usr/kde/2/share/config /usr/kde/3/share/config" >-CONFIG_PROTECT_MASK="/etc/gconf" >+CONFIG_PROTECT="/@affix@etc /@affix@var/qmail/control @prefix@/share/config @prefix@/kde/2/share/config @prefix@/kde/3/share/config" >+CONFIG_PROTECT_MASK="/@affix@etc/gconf" > > # Options passed to make during the build process > MAKEOPTS="-j2" > > # Fetching command (5 tries, passive ftp for firewall compatibility) >-FETCHCOMMAND="/usr/bin/wget -t 5 --passive-ftp -P \${DISTDIR} \${URI}" >-RESUMECOMMAND="/usr/bin/wget -c -t 5 --passive-ftp -P \${DISTDIR} \${URI}" >+FETCHCOMMAND="@WGET@ -t 5 --passive-ftp -P \${DISTDIR} \${URI}" >+RESUMECOMMAND="@WGET@ -c -t 5 --passive-ftp -P \${DISTDIR} \${URI}" > > CFLAGS="-O2 -pipe" > CXXFLAGS=${CFLAGS} >diff -ruN portage-cvs/cnf/make.globals.ppc portage-salomon/cnf/make.globals.ppc >--- portage-cvs/cnf/make.globals.ppc 2005-02-26 08:21:14.000000000 +0100 >+++ portage-salomon/cnf/make.globals.ppc 2005-03-22 09:10:36.000000000 +0100 >@@ -15,22 +15,22 @@ > GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/Linux/distributions/gentoo" > SYNC="rsync://rsync.gentoo.org/gentoo-portage" > # Host-type >-CHOST="powerpc-unknown-linux-gnu" >-PORTAGE_TMPDIR=/var/tmp >+CHOST="@target@" >+PORTAGE_TMPDIR=/@affix@var/tmp > >-PORTDIR=/usr/portage >+PORTDIR=@prefix@/portage > DISTDIR=${PORTDIR}/distfiles > PKGDIR=${PORTDIR}/packages > RPMDIR=${PORTDIR}/rpm >-CONFIG_PROTECT="/etc /var/qmail/control /usr/share/config /usr/kde/2/share/config /usr/kde/3/share/config" >-CONFIG_PROTECT_MASK="/etc/gconf" >+CONFIG_PROTECT="/@affix@etc /@affix@var/qmail/control @prefix@/share/config @prefix@/kde/2/share/config @prefix@/kde/3/share/config" >+CONFIG_PROTECT_MASK="/@affix@etc/gconf" > > # Options passed to make during the build process > MAKEOPTS="-j2" > > # Fetching command (5 tries, passive ftp for firewall compatibility) >-FETCHCOMMAND="/usr/bin/wget -t 5 --passive-ftp -P \${DISTDIR} \${URI}" >-RESUMECOMMAND="/usr/bin/wget -c -t 5 --passive-ftp -P \${DISTDIR} \${URI}" >+FETCHCOMMAND="@WGET@ -t 5 --passive-ftp -P \${DISTDIR} \${URI}" >+RESUMECOMMAND="@WGET@ -c -t 5 --passive-ftp -P \${DISTDIR} \${URI}" > > CFLAGS="-O2 -pipe" > CXXFLAGS=${CFLAGS} >diff -ruN portage-cvs/cnf/make.globals.ppc64 portage-salomon/cnf/make.globals.ppc64 >--- portage-cvs/cnf/make.globals.ppc64 2005-01-03 17:26:07.000000000 +0100 >+++ portage-salomon/cnf/make.globals.ppc64 2005-03-22 09:10:36.000000000 +0100 >@@ -15,22 +15,22 @@ > GENTOO_MIRRORS="http://gentoo.osuosl.org http://distro.ibiblio.org/pub/Linux/distributions/gentoo" > SYNC="rsync://rsync.gentoo.org/gentoo-portage" > # Host-type >-CHOST="powerpc64-unknown-linux-gnu" >-PORTAGE_TMPDIR=/var/tmp >+CHOST="@target@" >+PORTAGE_TMPDIR=/@affix@var/tmp > >-PORTDIR=/usr/portage >+PORTDIR=@prefix@/portage > DISTDIR=${PORTDIR}/distfiles > PKGDIR=${PORTDIR}/packages > RPMDIR=${PORTDIR}/rpm >-CONFIG_PROTECT="/etc /var/qmail/control /usr/share/config /usr/kde/2/share/config /usr/kde/3/share/config" >-CONFIG_PROTECT_MASK="/etc/gconf" >+CONFIG_PROTECT="/@affix@etc /@affix@var/qmail/control @prefix@/share/config @prefix@/kde/2/share/config @prefix@/kde/3/share/config" >+CONFIG_PROTECT_MASK="/@affix@etc/gconf" > > # Options passed to make during the build process > MAKEOPTS="-j2" > > # Fetching command (5 tries, passive ftp for firewall compatibility) >-FETCHCOMMAND="/usr/bin/wget -t 5 --passive-ftp -P \${DISTDIR} \${URI}" >-RESUMECOMMAND="/usr/bin/wget -c -t 5 --passive-ftp -P \${DISTDIR} \${URI}" >+FETCHCOMMAND="@WGET@ -t 5 --passive-ftp -P \${DISTDIR} \${URI}" >+RESUMECOMMAND="@WGET@ -c -t 5 --passive-ftp -P \${DISTDIR} \${URI}" > > CFLAGS="-O2 -pipe" > CXXFLAGS=${CFLAGS} >diff -ruN portage-cvs/cnf/make.globals.s390 portage-salomon/cnf/make.globals.s390 >--- portage-cvs/cnf/make.globals.s390 2005-02-26 08:21:14.000000000 +0100 >+++ portage-salomon/cnf/make.globals.s390 2005-03-22 09:10:36.000000000 +0100 >@@ -15,22 +15,22 @@ > GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/Linux/distributions/gentoo" > SYNC="rsync://rsync.gentoo.org/gentoo-portage" > # Host-type >-CHOST=s390-ibm-linux-gnu >-PORTAGE_TMPDIR=/var/tmp >+CHOST="@target@" >+PORTAGE_TMPDIR=/@affix@var/tmp > >-PORTDIR=/usr/portage >+PORTDIR=@prefix@/portage > DISTDIR=${PORTDIR}/distfiles > PKGDIR=${PORTDIR}/packages > RPMDIR=${PORTDIR}/rpm >-CONFIG_PROTECT="/etc /var/qmail/control /usr/share/config /usr/kde/2/share/config /usr/kde/3/share/config" >-CONFIG_PROTECT_MASK="/etc/gconf" >+CONFIG_PROTECT="/@affix@etc /@affix@var/qmail/control @prefix@/share/config @prefix@/kde/2/share/config @prefix@/kde/3/share/config" >+CONFIG_PROTECT_MASK="/@affix@etc/gconf" > > # Options passed to make during the build process > MAKEOPTS="-j2" > > # Fetching command (5 tries, passive ftp for firewall compatibility) >-FETCHCOMMAND="/usr/bin/wget -t 5 --passive-ftp -P \${DISTDIR} \${URI}" >-RESUMECOMMAND="/usr/bin/wget -c -t 5 --passive-ftp -P \${DISTDIR} \${URI}" >+FETCHCOMMAND="@WGET@ -t 5 --passive-ftp -P \${DISTDIR} \${URI}" >+RESUMECOMMAND="@WGET@ -c -t 5 --passive-ftp -P \${DISTDIR} \${URI}" > > CFLAGS="-O2 -pipe" > CXXFLAGS=${CFLAGS} >diff -ruN portage-cvs/cnf/make.globals.sh portage-salomon/cnf/make.globals.sh >--- portage-cvs/cnf/make.globals.sh 2004-11-14 06:45:57.000000000 +0100 >+++ portage-salomon/cnf/make.globals.sh 2005-03-22 09:10:36.000000000 +0100 >@@ -15,22 +15,22 @@ > GENTOO_MIRRORS="http://gentoo.osuosl.org http://distro.ibiblio.org/pub/Linux/distributions/gentoo" > SYNC="rsync://rsync.gentoo.org/gentoo-portage" > # Host-type >-CHOST=sh-unknown-linux-gnu >-PORTAGE_TMPDIR=/var/tmp >+CHOST="@target@" >+PORTAGE_TMPDIR=/@affix@var/tmp > >-PORTDIR=/usr/portage >+PORTDIR=@prefix@/portage > DISTDIR=${PORTDIR}/distfiles > PKGDIR=${PORTDIR}/packages > RPMDIR=${PORTDIR}/rpm >-CONFIG_PROTECT="/etc /var/qmail/control /usr/share/config /usr/kde/2/share/config /usr/kde/3/share/config" >-CONFIG_PROTECT_MASK="/etc/gconf" >+CONFIG_PROTECT="/@affix@etc /@affix@var/qmail/control @prefix@/share/config @prefix@/kde/2/share/config @prefix@/kde/3/share/config" >+CONFIG_PROTECT_MASK="/@affix@etc/gconf" > > # Options passed to make during the build process > MAKEOPTS="-j2" > > # Fetching command (5 tries, passive ftp for firewall compatibility) >-FETCHCOMMAND="/usr/bin/wget -t 5 --passive-ftp -P \${DISTDIR} \${URI}" >-RESUMECOMMAND="/usr/bin/wget -c -t 5 --passive-ftp -P \${DISTDIR} \${URI}" >+FETCHCOMMAND="@WGET@ -t 5 --passive-ftp -P \${DISTDIR} \${URI}" >+RESUMECOMMAND="@WGET@ -c -t 5 --passive-ftp -P \${DISTDIR} \${URI}" > > CFLAGS="-Os -pipe" > CXXFLAGS=${CFLAGS} >diff -ruN portage-cvs/cnf/make.globals.sparc portage-salomon/cnf/make.globals.sparc >--- portage-cvs/cnf/make.globals.sparc 2005-02-26 08:21:14.000000000 +0100 >+++ portage-salomon/cnf/make.globals.sparc 2005-03-22 09:10:36.000000000 +0100 >@@ -15,22 +15,22 @@ > GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/Linux/distributions/gentoo" > SYNC="rsync://rsync.gentoo.org/gentoo-portage" > # Host-type >-CHOST="sparc-unknown-linux-gnu" >-PORTAGE_TMPDIR=/var/tmp >+CHOST="@target@" >+PORTAGE_TMPDIR=/@affix@var/tmp > >-PORTDIR=/usr/portage >+PORTDIR=@prefix@/portage > DISTDIR=${PORTDIR}/distfiles > PKGDIR=${PORTDIR}/packages > RPMDIR=${PORTDIR}/rpm >-CONFIG_PROTECT="/etc /var/qmail/control /usr/share/config /usr/kde/2/share/config /usr/kde/3/share/config" >-CONFIG_PROTECT_MASK="/etc/gconf" >+CONFIG_PROTECT="/@affix@etc /@affix@var/qmail/control @prefix@/share/config @prefix@/kde/2/share/config @prefix@/kde/3/share/config" >+CONFIG_PROTECT_MASK="/@affix@etc/gconf" > > # Options passed to make during the build process > MAKEOPTS="-j2" > > # Fetching command (5 tries, passive ftp for firewall compatibility) >-FETCHCOMMAND="/usr/bin/wget -t 5 --passive-ftp -P \${DISTDIR} \${URI}" >-RESUMECOMMAND="/usr/bin/wget -c -t 5 --passive-ftp -P \${DISTDIR} \${URI}" >+FETCHCOMMAND="@WGET@ -t 5 --passive-ftp -P \${DISTDIR} \${URI}" >+RESUMECOMMAND="@WGET@ -c -t 5 --passive-ftp -P \${DISTDIR} \${URI}" > > CFLAGS="-O2 -pipe" > CXXFLAGS=${CFLAGS} >diff -ruN portage-cvs/cnf/make.globals.x86 portage-salomon/cnf/make.globals.x86 >--- portage-cvs/cnf/make.globals.x86 2005-02-26 08:21:14.000000000 +0100 >+++ portage-salomon/cnf/make.globals.x86 2005-03-21 13:40:29.000000000 +0100 >@@ -15,22 +15,22 @@ > GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/Linux/distributions/gentoo" > SYNC="rsync://rsync.gentoo.org/gentoo-portage" > # Host-type >-CHOST=i686-pc-linux-gnu >-PORTAGE_TMPDIR=/var/tmp >+CHOST="@target@" >+PORTAGE_TMPDIR=/@affix@var/tmp > >-PORTDIR=/usr/portage >+PORTDIR=@prefix@/portage > DISTDIR=${PORTDIR}/distfiles > PKGDIR=${PORTDIR}/packages > RPMDIR=${PORTDIR}/rpm >-CONFIG_PROTECT="/etc /var/qmail/control /usr/share/config /usr/kde/2/share/config /usr/kde/3/share/config" >-CONFIG_PROTECT_MASK="/etc/gconf" >+CONFIG_PROTECT="/@affix@etc /@affix@var/qmail/control @prefix@/share/config @prefix@/kde/2/share/config @prefix@/kde/3/share/config" >+CONFIG_PROTECT_MASK="/@affix@etc/gconf" > > # Options passed to make during the build process > MAKEOPTS="-j2" > > # Fetching command (5 tries, passive ftp for firewall compatibility) >-FETCHCOMMAND="/usr/bin/wget -t 5 --passive-ftp -P \${DISTDIR} \${URI}" >-RESUMECOMMAND="/usr/bin/wget -c -t 5 --passive-ftp -P \${DISTDIR} \${URI}" >+FETCHCOMMAND="@WGET@ -t 5 --passive-ftp -P \${DISTDIR} \${URI}" >+RESUMECOMMAND="@WGET@ -c -t 5 --passive-ftp -P \${DISTDIR} \${URI}" > > CFLAGS="-O2 -mcpu=i686 -pipe" > CXXFLAGS=${CFLAGS} >diff -ruN portage-cvs/cnf/make.globals.x86-fbsd portage-salomon/cnf/make.globals.x86-fbsd >--- portage-cvs/cnf/make.globals.x86-fbsd 2005-02-23 01:22:13.000000000 +0100 >+++ portage-salomon/cnf/make.globals.x86-fbsd 2005-03-22 09:10:36.000000000 +0100 >@@ -15,15 +15,15 @@ > GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/Linux/distributions/gentoo" > SYNC="rsync://rsync.gentoo.org/gentoo-portage" > # Host-type >-CHOST=i686-unknown-freebsd5.3 >-PORTAGE_TMPDIR=/var/tmp >+CHOST="@target@" >+PORTAGE_TMPDIR=/@affix@var/tmp > >-PORTDIR=/usr/portage >+PORTDIR=@prefix@/portage > DISTDIR=${PORTDIR}/distfiles > PKGDIR=${PORTDIR}/packages > RPMDIR=${PORTDIR}/rpm >-CONFIG_PROTECT="/etc /var/qmail/control /usr/share/config /usr/kde/2/share/config /usr/kde/3/share/config" >-CONFIG_PROTECT_MASK="/etc/gconf" >+CONFIG_PROTECT="/@affix@etc /@affix@var/qmail/control @prefix@/share/config @prefix@/kde/2/share/config @prefix@/kde/3/share/config" >+CONFIG_PROTECT_MASK="/@affix@etc/gconf" > > # Options passed to make during the build process > MAKEOPTS="-j2" >diff -ruN portage-cvs/configure.in portage-salomon/configure.in >--- portage-cvs/configure.in 2004-11-20 16:16:54.000000000 +0100 >+++ portage-salomon/configure.in 2005-04-15 11:55:03.000000000 +0200 >@@ -1,11 +1,24 @@ > dnl Process this file with autoconf to produce a configure script. >-AC_INIT(portage, cvs, dev-portage@gentoo.org) >+AC_INIT(portage, 2.1_pre, dev-portage@gentoo.org) >+ >+case "${prefix}" in >+"") AC_MSG_ERROR(bad value '${prefix}' for --prefix, must not be empty) ;; >+/) AC_MSG_ERROR(bad value '${prefix}' for --prefix, must not be '/' only) ;; >+*/) AC_MSG_ERROR(bad value '${prefix}' for --prefix, must not end with '/') ;; >+/*|NONE) ;; >+*) AC_MSG_ERROR(bad value '${prefix}' for --prefix, must start with /) ;; >+esac >+ >+AC_CANONICAL_BUILD >+AC_CANONICAL_HOST >+AC_CANONICAL_TARGET >+ > AM_INIT_AUTOMAKE > dnl AM_CONFIG_HEADER(config.h) > > dnl Checks for programs. > dnl store clfags prior, otherwise it's not propogaed. >-if test x$CFLAGS != x >+if test "x$CFLAGS" != "x" > then > CFLAGS=$CFLAGS > fi >@@ -13,6 +26,66 @@ > AC_PREFIX_DEFAULT([/usr]) > AC_PROG_CC > AC_PROG_INSTALL >+AC_PROG_LN_S >+AX_PATH_EGREP >+case `${EGREP} --version 2>/dev/null` in >+*"GNU grep"*) ;; >+*) >+ AC_MSG_ERROR([Need GNU grep for ${EGREP}]) >+ ;; >+esac >+AX_PATH_XCU_ID([required]) >+AC_PATH_PROG(RM, rm, /bin/rm) >+AC_PATH_PROG(MV, mv, /bin/mv) >+AC_PATH_PROGS(SED, [gsed sed], /usr/bin/sed) >+ >+dnl when /bin/sh is bash, then BASH is set to /bin/sh >+test "${BASH}" != "/bin/sh" || $as_unset BASH >+AC_PATH_PROGS(BASH, [bash2 bash], /bin/bash) >+ >+dnl >=python-2.2, but prefer path .../python >+AC_PATH_PROG(PYTHON, [python], /usr/bin/python) >+AX_WITH_PYTHON([2.2], [missing]) >+if test "x${PYTHON}" = "xmissing"; then >+ PYTHON= >+ AC_PATH_PROGS(PYTHON, >+ [python2.4 python2.3 python2.2 python2 python], >+ [/usr/bin/python]) >+ AX_WITH_PYTHON([2.2], [missing]) >+fi >+if test "x${PYTHON}" = "xmissing"; then >+ AC_MSG_ERROR([cannot find python version >= 2.2]) >+fi >+ >+AC_PATH_PROG(PERL, perl, [/usr/bin/perl]) >+AC_PROG_PERL_VERSION([5.6.0], , [PERL=]) >+if test "x${PERL}" = "x"; then >+ AC_PATH_PROGS(PERL, [perl5.8.6 perl5.8.5 perl5.8.4 perl5.8.3 perl5.8.2 \ >+ perl5.8.1 perl5.8.0 perl5.8 perl5.6.1 perl5.6.0 perl5.6 perl5 perl], >+ [/usr/bin/perl]) >+ AC_PROG_PERL_VERSION([5.6.0], , >+ [AC_MSG_ERROR([cannot find a perl version >= 5.6.0])] >+ ) >+fi >+ >+AC_PATH_PROG(BASENAME, basename, /bin/basename) >+AC_PATH_PROG(DIRNAME, dirname, /usr/bin/dirname) >+AC_PATH_PROG(DIALOG, dialog, /usr/bin/dialog) >+AC_PATH_PROG(WGET, wget, /usr/bin/wget) >+AC_PATH_PROG(INSTALL_INFO, install-info, /usr/bin/install-info) >+AC_PATH_PROG(SANDBOX, sandbox, /usr/bin/sandbox) >+AC_PATH_PROG(PRELINK, prelink, /usr/sbin/prelink) >+AC_PATH_PROG(RSYNC, rsync, /usr/bin/rsync) >+AC_PATH_PROG(CVS, cvs, /usr/bin/cvs) >+AC_PATH_PROGS(GPG, [gpg pgp], /usr/bin/gpg) >+AC_PATH_PROG(INSTALL_INFO, install-info, /usr/bin/install-info) >+AC_PATH_PROG(MD5SUM, md5sum, /usr/bin/md5sum) >+AC_PATH_PROG(LOGGER, logger, /usr/bin/logger) >+AC_PATH_PROG(FIND, find, /usr/bin/find) >+AC_PATH_PROG(FILE, file, /usr/bin/file) >+AC_PATH_PROG(READELF, readelf, /usr/bin/readelf) >+AC_PATH_PROG(SETFILES, setfiles, /usr/sbin/setfiles) >+AC_PATH_PROG(FAKEROOT, fakeroot, /usr/bin/fakeroot) > > dnl Checks for libraries. > dnl Replace `main' with a function in -lc: >@@ -28,7 +101,7 @@ > AC_HEADER_DIRENT > AC_HEADER_STDC > AC_HEADER_SYS_WAIT >-AC_CHECK_HEADERS(fcntl.h limits.h strings.h sys/file.h sys/time.h unistd.h) >+AC_CHECK_HEADERS(fcntl.h limits.h strings.h sys/file.h sys/time.h unistd.h getopt.h) > > dnl Checks for typedefs, structures, and compiler characteristics. > AC_C_CONST >@@ -78,6 +151,38 @@ > esac], > [enable_py_sources=true]) > >+AC_ARG_WITH(user, >+AC_HELP_STRING([--with-user=me],[use user 'me' for portage to work as (default portage)]), >+[case "${withval}" in >+ ""|yes) AC_MSG_ERROR(bad value ${withval} for --with-user);; >+ *) portageuser="${withval}";; >+esac], >+[portageuser="portage"]) >+ >+AC_ARG_WITH(group, >+AC_HELP_STRING([--with-group=mygroup],[use group 'mygroup' for portage to work as (default portage)]), >+[case "${withval}" in >+ ""|yes) AC_MSG_ERROR(bad value ${withval} for --with-group);; >+ *) portagegroup="${withval}";; >+esac], >+[portagegroup="portage"]) >+ >+AC_ARG_WITH(wheelgroup, >+AC_HELP_STRING([--with-wheelgroup=wheelgroup],[let portage use 'wheelgroup' as wheel group (default wheel)]), >+[case "${withval}" in >+ ""|yes) AC_MSG_ERROR(bad value ${withval} for --with-wheelgroup);; >+ *) wheelgroup="${withval}";; >+esac], >+[wheelgroup="wheel"]) >+ >+AC_ARG_WITH(rootuser, >+AC_HELP_STRING([--with-rootuser=me],[allows 'me' to do root tasks (default root)]), >+[case "${withval}" in >+ ""|yes) AC_MSG_ERROR(bad value ${withval} for --with-rootuser);; >+ *) rootuser=${withval};; >+esac], >+[rootuser=root]) >+ > if test x$enable_missingos = xauto > then > pyver=[`python -c 'import sys;print sys.version[0:3]';`] >@@ -89,17 +194,77 @@ > esac > fi > >+dnl according to FHS: >+dnl if prefix=/usr then '/'+affix = '/' >+dnl else '/'+affix=prefix+'/' >+dnl >+dnl "${affix}" never starts with '/', but "/${affix}" always ends with '/' >+AC_MSG_CHECKING([for affix to be used]) >+case "${prefix}" in >+/usr|NONE) affix= ;; >+*) affix=`echo "${prefix}" | cut -c2-`'/' ;; >+esac >+AC_MSG_RESULT(['${affix}']) >+ >+AC_MSG_CHECKING([for ARCH to be used]) >+dnl detect ARCH from target_cpu >+case "${target_cpu}" in >+i?86) ARCH=x86 ;; >+sparc*) ARCH=sparc ;; >+hppa*) ARCH=hppa ;; >+powerpc*) ARCH=ppc ;; >+dnl don't know more target_cpus yet... >+*) AC_MSG_RESULT([unknown]) >+ AC_MSG_CHECKING([for default ARCH to be used]) >+ ARCH=${target_cpu} ;; >+esac >+AC_MSG_RESULT([${ARCH}]) >+ > AC_CONFIG_FILES([ Makefile ]) >+AC_CONFIG_FILES([ subst-install ]) >+AC_CONFIG_FILES([ subst-install.vars.in ]) > AC_CONFIG_FILES([ src/Makefile ]) > AC_CONFIG_FILES([ src/filter-env/Makefile ]) > AC_CONFIG_FILES([ man/Makefile ]) > AC_CONFIG_FILES([ src/python-missingos/Makefile ]) > AC_CONFIG_FILES([ bin/Makefile ]) > AC_CONFIG_FILES([ pym/Makefile ]) >+AC_CONFIG_FILES([ cnf/Makefile ]) > >-AC_SUBST(PORTAGE_BASE,"/usr/lib/portage") >+AC_SUBST(affix) >+AC_SUBST(portageuser) >+AC_SUBST(portagegroup) >+AC_SUBST(wheelgroup) >+AC_SUBST(rootuser) >+AC_SUBST(ARCH) >+AC_SUBST(PORTAGE_BASE,['${libdir}/portage']) > AM_CONDITIONAL(INSTALL_PYTHON_SOURCES, test x$enable_py_sources = xtrue) > AM_CONDITIONAL(BUILD_TBZ2TOOL, test x$enable_tbz2tool = xtrue) > AM_CONDITIONAL(BUILD_MISSINGOS, test x$enable_missingos = xtrue) > AM_CONDITIONAL(BUILD_FILTER_ENV, test x$enable_filter_env = xtrue) >+ >+AC_MSG_CHECKING([for a list of variables known by configure]) >+rm -f subst-install.vars.in.in.tmp >+pt_configvars=`grep '^s,@' ${srcdir}/configure | sed -e 's|^s,@\([[^@]][[^@]]*\)@.*$|\1|'` >+{ >+ pt_all_configurevars= >+ for pt_configvar in ${pt_configvars} >+ do >+ echo "${pt_configvar}=@${pt_configvar}@" >+ pt_all_configurevars="${pt_all_configurevars} ${pt_configvar}" >+ done >+ >+ echo "all_configurevars='${pt_all_configurevars}'" >+ >+} > subst-install.vars.in.in.tmp >+diff ${srcdir}/subst-install.vars.in.in subst-install.vars.in.in.tmp >/dev/null >+if [[ $? != 0 ]] >+then >+ rm -f ${srcdir}/subst-install.vars.in.in >+ cp subst-install.vars.in.in.tmp ${srcdir}/subst-install.vars.in.in >+fi >+rm -f subst-install.vars.in.in.tmp >+$as_unset pt_configvar pt_configvars pt_all_configurevars >+AC_MSG_RESULT([ok]) >+ > AC_OUTPUT >diff -ruN portage-cvs/man/Makefile.am portage-salomon/man/Makefile.am >--- portage-cvs/man/Makefile.am 2004-12-28 23:46:17.000000000 +0100 >+++ portage-salomon/man/Makefile.am 2005-03-19 21:55:23.000000000 +0100 >@@ -11,3 +11,5 @@ > repoman.1 > > EXTRA_DIST = $(man_MANS) >+ >+MAINTAINERCLEANFILES = Makefile.in >diff -ruN portage-cvs/pym/Makefile.in portage-salomon/pym/Makefile.in >--- portage-cvs/pym/Makefile.in 2004-11-20 16:16:54.000000000 +0100 >+++ portage-salomon/pym/Makefile.in 2005-04-08 13:50:53.000000000 +0200 >@@ -1,24 +1,73 @@ >-INSTALL = @INSTALL@ >-INSTALL_PY = @INSTALL_DATA@ -D -g portage -o 0 >-PORTAGE_PYM = @PORTAGE_BASE@/pym >-DESTDIR = @DESTDIR@ >-INSTALL_PYTHON_SOURCES = @INSTALL_PYTHON_SOURCES@ >- >-compile: >- python -c 'import compileall; compileall.compile_dir(".")' || exit 1 >-clean: >- find . -type f -name '*.pyc' -exec rm {} \; >- >-install: compile >- $(INSTALL) -d -m755 -o 0 -g portage $(DESTDIR)/$(PORTAGE_PYM) || exit 1 >- if test -n "$(INSTALL_PYTHON_SOURCES)"; then \ >- find . -type f -name '*.py' -exec $(INSTALL_PY) {} $(DESTDIR)/$(PORTAGE_PYM)/{} \; || exit 1; \ >- fi >- find . -type f -name '*.pyc' -exec $(INSTALL_PY) {} $(DESTDIR)/$(PORTAGE_PYM)/{} \; || exit 1 >+prefix = @prefix@ >+exec_prefix = @exec_prefix@ >+libdir = @libdir@ >+PYTHON = @PYTHON@ > >-all: compile >+srcdir=@srcdir@ >+top_builddir=@top_builddir@ >+ >+portageuser = @portageuser@ >+portagegroup = @portagegroup@ >+ >+PORTAGE_PYM = @PORTAGE_BASE@/pym >+INSTALL = @INSTALL@ >+INSTALL_PY = @INSTALL_DATA@ -o $(portageuser) -g $(portagegroup) >+INSTALL_PYsubst = $(SHELL) ${top_builddir}/subst-install --installcmd='${INSTALL_PY}' >+ >+list_sourcedir_dirs = \ >+ ( cd ${srcdir} \ >+ && find . -name 'CVS' -prune \ >+ -o -type d -print \ >+ ) >+ >+list_sourcedir = \ >+ ( cd ${srcdir} \ >+ && find . -name 'CVS' -prune \ >+ -o -name '.\#*' -prune \ >+ -o -type f -name '*.py' -print \ >+ ) >+ >+all: >+ >+install: >+ $(INSTALL) -d -m755 -o $(portageuser) -g $(portagegroup) $(DESTDIR)$(PORTAGE_PYM) >+ $(list_sourcedir_dirs) | while read f \ >+ ; do echo $(INSTALL) -d -m755 -o $(portageuser) -g $(portagegroup) $(DESTDIR)$(PORTAGE_PYM)/$${f} \ >+ ; $(INSTALL) -d -m755 -o $(portageuser) -g $(portagegroup) $(DESTDIR)$(PORTAGE_PYM)/$${f} \ >+ ; done >+ $(list_sourcedir) | while read f \ >+ ; do echo $(INSTALL_PYsubst) ${srcdir}/$${f} $(DESTDIR)$(PORTAGE_PYM)/$${f} \ >+ ; $(INSTALL_PYsubst) ${srcdir}/$${f} $(DESTDIR)$(PORTAGE_PYM)/$${f} \ >+ ; done >+ $(PYTHON) -c 'import compileall; compileall.compile_dir("$(DESTDIR)$(PORTAGE_PYM)")' >+ $(PYTHON) -O -c 'import compileall; compileall.compile_dir("$(DESTDIR)$(PORTAGE_PYM)")' >+@INSTALL_PYTHON_SOURCES_FALSE@ $(list_sourcedir) | while read f \ >+@INSTALL_PYTHON_SOURCES_FALSE@ ; do rm -f $(DESTDIR)$(PORTAGE_PYM)/$${f} \ >+@INSTALL_PYTHON_SOURCES_FALSE@ ; done > > distdir: >- find -type f -name '*.py' -exec $(INSTALL) -D {} $(distdir)/{} \; >- >-.PHONY: distdir install clean >+ $(list_sourcedir_dirs) | while read f \ >+ ; do echo $(INSTALL) -d $(distdir)/$${f} \ >+ ; $(INSTALL) -d $(distdir)/$${f} \ >+ ; done >+ $(list_sourcedir) | while read f \ >+ ; do echo $(INSTALL) ${srcdir}/$${f} $(distdir)/$${f} \ >+ ; $(INSTALL) ${srcdir}/$${f} $(distdir)/$${f} \ >+ ; done >+ >+uninstall: >+ $(list_sourcedir) | while read f \ >+ ; do echo rm -f $(DESTDIR)$(PORTAGE_PYM)/$${f} \ >+ ; rm -f $(DESTDIR)$(PORTAGE_PYM)/$${f} \ >+ ; echo rm -f $(DESTDIR)$(PORTAGE_PYM)/$${f}c \ >+ ; rm -f $(DESTDIR)$(PORTAGE_PYM)/$${f}c \ >+ ; echo rm -f $(DESTDIR)$(PORTAGE_PYM)/$${f}o \ >+ ; rm -f $(DESTDIR)$(PORTAGE_PYM)/$${f}o \ >+ ; done >+ >+all dvi check installcheck: >+clean distclean maintainer-clean: >+ >+.PHONY: all install distdir >+.PHONY: dvi check installcheck >+.PHONY: clean distclean maintainer-clean >diff -ruN portage-cvs/pym/config.py portage-salomon/pym/config.py >--- portage-cvs/pym/config.py 2005-03-08 13:04:31.000000000 +0100 >+++ portage-salomon/pym/config.py 2005-04-07 13:56:21.000000000 +0200 >@@ -1,14 +1,15 @@ > import os, copy, re > import portage_const >+from portage_const import PROFILE_PATH,DEPCACHE_PATH,MODULES_FILE_PATH \ >+ ,CUSTOM_PROFILE_PATH,USER_CONFIG_PATH,MYROOT,ROOT,MAKE_CONF_FILE > import sys #has a few daft sys.exit > > import portage_util, portage_versions, portage_dep > from portage_util import getconfig, grabfile, grab_multiple, grabfile_package, grabdict, writemsg, grabdict_package, \ > abssymlink, flatten > >- > from portage_file import listdir >-from portage_data import portage_gid >+import portage_data > > class config: > def clone(self, clone): >@@ -49,7 +50,7 @@ > self.treeVirtuals = copy.deepcopy(clone.treeVirtuals) > self.userVirtuals = copy.deepcopy(clone.userVirtuals) > >- def __init__(self, clone=None, mycpv=None, config_profile_path=portage_const.PROFILE_PATH, config_incrementals=None): >+ def __init__(self, clone=None, mycpv=None, config_profile_path=MYROOT(PROFILE_PATH), config_incrementals=None): > > self.already_in_regenerate = 0 > >@@ -64,10 +65,10 @@ > if clone: > self.clone( clone ) > else: >- self.depcachedir = portage_const.DEPCACHE_PATH >+ self.depcachedir = MYROOT(DEPCACHE_PATH) > > if not os.path.exists(config_profile_path): >- writemsg("config_profile_path not specified to class config\n") >+ writemsg("config_profile_path '"+config_profile_path+"' not specified to class config\n") > sys.exit(1) > self.profile_path = config_profile_path > >@@ -81,7 +82,7 @@ > > self.module_priority = ["user","default"] > self.modules = {} >- self.modules["user"] = getconfig(portage_const.MODULES_FILE_PATH) >+ self.modules["user"] = getconfig(MYROOT(MODULES_FILE_PATH)) > if self.modules["user"] == None: > self.modules["user"] = {} > self.modules["default"] = { >@@ -112,8 +113,8 @@ > pass > else: > # XXX: This should depend on ROOT? >- if os.path.exists("/"+portage_const.CUSTOM_PROFILE_PATH): >- self.profiles.append("/"+portage_const.CUSTOM_PROFILE_PATH) >+ if os.path.exists(MYROOT(CUSTOM_PROFILE_PATH)): >+ self.profiles.append(MYROOT(CUSTOM_PROFILE_PATH)) > > self.packages_list = grab_multiple("packages", self.profiles, grabfile_package) > self.packages = stack_lists(self.packages_list, incremental=1) >@@ -138,7 +139,7 @@ > del use_defs_lists > > try: >- mygcfg_dlists = grab_multiple("make.globals", self.profiles+["/etc"], getconfig) >+ mygcfg_dlists = grab_multiple("make.globals", self.profiles+[MYROOT("etc")], getconfig) > self.mygcfg = stack_dicts(mygcfg_dlists, incrementals=portage_const.INCREMENTALS, ignore_none=1) > > if self.mygcfg == None: >@@ -165,7 +166,7 @@ > raise > except Exception, e: > writemsg("!!! %s\n" % (e)) >- writemsg("!!! 'rm -Rf /usr/portage/profiles; emerge sync' may fix this. If it does\n") >+ writemsg("!!! 'rm -Rf @prefix@/portage/profiles; emerge sync' may fix this. If it does\n") > writemsg("!!! not then please report this to bugs.gentoo.org and, if possible, a dev\n") > writemsg("!!! on #gentoo (irc.freenode.org)\n") > sys.exit(1) >@@ -174,7 +175,7 @@ > > try: > # XXX: Should depend on root? >- self.mygcfg=getconfig("/"+portage_const.MAKE_CONF_FILE) >+ self.mygcfg=getconfig(MYROOT(MAKE_CONF_FILE)) > if self.mygcfg == None: > self.mygcfg = {} > except SystemExit, e: >@@ -217,13 +218,13 @@ > self.pkeywordsdict = {} > self.punmaskdict = {} > else: >- locations = [self["PORTDIR"] + "/profiles", portage_const.USER_CONFIG_PATH] >+ locations = [self["PORTDIR"] + "/profiles", MYROOT(USER_CONFIG_PATH)] > > # Never set anything in this. It's for non-originals. >- self.pusedict=grabdict_package(portage_const.USER_CONFIG_PATH+"/package.use") >+ self.pusedict=grabdict_package(MYROOT(USER_CONFIG_PATH+"/package.use")) > > #package.keywords >- pkgdict=grabdict_package(portage_const.USER_CONFIG_PATH+"/package.keywords") >+ pkgdict=grabdict_package(MYROOT(USER_CONFIG_PATH+"/package.keywords")) > self.pkeywordsdict = {} > > for key in pkgdict.keys(): >@@ -244,7 +245,7 @@ > self.pkeywordsdict[cp][key] = pkgdict[key] > > #package.unmask >- pkgunmasklines = grabfile_package(portage_const.USER_CONFIG_PATH+"/package.unmask") >+ pkgunmasklines = grabfile_package(MYROOT(USER_CONFIG_PATH+"/package.unmask")) > self.punmaskdict = {} > for x in pkgunmasklines: > mycatpkg=portage_dep.dep_getkey(x) >@@ -257,7 +258,7 @@ > del categories > > # get virtuals -- needs categories >- self.loadVirtuals('/') >+ self.loadVirtuals(MYROOT) > > #package.mask > # Don't enable per profile package.mask unless the profile >@@ -309,8 +310,14 @@ > #prepend db to list to get correct order > self.uvlist.insert(0,self.configdict[x]) > >- self.configdict["env"]["PORTAGE_GID"]=str(portage_gid) >- self.backupenv["PORTAGE_GID"]=str(portage_gid) >+ # set environment variables PORTAGE_UID, PORTAGE_GID, ... >+ # from portage_data.portage_uid, portage_data.portage_gid, ... >+ for n in ["uid", "gid", "user", "group", "rootuser", "wheelgroup"]: >+ nu = n.upper() >+ exec('self.configdict["env"]["PORTAGE_'+nu >+ +'"]=str(portage_data.portage_'+n+')') >+ exec('self.backupenv["PORTAGE_'+nu >+ +'"]=str(portage_data.portage_'+n+')') > > if self.has_key("PORT_LOGDIR") and not self["PORT_LOGDIR"]: > # port_logdir is defined, but empty. this causes a traceback in doebuild. >@@ -589,7 +596,7 @@ > # This breaks catalyst/portage when setting to a fresh/empty root. > # Virtuals cannot be calculated because there is nothing to work > # from. So the only ROOT prefixed dir should be local configs. >- #myvirtdirs = prefix_array(self.profiles,myroot+"/") >+ #myvirtdirs = prefix_array(self.profiles,myroot("/")) > myvirtdirs = copy.deepcopy(self.profiles) > > self.treeVirtuals = {} >@@ -597,15 +604,15 @@ > # Repoman should ignore these. > user_profile_dir = None > if os.environ.get("PORTAGE_CALLER","") != "repoman": >- user_profile_dir = myroot+portage_const.USER_CONFIG_PATH >+ user_profile_dir = myroot(USER_CONFIG_PATH) > > # XXX: Removing this as virtuals and profile/virtuals behave > # differently. portage/profile/virtuals overrides the default > # virtuals but are overridden by installed virtuals whereas > # portage/virtuals overrides everything. > >- #if os.path.exists("/etc/portage/virtuals"): >- # writemsg("\n\n*** /etc/portage/virtuals should be moved to /etc/portage/profile/virtuals\n") >+ #if os.path.exists(MYROOT("etc/portage/virtuals")): >+ # writemsg("\n\n*** "+MYROOT("etc/portage/virtuals")+" should be moved to "MYROOT("etc/portage/profile/virtuals")+"\n") > # writemsg("*** Please correct this by merging or moving the file. (Deprecation notice)\n\n") > # time.sleep(1) > >@@ -669,7 +676,7 @@ > pass > > elif mykey == "CONFIG_PROTECT_MASK": >- match += " /etc/env.d" >+ match += " "+MYROOT("etc/env.d") > > return match > >diff -ruN portage-cvs/pym/dcdialog.py portage-salomon/pym/dcdialog.py >--- portage-cvs/pym/dcdialog.py 2005-02-26 07:35:20.000000000 +0100 >+++ portage-salomon/pym/dcdialog.py 2005-03-09 17:16:29.000000000 +0100 >@@ -69,7 +69,7 @@ > # > # Path of the dialog executable > # >-DIALOG="/usr/bin/dialog" >+DIALOG="@DIALOG@" > > > class Dialog: >diff -ruN portage-cvs/pym/dispatch_conf.py portage-salomon/pym/dispatch_conf.py >--- portage-cvs/pym/dispatch_conf.py 2005-02-26 07:35:20.000000000 +0100 >+++ portage-salomon/pym/dispatch_conf.py 2005-03-19 21:55:23.000000000 +0100 >@@ -10,8 +10,9 @@ > from stat import * > import os, sys, commands, shutil > >-sys.path = ["/usr/lib/portage/pym"]+sys.path >+sys.path = ["@PORTAGE_BASE@/pym"]+sys.path > import portage >+from portage import MYROOT, ROOT > > RCS_BRANCH = '1.1.1' > RCS_LOCK = 'rcs -ko -M -l' >@@ -23,17 +24,17 @@ > > def read_config(mandatory_opts): > try: >- opts = portage.getconfig('/etc/dispatch-conf.conf') >+ opts = portage.getconfig(MYROOT('etc/dispatch-conf.conf')) > except: > opts = None > > if not opts: >- print >> sys.stderr, 'dispatch-conf: Error reading /etc/dispatch-conf.conf; fatal' >+ print >> sys.stderr, 'dispatch-conf: Error reading '+MYROOT('etc/dispatch-conf.conf')+'; fatal' > sys.exit(1) > > for key in mandatory_opts: > if not opts.has_key(key): >- print >> sys.stderr, 'dispatch-conf: Missing option "%s" in /etc/dispatch-conf.conf; fatal' % (key,) >+ print >> sys.stderr, 'dispatch-conf: Missing option "%s" in '+MYROOT('etc/dispatch-conf.conf')+'; fatal' % (key,) > > if not (os.path.exists(opts['archive-dir']) and os.path.isdir(opts['archive-dir'])): > print >> sys.stderr, 'dispatch-conf: Config archive dir [%s] must exist; fatal' % (opts['archive-dir'],) >diff -ruN portage-cvs/pym/ebuild.py portage-salomon/pym/ebuild.py >--- portage-cvs/pym/ebuild.py 2005-04-13 00:37:12.000000000 +0200 >+++ portage-salomon/pym/ebuild.py 2005-04-15 13:08:32.000000000 +0200 >@@ -1,4 +1,4 @@ >-#!/usr/bin/python >+#! @PYTHON@ > # ebuild.py; Ebuild classes/abstraction of phase processing, and communicating with a ebuild-daemon.sh instance > # Copyright 2004 Gentoo Foundation > # Distributed under the terms of the GNU General Public License v2 >@@ -132,7 +132,9 @@ > > # since it's questionable which spawn method we'll use (if sandbox or fakeroot fex), > # we ensure the bashrc is invalid. >- env={"BASHRC":"/etc/portage/spork/not/valid/ha/ha"} >+ env={"BASHRC":ROOT(INVALID_ENV_FILE) >+ ,"PORTAGE_BASE":"@PORTAGE_BASE@" >+ } > args = [] > if sandbox: > if fakeroot: >@@ -140,7 +142,8 @@ > sys.exit(1) > self.__sandbox = True > spawn_func = portage_exec.spawn_sandbox >- env.update({"SANDBOX_DEBUG":"1","SANDBOX_DEBUG_LOG":"/var/tmp/test"}) >+ env.update({"SANDBOX_DEBUG":"1" >+ ,"SANDBOX_DEBUG_LOG":ROOT("var/tmp/test")}) > > elif fakeroot: > self.__fakeroot = True >@@ -149,7 +152,7 @@ > else: > spawn_func = portage_exec.spawn > >- self.pid = spawn_func(self.ebd+" daemonize", fd_pipes={0:0, 1:1, 2:2, 3:cread, 4:dwrite}, >+ self.pid = spawn_func(self.ebd+" daemonize", fd_pipes={0:0, 1:1, 2:2, 3:3, 4:4, 5:cread, 6:dwrite}, > returnpid=True,env=env, *args, **spawn_opts)[0] > > os.close(cread) >@@ -336,7 +339,7 @@ > # python with a basic bash wrapper that calls back to this. > # all credit for the approach goes to him, as stated, this is just an implementation of it. > # bugs should be thrown at ferringb. >- def load_confcache(self,transfer_to,confcache=portage_const.CONFCACHE_FILE, >+ def load_confcache(self,transfer_to,confcache=ROOT(CONFCACHE_FILE), > confcache_list=portage_const.CONFCACHE_LIST): > """verifys a requested conf cache, removing the global cache if it's stale. > The handler should be the only one to call this""" >@@ -435,7 +438,7 @@ > portage_locks.unlockfile(lock) > return valid > >- def update_confcache(self,settings,logfile,new_confcache, confcache=portage_const.CONFCACHE_FILE, \ >+ def update_confcache(self,settings,logfile,new_confcache, confcache=ROOT(CONFCACHE_FILE), \ > confcache_list=portage_const.CONFCACHE_LIST): > """internal function called when a processor has finished a configure, and wishes its cache > be transferred to the global cache >@@ -504,7 +507,7 @@ > self.__ebp.write("updated") > return 0 > >- def get_keys(self,myebuild,mysettings,myroot="/"): >+ def get_keys(self,myebuild,mysettings,myroot=portage_const.MYROOT): > """request the auxdbkeys from an ebuild > returns a dict when successful, None when failed""" > # print "getting keys for %s" % myebuild >@@ -593,8 +596,10 @@ > # due to how it's coded... Don't overwrite this so we can use it. > mysettings["PORTAGE_DEBUG"]=str(debug) > >- mysettings["ROOT"] = myroot >- >+ mysettings["ROOT"] = myroot.root() >+ mysettings["AFFIX"] = myroot.affix() >+ mysettings["PREFIX"] = myroot.prefix() >+ > mysettings["EBUILD"] = ebuild_path > mysettings["O"] = pkg_dir > mysettings["CATEGORY"] = cat >@@ -603,7 +608,7 @@ > > mysettings["ECLASSDIR"] = mysettings["PORTDIR"]+"/eclass" > >- mysettings["PROFILE_PATHS"] = PROFILE_PATH+"\n"+CUSTOM_PROFILE_PATH >+ mysettings["PROFILE_PATHS"] = MYROOT(PROFILE_PATH)+"\n"+MYROOT(CUSTOM_PROFILE_PATH) > mysettings["P"] = mysplit[0]+"-"+mysplit[1] > mysettings["PN"] = mysplit[0] > mysettings["PV"] = mysplit[1] >@@ -625,7 +630,7 @@ > > if mydo!="depend": > try: >- mysettings["INHERITED"],mysettings["RESTRICT"] = db[root][tree].dbapi.aux_get( >+ mysettings["INHERITED"],mysettings["RESTRICT"] = db[root()][tree].dbapi.aux_get( > mycpv,["INHERITED","RESTRICT"]) > > mysettings["PORTAGE_RESTRICT"]=string.join(flatten(portage_dep.use_reduce( >@@ -669,13 +674,13 @@ > # if clean, just flat out skip the rest of this crap. > return 0 > >- mysettings["PORTAGE_BASHRC"] = EBUILD_SH_ENV_FILE >+ mysettings["PORTAGE_BASHRC"] = ROOT(EBUILD_SH_ENV_FILE) > > #set up KV variable -- DEP SPEEDUP :: Don't waste time. Keep var persistent. > > if mydo not in ["depend","fetch","digest","manifest"]: > if not mysettings.has_key("KV"): >- mykv,err1=ExtractKernelVersion(root+"usr/src/linux") >+ mykv,err1=ExtractKernelVersion(root.root("usr/src/linux")) > if mykv: > # Regular source tree > mysettings["KV"]=mykv >@@ -708,8 +713,8 @@ > #fetch/digest crap > if mydo not in ["prerm","postrm","preinst","postinst","config","help","setup","unmerge"]: > >- newuris, alist = db["/"]["porttree"].dbapi.getfetchlist(mycpv,mysettings=mysettings) >- alluris, aalist = db["/"]["porttree"].dbapi.getfetchlist(mycpv,mysettings=mysettings,all=1) >+ newuris, alist = db[MYROOT()]["porttree"].dbapi.getfetchlist(mycpv,mysettings=mysettings) >+ alluris, aalist = db[MYROOT()]["porttree"].dbapi.getfetchlist(mycpv,mysettings=mysettings,all=1) > mysettings["A"]=string.join(alist," ") > mysettings["AA"]=string.join(aalist," ") > if ("mirror" in features) or fetchall: >@@ -864,6 +869,7 @@ > portage_exec.spawn("chown -R "+str(portage_uid)+":"+str(portage_gid)+" "+mysettings["CCACHE_DIR"]) > portage_exec.spawn("chmod -R g+rw "+mysettings["CCACHE_DIR"]) > except (OSError, IOError): >+ print "*** Error while adjusting "+mysettings["CCACHE_DIR"]+" ccache permissions for "+`portage_uid`+"/"+`portage_gid`+" user..." > pass > > if "distcc" in features: >@@ -901,7 +907,7 @@ > os.chmod(mysettings["PORT_LOGDIR"],00770) > if not mysettings.has_key("LOG_PF") or (mysettings["LOG_PF"] != mysettings["PF"]): > mysettings["LOG_PF"]=mysettings["PF"] >- mysettings["LOG_COUNTER"]=str(db[myroot]["vartree"].dbapi.get_counter_tick_core("/")) >+ mysettings["LOG_COUNTER"]=str(db[myroot()]["vartree"].dbapi.get_counter_tick_core(MYROOT)) > mysettings["PORTAGE_LOGFILE"]="%s/%s-%s.log" % (mysettings["PORT_LOGDIR"],mysettings["LOG_COUNTER"],mysettings["LOG_PF"]) > if os.path.exists(mysettings["PORTAGE_LOGFILE"]): > os.chmod(mysettings["PORTAGE_LOGFILE"], 0664) >@@ -932,7 +938,7 @@ > # return spawn(EBUILD_SH_BINARY+" "+mydo,mysettings,debug=debug,free=1,logfile=logfile) > > try: >- mysettings["SLOT"], mysettings["RESTRICT"] = db["/"]["porttree"].dbapi.aux_get(mycpv,["SLOT","RESTRICT"]) >+ mysettings["SLOT"], mysettings["RESTRICT"] = db[MYROOT()]["porttree"].dbapi.aux_get(mycpv,["SLOT","RESTRICT"]) > except (IOError,KeyError): > print red("doebuild():")+" aux_get() error reading "+mycpv+"; aborting." > sys.exit(1) >@@ -1207,9 +1213,14 @@ > # to make the fakeroot (claimed) permissions/owners a reality. > if use_fakeroot and os.path.exists(mysettings["T"]+"/fakeroot_db") and merging: > print "correcting fakeroot privs" >- retval=portage_exec.spawn(("/usr/lib/portage/bin/affect-fakeroot-perms.sh", \ >+ retval=portage_exec.spawn(("@PORTAGE_BASE@/bin/affect-fakeroot-perms.sh", \ > mysettings["T"]+"/fakeroot_db", \ >- mysettings["D"]),env={"BASHRC":portage_const.INVALID_ENV_FILE}) >+ mysettings["D"]) >+ ,env={"BASHRC":MYROOT(INVALID_ENV_FILE) >+ ,"AFFIX":ROOT.affix >+ ,"PREFIX":ROOT.prefix >+ ,"PORTAGE_BASE":"@PORTAGE_BASE@" >+ }) > if retval or retval == None: > print red("!!!")+"affecting fakeroot perms after the fact failed" > return retval >diff -ruN portage-cvs/pym/emergehelp.py portage-salomon/pym/emergehelp.py >--- portage-cvs/pym/emergehelp.py 2005-02-26 07:35:20.000000000 +0100 >+++ portage-salomon/pym/emergehelp.py 2005-03-21 13:40:29.000000000 +0100 >@@ -296,7 +296,7 @@ > print bold("Usage: ")+turquoise("emerge")+" "+turquoise("--sync") > print > print " 'emerge --sync' tells emerge to update the Portage tree as specified in" >- print " The SYNC variable found in /etc/make.conf. By default, SYNC instructs" >+ print " The SYNC variable found in /@affix@etc/make.conf. By default, SYNC instructs" > print " emerge to perform an rsync-style update with rsync.gentoo.org." > print > print " 'emerge-webrsync' exists as a helper app to emerge --sync, providing a" >@@ -329,10 +329,10 @@ > > Portage has a special feature called "config file protection". The purpose of > this feature is to prevent new package installs from clobbering existing >-configuration files. By default, config file protection is turned on for /etc >+configuration files. By default, config file protection is turned on for /@affix@etc > and the KDE configuration dirs; more may be added in the future. > >-When Portage installs a file into a protected directory tree like /etc, any >+When Portage installs a file into a protected directory tree like /@affix@etc, any > existing files will not be overwritten. If a file of the same name already > exists, Portage will change the name of the to-be- installed file from 'foo' to > '._cfg0000_foo'. If '._cfg0000_foo' already exists, this name becomes >@@ -346,21 +346,21 @@ > deleted, which is of paramount importance. > > Protected directories are set using the CONFIG_PROTECT variable, normally >-defined in /etc/make.globals. Directory exceptions to the CONFIG_PROTECTed >+defined in /@affix@tc/make.globals. Directory exceptions to the CONFIG_PROTECTed > directories can be specified using the CONFIG_PROTECT_MASK variable. To find >-files that need to be updated in /etc, type: >+files that need to be updated in /@affix@etc, type: > >-# find /etc -iname '._cfg????_*' >+# find /@affix@etc -iname '._cfg????_*' > >-You can disable this feature by setting CONFIG_PROTECT="-*" in /etc/make.conf. >+You can disable this feature by setting CONFIG_PROTECT="-*" in /@affix@etc/make.conf. > Then, Portage will mercilessly auto-update your config files. Alternatively, > you can leave Config File Protection on but tell Portage that it can overwrite >-files in certain specific /etc subdirectories. For example, if you wanted >+files in certain specific /@affix@etc subdirectories. For example, if you wanted > Portage to automatically update your rc scripts and your wget configuration, > but didn't want any other changes made without your explicit approval, you'd >-add this to /etc/make.conf: >+add this to /@affix@etc/make.conf: > >-CONFIG_PROTECT_MASK="/etc/wget /etc/rc.d" >+CONFIG_PROTECT_MASK="/@affix@etc/wget /@affix@etc/rc.d" > > etc-update is also available to aid in the merging of these files. It provides > a vimdiff interactive merging setup and can auto-merge trivial changes. >diff -ruN portage-cvs/pym/getbinpkg.py portage-salomon/pym/getbinpkg.py >--- portage-cvs/pym/getbinpkg.py 2005-02-26 07:35:20.000000000 +0100 >+++ portage-salomon/pym/getbinpkg.py 2005-03-21 13:40:29.000000000 +0100 >@@ -411,14 +411,14 @@ > keepconnection = 1 > > if makepickle == None: >- makepickle = "/var/cache/edb/metadata.idx.most_recent" >+ makepickle = "/@affix@var/cache/edb/metadata.idx.most_recent" > > conn,protocol,address,params,headers = create_conn(baseurl, conn) > > filedict = {} > > try: >- metadatafile = open("/var/cache/edb/remote_metadata.pickle") >+ metadatafile = open("/@affix@var/cache/edb/remote_metadata.pickle") > metadata = cPickle.load(metadatafile) > sys.stderr.write("Loaded metadata pickle.\n") > metadatafile.close() >@@ -492,7 +492,7 @@ > sys.stderr.write("!!! Failed to read data from index: "+str(mfile)+"\n") > sys.stderr.write("!!! "+str(e)+"\n") > try: >- metadatafile = open("/var/cache/edb/remote_metadata.pickle", "w+") >+ metadatafile = open("/@affix@var/cache/edb/remote_metadata.pickle", "w+") > cPickle.dump(metadata,metadatafile) > metadatafile.close() > except SystemExit, e: >@@ -522,7 +522,7 @@ > try: > if metadata[baseurl].has_key("modified") and metadata[baseurl]["modified"]: > metadata[baseurl]["timestamp"] = int(time.time()) >- metadatafile = open("/var/cache/edb/remote_metadata.pickle", "w+") >+ metadatafile = open("/@affix@var/cache/edb/remote_metadata.pickle", "w+") > cPickle.dump(metadata,metadatafile) > metadatafile.close() > if makepickle: >diff -ruN portage-cvs/pym/orig_dict_cache.py portage-salomon/pym/orig_dict_cache.py >--- portage-cvs/pym/orig_dict_cache.py 2004-11-10 00:20:47.000000000 +0100 >+++ portage-salomon/pym/orig_dict_cache.py 2005-03-09 17:16:29.000000000 +0100 >@@ -1,4 +1,4 @@ >-#!/usr/bin/python >+#! @PYTHON@ > # orig_dict_cache.py; older listdir caching implementation > # Copyright 1999-2004 Gentoo Foundation > # Distributed under the terms of the GNU General Public License v2 >diff -ruN portage-cvs/pym/portage.py portage-salomon/pym/portage.py >--- portage-cvs/pym/portage.py 2005-04-13 00:37:12.000000000 +0200 >+++ portage-salomon/pym/portage.py 2005-04-15 13:08:32.000000000 +0200 >@@ -91,7 +91,7 @@ > MOVE_BINARY, PRELINK_BINARY, WORLD_FILE, MAKE_CONF_FILE, MAKE_DEFAULTS_FILE, \ > DEPRECATED_PROFILE_FILE, USER_VIRTUALS_FILE, EBUILD_SH_ENV_FILE, \ > INVALID_ENV_FILE, CUSTOM_MIRRORS_FILE, SANDBOX_PIDS_FILE, CONFIG_MEMORY_FILE,\ >- INCREMENTALS, STICKIES >+ INCREMENTALS, STICKIES, MYROOT, ROOT > > from portage_data import ostype, lchown, userland, secpass, uid, wheelgid, \ > portage_uid, portage_gid >@@ -115,11 +115,12 @@ > except SystemExit, e: > raise > except Exception, e: >+ raise > sys.stderr.write("\n\n") > sys.stderr.write("!!! Failed to complete portage imports. There are internal modules for\n") > sys.stderr.write("!!! portage and failure here indicates that you have a problem with your\n") > sys.stderr.write("!!! installation of portage. Please try a rescue portage located in the\n") >- sys.stderr.write("!!! portage tree under '/usr/portage/sys-apps/portage/files/' (default).\n") >+ sys.stderr.write("!!! portage tree under '@prefix@/portage/sys-apps/portage/files/' (default).\n") > sys.stderr.write("!!! There is a README.RESCUE file that details the steps required to perform\n") > sys.stderr.write("!!! a recovery of portage.\n") > >@@ -374,11 +375,11 @@ > > #move this to config. > def env_update(root,makelinks=1): >- if not os.path.exists(root+"etc/env.d"): >+ if not os.path.exists(root("etc/env.d")): > prevmask=os.umask(0) >- os.makedirs(root+"etc/env.d",0755) >+ os.makedirs(root("etc/env.d"),0755) > os.umask(prevmask) >- fns=listdir(root+"etc/env.d") >+ fns=listdir(root("etc/env.d")) > fns.sort() > pos=0 > while (pos<len(fns)): >@@ -409,7 +410,7 @@ > # don't process backup files > if x[-1]=='~' or x[-4:]==".bak": > continue >- myconfig=getconfig(root+"etc/env.d/"+x) >+ myconfig=getconfig(root("etc/env.d/"+x)) > if myconfig==None: > writemsg("!!! Parsing error in "+str(root)+"etc/env.d/"+str(x)+"\n") > #parse error >@@ -426,8 +427,8 @@ > for myenv in myconfig.keys(): > env[myenv]=varexpand(myconfig[myenv]) > >- if os.path.exists(root+"etc/ld.so.conf"): >- myld=open(root+"etc/ld.so.conf") >+ if os.path.exists(root("etc/ld.so.conf")): >+ myld=open(root("etc/ld.so.conf")) > myldlines=myld.readlines() > myld.close() > oldld=[] >@@ -436,7 +437,7 @@ > if x[0]=="#": > continue > oldld.append(x[:-1]) >- # os.rename(root+"etc/ld.so.conf",root+"etc/ld.so.conf.bak") >+ # os.rename(root("etc/ld.so.conf"),root("etc/ld.so.conf.bak")) > # Where is the new ld.so.conf generated? (achim) > else: > oldld=None >@@ -449,9 +450,9 @@ > newld=specials["LDPATH"] > if (oldld!=newld): > #ld.so.conf needs updating and ldconfig needs to be run >- myfd=open(root+"etc/ld.so.conf","w") >+ myfd=open(root("etc/ld.so.conf"),"w") > myfd.write("# ld.so.conf autogenerated by env-update; make all changes to\n") >- myfd.write("# contents of /etc/env.d directory\n") >+ myfd.write("# contents of "+root("etc/env.d")+" directory\n") > for x in specials["LDPATH"]: > myfd.write(x+"\n") > myfd.close() >@@ -459,11 +460,11 @@ > > # Update prelink.conf if we are prelink-enabled > if prelink_capable: >- newprelink=open(root+"etc/prelink.conf","w") >+ newprelink=open(root("etc/prelink.conf"),"w") > newprelink.write("# prelink.conf autogenerated by env-update; make all changes to\n") >- newprelink.write("# contents of /etc/env.d directory\n") >+ newprelink.write("# contents of "+root("etc/env.d")+" directory\n") > >- for x in ["/bin","/sbin","/usr/bin","/usr/sbin","/lib","/usr/lib"]: >+ for x in [MYROOT("bin"),MYROOT("sbin"),MYROOT.prefix("/bin"),MYROOT.prefix("/sbin"),MYROOT("lib"),MYROOT.prefix("/lib")]: > newprelink.write("-l "+x+"\n"); > for x in specials["LDPATH"]+specials["PATH"]+specials["PRELINK_PATH"]: > if not x: >@@ -486,7 +487,7 @@ > if not mtimedb.has_key("ldpath"): > mtimedb["ldpath"]={} > >- for x in specials["LDPATH"]+['/usr/lib','/lib']: >+ for x in specials["LDPATH"]+[MYROOT.prefix('/lib'),MYROOT('lib'),'/usr/lib','/lib']: > try: > newldpathtime=os.stat(x)[stat.ST_MTIME] > except SystemExit, e: >@@ -508,14 +509,14 @@ > # an older package installed ON TOP of a newer version will cause ldconfig > # to overwrite the symlinks we just made. -X means no links. After 'clean' > # we can safely create links. >- writemsg(">>> Regenerating "+str(root)+"etc/ld.so.cache...\n") >+ writemsg(">>> Regenerating "+root("etc/ld.so.cache")+"...\n") > cwd="/" > try: cwd=os.getcwd() > except (OSError, IOError): pass > if makelinks: >- portage_exec.spawn("/sbin/ldconfig -r "+root) >+ portage_exec.spawn("/sbin/ldconfig -r "+root()) > else: >- portage_exec.spawn("/sbin/ldconfig -X -r "+root) >+ portage_exec.spawn("/sbin/ldconfig -X -r "+root()) > try: os.chdir(cwd) > except OSError: pass > >@@ -524,11 +525,11 @@ > penvnotice = "# THIS FILE IS AUTOMATICALLY GENERATED BY env-update.\n" > penvnotice += "# DO NOT EDIT THIS FILE. CHANGES TO STARTUP PROFILES\n" > cenvnotice = penvnotice >- penvnotice += "# GO INTO /etc/profile NOT /etc/profile.env\n\n" >- cenvnotice += "# GO INTO /etc/csh.cshrc NOT /etc/csh.env\n\n" >+ penvnotice += "# GO INTO "+root("etc/profile")+" NOT "+root("etc/profile.env")+"\n\n" >+ cenvnotice += "# GO INTO "+root("etc/csh.cshrc")+" NOT "+root("etc/csh.env")+"\n\n" > > #create /etc/profile.env for bash support >- outfile=open(root+"/etc/profile.env","w") >+ outfile=open(root("etc/profile.env"),"w") > outfile.write(penvnotice) > > for path, values in specials.items(): >@@ -549,7 +550,7 @@ > outfile.close() > > #create /etc/csh.env for (t)csh support >- outfile=open(root+"/etc/csh.env","w") >+ outfile=open(root("etc/csh.env"),"w") > outfile.write(cenvnotice) > > for path, values in specials.items(): >@@ -758,7 +759,7 @@ > if not isinstance(mysettings, config): > raise TypeError, "Invalid type for config object: %s" % mysettings.__class_ > >- custommirrors=grabdict(CUSTOM_MIRRORS_FILE) >+ custommirrors=grabdict(MYROOT(CUSTOM_MIRRORS_FILE)) > > mymirrors=[] > >@@ -1327,7 +1328,7 @@ > "!!! Most likely a temporary problem. Try 'emerge sync' again later.\n"+ > "!!! If you are certain of the authenticity of the file then you may type\n"+ > "!!! the following to generate a new digest:\n"+ >- "!!! ebuild /usr/portage/category/package/package-version.ebuild digest\n", >+ "!!! ebuild @prefix@/portage/category/package/package-version.ebuild digest\n", > verbosity) > return 0 > myfile=os.path.normpath(basedir+"/"+x) >@@ -1410,7 +1411,7 @@ > return 0 > > if manifest_files and strict: >- for x in grabfile(USER_CONFIG_PATH+"/manifest_excludes"): >+ for x in grabfile(MYROOT(USER_CONFIG_PATH+"/manifest_excludes")): > if x in manifest_files: > #writemsg(yellow(">>>")+" md5-ignore: "+x,verbosity) > manifest_files.remove(x) >@@ -1437,13 +1438,10 @@ > # setup > def doebuild(myebuild,mydo,myroot,mysettings,debug=0,listonly=0,fetchonly=0,cleanup=0,dbkey=None,use_cache=1,\ > fetchall=0,tree="porttree",allstages=True,use_info_env=True,verbosity=0): >- > retval = ebuild.ebuild_handler().process_phase(mydo,mysettings,myebuild,myroot, debug=debug, listonly=listonly, \ > fetchonly=fetchonly, cleanup=cleanup, use_cache=use_cache, fetchall=fetchall, tree=tree, allstages=allstages, \ > use_info_env=use_info_env,verbosity=verbosity) > >- #def doebuild(myebuild,mydo,myroot,mysettings,debug=0,listonly=0,fetchonly=0,cleanup=0,dbkey=None,use_cache=1,fetchall=0,tree="porttree",allstages=True,use_info_env=True): >-# retval=ebuild.ebuild_handler().process_phase(mydo, mysettings,myebuild,myroot,debug=debug,listonly=listonly,fetchonly=fetchonly,cleanup=cleanup,dbkey=None,use_cache=1,fetchall=0,tree="porttree",allstages=allstages,use_info_env=use_info_env) > return retval > > >@@ -1647,16 +1645,16 @@ > ##if vardbapi: > ## mydbapi=vardbapi > ##else: >- ## mydbapi=db[root]["vartree"].dbapi >- mydbapi=db[root]["vartree"].dbapi >+ ## mydbapi=db[root()]["vartree"].dbapi >+ mydbapi=db[root()]["vartree"].dbapi > >- if db["/"].has_key("porttree"): >- myportapi=db["/"]["porttree"].dbapi >+ if db[MYROOT()].has_key("porttree"): >+ myportapi=db[MYROOT()]["porttree"].dbapi > else: > myportapi=None > >- if use_binaries and db["/"].has_key("bintree"): >- mybinapi=db["/"]["bintree"].dbapi >+ if use_binaries and db[MYROOT()].has_key("bintree"): >+ mybinapi=db[MYROOT()]["bintree"].dbapi > writemsg("Using bintree...\n",2) > else: > mybinapi=None >@@ -2163,7 +2161,7 @@ > > def counter_tick_core(self,myroot,incrementing=1,mycpv=None): > "This method will grab the next COUNTER value and record it back to the global file. Returns new counter value." >- cpath=myroot+"var/cache/edb/counter" >+ cpath=myroot(CACHE_PATH+"/counter") > changed=0 > min_counter = 0 > if mycpv: >@@ -2191,7 +2189,7 @@ > counter=long(cfile.readline()) > except (ValueError,OverflowError): > try: >- counter=long(portage_exec.spawn_get_output("for FILE in $(find /"+VDB_PATH+" -type f -name COUNTER); do echo $(<${FILE}); done | sort -n | tail -n1 | tr -d '\n'",spawn_type=portage_exec.spawn_bash)[1]) >+ counter=long(portage_exec.spawn_get_output("for FILE in $(find "+MYROOT(VDB_PATH)+" -type f -name COUNTER); do echo $(<${FILE}); done | sort -n | tail -n1 | tr -d '\n'",spawn_type=portage_exec.spawn_bash)[1]) > writemsg("!!! COUNTER was corrupted; resetting to value of %d\n" % counter) > changed=1 > except (ValueError,OverflowError): >@@ -2202,7 +2200,7 @@ > cfile.close() > else: > try: >- counter=long(portage_exec.spawn_get_output("for FILE in $(find /"+VDB_PATH+" -type f -name COUNTER); do echo $(<${FILE}); done | sort -n | tail -n1 | tr -d '\n'",spawn_type=portage_exec.spawn_bash)[1]) >+ counter=long(portage_exec.spawn_get_output("for FILE in $(find "+MYROOT(VDB_PATH)+" -type f -name COUNTER); do echo $(<${FILE}); done | sort -n | tail -n1 | tr -d '\n'",spawn_type=portage_exec.spawn_bash)[1]) > writemsg("!!! Global counter missing. Regenerated from counter files to: %s\n" % counter) > except SystemExit, e: > raise >@@ -2338,12 +2336,12 @@ > > def cpv_exists(self,mykey): > "Tells us whether an actual ebuild exists on disk (no masking)" >- return os.path.exists(self.root+VDB_PATH+"/"+mykey) >+ return os.path.exists(self.root(VDB_PATH+"/"+mykey)) > > def cpv_counter(self,mycpv): > "This method will grab the COUNTER. Returns a counter value." >- cdir=self.root+VDB_PATH+"/"+mycpv >- cpath=self.root+VDB_PATH+"/"+mycpv+"/COUNTER" >+ cdir=self.root(VDB_PATH+"/"+mycpv) >+ cpath=self.root(VDB_PATH+"/"+mycpv+"/COUNTER") > > # We write our new counter value to a new file that gets moved into > # place to avoid filesystem corruption on XFS (unexpected reboot.) >@@ -2372,16 +2370,16 @@ > except SystemExit, e: > raise > except Exception, e: >- writemsg("!!! COUNTER file is missing for "+str(mycpv)+" in /var/db.\n") >- writemsg("!!! Please run /usr/lib/portage/bin/fix-db.pl or\n") >- writemsg("!!! Please run /usr/lib/portage/bin/fix-db.py or\n") >+ writemsg("!!! COUNTER file is missing for "+str(mycpv)+" in "+MYROOT("var/db")+".\n") >+ writemsg("!!! Please run @PORTAGE_BASE@/bin/fix-db.pl or\n") >+ writemsg("!!! Please run @PORTAGE_BASE@/bin/fix-db.py or\n") > writemsg("!!! unmerge this exact version.\n") > writemsg("!!! %s\n" % e) > sys.exit(1) > else: >- writemsg("!!! COUNTER file is missing for "+str(mycpv)+" in /var/db.\n") >- writemsg("!!! Please run /usr/lib/portage/bin/fix-db.pl or\n") >- writemsg("!!! Please run /usr/lib/portage/bin/fix-db.py or\n") >+ writemsg("!!! COUNTER file is missing for "+str(mycpv)+" in "+MYROOT("var/db")+".\n") >+ writemsg("!!! Please run @PORTAGE_BASE@/bin/fix-db.pl or\n") >+ writemsg("!!! Please run @PORTAGE_BASE@/bin/fix-db.py or\n") > writemsg("!!! remerge the package.\n") > sys.exit(1) > else: >@@ -2398,18 +2396,18 @@ > > def cpv_inject(self,mycpv): > "injects a real package into our on-disk database; assumes mycpv is valid and doesn't already exist" >- os.makedirs(self.root+VDB_PATH+"/"+mycpv) >- counter=db[self.root]["vartree"].dbapi.counter_tick(self.root,mycpv=mycpv) >+ os.makedirs(self.root(VDB_PATH+"/"+mycpv)) >+ counter=db[self.root()]["vartree"].dbapi.counter_tick(self.root,mycpv=mycpv) > # write local package counter so that emerge clean does the right thing >- lcfile=open(self.root+VDB_PATH+"/"+mycpv+"/COUNTER","w") >+ lcfile=open(self.root(VDB_PATH+"/"+mycpv+"/COUNTER"),"w") > lcfile.write(str(counter)) > lcfile.close() > > def isInjected(self,mycpv): > if self.cpv_exists(mycpv): >- if os.path.exists(self.root+VDB_PATH+"/"+mycpv+"/INJECTED"): >+ if os.path.exists(self.root(VDB_PATH+"/"+mycpv+"/INJECTED")): > return True >- if not os.path.exists(self.root+VDB_PATH+"/"+mycpv+"/CONTENTS"): >+ if not os.path.exists(self.root(VDB_PATH+"/"+mycpv+"/CONTENTS")): > return True > return False > >@@ -2426,14 +2424,14 @@ > if mycpsplit[3]!="r0": > mynewcpv += "-"+mycpsplit[3] > mycpsplit_new = portage_versions.catpkgsplit(mynewcpv) >- origpath=self.root+VDB_PATH+"/"+mycpv >+ origpath=self.root(VDB_PATH+"/"+mycpv) > if not os.path.exists(origpath): > continue > writemsg("@") >- if not os.path.exists(self.root+VDB_PATH+"/"+mynewcat): >+ if not os.path.exists(self.root(VDB_PATH+"/"+mynewcat)): > #create the directory >- os.makedirs(self.root+VDB_PATH+"/"+mynewcat) >- newpath=self.root+VDB_PATH+"/"+mynewcpv >+ os.makedirs(self.root(VDB_PATH+"/"+mynewcat)) >+ newpath=self.root(VDB_PATH+"/"+mynewcpv) > if os.path.exists(newpath): > #dest already exists; keep this puppy where it is. > continue >@@ -2452,7 +2450,7 @@ > catfile.write(mynewcat+"\n") > catfile.close() > >- dbdir = self.root+VDB_PATH >+ dbdir = self.root(VDB_PATH) > for catdir in listdir(dbdir): > catdir = dbdir+"/"+catdir > if os.path.isdir(catdir): >@@ -2470,7 +2468,7 @@ > if not origmatches: > return > for mycpv in origmatches: >- origpath=self.root+VDB_PATH+"/"+mycpv >+ origpath=self.root(VDB_PATH+"/"+mycpv) > if not os.path.exists(origpath): > continue > >@@ -2491,14 +2489,14 @@ > if mysplit[0] == '*': > mysplit[0] = mysplit[0][1:] > try: >- mystat=os.stat(self.root+VDB_PATH+"/"+mysplit[0])[stat.ST_MTIME] >+ mystat=os.stat(self.root(VDB_PATH+"/"+mysplit[0]))[stat.ST_MTIME] > except OSError: > mystat=0 > if use_cache and self.cpcache.has_key(mycp): > cpc=self.cpcache[mycp] > if cpc[0]==mystat: > return cpc[1] >- list=listdir(self.root+VDB_PATH+"/"+mysplit[0]) >+ list=listdir(self.root(VDB_PATH+"/"+mysplit[0])) > > if (list==None): > return [] >@@ -2509,7 +2507,7 @@ > continue > ps=portage_versions.pkgsplit(x) > if not ps: >- self.invalidentry(self.root+VDB_PATH+"/"+mysplit[0]+"/"+x) >+ self.invalidentry(self.root(VDB_PATH+"/"+mysplit[0]+"/"+x)) > continue > if len(mysplit) > 1: > if ps[0]==mysplit[1]: >@@ -2524,7 +2522,7 @@ > return list(self.iter_cpv_all(use_cache=use_cache)) > > def iter_cpv_all(self,use_cache=1): >- basepath = self.root+VDB_PATH+"/" >+ basepath = self.root(VDB_PATH+"/") > > mycats = self.categories > if mycats == None: >@@ -2546,7 +2544,7 @@ > y = y[1:] > mysplit=portage_versions.catpkgsplit(y) > if not mysplit: >- self.invalidentry(self.root+VDB_PATH+"/"+y) >+ self.invalidentry(self.root(VDB_PATH+"/"+y)) > continue > mykey=mysplit[0]+"/"+mysplit[1] > d[mysplit[0]+"/"+mysplit[1]] = None >@@ -2566,7 +2564,7 @@ > del self.matchcache[mycat] > return portage_dep.match_from_list(mydep,self.cp_list(mykey,use_cache=use_cache)) > try: >- curmtime=os.stat(self.root+VDB_PATH+"/"+mycat)[stat.ST_MTIME] >+ curmtime=os.stat(self.root(VDB_PATH+"/"+mycat))[stat.ST_MTIME] > except SystemExit, e: > raise > except: >@@ -2587,7 +2585,7 @@ > if not self.cpv_exists(mycpv): > return [] > for x in wants: >- myfn = self.root+VDB_PATH+"/"+str(mycpv)+"/"+str(x) >+ myfn = self.root(VDB_PATH+"/"+str(mycpv)+"/"+str(x)) > if os.access(myfn,os.R_OK): > myf = open(myfn, "r") > myd = myf.read() >@@ -2622,9 +2620,9 @@ > def get_provide(self,mycpv): > myprovides=[] > try: >- mylines = grabfile(self.root+VDB_PATH+"/"+mycpv+"/PROVIDE") >+ mylines = grabfile(self.root(VDB_PATH+"/"+mycpv+"/PROVIDE")) > if mylines: >- myuse = grabfile(self.root+VDB_PATH+"/"+mycpv+"/USE") >+ myuse = grabfile(self.root(VDB_PATH+"/"+mycpv+"/USE")) > myuse = " ".join(myuse).split() > mylines = " ".join(mylines) > mylines = flatten(portage_dep.use_reduce(portage_dep.paren_reduce(mylines), uselist=myuse)) >@@ -2638,7 +2636,7 @@ > raise > except Exception, e: > print >- print "Check " + self.root+VDB_PATH+"/"+mycpv+"/PROVIDE and USE." >+ print "Check " + self.root(VDB_PATH+"/"+mycpv+"/")+"PROVIDE and USE." > print "Possibly Invalid: " + str(mylines) > print "Exception: "+str(e) > print >@@ -2690,11 +2688,11 @@ > a=portage_versions.catpkgsplit(cpv) > if not a: > return 0 >- mylist=listdir(self.root+VDB_PATH+"/"+a[0]) >+ mylist=listdir(self.root(VDB_PATH+"/"+a[0])) > for x in mylist: > b=portage_versions.pkgsplit(x) > if not b: >- self.dbapi.invalidentry(self.root+VDB_PATH+"/"+a[0]+"/"+x) >+ self.dbapi.invalidentry(self.root(VDB_PATH+"/"+a[0]+"/"+x)) > continue > if a[1]==b[0]: > return 1 >@@ -2702,19 +2700,19 @@ > > def getebuildpath(self,fullpackage): > cat,package=fullpackage.split("/") >- return self.root+VDB_PATH+"/"+fullpackage+"/"+package+".ebuild" >+ return self.root(VDB_PATH+"/"+fullpackage+"/"+package+".ebuild") > > def getnode(self,mykey,use_cache=1): > mykey=key_expand(mykey,mydb=self.dbapi,use_cache=use_cache) > if not mykey: > return [] > mysplit=mykey.split("/") >- mydirlist=listdir(self.root+VDB_PATH+"/"+mysplit[0]) >+ mydirlist=listdir(self.root(VDB_PATH+"/"+mysplit[0])) > returnme=[] > for x in mydirlist: > mypsplit=portage_versions.pkgsplit(x) > if not mypsplit: >- self.dbapi.invalidentry(self.root+VDB_PATH+"/"+mysplit[0]+"/"+x) >+ self.dbapi.invalidentry(self.root(VDB_PATH+"/"+mysplit[0]+"/"+x)) > continue > if mypsplit[0]==mysplit[1]: > appendme=[mysplit[0]+"/"+x,[mysplit[0],mypsplit[0],mypsplit[1],mypsplit[2]]] >@@ -2726,7 +2724,7 @@ > "Get a slot for a catpkg; assume it exists." > myslot = "" > try: >- myslot=" ".join(grabfile(self.root+VDB_PATH+"/"+mycatpkg+"/SLOT")) >+ myslot=" ".join(grabfile(self.root(VDB_PATH+"/"+mycatpkg+"/SLOT"))) > except SystemExit, e: > raise > except Exception, e: >@@ -2737,11 +2735,11 @@ > """Does the particular node (cat/pkg key) exist?""" > mykey=key_expand(mykey,mydb=self.dbapi,use_cache=use_cache) > mysplit=mykey.split("/") >- mydirlist=listdir(self.root+VDB_PATH+"/"+mysplit[0]) >+ mydirlist=listdir(self.root(VDB_PATH+"/"+mysplit[0])) > for x in mydirlist: > mypsplit=portage_versions.pkgsplit(x) > if not mypsplit: >- self.dbapi.invalidentry(self.root+VDB_PATH+"/"+mysplit[0]+"/"+x) >+ self.dbapi.invalidentry(self.root(VDB_PATH+"/"+mysplit[0]+"/"+x)) > continue > if mypsplit[0]==mysplit[1]: > return 1 >@@ -2813,7 +2811,7 @@ > self.auxdbmodule = self.mysettings.load_best_module("portdbapi.auxdbmodule") > self.auxdb = {} > for x in self.porttrees: >- self.auxdb[x] = self.auxdbmodule(x, filtered_auxdbkeys, basepath=portage_const.DEPCACHE_PATH, >+ self.auxdb[x] = self.auxdbmodule(x, filtered_auxdbkeys, basepath=MYROOT(DEPCACHE_PATH), > gid=portage_gid) > > >@@ -3386,7 +3384,7 @@ > #we need to update this next line when we have fully integrated the new db api > auxerr=0 > try: >- myaux=db["/"]["porttree"].dbapi.aux_get(mycpv, ["KEYWORDS"]) >+ myaux=db[MYROOT()]["porttree"].dbapi.aux_get(mycpv, ["KEYWORDS"]) > except (KeyError,IOError,TypeError): > continue > if not myaux[0]: >@@ -3716,7 +3714,7 @@ > self.mysplit = portage_versions.pkgsplit(self.mycpv) > self.treetype = treetype > >- self.dbroot = os.path.normpath(myroot+VDB_PATH) >+ self.dbroot = os.path.normpath(myroot(VDB_PATH)) > self.dbcatdir = self.dbroot+"/"+cat > self.dbpkgdir = self.dbcatdir+"/"+pkg > self.dbtmpdir = self.dbcatdir+"/-MERGING-"+pkg >@@ -3755,7 +3753,7 @@ > return os.path.exists(self.dbdir) > > def create(self): >- "create the skeleton db directory structure. No contents, virtuals, provides or anything. Also will create /var/db/pkg if necessary." >+ "create the skeleton db directory structure. No contents, virtuals, provides or anything. Also will create "+MYROOT("var/db/pkg")+" if necessary." > # XXXXX Delete this eventually > raise Exception, "This is bad. Don't use it." > if not os.path.exists(self.dbdir): >@@ -3797,7 +3795,7 @@ > # we do this so we can remove from non-root filesystems > # (use the ROOT var to allow maintenance on other partitions) > try: >- mydat[1]=os.path.normpath(root+mydat[1][1:]) >+ mydat[1]=os.path.normpath(root.root(mydat[1][1:])) > if mydat[0]=="obj": > #format: type, mtime, md5sum > pkgfiles[" ".join(mydat[1:-2])]=[mydat[0], mydat[-1], mydat[-2]] >@@ -3838,16 +3836,20 @@ > #do some config file management prep > self.protect=[] > for x in self.settings["CONFIG_PROTECT"].split(): >- ppath=normpath(self.myroot+x)+"/" >- if os.path.isdir(ppath): >- self.protect.append(ppath) >+ for ppath in [ normpath(self.myroot.root(x))+"/" >+ , normpath(self.myroot(x))+"/" >+ ]: >+ if os.path.isdir(ppath): >+ self.protect.append(ppath) > > self.protectmask=[] > for x in self.settings["CONFIG_PROTECT_MASK"].split(): >- ppath=normpath(self.myroot+x)+"/" >- if os.path.isdir(ppath): >- self.protectmask.append(ppath) >- #if it doesn't exist, silently skip it >+ for ppath in [ normpath(self.myroot.root(x))+"/" >+ , normpath(self.myroot(x))+"/" >+ ]: >+ if os.path.isdir(ppath): >+ self.protectmask.append(ppath) >+ #if it doesn't exist, silently skip it > > def isprotected(self,obj): > """Checks if obj is in the current protect/mask directories. Returns >@@ -4060,16 +4062,16 @@ > #step 5: well, removal of package objects is complete, now for package *meta*-objects.... > > #remove self from vartree database so that our own virtual gets zapped if we're the last node >- db[self.myroot]["vartree"].zap(self.mycpv) >+ db[self.myroot()]["vartree"].zap(self.mycpv) > > # New code to remove stuff from the world and virtuals files when unmerged. > if trimworld: >- worldlist=grabfile(self.myroot+WORLD_FILE) >+ worldlist=grabfile(self.myroot(WORLD_FILE)) > mykey=cpv_getkey(self.mycpv) > newworldlist=[] > for x in worldlist: > if portage_dep.dep_getkey(x)==mykey: >- matches=db[self.myroot]["vartree"].dbapi.match(x,use_cache=0) >+ matches=db[self.myroot()]["vartree"].dbapi.match(x,use_cache=0) > if not matches: > #zap our world entry > pass >@@ -4087,13 +4089,13 @@ > # (spanky noticed bug) > # XXX: dumb question, but abstracting the root uid might be wise/useful for > # 2nd pkg manager installation setups. >- if not os.path.exists(os.path.dirname(self.myroot+WORLD_FILE)): >- pdir = os.path.dirname(self.myroot + WORLD_FILE) >+ if not os.path.exists(os.path.dirname(self.myroot(WORLD_FILE))): >+ pdir = os.path.dirname(self.myroot(WORLD_FILE)) > os.makedirs(pdir, mode=0755) > os.chown(pdir, 0, portage_gid) > os.chmod(pdir, 02770) > >- myworld=open(self.myroot+WORLD_FILE,"w") >+ myworld=open(self.myroot(WORLD_FILE),"w") > for x in newworldlist: > myworld.write(x+"\n") > myworld.close() >@@ -4153,7 +4155,7 @@ > > # check for package collisions > otherversions=[] >- for v in db[self.myroot]["vartree"].dbapi.cp_list(self.mysplit[0]): >+ for v in db[self.myroot()]["vartree"].dbapi.cp_list(self.mysplit[0]): > otherversions.append(v.split("/")[1]) > > if self.pkg in otherversions: >@@ -4266,26 +4268,26 @@ > > # Step2: filter out libs from the packages states RDEPEND > if len(checklist): >- rdep=portage_dep.paren_reduce(db[self.myroot][self.treetype].dbapi.aux_get( \ >+ rdep=portage_dep.paren_reduce(db[self.myroot()][self.treetype].dbapi.aux_get( \ > self.mycpv,["RDEPEND"])[0]) > rdep=portage_util.unique_array(flatten(portage_dep.use_reduce(rdep, \ > uselist=self.settings["USE"],matchall=False))) > > r=[] > for x in rdep: >- r.extend(db[self.myroot]["vartree"].dbapi.match(x)) >+ r.extend(db[self.myroot()]["vartree"].dbapi.match(x)) > > rdep=r > > # filter first package rdeps, then virtual/.?libc, then gcc > >- lm = db[self.myroot]["vartree"].dbapi.match("virtual/glibc") >- lm.extend(db[self.myroot]["vartree"].dbapi.match("virtual/libc")) >+ lm = db[self.myroot()]["vartree"].dbapi.match("virtual/glibc") >+ lm.extend(db[self.myroot()]["vartree"].dbapi.match("virtual/libc")) > lm = portage_util.unique_array(lm) > > for rd,msg in [(r,"%s/%s's RDEPEND" % (self.cat,self.pkg)), \ > (lm, "virtual/glibc, virtual/libc"), \ >- (db[self.myroot]["vartree"].dbapi.match("gcc"), "gcc")]: >+ (db[self.myroot()]["vartree"].dbapi.match("gcc"), "gcc")]: > > print green("*")+" Parsing %s contents" % msg > >@@ -4351,12 +4353,12 @@ > > if len(checklist): > # append this nodes rdepend. >- rdep,u=db[self.myroot]["vartree"].dbapi.aux_get(r,["RDEPEND","USE"]) >+ rdep,u=db[self.myroot()]["vartree"].dbapi.aux_get(r,["RDEPEND","USE"]) > pd=flatten(portage_dep.use_reduce(portage_dep.paren_reduce(rdep),\ > uselist=u,matchall=False)) > pd=portage_util.unique_array(pd) > for x in pd: >- for y in db["/"]["vartree"].dbapi.match(x): >+ for y in db[MYROOT()]["vartree"].dbapi.match(x): > if y not in candidates_checked: > candidate.append(y) > candidate=portage_util.unique_array(flatten(candidate)) >@@ -4435,7 +4437,7 @@ > # get current counter value (counter_tick also takes care of incrementing it) > # XXX Need to make this destroot, but it needs to be initialized first. XXX > # XXX bis: leads to some invalidentry() call through cp_all(). >- counter = db["/"]["vartree"].dbapi.counter_tick(self.myroot,mycpv=self.mycpv) >+ counter = db[MYROOT()]["vartree"].dbapi.counter_tick(self.myroot,mycpv=self.mycpv) > # write local package counter for recording > lcfile = open(self.dbtmpdir+"/COUNTER","w") > lcfile.write(str(counter)) >@@ -4447,8 +4449,8 @@ > self.updateprotect() > > #if we have a file containing previously-merged config file md5sums, grab it. >- if os.path.exists(destroot+CONFIG_MEMORY_FILE): >- cfgfiledict=grabdict(destroot+CONFIG_MEMORY_FILE) >+ if os.path.exists(destroot(CONFIG_MEMORY_FILE)): >+ cfgfiledict=grabdict(destroot(CONFIG_MEMORY_FILE)) > else: > cfgfiledict={} > if self.settings.has_key("NOCONFMEM"): >@@ -4463,7 +4465,7 @@ > > # we do a first merge; this will recurse through all files in our srcroot but also build up a > # "second hand" of symlinks to merge later >- if self.mergeme(srcroot,destroot,outfile,secondhand,"",cfgfiledict,mymtime): >+ if self.mergeme(srcroot,destroot.root(),outfile,secondhand,"",cfgfiledict,mymtime): > return 1 > > # now, it's time for dealing our second hand; we'll loop until we can't merge anymore. The rest are >@@ -4474,7 +4476,7 @@ > # couldn't get merged will be added to thirdhand. > > thirdhand=[] >- self.mergeme(srcroot,destroot,outfile,thirdhand,secondhand,cfgfiledict,mymtime) >+ self.mergeme(srcroot,destroot.root(),outfile,thirdhand,secondhand,cfgfiledict,mymtime) > > #swap hands > lastlen=len(secondhand) >@@ -4486,7 +4488,7 @@ > > if len(secondhand): > # force merge of remaining symlinks (broken or circular; oh well) >- self.mergeme(srcroot,destroot,outfile,None,secondhand,cfgfiledict,mymtime) >+ self.mergeme(srcroot,destroot.root(),outfile,None,secondhand,cfgfiledict,mymtime) > > #restore umask > os.umask(prevmask) >@@ -4514,11 +4516,11 @@ > del cfgfiledict["IGNORE"] > > # XXXX: HACK! PathSpec is very necessary here. >- if not os.path.exists(destroot+PRIVATE_PATH): >- os.makedirs(destroot+PRIVATE_PATH) >- os.chown(destroot+PRIVATE_PATH,os.getuid(),portage_gid) >- os.chmod(destroot+PRIVATE_PATH,02770) >- dirlist = prefix_array(listdir(destroot+PRIVATE_PATH),destroot+PRIVATE_PATH+"/") >+ if not os.path.exists(destroot(PRIVATE_PATH)): >+ os.makedirs(destroot(PRIVATE_PATH)) >+ os.chown(destroot(PRIVATE_PATH),os.getuid(),portage_gid) >+ os.chmod(destroot(PRIVATE_PATH),02770) >+ dirlist = prefix_array(listdir(destroot(PRIVATE_PATH)),destroot(PRIVATE_PATH+"/")) > while dirlist: > dirlist.sort() > dirlist.reverse() # Gets them in file-before basedir order >@@ -4526,10 +4528,10 @@ > if os.path.isdir(x): > dirlist += prefix_array(listdir(x),x+"/") > continue >- os.unlink(destroot+PRIVATE_PATH+"/"+x) >+ os.unlink(destroot(PRIVATE_PATH+"/"+x)) > >- mylock = portage_locks.lockfile(destroot+CONFIG_MEMORY_FILE) >- writedict(cfgfiledict,destroot+CONFIG_MEMORY_FILE) >+ mylock = portage_locks.lockfile(destroot(CONFIG_MEMORY_FILE)) >+ writedict(cfgfiledict,destroot(CONFIG_MEMORY_FILE)) > portage_locks.unlockfile(mylock) > > #do postinst script >@@ -4970,54 +4972,57 @@ > cleanup_pkgmerge(mypkg,origdir) > return returnme > >+# for pym's not yet using portage.ROOT >+root = ROOT > >-if os.environ.has_key("ROOT"): >- root=os.environ["ROOT"] >- if not len(root): >- root="/" >- elif root[-1]!="/": >- root=root+"/" >-else: >- root="/" >-if root != "/": >- if not os.path.exists(root[:-1]): >- writemsg("!!! Error: ROOT "+root+" does not exist. Please correct this.\n") >- writemsg("!!! Exiting.\n\n") >- sys.exit(1) >- elif not os.path.isdir(root[:-1]): >- writemsg("!!! Error: ROOT "+root[:-1]+" is not a directory. Please correct this.\n") >- writemsg("!!! Exiting.\n\n") >- sys.exit(1) >- >-#create tmp and var/tmp if they don't exist; read config >-os.umask(0) >-if not os.path.exists(root+"tmp"): >- writemsg(">>> "+root+"tmp doesn't exist, creating it...\n") >- os.mkdir(root+"tmp",01777) >-if not os.path.exists(root+"var/tmp"): >- writemsg(">>> "+root+"var/tmp doesn't exist, creating it...\n") >- try: >- os.mkdir(root+"var",0755) >- except (OSError,IOError): >- pass >- try: >- os.mkdir(root+"var/tmp",01777) >- except SystemExit, e: >- raise >- except: >- writemsg("portage: couldn't create /var/tmp; exiting.\n") >- sys.exit(1) >+def check_root(root=MYROOT): >+ mroot = root() >+ if mroot != "/": >+ if not os.path.exists(mroot[:-1]): >+ writemsg("!!! Error: ROOT "+mroot+" does not exist. Please correct this.\n") >+ writemsg("!!! Exiting.\n\n") >+ sys.exit(1) >+ elif not os.path.isdir(mroot[:-1]): >+ writemsg("!!! Error: ROOT "+mroot[:-1]+" is not a directory. Please correct this.\n") >+ writemsg("!!! Exiting.\n\n") >+ sys.exit(1) >+ >+ #create tmp and var/tmp if they don't exist; read config >+ checkdirs={ "tmp": 01777 >+ , "var": 0755 >+ , "var/tmp": 01777 >+ , "var/log": 0755 >+ , "var/lib": 0755 >+ , "var/lib/portage": 0755 >+ } >+ os.umask(0) >+ # hash array does not keep ordering, so list explicit >+ for d in ["tmp","var","var/tmp","var/log","var/lib","var/lib/portage"]: >+ dir=os.path.join(mroot,d) >+ if not os.path.exists(dir): >+ writemsg(">>> "+dir+" doesn't exist, creating it...\n") >+ try: >+ os.mkdir(dir, checkdirs[d]) >+ except SystemExit, e: >+ raise >+ except: >+ writemsg("portage: could not create "+dir+"; exiting.\n") >+ sys.exit(1) >+ elif not os.path.isdir(dir): >+ writemsg("portage: "+dir+" is not a directory; exiting.\n") >+ sys.exit(1) > >+check_root(ROOT) > > ##################################### > # Deprecation Checks > > os.umask(022) > profiledir=None >-if os.path.isdir(PROFILE_PATH): >- profiledir = PROFILE_PATH >- if os.access(DEPRECATED_PROFILE_FILE, os.R_OK): >- deprecatedfile = open(DEPRECATED_PROFILE_FILE, "r") >+if os.path.isdir(MYROOT(PROFILE_PATH)): >+ profiledir = MYROOT(PROFILE_PATH) >+ if os.access(MYROOT(DEPRECATED_PROFILE_FILE), os.R_OK): >+ deprecatedfile = open(MYROOT(DEPRECATED_PROFILE_FILE), "r") > dcontent = deprecatedfile.readlines() > deprecatedfile.close() > newprofile = dcontent[0] >@@ -5030,9 +5035,9 @@ > writemsg(myline) > writemsg("\n\n") > >-if os.path.exists(USER_VIRTUALS_FILE): >- writemsg(red("\n!!! /etc/portage/virtuals is deprecated in favor of\n")) >- writemsg(red("!!! /etc/portage/profile/virtuals. Please move it to\n")) >+if os.path.exists(MYROOT(USER_VIRTUALS_FILE)): >+ writemsg(red("\n!!! "+MYROOT(USER_VIRTUALS_FILE)+" is deprecated in favor of\n")) >+ writemsg(red("!!! "+MYROOT(CUSTOM_PROFILE_PATH+"/virtuals")+". Please move it to\n")) > writemsg(red("!!! this new location.\n\n")) > > # >@@ -5045,7 +5050,7 @@ > # ----------------------------------------------------------------------------- > # We're going to lock the global config to prevent changes, but we need > # to ensure the global settings are right. >-settings=config(config_profile_path=PROFILE_PATH,config_incrementals=portage_const.INCREMENTALS) >+settings=config(config_profile_path=MYROOT(PROFILE_PATH),config_incrementals=portage_const.INCREMENTALS) > > # useful info > settings["PORTAGE_MASTER_PID"]=str(os.getpid()) >@@ -5053,7 +5058,7 @@ > > def do_vartree(mysettings): > global virts, virts_p, db >- virts=mysettings.getvirtuals("/") >+ virts=mysettings.getvirtuals(MYROOT) > virts_p={} > > if virts: >@@ -5062,13 +5067,13 @@ > vkeysplit=x.split("/") > if not virts_p.has_key(vkeysplit[1]): > virts_p[vkeysplit[1]]=virts[x] >- db["/"]={ >+ db[MYROOT()]={ > "virtuals":virts, >- "vartree":vartree("/",virts), >+ "vartree":vartree(MYROOT,virts), > } >- if root!="/": >+ if ROOT()!=MYROOT(): > virts=mysettings.getvirtuals(root) >- db[root]={ >+ db[root()]={ > "virtuals":virts, > "vartree":vartree(root,virts)} > #We need to create the vartree first, then load our settings, and then set up our other trees >@@ -5105,9 +5110,9 @@ > else: > selinux_enabled=0 > >-cachedirs=[CACHE_PATH] >-if root!="/": >- cachedirs.append(root+CACHE_PATH) >+cachedirs=[MYROOT(CACHE_PATH)] >+if ROOT()!=MYROOT(): >+ cachedirs.append(root(CACHE_PATH)) > if not os.environ.has_key("SANDBOX_ACTIVE"): > for cachedir in cachedirs: > if not os.path.exists(cachedir): >@@ -5146,7 +5151,7 @@ > "version", "starttime", > "resume", "ldpath" > ] >-mtimedbfile=root+"var/cache/edb/mtimedb" >+mtimedbfile=root(CACHE_PATH+"/mtimedb") > try: > mypickle=cPickle.Unpickler(open(mtimedbfile)) > mypickle.find_global=None >@@ -5176,7 +5181,7 @@ > writemsg("\n\n") > writemsg(green("Performing Global Updates: ")+bold(mykey)+"\n") > writemsg("(Could take a couple of minutes if you have a lot of binary packages.)\n") >- writemsg(" "+bold(".")+"='update pass' "+bold("*")+"='binary update' "+bold("@")+"='/var/db move'\n"+" "+bold("s")+"='/var/db SLOT move' "+bold("S")+"='binary SLOT move' "+bold("p")+"='update /etc/portage/package.*'\n") >+ writemsg(" "+bold(".")+"='update pass' "+bold("*")+"='binary update' "+bold("@")+"='/var/db move'\n"+" "+bold("s")+"='/var/db SLOT move' "+bold("S")+"='binary SLOT move' "+bold("p")+"='update "+MYROOT(USER_CONFIG_PATH)+"/package.*'\n") > processed=1 > #remove stale virtual entries (mappings for packages that no longer exist) > >@@ -5186,7 +5191,7 @@ > myxfiles = myxfiles + prefix_array(myxfiles, "profile/") > for x in myxfiles: > try: >- myfile = open("/etc/portage/"+x,"r") >+ myfile = open(MYROOT("etc/portage/"+x),"r") > file_contents[x] = myfile.readlines() > myfile.close() > except IOError: >@@ -5194,9 +5199,9 @@ > del file_contents[x] > continue > >- worldlist=grabfile("/"+WORLD_FILE) >+ worldlist=grabfile(MYROOT(WORLD_FILE)) > myupd=grabfile(mykey) >- db["/"]["bintree"]=binarytree("/",settings["PKGDIR"],virts) >+ db[MYROOT()]["bintree"]=binarytree(MYROOT,settings["PKGDIR"],virts) > for myline in myupd: > mysplit=myline.split() > if not len(mysplit): >@@ -5217,8 +5222,8 @@ > sys.stdout.flush() > > if mysplit[0]=="move": >- db["/"]["vartree"].dbapi.move_ent(mysplit) >- db["/"]["bintree"].move_ent(mysplit) >+ db[MYROOT()]["vartree"].dbapi.move_ent(mysplit) >+ db[MYROOT()]["bintree"].move_ent(mysplit) > #update world entries: > for x in range(0,len(worldlist)): > #update world entries, if any. >@@ -5238,15 +5243,15 @@ > sys.stdout.flush() > > elif mysplit[0]=="slotmove": >- db["/"]["vartree"].dbapi.move_slot_ent(mysplit) >- db["/"]["bintree"].move_slot_ent(mysplit,settings["PORTAGE_TMPDIR"]+"/tbz2") >+ db[MYROOT()]["vartree"].dbapi.move_slot_ent(mysplit) >+ db[MYROOT()]["bintree"].move_slot_ent(mysplit,settings["PORTAGE_TMPDIR"]+"/tbz2") > > for x in update_files: > mydblink = dblink('','','/',settings) >- if mydblink.isprotected("/etc/portage/"+x): >- updating_file=new_protect_filename("/etc/portage/"+x)[0] >+ if mydblink.isprotected(MYROOT("etc/portage/"+x)): >+ updating_file=new_protect_filename(MYROOT("etc/portage/"+x))[0] > else: >- updating_file="/etc/portage/"+x >+ updating_file=MYROOT("etc/portage/"+x) > try: > myfile=open(updating_file,"w") > myfile.writelines(file_contents[x]) >@@ -5257,14 +5262,14 @@ > # We gotta do the brute force updates for these now. > if (settings["PORTAGE_CALLER"] in ["fixpackages"]) or \ > ("fixpackages" in features): >- db["/"]["bintree"].update_ents(myupd,settings["PORTAGE_TMPDIR"]+"/tbz2") >+ db[MYROOT()]["bintree"].update_ents(myupd,settings["PORTAGE_TMPDIR"]+"/tbz2") > else: > do_upgrade_packagesmessage = 1 > > if processed: > #update our internal mtime since we processed all our directives. > mtimedb["updates"][mykey]=os.stat(mykey)[stat.ST_MTIME] >- myworld=open("/"+WORLD_FILE,"w") >+ myworld=open(MYROOT(WORLD_FILE),"w") > for x in worldlist: > myworld.write(x+"\n") > myworld.close() >@@ -5378,19 +5383,19 @@ > > > #continue setting up other trees >-db["/"]["porttree"]=portagetree("/",virts) >-db["/"]["bintree"]=binarytree("/",settings["PKGDIR"],virts) >-if root!="/": >- db[root]["porttree"]=portagetree(root,virts) >- db[root]["bintree"]=binarytree(root,settings["PKGDIR"],virts) >+db[MYROOT()]["porttree"]=portagetree(MYROOT,virts) >+db[MYROOT()]["bintree"]=binarytree(MYROOT,settings["PKGDIR"],virts) >+if ROOT()!=MYROOT(): >+ db[root()]["porttree"]=portagetree(root,virts) >+ db[root()]["bintree"]=binarytree(root,settings["PKGDIR"],virts) > thirdpartymirrors=grabdict(settings["PORTDIR"]+"/profiles/thirdpartymirrors") > > if not os.path.exists(settings["PORTAGE_TMPDIR"]): >- writemsg("portage: the directory specified in your PORTAGE_TMPDIR variable, \""+settings["PORTAGE_TMPDIR"]+",\"\n") >+ writemsg("portage: the directory specified in your PORTAGE_TMPDIR variable, \""+settings["PORTAGE_TMPDIR"]+"\",\n") > writemsg("does not exist. Please create this directory or correct your PORTAGE_TMPDIR setting.\n") > sys.exit(1) > if not os.path.isdir(settings["PORTAGE_TMPDIR"]): >- writemsg("portage: the directory specified in your PORTAGE_TMPDIR variable, \""+settings["PORTAGE_TMPDIR"]+",\"\n") >+ writemsg("portage: the directory specified in your PORTAGE_TMPDIR variable, \""+settings["PORTAGE_TMPDIR"]+"\",\n") > writemsg("is not a directory. Please correct your PORTAGE_TMPDIR setting.\n") > sys.exit(1) > >@@ -5453,8 +5458,8 @@ > return fetcher > return transports.bundled_lib.BundledConnection() > >-if not os.path.islink(PROFILE_PATH) and os.path.exists(settings["PORTDIR"]+"/profiles"): >- writemsg(red("\a\n\n!!! "+PROFILE_PATH+" is not a symlink and will probably prevent most merges.\n")) >+if not os.path.islink(MYROOT(PROFILE_PATH)) and os.path.exists(settings["PORTDIR"]+"/profiles"): >+ writemsg(red("\a\n\n!!! "+MYROOT(PROFILE_PATH)+" is not a symlink and will probably prevent most merges.\n")) > writemsg(red("!!! It should point into a profile within %s/profiles/\n" % settings["PORTDIR"])) > writemsg(red("!!! (You can safely ignore this message when syncing. It's harmless.)\n\n\n")) > time.sleep(3) >diff -ruN portage-cvs/pym/portage_checksum.py portage-salomon/pym/portage_checksum.py >--- portage-cvs/pym/portage_checksum.py 2005-02-26 07:35:20.000000000 +0100 >+++ portage-salomon/pym/portage_checksum.py 2005-03-19 21:55:23.000000000 +0100 >@@ -4,13 +4,13 @@ > # $Header$ > cvs_id_string="$Id$"[5:-2] > >-from portage_const import PRIVATE_PATH,PRELINK_BINARY > import os > import shutil > import stat > import portage_exec > import portage_util > import portage_locks >+from portage_const import MYROOT,PRIVATE_PATH,PRELINK_BINARY > import sha > > prelink_capable = False >@@ -103,7 +103,7 @@ > > def perform_checksum(filename, hash_function=md5hash, calc_prelink=0): > myfilename = filename[:] >- prelink_tmpfile = PRIVATE_PATH+"/prelink-checksum.tmp."+str(os.getpid()) >+ prelink_tmpfile = MYROOT(PRIVATE_PATH+"/prelink-checksum.tmp."+str(os.getpid())) > mylock = None > > if calc_prelink and prelink_capable: >diff -ruN portage-cvs/pym/portage_const.py portage-salomon/pym/portage_const.py >--- portage-cvs/pym/portage_const.py 2005-03-22 20:29:57.000000000 +0100 >+++ portage-salomon/pym/portage_const.py 2005-03-25 10:43:56.000000000 +0100 >@@ -4,49 +4,111 @@ > # $Header$ > cvs_id_string="$Id$"[5:-2] > >+import os,sys >+ > # =========================================================================== > # START OF CONSTANTS -- START OF CONSTANTS -- START OF CONSTANTS -- START OF > # =========================================================================== > >+root_instances_ = {} >+ >+class Root: >+ def __init__(self, root, affix, prefix): >+ self.root_ = root >+ self.iroot_ = affix >+ self.prefix_ = prefix >+ self.dir_ = root+affix >+ root_instances_[self.dir_] = self >+ def root(self, path=""): >+ return self.root_ + path >+ def affix(self, path = ""): >+ return self.iroot_ + path >+ def prefix(self, path = ""): >+ return self.prefix_ + path >+ def dir(self, path = ""): >+ return self.dir_ + path >+ def __str__(self, path = ""): >+ return self.dir_ >+ def __call__(self, path = ""): >+ return self.dir_ + path >+ >+def find_root_instance(name): >+ return root_instances_[name] >+ >+def _make_root(): >+ if os.environ.has_key("ROOT"): >+ root=os.environ["ROOT"] >+ if not len(root): >+ root="/" >+ elif root[-1]!="/": >+ root=root+"/" >+ else: >+ root="/" >+ >+ if os.environ.has_key("PREFIX"): >+ prefix=os.environ["PREFIX"] >+ if len(prefix) and prefix[0] != "/": >+ prefix = "/"+prefix >+ # enforce prefix not to end with '/' and not to be just '/' >+ while len(prefix) and prefix[-1] == "/": >+ prefix = prefix[:-1] >+ if not len(prefix): >+ prefix = "@prefix@" >+ else: >+ prefix="@prefix@" >+ >+ # according to FHS: >+ # when installing with prefix /usr, '/'+affix is '/' >+ # when installing with prefix /usr/local, '/'+affix is '/usr/local' >+ if prefix == '/usr': >+ affix = '' >+ else: >+ affix = prefix[1:]+'/' >+ >+ return Root(root, affix, prefix) >+ >+MYROOT = Root("/", "@affix@", "@prefix@") >+ROOT = _make_root() >+ > VDB_PATH = "var/db/pkg" >-PRIVATE_PATH = "/var/lib/portage" >-CACHE_PATH = "/var/cache/edb" >+PRIVATE_PATH = "var/lib/portage" >+CACHE_PATH = "var/cache/edb" > DEPCACHE_PATH = CACHE_PATH+"/dep" > >-USER_CONFIG_PATH = "/etc/portage" >+USER_CONFIG_PATH = "etc/portage" > MODULES_FILE_PATH = USER_CONFIG_PATH+"/modules" > CUSTOM_PROFILE_PATH = USER_CONFIG_PATH+"/profile" > >-PORTAGE_BASE_PATH = "/usr/lib/portage" >+PORTAGE_BASE_PATH = "@PORTAGE_BASE@" > PORTAGE_BIN_PATH = PORTAGE_BASE_PATH+"/bin" > PORTAGE_PYM_PATH = PORTAGE_BASE_PATH+"/pym" >-PROFILE_PATH = "/etc/make.profile" >+PROFILE_PATH = "etc/make.profile" > LOCALE_DATA_PATH = PORTAGE_BASE_PATH+"/locale" > > EBUILD_SH_BINARY = PORTAGE_BIN_PATH+"/ebuild.sh" > EBUILD_DAEMON_PATH = PORTAGE_BIN_PATH+"/ebuild-daemon.sh" > >-SANDBOX_BINARY = "/usr/bin/sandbox" >+SANDBOX_BINARY = "@SANDBOX@" > # XXX compatibility hack. this shouldn't ever hit a stable release. > import os > if not os.path.exists(SANDBOX_BINARY): > if os.path.exists(PORTAGE_BIN_PATH+"/sandbox"): > SANDBOX_BINARY=PORTAGE_BIN_PATH+"/sandbox" > >-DEPSCAN_SH_BINARY = "/sbin/depscan.sh" >-BASH_BINARY = "/bin/bash" >-MOVE_BINARY = "/bin/mv" >-PRELINK_BINARY = "/usr/sbin/prelink" >+DEPSCAN_SH_BINARY = "sbin/depscan.sh" >+BASH_BINARY = "@BASH@" >+MOVE_BINARY = "@MV@" >+PRELINK_BINARY = "@PRELINK@" > > WORLD_FILE = PRIVATE_PATH+"/world" >-MAKE_CONF_FILE = "/etc/make.conf" >+MAKE_CONF_FILE = "etc/make.conf" > MAKE_DEFAULTS_FILE = PROFILE_PATH + "/make.defaults" > DEPRECATED_PROFILE_FILE = PROFILE_PATH+"/deprecated" > USER_VIRTUALS_FILE = USER_CONFIG_PATH+"/virtuals" > EBUILD_SH_ENV_FILE = USER_CONFIG_PATH+"/bashrc" >-INVALID_ENV_FILE = "/etc/spork/is/not/valid/profile.env" >+INVALID_ENV_FILE = "etc/spork/is/not/valid/profile.env" > CUSTOM_MIRRORS_FILE = USER_CONFIG_PATH+"/mirrors" >-SANDBOX_PIDS_FILE = "/tmp/sandboxpids.tmp" >+SANDBOX_PIDS_FILE = "tmp/sandboxpids.tmp" > CONFIG_MEMORY_FILE = PRIVATE_PATH + "/config" > > INCREMENTALS=["USE","FEATURES","ACCEPT_KEYWORDS","ACCEPT_LICENSE","CONFIG_PROTECT_MASK","CONFIG_PROTECT","PRELINK_PATH","PRELINK_PATH_MASK"] >@@ -56,11 +118,11 @@ > CONFCACHE_LIST = CACHE_PATH+"/confcache_files.anydbm" > > LIBFAKEROOT_PATH = "/usr/lib/libfakeroot.so" >-FAKEROOT_PATH = "/usr/bin/fakeroot" >+FAKEROOT_PATH = "@FAKEROOT@" > >-RSYNC_BIN = "/usr/bin/rsync" >+RSYNC_BIN = "@RSYNC@" > RSYNC_HOST = "rsync.gentoo.org/gentoo-portage" > >-CVS_BIN = "/usr/bin/cvs" >+CVS_BIN = "@CVS@" > > EBUILD_PHASES = "setup unpack compile test install preinst postinst prerm postrm" >diff -ruN portage-cvs/pym/portage_contents.py portage-salomon/pym/portage_contents.py >--- portage-cvs/pym/portage_contents.py 2005-02-26 07:35:20.000000000 +0100 >+++ portage-salomon/pym/portage_contents.py 2005-03-19 21:55:23.000000000 +0100 >@@ -7,6 +7,7 @@ > import os,string,types,sys,copy > import portage_exception > import portage_const >+from portage_const import MYROOT > > #import gettext > #gettext_t = gettext.translation('portage.contents', portage_const.LOCALE_DATA_PATH) >@@ -150,12 +151,12 @@ > def test(): > import os > plt = PathLookupTable("spork") >- for x in os.listdir("/var/db/pkg"): >- for y in os.listdir("/var/db/pkg/"+x): >- c_path = "/var/db/pkg/"+x+"/"+y+"/CONTENTS" >+ for x in os.listdir(MYROOT(VDB_PATH)): >+ for y in os.listdir(MYROOT(VDB_PATH+"/"+x)): >+ c_path = MYROOT(VDB_PATH+"/"+x+"/"+y+"/CONTENTS") > if os.path.exists(c_path): > plt.addFromFile(c_path, ContentsHandler) >- print "/bin/bash:", plt.whoProvides("/bin/bash") >- print "/var/spool:", plt.whoProvides("/var/spool") >- print "/etc/init.d", plt.whoProvides("/etc/init.d") >+ print "@BASH@:", plt.whoProvides("@BASH@") >+ print MYROOT("var/spool")+":", plt.whoProvides(MYROOT("var/spool")) >+ print MYROOT("etc/init.d")+":", plt.whoProvides(MYROOT("etc/init.d")) > return plt >diff -ruN portage-cvs/pym/portage_data.py portage-salomon/pym/portage_data.py >--- portage-cvs/pym/portage_data.py 2005-02-26 07:35:20.000000000 +0100 >+++ portage-salomon/pym/portage_data.py 2005-04-07 13:56:21.000000000 +0200 >@@ -4,7 +4,7 @@ > # $Header$ > cvs_id_string="$Id$"[5:-2] > >-import os,pwd,grp >+import os,pwd,grp,sys > from portage_util import writemsg > from output import green,red > >@@ -19,6 +19,9 @@ > lchown=os.chown > userland="BSD" > os.environ["XARGS"]="xargs" >+elif ostype in ["SunOS"]: >+ userland="UNIX" >+ os.environ["XARGS"]="xargs" > else: > writemsg(red("Operating system")+" \""+ostype+"\" "+red("currently unsupported. Exiting.")+"\n") > sys.exit(1) >@@ -41,44 +44,77 @@ > uid=os.getuid() > wheelgid=0 > >-if uid==0: >+portage_rootuser = "@rootuser@" >+ >+if portage_rootuser == "root": >+ rootuid = 0 >+else: >+ try: >+ rootuid = pwd.getpwnam(portage_rootuser)[2] >+ except KeyError: >+ writemsg("portage initialization: your system doesn't have a user "+portage_rootuser+".\n") >+ writemsg("Will let do only user 'root' the root-action.\n") >+ rootuid=0 >+ portage_rootuser = "root" >+ >+if "/@affix@" != "/": >+ portage_wheelgroup="@wheelgroup@" >+ default_wheelgid_str='unknown' >+elif userland in ["GNU", "BSD"]: >+ portage_wheelgroup='wheel' >+ default_wheelgid_str='10' >+elif userland in ["UNIX"]: >+ portage_wheelgroup='bin' >+ default_wheelgid_str='2' >+ >+if uid==0 or uid==rootuid: > secpass=2 > try: >- wheelgid=grp.getgrnam("wheel")[2] >+ wheelgid=grp.getgrnam(portage_wheelgroup)[2] > if (not secpass) and (wheelgid in os.getgroups()): > secpass=1 > except KeyError: >- writemsg("portage initialization: your system doesn't have a 'wheel' group.\n") >- writemsg("Please fix this as it is a normal system requirement. 'wheel' is GID 10\n") >- writemsg("'emerge baselayout' and an 'etc-update' should remedy this problem.\n") >+ writemsg("portage initialization: your system doesn't have a '"+portage_wheelgroup+"' group.\n") >+ writemsg("Please fix this as it is a normal system requirement.") >+ if "/@affix@" == "/": >+ writemsg(" '"+portage_wheelgroup+"' GID is "+default_wheelgid_str+"\n") >+ writemsg("'emerge baselayout' and an 'etc-update' should remedy this problem.\n") > pass > > #Discover the uid and gid of the portage user/group >+portage_user = "@portageuser@" >+portage_group = "@portagegroup@" >+ > try: >- portage_uid=pwd.getpwnam("portage")[2] >- portage_gid=grp.getgrnam("portage")[2] >+ portage_uid=pwd.getpwnam(portage_user)[2] >+ portage_gid=grp.getgrnam(portage_group)[2] > if (secpass==0): > secpass=1 > except KeyError: > portage_uid=0 > portage_gid=wheelgid > writemsg("\n") >- writemsg( red("portage: 'portage' user or group missing. Please update baselayout\n")) >- writemsg( red(" and merge portage user(250) and group(250) into your passwd\n")) >- writemsg( red(" and group files. Non-root compilation is disabled until then.\n")) >- writemsg( " Also note that non-root/wheel users will need to be added to\n") >- writemsg( " the portage group to do portage commands.\n") >- writemsg("\n") >- writemsg( " For the defaults, line 1 goes into passwd, and 2 into group.\n") >- writemsg(green(" portage:x:250:250:portage:/var/tmp/portage:/bin/false\n")) >- writemsg(green(" portage::250:portage\n")) >- writemsg("\n") >+ writemsg( red("portage: '"+portage_user+"' user or '"+portage_group+"' group missing.")) >+ if (portage_user == "portage" >+ and portage_group == "portage" >+ and "/@affix@" == "/" >+ ): >+ writemsg(red("Please update baselayout\n")) >+ writemsg( red(" and merge portage user(250) and group(250) into your passwd\n")) >+ writemsg( red(" and group files. Non-root compilation is disabled until then.\n")) >+ writemsg( " Also note that non-root/wheel users will need to be added to\n") >+ writemsg( " the portage group to do portage commands.\n") >+ writemsg("\n") >+ writemsg( " For the defaults, line 1 goes into passwd, and 2 into group.\n") >+ writemsg(green(" portage:x:250:250:portage:/var/tmp/portage:/bin/false\n")) >+ writemsg(green(" portage::250:portage")) >+ writemsg("\n\n") > > if (uid!=0) and (portage_gid not in os.getgroups()): > if not os.environ.has_key("PORTAGE_SCRIPT"): > writemsg("\n") >- writemsg(red("*** You are not in the portage group. You may experience cache problems\n")) >+ writemsg(red("*** You are not in the @portagegroup@ group. You may experience cache problems\n")) > writemsg(red("*** due to permissions preventing the creation of the on-disk cache.\n")) >- writemsg(red("*** Please add this user to the portage group if you wish to use portage.\n")) >+ writemsg(red("*** Please add this user to the @portagegroup@ group if you wish to use portage.\n")) > writemsg("\n") > >diff -ruN portage-cvs/pym/portage_dep.py portage-salomon/pym/portage_dep.py >--- portage-cvs/pym/portage_dep.py 2005-04-03 17:37:19.000000000 +0200 >+++ portage-salomon/pym/portage_dep.py 2005-04-15 11:55:03.000000000 +0200 >@@ -21,6 +21,7 @@ > import os,string,types,sys,copy > import portage_exception > import portage_versions >+from portage_util import writemsg > > OPERATORS="*<=>~!" > ENDVERSION_KEYS = ["pre", "p", "alpha", "beta", "rc"] >diff -ruN portage-cvs/pym/portage_exec.py portage-salomon/pym/portage_exec.py >--- portage-cvs/pym/portage_exec.py 2005-02-26 07:41:48.000000000 +0100 >+++ portage-salomon/pym/portage_exec.py 2005-03-19 21:55:24.000000000 +0100 >@@ -9,6 +9,7 @@ > import portage_data > import portage_util > import portage_const >+from portage_const import MYROOT, INVALID_ENV_FILE > > selinux_capable = False > sandbox_capable = os.path.exists(portage_const.SANDBOX_BINARY) >@@ -62,7 +63,7 @@ > if not opt_name: > opt_name=mycommand.split()[0] > if not env.has_key("BASH_ENV"): >- env["BASH_ENV"] = "/etc/spork/is/not/valid/profile.env" >+ env["BASH_ENV"] = MYROOT(INVALID_ENV_FILE) > if debug: > args.append("-x") > args.append("-c") >@@ -79,8 +80,8 @@ > if not uid: > uid=os.getuid() > try: >- os.chown(SANDBOX_PIDS_FILE,uid,portage_data.portage_gid) >- os.chmod(SANDBOX_PIDS_FILE,0664) >+ os.chown(MYROOT(SANDBOX_PIDS_FILE),uid,portage_data.portage_gid) >+ os.chmod(MYROOT(SANDBOX_PIDS_FILE),0664) > except SystemExit, e: > raise > except: >diff -ruN portage-cvs/pym/portage_gpg.py portage-salomon/pym/portage_gpg.py >--- portage-cvs/pym/portage_gpg.py 2005-02-26 07:35:20.000000000 +0100 >+++ portage-salomon/pym/portage_gpg.py 2005-03-09 17:16:30.000000000 +0100 >@@ -11,7 +11,7 @@ > import portage_checksum > import portage_exec > >-GPG_BINARY = "/usr/bin/gpg" >+GPG_BINARY = "@GPG@" > GPG_OPTIONS = ["--lock-never","--no-random-seed-file", > "--no-greeting", "--no-sig-cache"] > GPG_VERIFY_FLAGS = ["--verify"] >diff -ruN portage-cvs/pym/portage_locks.py portage-salomon/pym/portage_locks.py >--- portage-cvs/pym/portage_locks.py 2005-02-26 07:35:20.000000000 +0100 >+++ portage-salomon/pym/portage_locks.py 2005-03-09 17:16:30.000000000 +0100 >@@ -284,7 +284,7 @@ > print > print "Waiting on (hardlink) lockfile: (one '.' per 3 seconds)" > print "This is a feature to prevent distfiles corruption." >- print "/usr/lib/portage/bin/clean_locks can fix stuck locks." >+ print "@PORTAGE_BASE@/bin/clean_locks can fix stuck locks." > print "Lockfile: " + lockfilename > time.sleep(0.1) > >diff -ruN portage-cvs/pym/portage_metadata.py portage-salomon/pym/portage_metadata.py >--- portage-cvs/pym/portage_metadata.py 2004-11-07 22:34:51.000000000 +0100 >+++ portage-salomon/pym/portage_metadata.py 2005-03-09 17:16:30.000000000 +0100 >@@ -1,4 +1,4 @@ >-#!/usr/bin/python -O >+#! @PYTHON@ -O > # Copyright 1999-2004 Gentoo Foundation > # Distributed under the terms of the GNU General Public License v2 > # $Header$ >diff -ruN portage-cvs/pym/portageq.py portage-salomon/pym/portageq.py >--- portage-cvs/pym/portageq.py 2004-12-05 14:35:59.000000000 +0100 >+++ portage-salomon/pym/portageq.py 2005-03-25 10:41:48.000000000 +0100 >@@ -1,4 +1,4 @@ >-#!/usr/bin/python -O >+#! @PYTHON@ -O > # Copyright 1999-2003 Gentoo Technologies, Inc. > # Distributed under the terms of the GNU General Public License v2 > # $Header$ >@@ -8,6 +8,7 @@ > # duplication. > > import portage,types,string >+from portage_const import MYROOT, ROOT, VDB_PATH > > > #----------------------------------------------------------------------------- >@@ -144,7 +145,7 @@ > Returns the path used for the var(installed) package database for the > set environment/configuration options. > """ >- return 0, portage.root+portage.VDB_PATH+"\n" >+ return 0, ROOT(VDB_PATH)+"\n" > > def gentoo_mirrors(argv): > """ >@@ -198,7 +199,7 @@ > def envvar(argv): > """<variable> > Returns a specific environment variable as exists prior to ebuild.sh. >- Similar to: emerge --verbose --info | egrep '^<variable>=' >+ Similar to: emerge --verbose --info | @EGREP@ '^<variable>=' > """ > return 0, portage.settings[argv[0]]+"\n" > >diff -ruN portage-cvs/src/Makefile.am portage-salomon/src/Makefile.am >--- portage-cvs/src/Makefile.am 2004-11-20 11:17:11.000000000 +0100 >+++ portage-salomon/src/Makefile.am 2005-03-19 21:55:24.000000000 +0100 >@@ -1,6 +1,7 @@ > SUBDIRS = > > bin_PROGRAMS = >+bindir = @PORTAGE_BASE@/bin > if BUILD_TBZ2TOOL > bin_PROGRAMS += tbz2tool > endif >@@ -14,3 +15,5 @@ > endif > > tbz2tool_SOURCES = tbz2tool.c >+ >+MAINTAINERCLEANFILES = Makefile.in >diff -ruN portage-cvs/src/filter-env/Makefile.am portage-salomon/src/filter-env/Makefile.am >--- portage-cvs/src/filter-env/Makefile.am 2004-11-20 11:16:49.000000000 +0100 >+++ portage-salomon/src/filter-env/Makefile.am 2005-04-07 13:56:21.000000000 +0200 >@@ -1,3 +1,5 @@ > bin_PROGRAMS = filter-env >+bindir = @PORTAGE_BASE@/bin > filter_env_SOURCES = posix.c bmh_search.c bmh_search.h > >+MAINTAINERCLEANFILES = Makefile.in >diff -ruN portage-cvs/src/filter-env/posix.c portage-salomon/src/filter-env/posix.c >--- portage-cvs/src/filter-env/posix.c 2005-02-09 05:22:50.000000000 +0100 >+++ portage-salomon/src/filter-env/posix.c 2005-04-07 13:56:21.000000000 +0200 >@@ -4,7 +4,9 @@ > #include <stdlib.h> > #include <string.h> > #include <fcntl.h> >+#ifdef HAVE_GETOPT_H > #include <getopt.h> >+#endif /* HAVE_GETOPT_H */ > #include <regex.h> > #include <unistd.h> > #include <ctype.h> >diff -ruN portage-cvs/src/python-missingos/Makefile.in portage-salomon/src/python-missingos/Makefile.in >--- portage-cvs/src/python-missingos/Makefile.in 2004-11-20 11:17:11.000000000 +0100 >+++ portage-salomon/src/python-missingos/Makefile.in 2005-03-08 09:40:26.000000000 +0100 >@@ -1,10 +1,8 @@ >-INSTALL = @INSTALL@ >- >-all: >- setup.py build >+srcdir = @srcdir@ >+abs_builddir = @abs_builddir@ >+abs_srcdir = @abs_srcdir@ > >-install: >- setup.py install --root $(DESTDIR) >+INSTALL = @INSTALL@ > > DISTFILES = setup.py \ > Makefile.in \ >@@ -13,13 +11,35 @@ > missingos.c \ > setup.cfg \ > ChangeLog >+ >+all: builddir >+ setup.py build >+ >+builddir: >+ test "${abs_builddir}" != "${abs_srcdir}" \ >+ && for x in $(DISTFILES) \ >+ ; do $(INSTALL) ${abs_srcdir}/$${x} ${abs_builddir}/$${x} \ >+ ; done >+ >+clean-builddir: >+ if test "${abs_builddir}" != "${abs_srcdir}" \ >+ ; then for x in $(DISTFILES) \ >+ ; do rm -f ${abs_builddir}/$${x} \ >+ ; done \ >+ ; fi >+ >+install: builddir >+ setup.py install --root $(DESTDIR)/ >+ > distdir: > for x in $(DISTFILES); do \ >- $(INSTALL) -D $$x $(distdir)/$$x; \ >+ $(INSTALL) -D ${srcdir}/$${x} $(distdir)/$${x}; \ > done > chmod 755 $(distdir)/setup.py > >+distclean: clean-builddir > >-clean: >-.PHONY: clean install all distdir >+clean maintainer-clean: >+.PHONY: all install distdir builddir >+.PHONY: distclean clean maintainer-clean clean-builddir > >diff -ruN portage-cvs/subst-install.in portage-salomon/subst-install.in >--- portage-cvs/subst-install.in 1970-01-01 01:00:00.000000000 +0100 >+++ portage-salomon/subst-install.in 2005-03-08 08:43:56.000000000 +0100 >@@ -0,0 +1,72 @@ >+#! @SHELL@ >+ >+SED="@SED@" >+RM="@RM@" >+BASENAME="@BASENAME@" >+DIRNAME="@DIRNAME@" >+ >+case "${SED}" in ""|@*@) SED=sed ;; esac >+case "${RM}" in ""|@*@) RM=rm ;; esac >+case "${BASENAME}" in ""|@*@) BASENAME=basename ;; esac >+case "${DIRNAME}" in ""|@*@) DIRNAME=dirname ;; esac >+ >+mydir=`${DIRNAME} $0` >+myname=`${BASENAME} $0` >+mydir=`cd ${mydir};pwd` >+me=${mydir}/${myname} >+ >+. ${mydir}/subst-install.vars >+ >+substinstall_tmpdir=${TMP-/tmp}/${myname}.$$ >+trap "${RM} -rf \${substinstall_tmpdir}" "0" >+mkdir -p ${substinstall_tmpdir} \ >+|| { echo "cannot create directory ${substinstall_tmpdir}" >&2 ; exit 1 ; } >+ >+substinstall_tmpsed=${substinstall_tmpdir}/sedscript >+ >+{ for v in ${all_configurevars} >+ do >+ eval "echo \"s,@${v}@,\${${v}},g;\"" >+ done >+} | ${SED} 's/^s,@/s@@/; s/@,/@@/; s/,g;$/@;/; s/[\\&,]/\\&/g; >+ s/^s@@/s,@/; s/@@/@,/; s/@;$/,g;/' > ${substinstall_tmpsed} >+ >+substinstall_installcmd= >+substinstall_sources= >+substinstall_target= >+ >+while [ "$1" ] >+do >+ substinstall_arg=$1 >+ shift >+ case "${substinstall_arg}" in >+ --installcmd=*) >+ substinstall_installcmd=`echo ${substinstall_arg} | ${SED} -e 's,^--installcmd=,,'` >+ ;; >+ *) >+ substinstall_sources="${substinstall_sources} ${substinstall_target}" >+ substinstall_target=${substinstall_arg} >+ ;; >+ esac >+done >+ >+[ -n "${substinstall_installcmd}" ] || { echo "missing --installcmd=" ; exit 1 ; } >+ >+substinstall_tmpsources= >+ >+for substinstall_s in ${substinstall_sources} >+do >+ [ -r ${substinstall_s} ] || { echo "cannot read ${substinstall_s}" >&2 ; exit 1 ; } >+ tmpsource=${substinstall_tmpdir}/`basename ${substinstall_s}`.subst >+ ${SED} -f ${substinstall_tmpsed} < ${substinstall_s} > ${tmpsource} \ >+ || { echo "cannot sed from ${substinstall_s} to ${tmpsource}" >&2 ; exit 1 ; } >+ substinstall_tmpsources="${substinstall_tmpsources} ${tmpsource}" >+done >+ >+${substinstall_installcmd} ${substinstall_tmpsources} ${substinstall_target} >+ >+substinstall_installrv=$? >+ >+${RM} -rf ${substinstall_tmpdir} >+ >+exit ${substinstall_installrv}
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 Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 87877
:
55252
|
55331
|
55550
| 56350