Merge lp:~jelmer/bzr-builddeb/tar-xz into lp:bzr-builddeb

Proposed by Jelmer Vernooij
Status: Merged
Merged at revision: 613
Proposed branch: lp:~jelmer/bzr-builddeb/tar-xz
Merge into: lp:bzr-builddeb
Diff against target: 284 lines (+45/-38)
9 files modified
cmds.py (+3/-3)
debian/changelog (+6/-0)
dh_make.py (+2/-2)
import_dsc.py (+4/-4)
tests/test_import_dsc.py (+2/-2)
tests/test_upstream.py (+12/-12)
tests/test_util.py (+5/-5)
upstream/pristinetar.py (+7/-7)
util.py (+4/-3)
To merge this branch: bzr merge lp:~jelmer/bzr-builddeb/tar-xz
Reviewer Review Type Date Requested Status
Vincent Ladeuil Approve
Review via email: mp+74812@code.launchpad.net

Commit message

Replace .tar.lzma with .tar.xz - our toolchain only supports the latter.

Description of the change

Replace .tar.lzma with .tar.xz - our toolchain only supports the latter.

To post a comment you must log in.
Revision history for this message
Jelmer Vernooij (jelmer) wrote :

I think we should do another release and upload to oneiric after this lands.

Revision history for this message
Vincent Ladeuil (vila) wrote :

Fine !

This has caused http://package-import.ubuntu.com/status/pleiades.html#2011-09-09%2003:33:07.686923

