summaryrefslogtreecommitdiffstats
path: root/bin
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2008-04-05 20:03:43 +0000
committerZac Medico <zmedico@gentoo.org>2008-04-05 20:03:43 +0000
commit4614f5371857b8cc6fa952e309cd9664c8c9c3e2 (patch)
treed54fc1c1436ca0c8900f41e049a3f5309f307f73 /bin
parent801d551e35934bbd8c48f7ef6680960cf3572741 (diff)
downloadportage-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-xbin/quickpkg14
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()))