apport-hackers team mailing list archive
-
apport-hackers team
-
Mailing list archive
-
Message #00111
[Merge] lp:~ev/apport/1059621 into lp:apport
Evan Dandrea has proposed merging lp:~ev/apport/1059621 into lp:apport.
Requested reviews:
Apport upstream developers (apport-hackers)
For more details, see:
https://code.launchpad.net/~ev/apport/1059621/+merge/127445
Bug 1059621 explains how a crash in gnat-gps is currently breaking apport-retrace. This is because it has a symlink to a directory that one of its dependencies (gnat-gps-common) creates. Dpkg -i handles this just fine, but dpkg -x does not.
--
https://code.launchpad.net/~ev/apport/1059621/+merge/127445
Your team Apport upstream developers is requested to review the proposed merge of lp:~ev/apport/1059621 into lp:apport.
=== modified file 'NEWS'
--- NEWS 2012-10-01 09:59:21 +0000
+++ NEWS 2012-10-02 10:19:24 +0000
@@ -1,7 +1,11 @@
This file summarizes the major and interesting changes for each release. For a
detailled list of changes, please see ChangeLog.
+<<<<<<< TREE
2.6.1 (2012-10-01):
+=======
+2.5.4 (2012-09-28):
+>>>>>>> MERGE-SOURCE
-------------------
* setup.py: Specify "-source 1.5" javac option as well, to avoid build failure
with OpenJDK 7.
=== modified file 'apport/ui.py'
--- apport/ui.py 2012-10-01 09:59:21 +0000
+++ apport/ui.py 2012-10-02 10:19:24 +0000
@@ -13,7 +13,11 @@
# option) any later version. See http://www.gnu.org/copyleft/gpl.html for
# the full text of the license.
+<<<<<<< TREE
__version__ = '2.6.1'
+=======
+__version__ = '2.5.4'
+>>>>>>> MERGE-SOURCE
import glob, sys, os.path, optparse, traceback, locale, gettext
import errno, zlib
=== modified file 'backends/packaging-apt-dpkg.py'
--- backends/packaging-apt-dpkg.py 2012-09-28 15:12:27 +0000
+++ backends/packaging-apt-dpkg.py 2012-10-02 10:19:24 +0000
@@ -29,6 +29,7 @@
import apport
from apport.packaging import PackageInfo
+import apt_inst
class __AptDpkgPackageInfo(PackageInfo):
@@ -665,7 +666,10 @@
print('Extracting downloaded debs...')
for i in fetcher.items:
if not permanent_rootdir or os.path.getctime(i.destfile) > last_written:
- subprocess.check_call(['dpkg', '-x', i.destfile, rootdir])
+ # Don't use 'dpkg -x' as it lacks the 'skip if target directory
+ # exists' logic present in other parts of dpkg.
+ df = apt_inst.DebFile(i.destfile)
+ df.data.extractall(rootdir)
real_pkgs.remove(os.path.basename(i.destfile).split('_', 1)[0])
if tmp_aptroot: