[Pkg-bazaar-commits] ./bzr-builddeb/trunk.old r233: Make the SourcePackageBuilder easier to use.
James Westby
jw+debian at jameswestby.net
Wed Dec 10 08:32:47 UTC 2008
------------------------------------------------------------
revno: 233
committer: James Westby <jw+debian at jameswestby.net>
branch nick: import
timestamp: Mon 2008-06-16 11:54:53 +0100
message:
Make the SourcePackageBuilder easier to use.
modified:
tests/test_import_dsc.py
-------------- next part --------------
=== modified file 'tests/test_import_dsc.py'
--- a/tests/test_import_dsc.py 2008-06-11 12:13:49 +0000
+++ b/tests/test_import_dsc.py 2008-06-16 10:54:53 +0000
@@ -1940,7 +1940,6 @@
builder = SourcePackageBuilder(name, version)
builder.add_upstream_file("README", "Hi\n")
builder.add_upstream_file("BUGS")
- builder.add_default_changelog()
builder.add_default_control()
builder.build()
tempdir = self.db1.extract_dsc(builder.dsc_name())
@@ -2047,19 +2046,8 @@
self.tree1.pull(self.up_tree1.branch)
revid1 = self.tree1.commit("one")
self.db1.tag_version(version1)
- builder = SourcePackageBuilder("package", version2)
- cl = Changelog()
- cl.new_block(package="package", version=version1,
- distributions="unstable", urgency="low",
- author="Maint <maint at maint.org>",
- date="Wed, 19 Mar 2008 21:27:37 +0000")
- cl.add_change(" * foo")
- cl.new_block(package="package", version=version2,
- distributions="experimental", urgency="low",
- author="Maint <maint at maint.org>",
- date="Wed, 19 Mar 2008 21:27:37 +0000")
- cl.add_change(" * foo")
- builder.add_debian_file("debian/changelog", str(cl))
+ builder = SourcePackageBuilder("package", version1)
+ builder.new_version(version2)
builder.add_default_control()
builder.build()
self.db2.import_package(builder.dsc_name())
@@ -2069,14 +2057,7 @@
def import_package_single(self):
version1 = Version("0.1-1")
builder = SourcePackageBuilder("package", version1)
- cl = Changelog()
- cl.new_block(package="package", version=version1,
- distributions="unstable", urgency="low",
- author="Maint <maint at maint.org>",
- date="Wed, 19 Mar 2008 21:27:37 +0000")
- cl.add_change(" * foo")
builder.add_upstream_file("README", "foo")
- builder.add_debian_file("debian/changelog", str(cl))
builder.add_default_control()
builder.build()
self.db1.import_package(builder.dsc_name())
@@ -2087,32 +2068,19 @@
version1 = Version("0.1-1")
version2 = Version("0.2-1")
builder = SourcePackageBuilder("package", version1)
- cl = Changelog()
- cl.new_block(package="package", version=version1,
- distributions="unstable", urgency="low",
- author="Maint <maint at maint.org>",
- date="Wed, 19 Mar 2008 21:27:37 +0000")
- cl.add_change(" * foo")
builder.add_upstream_file("README", "foo")
builder.add_upstream_file("BUGS")
builder.add_upstream_file("NEWS")
- builder.add_debian_file("debian/changelog", str(cl))
builder.add_debian_file("COPYING", "Don't do it\n")
builder.add_default_control()
builder.build()
self.db1.import_package(builder.dsc_name())
- cl.new_block(package="package", version=version2,
- distributions="unstable", urgency="low",
- author="Maint <maint at maint.org>",
- date="Wed, 19 Mar 2008 21:27:37 +0000")
- cl.add_change(" * foo")
- builder = SourcePackageBuilder("package", version2)
+ builder.new_version(version2)
builder.add_upstream_file("README", "bar")
- builder.add_upstream_file("BUGS")
builder.add_upstream_file("COPYING", "Please do\n")
builder.add_upstream_file("src.c")
- builder.add_debian_file("debian/changelog", str(cl))
- builder.add_default_control()
+ builder.remove_upstream_file("NEWS")
+ builder.remove_debian_file("COPYING")
builder.build()
self.db1.import_package(builder.dsc_name())
rh = self.tree1.branch.revision_history()
@@ -2152,26 +2120,12 @@
version1 = Version("0.1-0ubuntu1")
version2 = Version("0.2-1")
builder = SourcePackageBuilder("package", version1)
- cl = Changelog()
- cl.new_block(package="package", version=version1,
- distributions="intrepid", urgency="low",
- author="Maint <maint at maint.org>",
- date="Wed, 19 Mar 2008 21:27:37 +0000")
- cl.add_change(" * foo")
builder.add_upstream_file("README", "foo")
- builder.add_debian_file("debian/changelog", str(cl))
builder.add_default_control()
builder.build()
self.db2.import_package(builder.dsc_name())
- cl = Changelog()
- cl.new_block(package="package", version=version2,
- distributions="unstable", urgency="low",
- author="Maint <maint at maint.org>",
- date="Wed, 19 Mar 2008 21:27:37 +0000")
- cl.add_change(" * foo")
builder = SourcePackageBuilder("package", version2)
builder.add_upstream_file("README", "bar")
- builder.add_debian_file("debian/changelog", str(cl))
builder.add_default_control()
builder.build()
self.db1.import_package(builder.dsc_name())
@@ -2205,48 +2159,60 @@
class SourcePackageBuilder(object):
def __init__(self, name, version):
- self.upstream_files = []
- self.debian_files = []
+ self.upstream_files = {}
+ self.debian_files = {}
self.name = name
- self.version = version
+ cl = Changelog()
+ cl.new_block(package=name, version=version,
+ distributions="unstable", urgency="low",
+ author="Maint <maint at maint.org>",
+ date="Wed, 19 Mar 2008 21:27:37 +0000")
+ cl.add_change(" * foo")
+ self._cl = cl
def add_upstream_file(self, name, content=None):
self.add_upstream_files([(name, content)])
def add_upstream_files(self, files):
- self.upstream_files += files
+ for new_file in files:
+ self.upstream_files[new_file[0]] = new_file[1]
+
+ def remove_upstream_file(self, filename):
+ del self.upstream_files[filename]
def add_debian_file(self, name, content=None):
self.add_debian_files([(name, content)])
def add_debian_files(self, files):
- self.debian_files += files
+ for new_file in files:
+ self.debian_files[new_file[0]] = new_file[1]
+
+ def remove_debian_file(self, filename):
+ del self.debian_files[filename]
def add_default_control(self):
text = """Source: %s\n""" % self.name
self.add_debian_file("debian/control", text)
- def add_default_changelog(self):
- cl = Changelog()
- cl.new_block(package=self.name, version=self.version,
+ def new_version(self, version):
+ self._cl.new_block(package=self.name, version=version,
distributions="unstable", urgency="low",
author="Maint <maint at maint.org>",
date="Wed, 19 Mar 2008 21:27:37 +0000")
- cl.add_change(" * foo")
- self.add_debian_file("debian/changelog", str(cl))
+ self._cl.add_change(" * foo")
def orig_name(self):
- v_num = str(self.version.upstream_version)
+ v_num = str(self._cl.version.upstream_version)
return "%s_%s.orig.tar.gz" % (self.name, v_num)
def diff_name(self):
- return "%s_%s.diff.gz" % (self.name, str(self.version))
+ return "%s_%s.diff.gz" % (self.name, str(self._cl.version))
def dsc_name(self):
- return "%s_%s.dsc" % (self.name, str(self.version))
+ return "%s_%s.dsc" % (self.name, str(self._cl.version))
def _make_files(self, files_list, basedir):
- for (path, content) in files_list:
+ for (path, content) in files_list.items():
dirname = os.path.dirname(path)
if dirname is not None and dirname != "":
if not os.path.exists(os.path.join(basedir, dirname)):
@@ -2260,7 +2226,7 @@
f.close()
def basedir(self):
- return self.name + "-" + str(self.version.upstream_version)
+ return self.name + "-" + str(self._cl.version.upstream_version)
def _make_base(self):
basedir = self.basedir()
@@ -2273,6 +2239,7 @@
orig_basedir = basedir + ".orig"
shutil.copytree(basedir, orig_basedir)
self._make_files(self.debian_files, basedir)
+ self._make_files({"debian/changelog": str(self._cl)}, basedir)
proc = subprocess.Popen("dpkg-source -sa -b %s" % (basedir),
shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
ret = proc.wait()
More information about the Pkg-bazaar-commits
mailing list