diff options
author | 2000-11-20 16:47:19 +0000 | |
---|---|---|
committer | 2000-11-20 16:47:19 +0000 | |
commit | 6a9529089ccf45beb55cc46e945293e9e529a25b (patch) | |
tree | bb7182c17c349c8756cd584647773bfefe4567f5 /sys-apps | |
parent | *** empty log message *** (diff) | |
download | gentoo-2-6a9529089ccf45beb55cc46e945293e9e529a25b.tar.gz gentoo-2-6a9529089ccf45beb55cc46e945293e9e529a25b.tar.bz2 gentoo-2-6a9529089ccf45beb55cc46e945293e9e529a25b.zip |
portage fixes
Diffstat (limited to 'sys-apps')
-rwxr-xr-x | sys-apps/portage/files/bin/pkgmerge | 5 | ||||
-rw-r--r-- | sys-apps/portage/files/make.defaults | 1 | ||||
-rw-r--r-- | sys-apps/portage/files/portage.py | 39 |
3 files changed, 27 insertions, 18 deletions
diff --git a/sys-apps/portage/files/bin/pkgmerge b/sys-apps/portage/files/bin/pkgmerge index 85e833d3c1e0..8da80990671f 100755 --- a/sys-apps/portage/files/bin/pkgmerge +++ b/sys-apps/portage/files/bin/pkgmerge @@ -57,8 +57,9 @@ for x in sys.argv[1:]: print "!!! Error:",mypkg,"is already installed. Unmerge first." cleanup() continue - portage.doebuild("var/db/pkg/"+mycat+"/"+mypkg+".ebuild","preinst") + + portage.doebuild("var/db/pkg/"+mycat+"/"+mypkg+"/"+mypkg+".ebuild","preinst") portage.merge(mycat,mypkg,os.getcwd()) - portage.doebuild("var/db/pkg/"+mycat+"/"+mypkg+".ebuild","postinst") + portage.doebuild(portage.root+"var/db/pkg/"+mycat+"/"+mypkg+"/"+mypkg+".ebuild","postinst") cleanup() print ">>> Done." diff --git a/sys-apps/portage/files/make.defaults b/sys-apps/portage/files/make.defaults index f1c619583f17..4bc65b9d7b0c 100644 --- a/sys-apps/portage/files/make.defaults +++ b/sys-apps/portage/files/make.defaults @@ -18,7 +18,6 @@ CHOST=i686-pc-linux-gnu BUILD_PREFIX=/tmp/portage PORTDIR=/usr/portage -DBDIR=/var/db/pkg DISTDIR=${PORTDIR}/distfiles PKGDIR=${PORTDIR}/packages RPMDIR=${PORTDIR}/rpm diff --git a/sys-apps/portage/files/portage.py b/sys-apps/portage/files/portage.py index 7e3cafe9a474..ab6e1f3a6fc3 100644 --- a/sys-apps/portage/files/portage.py +++ b/sys-apps/portage/files/portage.py @@ -55,7 +55,7 @@ from commands import * import md5 from stat import * import fchksum,types - +import sys # parsever: # This function accepts an 'inter-period chunk' such as # "3","4","3_beta5", or "2b" and returns an array of three @@ -111,17 +111,13 @@ def getmtime(x): def md5(x): return string.upper(fchksum.fmd5t(x)[0]) -def prepare_db(mycategory,mypackage): - if not os.path.isdir(root+"var"): +def prep_dbdir(): + if not os.path.isdir(root+"var"): os.mkdir(root+"var",0755) - if not os.path.isdir(root+"var/db"): + if not os.path.isdir(root+"var/db"): os.mkdir(root+"var/db",0755) - if not os.path.isdir(root+"var/db/pkg"): + if not os.path.isdir(root+"var/db/pkg"): os.mkdir(root+"var/db/pkg",0755) - if not os.path.isdir(root+"var/db/pkg/"+mycategory): - os.mkdir(root+"var/db/pkg/"+mycategory,0755) - if not os.path.isdir(root+"var/db/pkg/"+mycategory+"/"+mypackage): - os.mkdir(root+"var/db/pkg/"+mycategory+"/"+mypackage,0755) def pathstrip(x,mystart): cpref=os.path.commonprefix([x,mystart]) @@ -211,7 +207,11 @@ def merge(mycategory,mypackage,mystart): elif not os.path.isdir(root): print "!!! Error: ROOT setting points to a non-directory. Exiting." return - prepare_db(mycategory,mypackage) + prep_dbdir() + if not os.path.isdir(root+"var/db/pkg/"+mycategory): + os.mkdir(root+"var/db/pkg/"+mycategory,0755) + if not os.path.isdir(root+"var/db/pkg/"+mycategory+"/"+mypackage): + os.mkdir(root+"var/db/pkg/"+mycategory+"/"+mypackage,0755) outfile=open(root+"var/db/pkg/"+mycategory+"/"+mypackage+"/CONTENTS","w") mergefiles(outfile,mystart) outfile.close() @@ -620,10 +620,10 @@ def isspecific(mypkg): def isinstalled(mycatpkg): global installcache - mycatpkg2=string.split(mycatpkg,"/") if not installcache: installcache=port_insttree() #initialize cache + mycatpkg2=string.split(mycatpkg,"/") if isjustname(mycatpkg2[1]): if installcache.has_key(mycatpkg): @@ -1124,16 +1124,15 @@ def port_currtree(): def port_insttree(): """ This function builds a dictionary of installed packages on the system, based on - the contents of DBDIR. Dictionary format is: + the contents of ROOT/var/db/pkg. Dictionary format is: mydict["cat/pkg"]=[ ["cat/fullpkgname",["cat","pkg","ver","rev"] ["cat/fullpkgname",["cat","pkg","ver2","rev2"] ] """ installeddict={} - dbdir=getsetting("DBDIR") - if not os.path.isdir(dbdir): - return + dbdir=root+"var/db/pkg" + prep_dbdir() origdir=os.getcwd() os.chdir(dbdir) for x in os.listdir(os.getcwd()): @@ -1191,6 +1190,16 @@ def init(): root="/" elif root[-1]!="/": root=root+"/" + if not os.path.exists(root[:-1]): + print "!!! Error: ROOT",root[:-1],"does not exist. Please correct this." + print "!!! Exiting." + print + sys.exit(1) + elif not os.path.isdir(root[:-1]): + print "!!! Error: ROOT",root[:-1],"is not a directory. Please correct this." + print "!!! Exiting." + print + sys.exit(1) ERRPKG="" ERRVER="" installcache=None |