Changeset 3455


Ignore:
Timestamp:
Jun 16, 2007, 6:41:03 PM (18 years ago)
Author:
bird
Message:

a bunch of PATH_ROOT, EXE_SUFF and PATH_SEP changes. and one or two other hacks.

Location:
trunk/essentials/sys-apps/portage
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • trunk/essentials/sys-apps/portage/bin/ebuild.sh

    r3418 r3455  
    44# $Id: ebuild.sh 5646 2007-01-14 21:56:00Z zmedico $
    55
    6 PORTAGE_BIN_PATH="${PORTAGE_BIN_PATH:-/usr/lib/portage/bin}"
    7 PORTAGE_PYM_PATH="${PORTAGE_PYM_PATH:-/usr/lib/portage/pym}"
     6# bird: determin ROOT_BASE and PATH_SEP
     7case "${BASH_VERSINFO[5]}" in
     8    *-os2-*|*-knix)
     9        ROOT_PATH="/@unixroot/"
     10        PATH_SEP=";"
     11        PORTAGE_BIN_PATH="${PORTAGE_BIN_PATH:-/@unixroot/usr/lib/portage/bin}"
     12        PORTAGE_PYM_PATH="${PORTAGE_PYM_PATH:-/@unixroot/usr/lib/portage/pym}"
     13        ;;
     14    *)
     15        ROOT_PATH="/"
     16        PATH_SEP=":"
     17        PORTAGE_BIN_PATH="${PORTAGE_BIN_PATH:-/usr/lib/portage/bin}"
     18        PORTAGE_PYM_PATH="${PORTAGE_PYM_PATH:-/usr/lib/portage/pym}"
     19        ;;
     20esac
    821declare -rx PORTAGE_BIN_PATH PORTAGE_PYM_PATH
    922
     
    7689OCXX="$CXX"
    7790
    78 export PATH="/usr/local/sbin:/sbin:/usr/sbin:${PORTAGE_BIN_PATH}:/usr/local/bin:/bin:/usr/bin:${ROOTPATH}"
    79 [ ! -z "$PREROOTPATH" ] && export PATH="${PREROOTPATH%%:}:$PATH"
     91# bird: kNIX requires '/@unixroot/' and ';' to work best. It also requires
     92#       the old path since gcc and other toolchain programs might be
     93#       installed outside the kNIX penthouse.
     94if [ "$ROOT_PATH" != "/" -o "$PATH_SEP" != ":" ]; then
     95    export PATH="${ROOTPATH}${PATH_SEP}${PATH}"
     96    export PATH="${ROOT_PATH}usr/bin${PATH_SEP}${PATH}"
     97    export PATH="${ROOT_PATH}bin${PATH_SEP}${PATH}"
     98    export PATH="${ROOT_PATH}usr/local/bin${PATH_SEP}${PATH}"
     99    export PATH="${PORTAGE_BIN_PATH}${PATH_SEP}${PATH}"
     100    export PATH="${ROOT_PATH}usr/sbin${PATH_SEP}${PATH}"
     101    export PATH="${ROOT_PATH}sbin${PATH_SEP}${PATH}"
     102    export PATH="${ROOT_PATH}usr/local/sbin${PATH_SEP}${PATH}"
     103else
     104    export PATH="/usr/local/sbin:/sbin:/usr/sbin:${PORTAGE_BIN_PATH}:/usr/local/bin:/bin:/usr/bin:${ROOTPATH}"
     105fi
     106[ ! -z "$PREROOTPATH" ] && export PATH="${PREROOTPATH%%:}${PATH_SEP}$PATH"
    80107
    81108source "${PORTAGE_BIN_PATH}/isolated-functions.sh"  &>/dev/null
     
    550577
    551578                vecho ${CONFCACHE} ${CONFCACHE_ARG} ${TMP_CONFCACHE_DIR} "${ECONF_SOURCE}/configure" \
    552                         --prefix=/usr \
     579                        --prefix=${ROOT_PATH}usr \
    553580                        --host=${CHOST} \
    554                         --mandir=/usr/share/man \
    555                         --infodir=/usr/share/info \
    556                         --datadir=/usr/share \
    557                         --sysconfdir=/etc \
    558                         --localstatedir=/var/lib \
     581                        --mandir=${ROOT_PATH}usr/share/man \
     582                        --infodir=${ROOT_PATH}usr/share/info \
     583                        --datadir=${ROOT_PATH}usr/share \
     584                        --sysconfdir=${ROOT_PATH}etc \
     585                        --localstatedir=${ROOT_PATH}var/lib \
    559586                        "$@" \
    560587                        ${LOCAL_EXTRA_ECONF}
    561588
    562589                if ! ${CONFCACHE} ${CONFCACHE_ARG} ${TMP_CONFCACHE_DIR} "${ECONF_SOURCE}/configure" \
    563                         --prefix=/usr \
     590                        --prefix=${ROOT_PATH}usr \
    564591                        --host=${CHOST} \
    565                         --mandir=/usr/share/man \
    566                         --infodir=/usr/share/info \
    567                         --datadir=/usr/share \
    568                         --sysconfdir=/etc \
    569                         --localstatedir=/var/lib \
     592                        --mandir=${ROOT_PATH}usr/share/man \
     593                        --infodir=${ROOT_PATH}usr/share/info \
     594                        --datadir=${ROOT_PATH}usr/share \
     595                        --sysconfdir=${ROOT_PATH}etc \
     596                        --localstatedir=${ROOT_PATH}var/lib \
    570597                        "$@"  \
    571598                        ${LOCAL_EXTRA_ECONF}; then
     
    14111438                                remove_path_entry "distcc"
    14121439                        fi
    1413                         export PATH="/usr/lib/distcc/bin:${PATH}"
     1440                        export PATH="${ROOT_PATH}usr/lib/distcc/bin${PATH_SEP}${PATH}"
    14141441                        [ ! -z "${DISTCC_LOG}" ] && addwrite "$(dirname ${DISTCC_LOG})"
    14151442                elif which distcc &>/dev/null; then
     
    14311458
    14321459                if [ -d /usr/lib/ccache/bin ]; then
    1433                         export PATH="/usr/lib/ccache/bin:${PATH}"
     1460                        export PATH="${ROOT_PATH}usr/lib/ccache/bin${PATH_SEP}${PATH}"
    14341461                elif [ -d /usr/bin/ccache ]; then
    1435                         export PATH="/usr/bin/ccache:${PATH}"
    1436                 fi
    1437 
    1438                 [ -z "${CCACHE_DIR}" ] && export CCACHE_DIR="/var/tmp/ccache"
     1462                        export PATH="${ROOT_PATH}usr/bin/ccache${PATH_SEP}${PATH}"
     1463                fi
     1464
     1465                [ -z "${CCACHE_DIR}" ] && export CCACHE_DIR="${ROOT_PATH}var/tmp/ccache"
    14391466
    14401467                addread "${CCACHE_DIR}"
  • trunk/essentials/sys-apps/portage/bin/emerge

    r3418 r3455  
    3232del os.environ["PORTAGE_LEGACY_GLOBALS"]
    3333from portage import digraph
     34from portage_const import ROOT_PATH # bird
    3435
    3536import emergehelp, xpak, commands, errno, re, socket, time, types
     
    210211                        xtermTitle(mystr)
    211212        try:
    212                 file_path = "/var/log/emerge.log"
     213                file_path = ROOT_PATH+"var/log/emerge.log"
    213214                mylogfile = open(file_path, "a")
     215                if sys.platform == "os2knix":           # bird: chmod doesn't work if the file is open.
     216                        mylogfile.close();              #       So, close it while applying permissions.
    214217                portage_util.apply_secpass_permissions(file_path,
    215218                        uid=portage.portage_uid, gid=portage.portage_gid,
    216219                        mode=0660)
     220                if sys.platform == "os2knix":       # bird: see above
     221                        mylogfile = open(file_path, "a")#
    217222                mylock = None
    218223                try:
     
    29993004                        elif len(mymergelist) > 1:
    30003005                                print ">>> starting parallel fetching"
    3001                                 fetch_log = "/var/log/emerge-fetch.log"
     3006                                fetch_log = ROOT_PATH+"var/log/emerge-fetch.log"
    30023007                                logfile = open(fetch_log, "w")
    30033008                                fd_pipes = {1:logfile.fileno(), 2:logfile.fileno()}
  • trunk/essentials/sys-apps/portage/bin/fix-db.py

    r3418 r3455  
    1616from output import *
    1717from portage import lockfile,unlockfile,VDB_PATH,root
     18from portage_const import ROOT_PATH
    1819
    1920
    20 mylog = open("/var/log/emerge_fix-db.log", "a")
     21mylog = open(ROOT_PATH+"var/log/emerge_fix-db.log", "a")
    2122def writemsg(msg):
    2223        if msg[-1] != '\n':
     
    2829
    2930def fix_global_counter(value):
    30         myf = open("/var/cache/edb/counter")
     31        myf = open(ROOT_PATH+"var/cache/edb/counter")
    3132        newvalue = value+1000
    3233        myf.write(str(newvalue))
     
    4041
    4142try:
    42         real_counter = long(open("/var/cache/edb/counter").read())
     43        real_counter = long(open(ROOT_PATH+"var/cache/edb/counter").read())
    4344except SystemExit, e:
    4445        raise  # This needs to be propogated
  • trunk/essentials/sys-apps/portage/bin/regenworld

    r3418 r3455  
    77try:
    88        import portage
     9        import portage_const
    910except ImportError:
    1011        from os import path as osp
     
    5354syslist = filter(issyspkg, syslist)
    5455
    55 logfile = portage.grabfile("/var/log/emerge.log")
     56logfile = portage.grabfile(ROOT_PATH+"var/log/emerge.log")
    5657biglist = filter(iscandidate, logfile)
    5758biglist = map(getpkginfo, biglist)
  • trunk/essentials/sys-apps/portage/bin/repoman

    r3418 r3455  
    278278        try:
    279279                #Retrieve and unpickle stats and fails from saved files
    280                 savedf=open('/var/cache/edb/repo.stats','r')
     280                savedf=open(ROOT_PATH+'var/cache/edb/repo.stats','r')
    281281                stats = pickle.load(savedf)
    282282                savedf.close()
    283                 savedf=open('/var/cache/edb/repo.fails','r')
     283                savedf=open(ROOT_PATH+'var/cache/edb/repo.fails','r')
    284284                fails = pickle.load(savedf)
    285285                savedf.close()
  • trunk/essentials/sys-apps/portage/pym/portage_const.py

    r3452 r3455  
    1313# bird: ROOT_PATH ends with a trailing slash.
    1414#       EXE_SUFF is .exe on OS/2 and NT systems.
     15#       PATH_SEP is ';' on OS/2 and NT systems.
    1516import sys
    1617ROOT_PATH               = "/"
    1718EXE_SUFF                = ""
     19PATH_SEP                = ":"
    1820if sys.platform == "os2knix" or sys.platform == "ntknix":
    1921        ROOT_PATH           = "/@unixroot/"
    2022        EXE_SUFF            = ".exe"
     23        PATH_SEP            = ";"
    2124
    2225VDB_PATH                = "var/db/pkg"
  • trunk/essentials/sys-apps/portage/pym/portage_exec.py

    r3418 r3455  
    99
    1010from portage_util import dump_traceback
    11 from portage_const import BASH_BINARY, SANDBOX_BINARY
     11from portage_const import BASH_BINARY, SANDBOX_BINARY, EXE_SUFF, PATH_SEP
    1212from portage_exception import CommandNotFound
    1313
     
    157157            or not os.access(binary, os.X_OK)):
    158158                binary = path_lookup and find_binary(binary) or None
     159                # bird try with exe suffix appended
     160                if not binary and EXE_SUFF != "":
     161                        binary = mycommand[0]+EXE_SUFF
     162                        if (not os.path.isabs(binary) or not os.path.isfile(binary)
     163                                or not os.access(binary, os.X_OK)):
     164                                binary = None
    159165                if not binary:
    160166                        raise CommandNotFound(mycommand[0])
     
    330336        """
    331337       
    332         for path in os.getenv("PATH", "").split(":"):
     338        for path in os.getenv("PATH", "").split(PATH_SEP):
    333339                filename = "%s/%s" % (path, binary)
    334340                if os.access(filename, os.X_OK) and os.path.isfile(filename):
    335341                        return filename
     342                # bird: try .exe too.
     343                if EXE_SUFF != "":
     344                        filename = "%s/%s%s" % (path, binary, EXE_SUFF)
     345                        if os.access(filename, os.X_OK) and os.path.isfile(filename):
     346                                return filename
     347
    336348        return None
Note: See TracChangeset for help on using the changeset viewer.