Source: reprozip Version: 1.0.9-2 Tags: upstream patch Hi, Currently reprozip FTBFS in Ubuntu[1], which has switched to python3.6. The failure is in the test suite:
> ====================================================================== > ERROR: test_combine (test_reprozip.TestCombine) > ---------------------------------------------------------------------- > Traceback (most recent call last): > File "/<<PKGBUILDDIR>>/debian/tests/test_reprozip.py", line 403, in > test_combine > traceutils.combine_traces(traces, target) > File > "/<<PKGBUILDDIR>>/.pybuild/pythonX.Y_3.6/build/reprozip/traceutils.py", line > 237, in combine_traces > ''') > sqlite3.OperationalError: cannot DETACH database within transaction Looking at the source, reprozip does a series of inserts and deletes followed by a detach for a list of databases[2]. However, python3.6's sqlite3 module no longer implicitly commits an open transaction[3] (and an implicit transaction has been begun in this case), so the DETACH fails. I have included a patch which fixes this (tested with an artful + artful-proposed chroot, as well as unstable to check for regressions). I see there's another conn.commit right after the final DETACH; maybe that can go now, though it's probably not doing any harm... Regards, James [1] https://launchpadlibrarian.net/319561506/buildlog_ubuntu-artful-amd64.reprozip_1.0.9-2_BUILDING.txt.gz [2] https://sources.debian.net/src/reprozip/1.0.9-2/reprozip/traceutils.py/#L234 and #L239 [3] https://docs.python.org/3/whatsnew/3.6.html --- a/reprozip/traceutils.py +++ b/reprozip/traceutils.py @@ -230,12 +230,20 @@ def combine_traces(traces, target): DELETE FROM maps.map_processes; ''') + # An implicit transaction gets created. Python used to implicitly + # commit it, but no longer does as of 3.6, so we have to explicitly + # commit before detaching. + conn.commit() + # Detach conn.execute( ''' DETACH DATABASE trace; ''') + # See above. + conn.commit() + conn.execute( ''' DETACH DATABASE maps; -- debian-science-maintainers mailing list debian-science-maintainers@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/debian-science-maintainers