diff options
author | Robert Yang <liezhi.yang@windriver.com> | 2012-08-01 17:14:53 +0800 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2012-08-01 23:03:06 +0100 |
commit | 72d673bef385e756bd858f9eca7fe419efaceb39 (patch) | |
tree | 7abdc2f582f04b83dc0ac205cc7b6d5f41e18b33 /scripts | |
parent | 674d65c94478a1ff33ef9d9c1e49f677091301f4 (diff) | |
download | openembedded-core-72d673bef385e756bd858f9eca7fe419efaceb39.tar.gz openembedded-core-72d673bef385e756bd858f9eca7fe419efaceb39.tar.bz2 openembedded-core-72d673bef385e756bd858f9eca7fe419efaceb39.zip |
createrepo 0.4.11: add rpm-createsolvedb.py
Move scripts/rpm-createsolvedb.py to
meta/recipes-support/createrepo/createrepo/ since we should wrap it to
use the native python.
[YOCTO #2822]
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'scripts')
-rwxr-xr-x | scripts/rpm-createsolvedb.py | 64 |
1 files changed, 0 insertions, 64 deletions
diff --git a/scripts/rpm-createsolvedb.py b/scripts/rpm-createsolvedb.py deleted file mode 100755 index a5b61bade7..0000000000 --- a/scripts/rpm-createsolvedb.py +++ /dev/null @@ -1,64 +0,0 @@ -#!/usr/bin/env python -# -# This script generates a solution database for a directory containing rpm packages -# but tries to be efficient about this, only doing so when the packages have changed -# in some way. -# -# It is assumed something already went through and removed all the solvedb.done stamp files -# in advance. -# -# First argument - the rpm binary to use -# Subsequent arguments - paths to process solution databases for -# - -import sys, os -import hashlib -import stat -import subprocess - -if len(sys.argv) < 1: - print("Error, rpm command not specified") - sys.exit(1) - -if len(sys.argv) < 2: - print("Error, no paths specified") - sys.exit(1) - -paths = sys.argv[2:] - -for path in paths: - if os.path.exists(path + "/solvedb.done"): - continue - data = "" - manifest = [] - for root, dirs, files in os.walk(path): - for file in files: - f = os.path.join(root, file) - if f.startswith(path + "/" + "solvedb"): - continue - data = data + str(os.stat(f)[stat.ST_MTIME]) - manifest.append(f) - checksum = hashlib.md5(data).hexdigest() - - if os.path.exists(path + "/solvedb.checksum") and open(path + "/solvedb.checksum", "r").read() == checksum: - open(path + "/solvedb.done", "w") - continue - - if os.path.exists(path + "/solvedb"): - subprocess.call("rm -rf %s" % (path + "/solvedb"), shell=True) - os.mkdir(path + "/solvedb") - m = open(path + "/solvedb/manifest", "w") - m.write("# Dynamically generated solve manifest\n") - for f in manifest: - m.write(f + "\n") - m.close() - - cmd = sys.argv[1] + ' -i --replacepkgs --replacefiles --oldpackage -D "_dbpath ' + path + '/solvedb" --justdb \ - --noaid --nodeps --noorder --noscripts --notriggers --noparentdirs --nolinktos --stats \ - --ignoresize --nosignature --nodigest -D "__dbi_txn create nofsync" \ - ' + path + '/solvedb/manifest' - subprocess.call(cmd, shell=True) - - open(path + "/solvedb.checksum", "w").write(checksum) - open(path + "/solvedb.done", "w") - |