Date: Saturday, February 19, 2011 @ 04:14:39 Author: eric Revision: 110425
upgpkg: bzr 2.3.0-1 Upstream update, Added python-paramiko optdepends (closed FS#21916), Removed old patches Modified: bzr/trunk/PKGBUILD Deleted: bzr/trunk/python2.7-compat.patch bzr/trunk/unittest-compat.patch ------------------------+ PKGBUILD | 29 ++--- python2.7-compat.patch | 40 -------- unittest-compat.patch | 229 ----------------------------------------------- 3 files changed, 14 insertions(+), 284 deletions(-) Modified: PKGBUILD =================================================================== --- PKGBUILD 2011-02-19 08:54:11 UTC (rev 110424) +++ PKGBUILD 2011-02-19 09:14:39 UTC (rev 110425) @@ -3,29 +3,28 @@ # Contributor: Hugo Doria <[email protected]> pkgname=bzr -pkgver=2.2.2 -pkgrel=2 +pkgver=2.3.0 +pkgrel=1 pkgdesc="A decentralized revision control system (bazaar)" arch=('i686' 'x86_64') url="http://www.bazaar-vcs.org" license=('GPL') depends=('python2') -source=(http://launchpad.net/bzr/2.2/${pkgver}/+download/${pkgname}-${pkgver}.tar.gz - unittest-compat.patch - python2.7-compat.patch) -md5sums=('d1bfa2fd1aad282c423c78d62ebacb21' - '34f84b51d8d2c3240f367f2e5d310f5a' - '0f0d8e0d31032cde59565b6c74a37e41') +optdepends=('python-paramiko: for sftp support') +source=(http://launchpad.net/bzr/${pkgver%.*}/${pkgver}/+download/${pkgname}-${pkgver}.tar.gz) +md5sums=('2d8bc55d43209189a209361178d9d372') +sha1sums=('42a5b270e75a57883ead3cee9e623e087f16afd8') build() { - cd ${srcdir}/${pkgname}-${pkgver} + cd "${srcdir}/${pkgname}-${pkgver}" sed -i 's|man/man1|share/man/man1|' setup.py - # https://bugs.launchpad.net/bzr/+bug/612096 - patch -p0 -i ${srcdir}/python2.7-compat.patch - # https://bugs.launchpad.net/bzr/+bug/582113 - patch -p0 -i ${srcdir}/unittest-compat.patch - python2 setup.py install --prefix=/usr --root=${pkgdir} + python2 setup.py build +} +package() { + cd "${srcdir}/${pkgname}-${pkgver}" + python2 setup.py install --prefix=/usr --root="${pkgdir}" + # bash-completion - install -D -m644 contrib/bash/bzr ${pkgdir}/etc/bash_completion.d/bzr + install -D -m644 contrib/bash/bzr "${pkgdir}/etc/bash_completion.d/bzr" } Deleted: python2.7-compat.patch =================================================================== --- python2.7-compat.patch 2011-02-19 08:54:11 UTC (rev 110424) +++ python2.7-compat.patch 2011-02-19 09:14:39 UTC (rev 110425) @@ -1,40 +0,0 @@ -=== modified file 'bzrlib/transport/http/_urllib2_wrappers.py' ---- bzrlib/transport/http/_urllib2_wrappers.py 2010-05-08 05:56:28 +0000 -+++ bzrlib/transport/http/_urllib2_wrappers.py 2010-09-15 02:43:44 +0000 -@@ -75,6 +75,26 @@ - ) - - -+class addinfourl(urllib2.addinfourl): -+ '''Replacement addinfourl class compatible with python-2.7's xmlrpclib -+ -+ In python-2.7, xmlrpclib expects that the response object that it receives -+ has a getheader method. httplib.HTTPResponse provides this but -+ urllib2.addinfourl does not. Add the necessary functions here, ported to -+ use the internal data structures of addinfourl. -+ ''' -+ -+ def getheader(self, name, default=None): -+ if self.headers is None: -+ raise httplib.ResponseNotReady() -+ return self.headers.getheader(name, default) -+ -+ def getheaders(self): -+ if self.headers is None: -+ raise httplib.ResponseNotReady() -+ return self.headers.items() -+ -+ - class _ReportingFileSocket(object): - - def __init__(self, filesock, report_activity=None): -@@ -656,7 +676,7 @@ - r = response - r.recv = r.read - fp = socket._fileobject(r, bufsize=65536) -- resp = urllib2.addinfourl(fp, r.msg, req.get_full_url()) -+ resp = addinfourl(fp, r.msg, req.get_full_url()) - resp.code = r.status - resp.msg = r.reason - resp.version = r.version - Deleted: unittest-compat.patch =================================================================== --- unittest-compat.patch 2011-02-19 08:54:11 UTC (rev 110424) +++ unittest-compat.patch 2011-02-19 09:14:39 UTC (rev 110425) @@ -1,229 +0,0 @@ -=== modified file 'bzrlib/tests/TestUtil.py' ---- bzrlib/tests/TestUtil.py 2010-02-17 17:11:16 +0000 -+++ bzrlib/tests/TestUtil.py 2010-08-05 18:13:49 +0000 -@@ -135,7 +135,13 @@ - >>> result.addTests([test, test]) - >>> return result - """ -- basic_tests = super(TestLoader, self).loadTestsFromModule(module) -+ if sys.version_info < (2, 7): -+ basic_tests = super(TestLoader, self).loadTestsFromModule(module) -+ else: -+ # GZ 2010-07-19: Python 2.7 unittest also uses load_tests but with -+ # a different and incompatible signature -+ basic_tests = super(TestLoader, self).loadTestsFromModule(module, -+ use_load_tests=False) - load_tests = getattr(module, "load_tests", None) - if load_tests is not None: - return load_tests(basic_tests, module, self) - -=== modified file 'bzrlib/tests/__init__.py' ---- bzrlib/tests/__init__.py 2010-08-05 05:41:34 +0000 -+++ bzrlib/tests/__init__.py 2010-08-05 18:13:49 +0000 -@@ -141,7 +141,7 @@ - SUBUNIT_SEEK_CUR = 1 - - --class ExtendedTestResult(unittest._TextTestResult): -+class ExtendedTestResult(testtools.TextTestResult): - """Accepts, reports and accumulates the results of running tests. - - Compared to the unittest version this class adds support for -@@ -168,7 +168,7 @@ - :param bench_history: Optionally, a writable file object to accumulate - benchmark results. - """ -- unittest._TextTestResult.__init__(self, stream, descriptions, verbosity) -+ testtools.TextTestResult.__init__(self, stream) - if bench_history is not None: - from bzrlib.version import _get_bzr_source_tree - src_tree = _get_bzr_source_tree() -@@ -201,11 +201,13 @@ - actionTaken = "Ran" - stopTime = time.time() - timeTaken = stopTime - self.startTime -- self.printErrors() -- self.stream.writeln(self.separator2) -- self.stream.writeln("%s %d test%s in %.3fs" % (actionTaken, -+ # GZ 2010-07-19: Seems testtools has no printErrors method, and though -+ # the parent class method is similar have to duplicate -+ self._show_list('ERROR', self.errors) -+ self._show_list('FAIL', self.failures) -+ self.stream.write(self.sep2) -+ self.stream.write("%s %d test%s in %.3fs\n\n" % (actionTaken, - run, run != 1 and "s" or "", timeTaken)) -- self.stream.writeln() - if not self.wasSuccessful(): - self.stream.write("FAILED (") - failed, errored = map(len, (self.failures, self.errors)) -@@ -218,20 +220,20 @@ - if failed or errored: self.stream.write(", ") - self.stream.write("known_failure_count=%d" % - self.known_failure_count) -- self.stream.writeln(")") -+ self.stream.write(")\n") - else: - if self.known_failure_count: -- self.stream.writeln("OK (known_failures=%d)" % -+ self.stream.write("OK (known_failures=%d)\n" % - self.known_failure_count) - else: -- self.stream.writeln("OK") -+ self.stream.write("OK\n") - if self.skip_count > 0: - skipped = self.skip_count -- self.stream.writeln('%d test%s skipped' % -+ self.stream.write('%d test%s skipped\n' % - (skipped, skipped != 1 and "s" or "")) - if self.unsupported: - for feature, count in sorted(self.unsupported.items()): -- self.stream.writeln("Missing feature '%s' skipped %d tests." % -+ self.stream.write("Missing feature '%s' skipped %d tests.\n" % - (feature, count)) - if self._strict: - ok = self.wasStrictlySuccessful() -@@ -279,7 +281,7 @@ - return what - - def startTest(self, test): -- unittest.TestResult.startTest(self, test) -+ super(ExtendedTestResult, self).startTest(test) - if self.count == 0: - self.startTests() - self.report_test_start(test) -@@ -323,7 +325,7 @@ - fails with an unexpected error. - """ - self._post_mortem() -- unittest.TestResult.addError(self, test, err) -+ super(ExtendedTestResult, self).addError(test, err) - self.error_count += 1 - self.report_error(test, err) - if self.stop_early: -@@ -337,7 +339,7 @@ - fails because e.g. an assert() method failed. - """ - self._post_mortem() -- unittest.TestResult.addFailure(self, test, err) -+ super(ExtendedTestResult, self).addFailure(test, err) - self.failure_count += 1 - self.report_failure(test, err) - if self.stop_early: -@@ -357,7 +359,7 @@ - test.id())) - self.report_success(test) - self._cleanupLogFile(test) -- unittest.TestResult.addSuccess(self, test) -+ super(ExtendedTestResult, self).addSuccess(test) - test._log_contents = '' - - def addExpectedFailure(self, test, err): -@@ -551,40 +553,40 @@ - return '%s%s' % (indent, err[1]) - - def report_error(self, test, err): -- self.stream.writeln('ERROR %s\n%s' -+ self.stream.write('ERROR %s\n%s\n' - % (self._testTimeString(test), - self._error_summary(err))) - - def report_failure(self, test, err): -- self.stream.writeln(' FAIL %s\n%s' -+ self.stream.write(' FAIL %s\n%s\n' - % (self._testTimeString(test), - self._error_summary(err))) - - def report_known_failure(self, test, err): -- self.stream.writeln('XFAIL %s\n%s' -+ self.stream.write('XFAIL %s\n%s\n' - % (self._testTimeString(test), - self._error_summary(err))) - - def report_success(self, test): -- self.stream.writeln(' OK %s' % self._testTimeString(test)) -+ self.stream.write(' OK %s\n' % self._testTimeString(test)) - for bench_called, stats in getattr(test, '_benchcalls', []): -- self.stream.writeln('LSProf output for %s(%s, %s)' % bench_called) -+ self.stream.write('LSProf output for %s(%s, %s)\n' % bench_called) - stats.pprint(file=self.stream) - # flush the stream so that we get smooth output. This verbose mode is - # used to show the output in PQM. - self.stream.flush() - - def report_skip(self, test, reason): -- self.stream.writeln(' SKIP %s\n%s' -+ self.stream.write(' SKIP %s\n%s\n' - % (self._testTimeString(test), reason)) - - def report_not_applicable(self, test, reason): -- self.stream.writeln(' N/A %s\n %s' -+ self.stream.write(' N/A %s\n %s\n' - % (self._testTimeString(test), reason)) - - def report_unsupported(self, test, feature): - """test cannot be run because feature is missing.""" -- self.stream.writeln("NODEP %s\n The feature '%s' is not available." -+ self.stream.write("NODEP %s\n The feature '%s' is not available.\n" - %(self._testTimeString(test), feature)) - - -@@ -619,7 +621,7 @@ - encode = codec.encode - stream = osutils.UnicodeOrBytesToBytesWriter(encode, stream) - stream.encoding = new_encoding -- self.stream = unittest._WritelnDecorator(stream) -+ self.stream = stream - self.descriptions = descriptions - self.verbosity = verbosity - self._bench_history = bench_history - -=== modified file 'bzrlib/tests/test_selftest.py' ---- bzrlib/tests/test_selftest.py 2010-07-23 18:45:31 +0000 -+++ bzrlib/tests/test_selftest.py 2010-08-05 18:13:49 +0000 -@@ -801,7 +801,7 @@ - self.requireFeature(test_lsprof.LSProfFeature) - result_stream = StringIO() - result = bzrlib.tests.VerboseTestResult( -- unittest._WritelnDecorator(result_stream), -+ result_stream, - descriptions=0, - verbosity=2, - ) -@@ -862,7 +862,7 @@ - # verbose test output formatting - result_stream = StringIO() - result = bzrlib.tests.VerboseTestResult( -- unittest._WritelnDecorator(result_stream), -+ result_stream, - descriptions=0, - verbosity=2, - ) -@@ -878,6 +878,9 @@ - output = result_stream.getvalue()[prefix:] - lines = output.splitlines() - self.assertContainsRe(lines[0], r'XFAIL *\d+ms$') -+ if sys.version_info > (2, 7): -+ self.expectFailure("_ExpectedFailure on 2.7 loses the message", -+ self.assertNotEqual, lines[1], ' ') - self.assertEqual(lines[1], ' foo') - self.assertEqual(2, len(lines)) - -@@ -917,7 +920,7 @@ - # verbose test output formatting - result_stream = StringIO() - result = bzrlib.tests.VerboseTestResult( -- unittest._WritelnDecorator(result_stream), -+ result_stream, - descriptions=0, - verbosity=2, - ) -@@ -1419,7 +1422,7 @@ - sample_test = TestTestCase("method_that_times_a_bit_twice") - output_stream = StringIO() - result = bzrlib.tests.VerboseTestResult( -- unittest._WritelnDecorator(output_stream), -+ output_stream, - descriptions=0, - verbosity=2) - sample_test.run(result) -
