51 lines
1.6 KiB
Python
51 lines
1.6 KiB
Python
#!/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 = [os.path.basename(x).split(".pisi")[0] for x in 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 list(versions.keys()):
|
|
mins[pkg] = min(versions[pkg])
|
|
maxs[pkg] = max(versions[pkg])
|
|
|
|
return mins, maxs
|
|
|
|
if __name__ == "__main__":
|
|
|
|
mi, ma = minsandmaxes()
|
|
for pkg in list(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)
|