source: ipk/ipkg-utils-050831/ipkg-compare-indexes@ 7932

Last change on this file since 7932 was 4890, checked in by obi, 15 years ago

[ipk] fix executable rights

  • Property svn:executable set to *
File size: 1.4 KB
Line 
1#!/usr/bin/env python
2
3import sys, os
4from glob import glob
5import commands
6import ipkg
7
8pkg_dir1 = sys.argv[1]
9pkg_dir2 = sys.argv[2]
10
11if ( not pkg_dir1 or not pkg_dir2 ):
12 sys.stderr.write("Usage: ipkg-update-index <package_directory1> <package_directory2>\n")
13 sys.exit(1)
14
15pkgs1 = ipkg.Packages()
16pkgs1.read_packages_file(pkg_dir1 + '/Packages')
17
18pkgs2 = ipkg.Packages()
19pkgs2.read_packages_file(pkg_dir2 + '/Packages')
20
21names1 = pkgs1.packages.keys()
22names2 = pkgs2.packages.keys()
23
24## union of the two names lists
25pkgs = {}
26for name in names1:
27 pkgs[name] = pkgs1.packages[name]
28for name in names2:
29 pkgs[name] = pkgs2.packages[name]
30
31names = pkgs.keys()
32names.sort()
33for name in names:
34 pkg1 = None
35 pkg2 = None
36 if pkgs1.packages.has_key(name):
37 pkg1 = pkgs1.packages[name]
38 if pkgs2.packages.has_key(name):
39 pkg2 = pkgs2.packages[name]
40 if pkg1 and pkg2 and pkg1.version != pkg2.version:
41 print "CHANGED: %s from version %s to %s (%s)" % (pkg1.package, pkg1.version, pkg2.version, pkg2.maintainer)
42 cmd = "ipkg-diff %s %s > %s " % ((pkg_dir1 + pkg1.filename), (pkg_dir2 + pkg2.filename), (pkg1.package + '.diff'))
43 print cmd
44 commands.getstatusoutput(cmd)
45 if not pkg1:
46 print "NEW: %s version %s (%s)"% (pkg2.package, pkg2.version, pkg2.maintainer)
47 if not pkg2:
48 print "DELETE: %s version %s (%s)"% (pkg1.package, pkg1.version, pkg1.maintainer)
49
Note: See TracBrowser for help on using the repository browser.