* compare-packages: added script to compare the contents of 'old' and 'new'

binary packages of the same source package. Useful to spot moved files,
  dropped files, etc.
* README: briefly document added scripts.
This commit is contained in:
Daniel Holbach 2007-09-14 11:24:45 +02:00
parent 50bdd93183
commit ad934233e9
4 changed files with 92 additions and 1 deletions

13
README
View File

@ -10,12 +10,19 @@ check-symbols <package> [<directory>]
files in all binary packages of <package>.
<directory> is not mandatory and set to /var/cache/pbuilder/result by default.
compare-packages <source package> [<directory>]
... will compare the contents of the binary packages of <source
package> in the current directory with those in <directory>
dch-repeat [--help]
... will repeat a change log into an older release.
get-branches <directory> <team> [checkout|branch]
... will branch / checkout all the Bazaar branches in a Launchpad team.
hugdaylist [-n <number>] <bug list url>
... will create a list of <number> bug list for a hug day listing
mk-sbuild-lv
... will create LVM snapshot chroots via schroot and sbuild. It assumes that
sbuild has not be installed and configured before.
@ -24,6 +31,12 @@ pbuilder-dist [create|update|build|clean|login|execute]
... is a wrapper to use pbuilder with many different distributions / versions.
It has to be renamed to something like pbuilder-feisty, pbuilder-gutsy, etc.
ppaput [-n] <dput location> [<debuild options>]
... will build a source package using <debuild options>, upload it
to <dput location> and follow up on specified bugs, make sure the
sponsoring process is followed. Also it will file a new bug, if
'-n' is used.
pull-debian-debdiff <package> <version>
... will attempt to find and download a specific version of a Debian package
and its immediate parent to generate a debdiff.

68
compare-packages Executable file
View File

@ -0,0 +1,68 @@
#!/usr/bin/python
#
# Copyright 2007, Canonical, Daniel Holbach
#
# GPL 3
import os
import sys
import glob
USAGE = \
"""compare-packages <source-package> [<directory>]
compares contents of binary packages of <source-package> in the current
directory with those in <directory>"""
def check_args():
directory = "/var/cache/pbuilder/result"
sourcepackage = ""
if len(sys.argv) < 2:
print USAGE
sys.exit(1)
if sys.argv[1] in [ '-h', '--help' ]:
print USAGE
sys.exit(0)
if len(sys.argv) > 1:
sourcepackage = sys.argv[1]
if len(sys.argv) > 2:
directory = sys.argv[2]
return (sourcepackage, directory)
def main():
(sourcepackage, directory) = check_args()
(dummy, output, dummy) = os.popen3("apt-cache showsrc %s | grep ^Binary" % \
(sourcepackage))
binarypackages = output.read().split(":")[1].strip().split(", ")
if not os.path.exists("/usr/bin/debdiff"):
print >> sys.stderr, \
"'/usr/bin/debdiff' not found, please install 'devscripts'."
sys.exit(1)
if not os.path.isdir(directory):
print >> sys.stderr, "Directory %s not found." % directory
sys.exit(1)
for package in binarypackages:
old = glob.glob("./%s*.deb" % package)
new = glob.glob("%s/%s*.deb" % (directory, package))
if not new or not old:
print "Skipping %s, no matching new and old package found." % package
else:
print "Comparing %s and %s" % (old[0], new[0])
sys.stdout.flush()
os.system("debdiff %s %s" % (old[0], new[0]))
print ''
print '---'
if __name__ == '__main__':
main()

9
debian/changelog vendored
View File

@ -1,3 +1,12 @@
ubuntu-dev-tools (0.10) gutsy; urgency=low
* compare-packages: added script to compare the contents of 'old' and 'new'
binary packages of the same source package. Useful to spot moved files,
dropped files, etc.
* README: briefly document added scripts.
-- Daniel Holbach <daniel.holbach@ubuntu.com> Fri, 14 Sep 2007 11:23:36 +0200
ubuntu-dev-tools (0.9) gutsy; urgency=low
* Added submittodebian.1

View File

@ -27,7 +27,8 @@ setup(name='ubuntu-dev-tools',
'suspicious-source',
'ppaput',
'requestsync',
'hugdaylist'
'hugdaylist',
'compare-packages'
],
)