The package importer on jubany is currently at revno 607 (2 revisions after 2.7.7), do you think any change since then could cause problems there ? Or can I just deploy this patch once it has landed ?

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'cmds.py'
--- cmds.py 2011-08-11 15:55:14 +0000
+++ cmds.py 2011-09-09 15:14:45 +0000
@@ -471,7 +471,7 @@
471471
472 You must supply the source to import from, and in some cases472 You must supply the source to import from, and in some cases
473 the version number of the new release. The source can be a .tar.gz, .tar,473 the version number of the new release. The source can be a .tar.gz, .tar,
474 .tar.bz2, .tar.lzma, .tgz or .zip archive, a directory or a branch. The474 .tar.bz2, .tar.xz, .tgz or .zip archive, a directory or a branch. The
475 source may also be a remote file described by a URL.475 source may also be a remote file described by a URL.
476476
477 In most situations the version can be guessed from the upstream source.477 In most situations the version can be guessed from the upstream source.
@@ -577,8 +577,8 @@
577 if v3:577 if v3:
578 if location.endswith(".tar.bz2") or location.endswith(".tbz2"):578 if location.endswith(".tar.bz2") or location.endswith(".tbz2"):
579 format = "bz2"579 format = "bz2"
580 elif location.endswith(".tar.lzma"):580 elif location.endswith(".tar.xz"):
581 format = "lzma"581 format = "xz"
582 dest_name = tarball_name(package, version, None, format=format)582 dest_name = tarball_name(package, version, None, format=format)
583 tarball_filename = os.path.join(orig_dir, dest_name)583 tarball_filename = os.path.join(orig_dir, dest_name)
584 try:584 try:
585585
=== modified file 'debian/changelog'
--- debian/changelog 2011-09-07 21:50:32 +0000
+++ debian/changelog 2011-09-09 15:14:45 +0000
@@ -1,3 +1,9 @@
1bzr-builddeb (2.7.9) UNRELEASED; urgency=low
2
3 * Support .tar.xz Debian files rather than .tar.lzma.
4
5 -- Jelmer Vernooij <jelmer@debian.org> Fri, 09 Sep 2011 15:21:22 +0200
6
1bzr-builddeb (2.7.8) unstable; urgency=low7bzr-builddeb (2.7.8) unstable; urgency=low
28
3 * Improve error message when tag for upstream version can not be9 * Improve error message when tag for upstream version can not be
410
=== modified file 'dh_make.py'
--- dh_make.py 2011-07-16 21:52:11 +0000
+++ dh_make.py 2011-09-09 15:14:45 +0000
@@ -62,8 +62,8 @@
62 if use_v3:62 if use_v3:
63 if tarball.endswith(".tar.bz2") or tarball.endswith(".tbz2"):63 if tarball.endswith(".tar.bz2") or tarball.endswith(".tbz2"):
64 format = "bz2"64 format = "bz2"
65 elif tarball.endswith(".tar.lzma"):65 elif tarball.endswith(".tar.xz"):
66 format = "lzma"66 format = "xz"
67 dest_name = util.tarball_name(package_name, version, None, format=format)67 dest_name = util.tarball_name(package_name, version, None, format=format)
68 trace.note("Fetching tarball")68 trace.note("Fetching tarball")
69 repack_tarball(tarball, dest_name, target_dir=orig_dir)69 repack_tarball(tarball, dest_name, target_dir=orig_dir)
7070
=== modified file 'import_dsc.py'
--- import_dsc.py 2011-07-20 14:09:01 +0000
+++ import_dsc.py 2011-09-09 15:14:45 +0000
@@ -1477,7 +1477,7 @@
1477 for part in self.dsc['files']:1477 for part in self.dsc['files']:
1478 if (part['name'].endswith(".tar.gz")1478 if (part['name'].endswith(".tar.gz")
1479 or part['name'].endswith(".tar.bz2")1479 or part['name'].endswith(".tar.bz2")
1480 or part['name'].endswith(".tar.lzma")):1480 or part['name'].endswith(".tar.xz")):
1481 self.unextracted_debian_md5 = part['md5sum']1481 self.unextracted_debian_md5 = part['md5sum']
14821482
14831483
@@ -1521,12 +1521,12 @@
1521 part['md5sum']))1521 part['md5sum']))
1522 elif (part['name'].endswith(".debian.tar.gz")1522 elif (part['name'].endswith(".debian.tar.gz")
1523 or part['name'].endswith(".debian.tar.bz2")1523 or part['name'].endswith(".debian.tar.bz2")
1524 or part['name'].endswith(".debian.tar.lzma")):1524 or part['name'].endswith(".debian.tar.xz")):
1525 self.unextracted_debian_md5 = part['md5sum']1525 self.unextracted_debian_md5 = part['md5sum']
1526 assert self.upstream_tarballs is not None, \1526 assert self.upstream_tarballs is not None, \
1527 "Can't handle non gz|bz2|lzma tarballs yet"1527 "Can't handle non gz|bz2|xz tarballs yet"
1528 assert self.unextracted_debian_md5 is not None, \1528 assert self.unextracted_debian_md5 is not None, \
1529 "Can't handle non gz|bz2|lzma tarballs yet"1529 "Can't handle non gz|bz2|xz tarballs yet"
15301530
15311531
1532SOURCE_EXTRACTORS = {}1532SOURCE_EXTRACTORS = {}
15331533
=== modified file 'tests/test_import_dsc.py'
--- tests/test_import_dsc.py 2011-08-31 01:16:19 +0000
+++ tests/test_import_dsc.py 2011-09-09 15:14:45 +0000
@@ -925,7 +925,7 @@
925 "esse cillum dolore eu fugiat nulla pariatur. Excepteur sint "925 "esse cillum dolore eu fugiat nulla pariatur. Excepteur sint "
926 "occaecat cupidatat non proident, sunt in culpa qui officia "926 "occaecat cupidatat non proident, sunt in culpa qui officia "
927 "deserunt mollit anim id est laborum.")927 "deserunt mollit anim id est laborum.")
928 tar_path = "package_0.1.orig.tar.lzma"928 tar_path = "package_0.1.orig.tar.xz"
929 f = lzma.LZMAFile(tar_path, 'w')929 f = lzma.LZMAFile(tar_path, 'w')
930 try:930 try:
931 tf = tarfile.open(None, 'w', f)931 tf = tarfile.open(None, 'w', f)
@@ -947,7 +947,7 @@
947 self.assertEqual(rev.message,947 self.assertEqual(rev.message,
948 "Import upstream version %s" % str(version.upstream_version))948 "Import upstream version %s" % str(version.upstream_version))
949 self.assertEqual(rev.properties['deb-md5'], self.fake_md5_1)949 self.assertEqual(rev.properties['deb-md5'], self.fake_md5_1)
950 self.assertTrue('deb-pristine-delta-lzma' in rev.properties)950 self.assertTrue('deb-pristine-delta-xz' in rev.properties)
951951
952 def test_import_package_init_from_other(self):952 def test_import_package_init_from_other(self):
953 self.requireFeature(PristineTarFeature)953 self.requireFeature(PristineTarFeature)
954954
=== modified file 'tests/test_upstream.py'
--- tests/test_upstream.py 2011-09-07 20:11:50 +0000
+++ tests/test_upstream.py 2011-09-09 15:14:45 +0000
@@ -224,17 +224,17 @@
224 _apt_pkg=apt_pkg)224 _apt_pkg=apt_pkg)
225 self.assertEquals(paths, ["target/apackage_0.2.orig.tar.bz2"])225 self.assertEquals(paths, ["target/apackage_0.2.orig.tar.bz2"])
226226
227 def test_apt_provider_right_version_lzma(self):227 def test_apt_provider_right_version_xz(self):
228 caller = MockAptCaller(work=True)228 caller = MockAptCaller(work=True)
229 sources = MockSources(["0.1-1", "0.2-1"],229 sources = MockSources(["0.1-1", "0.2-1"],
230 [[("checksum", 0L, "apackage_0.1.orig.tar.gz", "tar")],230 [[("checksum", 0L, "apackage_0.1.orig.tar.gz", "tar")],
231 [("checksum", 0L, "apackage_0.2.orig.tar.lzma", "tar")]])231 [("checksum", 0L, "apackage_0.2.orig.tar.xz", "tar")]])
232 apt_pkg = MockAptPkg(sources)232 apt_pkg = MockAptPkg(sources)
233 src = AptSource()233 src = AptSource()
234 src._run_apt_source = caller.call234 src._run_apt_source = caller.call
235 paths = src.fetch_tarballs("apackage", "0.2", "target",235 paths = src.fetch_tarballs("apackage", "0.2", "target",
236 _apt_pkg=apt_pkg)236 _apt_pkg=apt_pkg)
237 self.assertEquals(paths, ["target/apackage_0.2.orig.tar.lzma"])237 self.assertEquals(paths, ["target/apackage_0.2.orig.tar.xz"])
238238
239 def test_apt_provider_right_version(self):239 def test_apt_provider_right_version(self):
240 caller = MockAptCaller(work=True)240 caller = MockAptCaller(work=True)
@@ -746,10 +746,10 @@
746 rev.properties["deb-pristine-delta-bz2"] = "1"746 rev.properties["deb-pristine-delta-bz2"] = "1"
747 self.assertEquals("bz2", self.source.pristine_tar_format(rev))747 self.assertEquals("bz2", self.source.pristine_tar_format(rev))
748748
749 def test_pristine_tar_format_lzma(self):749 def test_pristine_tar_format_xz(self):
750 rev = Revision("myrevid")750 rev = Revision("myrevid")
751 rev.properties["deb-pristine-delta-lzma"] = "1"751 rev.properties["deb-pristine-delta-xz"] = "1"
752 self.assertEquals("lzma", self.source.pristine_tar_format(rev))752 self.assertEquals("xz", self.source.pristine_tar_format(rev))
753753
754 def test_pristine_tar_format_unknown(self):754 def test_pristine_tar_format_unknown(self):
755 rev = Revision("myrevid")755 rev = Revision("myrevid")
@@ -836,21 +836,21 @@
836 self.assertPathExists("bar/foo_1.0.orig.tar.bz2")836 self.assertPathExists("bar/foo_1.0.orig.tar.bz2")
837 tarfile.open("bar/foo_1.0.orig.tar.bz2", "r:bz2").close()837 tarfile.open("bar/foo_1.0.orig.tar.bz2", "r:bz2").close()
838838
839 def test_fetch_tarball_lzma(self):839 def test_fetch_tarball_xz(self):
840 self.requireFeature(LzmaFeature)840 self.requireFeature(LzmaFeature)
841 import lzma841 import lzma
842 lzma_f = lzma.LZMAFile("foo-1.0.tar.lzma", 'w')842 lzma_f = lzma.LZMAFile("foo-1.0.tar.xz", 'w')
843 try:843 try:
844 tar = tarfile.open("foo-1.0.tar", "w", lzma_f)844 tar = tarfile.open("foo-1.0.tar", "w", lzma_f)
845 tar.close()845 tar.close()
846 finally:846 finally:
847 lzma_f.close()847 lzma_f.close()
848 source = TarfileSource("foo-1.0.tar.lzma", "1.0")848 source = TarfileSource("foo-1.0.tar.xz", "1.0")
849 os.mkdir("bar")849 os.mkdir("bar")
850 self.assertEquals(["bar/foo_1.0.orig.tar.gz"],850 self.assertEquals(["bar/foo_1.0.orig.tar.xz"],
851 source.fetch_tarballs("foo", "1.0", "bar"))851 source.fetch_tarballs("foo", "1.0", "bar"))
852 self.assertPathExists("bar/foo_1.0.orig.tar.gz")852 self.assertPathExists("bar/foo_1.0.orig.tar.xz")
853 gzip.open("bar/foo_1.0.orig.tar.gz").close()853 lzma.LZMAFile("bar/foo_1.0.orig.tar.xz").close()
854854
855855
856class _MissingUpstreamProvider(UpstreamProvider):856class _MissingUpstreamProvider(UpstreamProvider):
857857
=== modified file 'tests/test_util.py'
--- tests/test_util.py 2011-08-31 01:16:19 +0000
+++ tests/test_util.py 2011-09-09 15:14:45 +0000
@@ -284,9 +284,9 @@
284 self.assertEqual(tarball_name("package", Version("0.1"), None,284 self.assertEqual(tarball_name("package", Version("0.1"), None,
285 format='bz2'), "package_0.1.orig.tar.bz2")285 format='bz2'), "package_0.1.orig.tar.bz2")
286 self.assertEqual(tarball_name("package", Version("0.1"), None,286 self.assertEqual(tarball_name("package", Version("0.1"), None,
287 format='lzma'), "package_0.1.orig.tar.lzma")287 format='xz'), "package_0.1.orig.tar.xz")
288 self.assertEqual(tarball_name("package", Version("0.1"), "la",288 self.assertEqual(tarball_name("package", Version("0.1"), "la",
289 format='lzma'), "package_0.1.orig-la.tar.lzma")289 format='xz'), "package_0.1.orig-la.tar.xz")
290290
291291
292class SuiteToDistributionTests(TestCase):292class SuiteToDistributionTests(TestCase):
@@ -883,7 +883,7 @@
883 f = gzip.GzipFile(tar_path, "w")883 f = gzip.GzipFile(tar_path, "w")
884 elif compression == "bz2":884 elif compression == "bz2":
885 f = bz2.BZ2File(tar_path, "w")885 f = bz2.BZ2File(tar_path, "w")
886 elif compression == "lzma":886 elif compression == "xz":
887 import lzma887 import lzma
888 f = lzma.LZMAFile(tar_path, "w")888 f = lzma.LZMAFile(tar_path, "w")
889 else:889 else:
@@ -915,9 +915,9 @@
915 strip_components=1)915 strip_components=1)
916 self.assertEquals(os.listdir("target"), ["README"])916 self.assertEquals(os.listdir("target"), ["README"])
917917
918 def test_single_orig_tar_lzma(self):918 def test_single_orig_tar_xz(self):
919 self.requireFeature(LzmaFeature)919 self.requireFeature(LzmaFeature)
920 tar_path = self.create_tarball("package", "0.1", "lzma")920 tar_path = self.create_tarball("package", "0.1", "xz")
921 os.mkdir("target")921 os.mkdir("target")
922 extract_orig_tarballs([(tar_path, None)], "target",922 extract_orig_tarballs([(tar_path, None)], "target",
923 strip_components=1)923 strip_components=1)
924924
=== modified file 'upstream/pristinetar.py'
--- upstream/pristinetar.py 2011-07-17 13:12:28 +0000
+++ upstream/pristinetar.py 2011-09-09 15:14:45 +0000
@@ -195,8 +195,8 @@
195 uuencoded = standard_b64encode(delta)195 uuencoded = standard_b64encode(delta)
196 if tarball.endswith(".tar.bz2"):196 if tarball.endswith(".tar.bz2"):
197 revprops["deb-pristine-delta-bz2"] = uuencoded197 revprops["deb-pristine-delta-bz2"] = uuencoded
198 elif tarball.endswith(".tar.lzma"):198 elif tarball.endswith(".tar.xz"):
199 revprops["deb-pristine-delta-lzma"] = uuencoded199 revprops["deb-pristine-delta-xz"] = uuencoded
200 else:200 else:
201 revprops["deb-pristine-delta"] = uuencoded201 revprops["deb-pristine-delta"] = uuencoded
202 if author is not None:202 if author is not None:
@@ -316,15 +316,15 @@
316 def has_pristine_tar_delta(self, rev):316 def has_pristine_tar_delta(self, rev):
317 return ('deb-pristine-delta' in rev.properties317 return ('deb-pristine-delta' in rev.properties
318 or 'deb-pristine-delta-bz2' in rev.properties318 or 'deb-pristine-delta-bz2' in rev.properties
319 or 'deb-pristine-delta-lzma' in rev.properties)319 or 'deb-pristine-delta-xz' in rev.properties)
320320
321 def pristine_tar_format(self, rev):321 def pristine_tar_format(self, rev):
322 if 'deb-pristine-delta' in rev.properties:322 if 'deb-pristine-delta' in rev.properties:
323 return 'gz'323 return 'gz'
324 elif 'deb-pristine-delta-bz2' in rev.properties:324 elif 'deb-pristine-delta-bz2' in rev.properties:
325 return 'bz2'325 return 'bz2'
326 elif 'deb-pristine-delta-lzma' in rev.properties:326 elif 'deb-pristine-delta-xz' in rev.properties:
327 return 'lzma'327 return 'xz'
328 assert self.has_pristine_tar_delta(rev)328 assert self.has_pristine_tar_delta(rev)
329 raise AssertionError("Not handled new delta type in "329 raise AssertionError("Not handled new delta type in "
330 "pristine_tar_format")330 "pristine_tar_format")
@@ -334,8 +334,8 @@
334 uuencoded = rev.properties['deb-pristine-delta']334 uuencoded = rev.properties['deb-pristine-delta']
335 elif 'deb-pristine-delta-bz2' in rev.properties:335 elif 'deb-pristine-delta-bz2' in rev.properties:
336 uuencoded = rev.properties['deb-pristine-delta-bz2']336 uuencoded = rev.properties['deb-pristine-delta-bz2']
337 elif 'deb-pristine-delta-lzma' in rev.properties:337 elif 'deb-pristine-delta-xz' in rev.properties:
338 uuencoded = rev.properties['deb-pristine-delta-lzma']338 uuencoded = rev.properties['deb-pristine-delta-xz']
339 else:339 else:
340 assert self.has_pristine_tar_delta(rev)340 assert self.has_pristine_tar_delta(rev)
341 raise AssertionError("Not handled new delta type in "341 raise AssertionError("Not handled new delta type in "
342342
=== modified file 'util.py'
--- util.py 2011-07-25 00:14:48 +0000
+++ util.py 2011-09-09 15:14:45 +0000
@@ -216,7 +216,7 @@
216 :param version: the upstream version of the package.216 :param version: the upstream version of the package.
217 :param component: Component name (None for base)217 :param component: Component name (None for base)
218 :param format: the format for the tarball. If None then 'gz' will be218 :param format: the format for the tarball. If None then 'gz' will be
219 used. You probably want on of 'gz', 'bz2', or 'lzma'.219 used. You probably want on of 'gz', 'bz2', 'lzma' or 'xz'.
220 :return: a string that is the name of the upstream tarball to use.220 :return: a string that is the name of the upstream tarball to use.
221 """221 """
222 if format is None:222 if format is None:
@@ -698,7 +698,7 @@
698 "invalid orig tarball file %s does not have expected prefix %s" % (698 "invalid orig tarball file %s does not have expected prefix %s" % (
699 tarball_filename, prefix))699 tarball_filename, prefix))
700 base = tarball_filename[len(prefix):]700 base = tarball_filename[len(prefix):]
701 for ext in (".tar.gz", ".tar.bz2", ".tar.lzma"):701 for ext in (".tar.gz", ".tar.bz2", ".tar.lzma", ".tar.xz"):
702 if tarball_filename.endswith(ext):702 if tarball_filename.endswith(ext):
703 base = base[:-len(ext)]703 base = base[:-len(ext)]
704 break704 break
@@ -726,7 +726,8 @@
726 tar_args = ["tar"]726 tar_args = ["tar"]
727 if tarball_filename.endswith(".tar.bz2"):727 if tarball_filename.endswith(".tar.bz2"):
728 tar_args.append('xjf')728 tar_args.append('xjf')
729 elif tarball_filename.endswith(".tar.lzma"):729 elif (tarball_filename.endswith(".tar.lzma") or
730 tarball_filename.endswith(".tar.xz")):
730 tar_args.append('xJf')731 tar_args.append('xJf')
731 else:732 else:
732 tar_args.append('xzf')733 tar_args.append('xzf')

Subscribers

People subscribed via source and target branches