[Pkg-bazaar-commits] r120 ./bzr-builddeb/people/jdw/merge_upstream: Add support for .zip archives on import.
James Westby
jw+debian at jameswestby.net
Sat Jun 23 00:10:29 UTC 2007
------------------------------------------------------------
revno: 120
committer: James Westby <jw+debian at jameswestby.net>
branch nick: merge_upstream
timestamp: Sat 2007-06-23 01:10:29 +0100
message:
Add support for .zip archives on import.
Also make Aaron copyright holder for the code that is stolen from bzrtools.
modified:
merge_upstream.py
tests/__init__.py
-------------- next part --------------
=== modified file 'merge_upstream.py'
--- a/merge_upstream.py 2007-06-22 22:52:45 +0000
+++ b/merge_upstream.py 2007-06-23 00:10:29 +0000
@@ -1,6 +1,7 @@
# merge_upstream.py -- Merge new upstream versions of packages.
# Copyright (C) 2007 Reinhard Tartler <siretart at tauware.de>
# 2007 James Westby <jw+debian at jameswestby.net>
+# 2007 Aaron Bentley <aaron.bentley at utoronto.ca>
#
# This file is part of bzr-builddeb.
#
@@ -26,9 +27,9 @@
from bzrlib.errors import BzrCommandError
from bzrlib.plugins.bzrtools.upstream_import import (import_tar,
import_dir,
+ import_zip,
)
-# TODO: handle more input sources.
# TODO: rename/repack tarball in to place.
# TODO: drop requirement for revision of last upstream, use tags or something
# instead.
@@ -83,6 +84,8 @@
import_tar(tree, tar_input)
finally:
tar_input.close()
+ elif source.endswith('.zip'):
+ import_zip(tree, open(source, 'rb'))
tree.set_parent_ids([rev_id])
tree.branch.set_last_revision_info(revno, rev_id)
tree.commit('import upstream from %s' % os.path.basename(source))
@@ -105,5 +108,7 @@
import_tar(tree, tar_input)
finally:
tar_input.close()
+ elif source.endswith('.zip'):
+ import_zip(tree, open(source, 'rb'))
tree.commit('import upstream from %s' % os.path.basename(source))
=== modified file 'tests/__init__.py'
--- a/tests/__init__.py 2007-06-22 22:52:45 +0000
+++ b/tests/__init__.py 2007-06-23 00:10:29 +0000
@@ -18,6 +18,12 @@
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
#
+import changes
+import config
+import shutil
+import tarfile
+import zipfile
+
from copy import deepcopy
import doctest
import os
@@ -25,11 +31,6 @@
from bzrlib.tests import TestUtil, adapt_modules
-import changes
-import config
-import shutil
-import tarfile
-
def make_new_upstream_dir(dir):
def _make_upstream_dir():
os.rename('package-0.2', dir)
@@ -55,11 +56,28 @@
shutil.rmtree('package-0.2')
return _make_upstream_tarball
+def make_new_upstream_tarball_zip(tarball):
+ def _make_upstream_tarball():
+ zip = zipfile.ZipFile(tarball, 'w')
+ try:
+ zip.writestr('package-0.2/', '')
+ for (dirpath, dirnames, names) in os.walk('package-0.2'):
+ for dir in dirnames:
+ zip.writestr(os.path.join(dirpath, dir, ''), '')
+ for name in names:
+ zip.write(os.path.join(dirpath, name))
+ finally:
+ zip.close()
+ shutil.rmtree('package-0.2')
+ return _make_upstream_tarball
+
tarball_functions = [('dir', make_new_upstream_dir, '../package-0.2'),
('.tar.gz', make_new_upstream_tarball,
'../package-0.2.tar.gz'),
('.tar.bz2', make_new_upstream_tarball_bz2,
'../package-0.2.tar.bz2'),
+ ('.zip', make_new_upstream_tarball_zip,
+ '../package-0.2.zip'),
]
More information about the Pkg-bazaar-commits
mailing list