[DELTA] add createdelta script.
This commit is contained in:
@@ -0,0 +1,52 @@
|
|||||||
|
#!/usr/bin/python
|
||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
#
|
||||||
|
# Copyright (C) 2005, 2006 TUBITAK/UEKAE
|
||||||
|
#
|
||||||
|
# This program is free software; you can redistribute it and/or modify it under
|
||||||
|
# the terms of the GNU General Public License as published by the Free
|
||||||
|
# Software Foundation; either version 2 of the License, or (at your option)
|
||||||
|
# any later version.
|
||||||
|
#
|
||||||
|
# Please read the COPYING file.
|
||||||
|
|
||||||
|
import os
|
||||||
|
import glob
|
||||||
|
import pisi
|
||||||
|
import pisi.util as util
|
||||||
|
from pisi.version import Version
|
||||||
|
from pisi.delta import create_delta_package
|
||||||
|
|
||||||
|
def minsandmaxes():
|
||||||
|
|
||||||
|
packages = map(lambda x: os.path.basename(x).split(".pisi")[0], set(glob.glob("*.pisi")) - set(glob.glob("*.delta.pisi")))
|
||||||
|
|
||||||
|
versions = {}
|
||||||
|
for file in packages:
|
||||||
|
name, version = util.parse_package_name(file)
|
||||||
|
versions.setdefault(name, []).append(Version(version))
|
||||||
|
|
||||||
|
mins = {}
|
||||||
|
maxs = {}
|
||||||
|
for pkg in versions.keys():
|
||||||
|
mins[pkg] = min(versions[pkg])
|
||||||
|
maxs[pkg] = max(versions[pkg])
|
||||||
|
|
||||||
|
return mins, maxs
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
|
||||||
|
pisi.api.init(write=False)
|
||||||
|
|
||||||
|
mi, ma = minsandmaxes()
|
||||||
|
for pkg in mi.keys():
|
||||||
|
old_pkg = "%s-%s.pisi" % (pkg, str(mi[pkg]))
|
||||||
|
new_pkg = "%s-%s.pisi" % (pkg, str(ma[pkg]))
|
||||||
|
name, version = util.parse_package_name(pkg)
|
||||||
|
|
||||||
|
if not old_pkg == new_pkg:
|
||||||
|
# skip if same
|
||||||
|
if not os.path.exists("%s-%s-%s.delta.pisi" % (name, str(mi[pkg].build), str(ma[pkg].build))):
|
||||||
|
# skip if delta exists
|
||||||
|
print "%s --> Min: %s Max: %s \n %s-%s-%s.delta.pisi" % (pkg, old_pkg, new_pkg, name, str(mi[pkg].build), str(ma[pkg].build))
|
||||||
|
create_delta_package(old_pkg, new_pkg)
|
||||||
Reference in New Issue
Block a user