Warn about root, only if ROOT != EPREFIX.
authorFabian Groffen <grobian@gentoo.org>
Sun, 15 Oct 2006 14:15:06 +0000 (14:15 -0000)
committerFabian Groffen <grobian@gentoo.org>
Sun, 15 Oct 2006 14:15:06 +0000 (14:15 -0000)
Don't do prepstrip on Darwin, it doesn't have ELF objects
Make sure EPREFIX ends with a trailing slash, don't double prefix ROOT
and use some os.join to glue together paths.

svn path=/main/branches/prefix/; revision=4714

bin/emerge
bin/prepstrip
pym/portage.py

index 873318e365ba200ac72feb2bd39d90351ec8b240..2c4c3900285260f221e4496ae9003205cbde2e3b 100755 (executable)
@@ -2543,7 +2543,7 @@ def unmerge(settings, myopts, vartree, unmerge_action, unmerge_files,
        newline=""
        if (not "--quiet" in myopts):
                newline="\n"
-       if settings["ROOT"] != "/":
+       if settings["ROOT"].startswith(portage_const.EPREFIX) and settings["ROOT"] != portage_const.EPREFIX:
                print darkgreen(newline+">>> Using system located in ROOT tree "+settings["ROOT"])
        if (("--pretend" in myopts) or ("--ask" in myopts)) and not ("--quiet" in myopts):
                print darkgreen(newline+">>> These are the packages that would be unmerged:")
index d5cf0bc827e4851e47622d0944333aad6758d0d2..781dc34ce183be16f5472c941882b28a6b8f9a71 100755 (executable)
@@ -3,6 +3,9 @@
 # Distributed under the terms of the GNU General Public License v2
 # $Id$
 
+# on Darwin this stuff all doesn't work, as we dont have ELF
+[[ ${USERLAND} == "Darwin" ]] && return 0
+
 source "${PORTAGE_BIN_PATH:-${EPREFIX}/usr/lib/portage/bin}"/isolated-functions.sh
 
 unset NOSTRIP
index abdfbad081c52e02ae839504d291e68e33ef25bf..278fabfa6452955bce16458632b302b326783392 100644 (file)
@@ -1587,7 +1587,7 @@ class config:
                # We grab the latest profile.env here since it changes frequently.
                self.configdict["env.d"].clear()
                env_d = getconfig(
-                       os.path.join(self["ROOT"], "etc", "profile.env"), expand=False)
+                       os.path.join(self["ROOT"] + portage_const.EPREFIX, "etc", "profile.env"), expand=False)
                if env_d:
                        # env_d will be None if profile.env doesn't exist.
                        self.configdict["env.d"].update(env_d)
@@ -2588,24 +2588,25 @@ def doebuild_environment(myebuild, mydo, myroot, mysettings, debug, use_cache, m
                # due to how it's coded... Don't overwrite this so we can use it.
                mysettings["PORTAGE_DEBUG"] = "1"
 
-       mysettings["ROOT"]     = normalize_path(myroot+portage_const.EPREFIX)+"/"
+       mysettings["EPREFIX"]  = portage_const.EPREFIX.rstrip(os.sep)+os.sep
+       #mysettings["ROOT"]     = normalize_path(myroot+portage_const.EPREFIX).rstrip(os.sep)+os.sep
+       mysettings["ROOT"]     = myroot
        mysettings["STARTDIR"] = getcwd()
 
        mysettings["EBUILD"]   = ebuild_path
        mysettings["O"]        = pkg_dir
        mysettings.configdict["pkg"]["CATEGORY"] = cat
-       mysettings["FILESDIR"] = pkg_dir+"/files"
+       mysettings["FILESDIR"] = os.path.join(pkg_dir, "files")
        mysettings["PF"]       = mypv
 
-       mysettings["ECLASSDIR"]   = mysettings["PORTDIR"]+"/eclass"
-       mysettings["SANDBOX_LOG"] = mycpv.replace("/", "_-_")
+       mysettings["ECLASSDIR"]   = os.path.join(mysettings["PORTDIR"], "eclass")
+       mysettings["SANDBOX_LOG"] = mycpv.replace(os.path.sep, "_-_")
 
        mysettings["PROFILE_PATHS"] = string.join(mysettings.profiles,"\n")+"\n"+CUSTOM_PROFILE_PATH
        mysettings["P"]  = mysplit[0]+"-"+mysplit[1]
        mysettings["PN"] = mysplit[0]
        mysettings["PV"] = mysplit[1]
        mysettings["PR"] = mysplit[2]
-       mysettings["EPREFIX"] = portage_const.EPREFIX
        if portage_util.noiselimit < 0:
                mysettings["PORTAGE_QUIET"] = "1"
 
@@ -2651,7 +2652,7 @@ def doebuild_environment(myebuild, mydo, myroot, mysettings, debug, use_cache, m
        mysettings["HOME"] = os.path.join(mysettings["PORTAGE_BUILDDIR"], "homedir")
        mysettings["WORKDIR"] = os.path.join(mysettings["PORTAGE_BUILDDIR"], "work")
        mysettings["EDEST"] = os.path.join(mysettings["PORTAGE_BUILDDIR"], "image") + os.sep
-       mysettings["D"] = os.path.join(mysettings["PORTAGE_BUILDDIR"], "image" + mysettings["EPREFIX"]) + os.sep
+       mysettings["D"] = os.path.join(mysettings["PORTAGE_BUILDDIR"], "image" + mysettings["EPREFIX"])
        mysettings["T"] = os.path.join(mysettings["PORTAGE_BUILDDIR"], "temp")
 
        mysettings["PORTAGE_BASHRC"] = os.path.join(
@@ -7057,7 +7058,7 @@ def init_legacy_globals():
        kwargs = {}
        for k, envvar in (("config_root", "PORTAGE_CONFIGROOT"), ("target_root", "ROOT")):
                kwargs[k] = os.path.join(
-                               os.environ.get(envvar, os.sep))
+                               os.environ.get(envvar, "/"))
 
        db = create_trees(**kwargs)