diff options
author | Zac Medico <zmedico@gentoo.org> | 2008-04-05 20:03:43 +0000 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2008-04-05 20:03:43 +0000 |
commit | 4614f5371857b8cc6fa952e309cd9664c8c9c3e2 (patch) | |
tree | d54fc1c1436ca0c8900f41e049a3f5309f307f73 /bin | |
parent | 801d551e35934bbd8c48f7ef6680960cf3572741 (diff) | |
download | portage-4614f5371857b8cc6fa952e309cd9664c8c9c3e2.tar.gz portage-4614f5371857b8cc6fa952e309cd9664c8c9c3e2.tar.bz2 portage-4614f5371857b8cc6fa952e309cd9664c8c9c3e2.zip |
When necessary, make quickpkg add missing metadata to the vdb entry before
creating the binary package. (trunk r9723)
svn path=/main/branches/2.1.2/; revision=9724
Diffstat (limited to 'bin')
-rwxr-xr-x | bin/quickpkg | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/bin/quickpkg b/bin/quickpkg index fedb1b3fe..a5d67ac3d 100755 --- a/bin/quickpkg +++ b/bin/quickpkg @@ -4,6 +4,7 @@ # $Id$ import errno, signal, stat, sys, os +from itertools import izip def tar_contents(contents, root, tar, protect=None, onProgress=None): from portage_util import normalize_path @@ -91,6 +92,7 @@ def quickpkg_main(options, args, eout): config_files_excluded = 0 include_config = options.include_config == "y" include_unmodified_config = options.include_unmodified_config == "y" + fix_metadata_keys = ["PF", "CATEGORY"] for arg in args: try: atom = dep_expand(arg, mydb=vardb, settings=vartree.settings) @@ -162,6 +164,18 @@ def quickpkg_main(options, args, eout): return False excluded_config_files.append(filename) return True + existing_metadata = dict(izip(fix_metadata_keys, + vardb.aux_get(cpv, fix_metadata_keys))) + category, pf = portage.catsplit(cpv) + required_metadata = {} + required_metadata["CATEGORY"] = category + required_metadata["PF"] = pf + update_metadata = {} + for k, v in required_metadata.iteritems(): + if v != existing_metadata[k]: + update_metadata[k] = v + if update_metadata: + vardb.aux_update(cpv, update_metadata) xpdata = xpak.xpak(dblnk.dbdir) binpkg_tmpfile = os.path.join(bintree.pkgdir, cpv + ".tbz2." + str(os.getpid())) |