Hello community,
here is the log from the commit of package apport
checked in at Tue Nov 11 15:25:52 CET 2008.
--------
--- apport/apport.changes 2008-10-28 10:07:16.000000000 +0100
+++ /mounts/work_src_done/STABLE/apport/apport.changes 2008-11-10 17:07:05.000000000 +0100
@@ -1,0 +2,13 @@
+Mon Nov 10 17:06:01 CET 2008 - jblunck@suse.de
+
+- String compare in python is case-sensitive: adjust the keyids
+- Only look for available packages of the same architecture
+
+-------------------------------------------------------------------
+Mon Nov 10 14:13:18 CET 2008 - jblunck@suse.de
+
+- Add build id support (requires ptools)
+- Overwrite the report to remove deleted keys
+- Use a singleton zypp instance instead of creating for each package a new one
+
+-------------------------------------------------------------------
calling whatdependson for head-i586
Old:
----
apport-0.114-rev1172.tar.bz2
New:
----
apport-0.114-rev1176.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ apport.spec ++++++
--- /var/tmp/diff_new_pack.qTV938/_old 2008-11-11 15:25:25.000000000 +0100
+++ /var/tmp/diff_new_pack.qTV938/_new 2008-11-11 15:25:25.000000000 +0100
@@ -18,24 +18,20 @@
# norootforbuild
-%define revno -rev1172
+%define revno -rev1176
Name: apport
Version: 0.114
-Release: 4
+Release: 5
License: GPL v2 or later
Url: https://launchpad.net/apport
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: intltool python-devel texlive-latex
AutoReqProv: on
-Requires: apport-crashdb
+Requires: apport-crashdb python python-zypp rpm-python python-openssl
# Need the ability to use pipes in /proc/sys/kernel/core_pattern
Requires: kernel-default >= 2.6.24
-# FIXME there's probably scads more requires here, need to do some testing
-# on a minimal system
-Requires: rpm-python python-zypp cron python
-#probably we can remove it later
-Requires: lsb
+Requires: coreutils cron binutils gdb lsb module-init-tools ptools
Source0: %{name}-%{version}%{revno}.tar.bz2
Source1: rc.apport
Source2: crashdb.conf
@@ -233,6 +229,13 @@
/usr/share/apport/*.ui
%changelog
+* Mon Nov 10 2008 jblunck@suse.de
+- String compare in python is case-sensitive: adjust the keyids
+- Only look for available packages of the same architecture
+* Mon Nov 10 2008 jblunck@suse.de
+- Add build id support (requires ptools)
+- Overwrite the report to remove deleted keys
+- Use a singleton zypp instance instead of creating for each package a new one
* Tue Oct 28 2008 jblunck@suse.de
- Fix list of key ids and vendor strings used by openSUSE
* Mon Oct 27 2008 jblunck@suse.de
@@ -268,7 +271,7 @@
- Don't start the apport service if the /proc file doesn't exist
* Wed Sep 24 2008 jblunck@suse.de
- fixed filelist
-* Sun Sep 14 2008 jblunck@suse.de
+* Sat Sep 13 2008 jblunck@suse.de
- Add general-hooks directory
- Remove temporary documentation files
- Add support for ON_APP_CRASH_INVOKE enviroment variable
++++++ apport-0.114-rev1172.tar.bz2 -> apport-0.114-rev1176.tar.bz2 ++++++
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/apport-0.114/apport/report.py new/apport-0.114/apport/report.py
--- old/apport-0.114/apport/report.py 2008-10-28 10:09:07.000000000 +0100
+++ new/apport-0.114/apport/report.py 2008-11-10 17:05:06.000000000 +0100
@@ -571,6 +571,49 @@
depth += 1
self['StacktraceTop'] = '\n'.join(toptrace).strip()
+ def add_buildid_info(self):
+ '''Add information from pbuildid.
+
+ This requires that the report has a CoreDump and an
+ - ExcutableBuildId:
+ - DSOBuildId:
+ '''
+
+ if not self.has_key('CoreDump'):
+ return
+
+ unlink_core = False
+ try:
+ if hasattr(self['CoreDump'], 'find'):
+ (fd, core) = tempfile.mkstemp()
+ os.write(fd, self['CoreDump'])
+ os.close(fd)
+ unlink_core = True
+ elif hasattr(self['CoreDump'], 'gzipvalue'):
+ (fd, core) = tempfile.mkstemp()
+ os.close(fd)
+ self['CoreDump'].write(open(core, 'w'))
+ unlink_core = True
+ else:
+ core = self['CoreDump'][0]
+
+ command = ['pbuildid', '--vdso', core]
+
+ # call pbuildid
+ try:
+ out = _command_output(command)
+ except OSError:
+ return
+
+ # split the output into the various fields
+ lines = out.splitlines()
+ self['ExecutableBuildId'] = lines[0]
+ self['DSOBuildId'] = '\n'.join(lines[1:])
+
+ finally:
+ if unlink_core:
+ os.unlink(core)
+
def add_hooks_info(self):
'''Check for an existing hook script and run it to add additional
package specific information.
@@ -949,6 +992,10 @@
if hasattr(self[k], 'isspace'):
self[k] = self[k].replace(old, new)
+ # If we have the build-id we don't need the coredump anymore
+ if self.has_key('CoreDump') and self.has_key('Stacktrace') and self.has_key('ExecutableBuildId'):
+ del self['CoreDump']
+
#
# Unit test
#
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/apport-0.114/apport/ui.py new/apport-0.114/apport/ui.py
--- old/apport-0.114/apport/ui.py 2008-10-28 10:09:07.000000000 +0100
+++ new/apport-0.114/apport/ui.py 2008-11-10 17:05:06.000000000 +0100
@@ -34,6 +34,7 @@
package = apport.fileutils.find_file_package(report['ExecutablePath'])
else:
raise KeyError, 'called without a package, and report does not have ExecutablePath'
+ report.add_buildid_info()
report.add_package_info(package)
report.add_os_info()
report.add_hooks_info()
@@ -63,9 +64,9 @@
report.anonymize()
if reportfile:
- f = open(reportfile, 'a')
+ f = open(reportfile, 'w')
os.chmod (reportfile, 0)
- report.write(f, only_new=True)
+ report.write(f, only_new=False)
f.close()
apport.fileutils.mark_report_seen(reportfile)
os.chmod (reportfile, 0600)
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/apport-0.114/backends/packaging_opensuse.py new/apport-0.114/backends/packaging_opensuse.py
--- old/apport-0.114/backends/packaging_opensuse.py 2008-10-28 10:09:07.000000000 +0100
+++ new/apport-0.114/backends/packaging_opensuse.py 2008-11-10 17:05:06.000000000 +0100
@@ -71,14 +71,14 @@
# This information should be delivered by the crash database server:
# A list of ids of official keys used by the openSUSE (suse-build-key)
official_keylist = (
- '9C800ACA', # SuSE Package Signing Key