From: Sebastian Luther Date: Wed, 11 Aug 2010 06:05:19 +0000 (+0200) Subject: Remove deprecated portage.pkgmerge X-Git-Tag: v2.2_rc68~312 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=7ffb3a5247a49185b64a536dc8106f35290b7017;p=portage.git Remove deprecated portage.pkgmerge --- diff --git a/pym/portage/__init__.py b/pym/portage/__init__.py index 1ca320eeb..cb84218c4 100644 --- a/pym/portage/__init__.py +++ b/pym/portage/__init__.py @@ -131,8 +131,6 @@ try: 'cpv_getkey@getCPFromCPV,endversion_keys,' + \ 'suffix_value@endversion,pkgcmp,pkgsplit,vercmp,ververify', 'portage.xpak', - 'portage._deprecated:' + \ - 'pkgmerge', ) import portage.const diff --git a/pym/portage/_deprecated.py b/pym/portage/_deprecated.py index 10c161068..3ae1d9b52 100644 --- a/pym/portage/_deprecated.py +++ b/pym/portage/_deprecated.py @@ -14,120 +14,3 @@ from portage.dep import dep_getkey from portage.localization import _ from portage.manifest import Manifest from portage.util import writemsg, writemsg_stdout - -def pkgmerge(mytbz2, myroot, mysettings, mydbapi=None, - vartree=None, prev_mtimes=None, blockers=None): - """will merge a .tbz2 file, returning a list of runtime dependencies - that must be satisfied, or None if there was a merge error. This - code assumes the package exists.""" - - warnings.warn("portage.pkgmerge() is deprecated", - DeprecationWarning, stacklevel=2) - - if mydbapi is None: - mydbapi = portage.db[myroot]["bintree"].dbapi - if vartree is None: - vartree = portage.db[myroot]["vartree"] - if mytbz2[-5:]!=".tbz2": - print(_("!!! Not a .tbz2 file")) - return 1 - - tbz2_lock = None - mycat = None - mypkg = None - did_merge_phase = False - success = False - try: - """ Don't lock the tbz2 file because the filesytem could be readonly or - shared by a cluster.""" - #tbz2_lock = portage.locks.lockfile(mytbz2, wantnewlockfile=1) - - mypkg = os.path.basename(mytbz2)[:-5] - xptbz2 = portage.xpak.tbz2(mytbz2) - mycat = xptbz2.getfile(_unicode_encode("CATEGORY", - encoding=_encodings['repo.content'])) - if not mycat: - writemsg(_("!!! CATEGORY info missing from info chunk, aborting...\n"), - noiselevel=-1) - return 1 - mycat = _unicode_decode(mycat, - encoding=_encodings['repo.content'], errors='replace') - mycat = mycat.strip() - - # These are the same directories that would be used at build time. - builddir = os.path.join( - mysettings["PORTAGE_TMPDIR"], "portage", mycat, mypkg) - catdir = os.path.dirname(builddir) - pkgloc = os.path.join(builddir, "image") - infloc = os.path.join(builddir, "build-info") - myebuild = os.path.join( - infloc, os.path.basename(mytbz2)[:-4] + "ebuild") - portage.util.ensure_dirs(os.path.dirname(catdir), - uid=portage_uid, gid=portage_gid, mode=0o70, mask=0) - portage.util.ensure_dirs(catdir, - uid=portage_uid, gid=portage_gid, mode=0o70, mask=0) - try: - shutil.rmtree(builddir) - except (IOError, OSError) as e: - if e.errno != errno.ENOENT: - raise - del e - for mydir in (builddir, pkgloc, infloc): - portage.util.ensure_dirs(mydir, uid=portage_uid, - gid=portage_gid, mode=0o755) - writemsg_stdout(_(">>> Extracting info\n")) - xptbz2.unpackinfo(infloc) - mysettings.setcpv(mycat + "/" + mypkg, mydb=mydbapi) - # Store the md5sum in the vdb. - fp = open(_unicode_encode(os.path.join(infloc, 'BINPKGMD5')), 'w') - fp.write(str(portage.checksum.perform_md5(mytbz2))+"\n") - fp.close() - - # This gives bashrc users an opportunity to do various things - # such as remove binary packages after they're installed. - mysettings["PORTAGE_BINPKG_FILE"] = mytbz2 - mysettings.backup_changes("PORTAGE_BINPKG_FILE") - debug = mysettings.get("PORTAGE_DEBUG", "") == "1" - - # Eventually we'd like to pass in the saved ebuild env here. - retval = portage.doebuild(myebuild, "setup", myroot, mysettings, debug=debug, - tree="bintree", mydbapi=mydbapi, vartree=vartree) - if retval != os.EX_OK: - writemsg(_("!!! Setup failed: %s\n") % retval, noiselevel=-1) - return retval - - writemsg_stdout(_(">>> Extracting %s\n") % mypkg) - retval = portage.process.spawn_bash( - "bzip2 -dqc -- '%s' | tar -xp -C '%s' -f -" % (mytbz2, pkgloc), - env=mysettings.environ()) - if retval != os.EX_OK: - writemsg(_("!!! Error Extracting '%s'\n") % mytbz2, noiselevel=-1) - return retval - #portage.locks.unlockfile(tbz2_lock) - #tbz2_lock = None - - mylink = portage.dblink(mycat, mypkg, myroot, mysettings, vartree=vartree, - treetype="bintree", blockers=blockers) - retval = mylink.merge(pkgloc, infloc, myroot, myebuild, cleanup=0, - mydbapi=mydbapi, prev_mtimes=prev_mtimes) - did_merge_phase = True - success = retval == os.EX_OK - return retval - finally: - mysettings.pop("PORTAGE_BINPKG_FILE", None) - if tbz2_lock: - portage.locks.unlockfile(tbz2_lock) - if True: - if not did_merge_phase: - # The merge phase handles this already. Callers don't know how - # far this function got, so we have to call elog_process() here - # so that it's only called once. - from portage.elog import elog_process - elog_process(mycat + "/" + mypkg, mysettings) - try: - if success: - shutil.rmtree(builddir) - except (IOError, OSError) as e: - if e.errno != errno.ENOENT: - raise - del e