Hello community,
here is the log from the commit of package apport for openSUSE:Factory
checked in at Tue Sep 22 21:57:04 CEST 2009.
--------
--- apport/apport.changes 2009-08-09 08:46:27.000000000 +0200
+++ apport/apport.changes 2009-09-22 16:13:25.000000000 +0200
@@ -6,0 +7,17 @@
+Wed Apr 22 12:02:25 CEST 2009 - jblunck@suse.de
+
+- tmprace in /var/crash handling (bnc#495053)
+
+-------------------------------------------------------------------
+Tue Feb 3 10:44:29 CET 2009 - jblunck@suse.de
+
+- Append to the local report only.
+
+-------------------------------------------------------------------
+Wed Jan 21 11:58:03 CET 2009 - jblunck@suse.de
+
+- Added a save button if developer mode is used to both applets. If the
+ report is unreportable the send button will be grayed-out.
+- Fix package dependencies.
+
+-------------------------------------------------------------------
calling whatdependson for head-i586
Old:
----
apport-0.114-rev1188.tar.bz2
New:
----
apport-0.114-rev1189.tar.bz2
apport-lp357024.diff
report-append.diff
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ apport.spec ++++++
--- /var/tmp/diff_new_pack.IH7hCT/_old 2009-09-22 21:53:18.000000000 +0200
+++ /var/tmp/diff_new_pack.IH7hCT/_new 2009-09-22 21:53:18.000000000 +0200
@@ -18,18 +18,19 @@
# norootforbuild
-%define revno -rev1188
+%define revno -rev1189
Name: apport
Summary: Automatic crash handler
Version: 0.114
-Release: 10
+Release: 11
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 python python-zypp rpm-python python-openssl
+Requires: python python-m2crypto python-xml python-zypp rpm-python
+Requires: apport-crashdb
# Need the ability to use pipes in /proc/sys/kernel/core_pattern
Requires: kernel-default >= 2.6.24
Requires: coreutils cron binutils gdb lsb module-init-tools ptools
@@ -37,6 +38,8 @@
Source1: rc.apport
Source2: crashdb.conf
Source3: crashdb-2009.crt
+Patch0: report-append.diff
+Patch1: apport-lp357024.diff
Group: System/Monitoring
%description
@@ -125,6 +128,8 @@
%prep
%setup -n apport-%{version}
+%patch0 -p1
+%patch1 -p1
%build
python setup.py build
++++++ apport-0.114-rev1188.tar.bz2 -> apport-0.114-rev1189.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/apport-0.114/apport/crashdb_impl/opensuse_crashdb.py new/apport-0.114/apport/crashdb_impl/opensuse_crashdb.py
--- old/apport-0.114/apport/crashdb_impl/opensuse_crashdb.py 2008-11-28 13:37:03.000000000 +0100
+++ new/apport-0.114/apport/crashdb_impl/opensuse_crashdb.py 2009-01-13 18:58:10.000000000 +0100
@@ -205,11 +205,11 @@
{ 'cert_location':
'/etc/apport/crashdb.crt',
'report_baseurl':
- 'https://crashdb.opensuse.org:80/log/new',
+ 'https://crashdb.opensuse.org/log/new',
'comment_baseurl':
- 'https://crashdb.opensuse.org:80/log/show/%s',
+ 'https://crashdb.opensuse.org/log/show/%s',
'comment_rawurl':
- 'https://crashdb.opensuse.org:80/log/raw/%s',
+ 'https://crashdb.opensuse.org/log/raw/%s',
})
else:
# For testing with a local server installation
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-11-28 13:37:03.000000000 +0100
+++ new/apport-0.114/apport/ui.py 2009-01-13 18:58:10.000000000 +0100
@@ -46,8 +46,7 @@
# check package origin
if ('Package' not in report or \
- not apport.packaging.is_distro_package(report['Package'].split()[0])) and \
- not apport.fileutils.check_developer_mode():
+ not apport.packaging.is_distro_package(report['Package'].split()[0])):
#TRANS: %s is the name of the operating system
report['UnreportableReason'] = _('This is not a genuine %s package') % \
report['DistroRelease'].split()[0]
@@ -214,7 +213,8 @@
return
# check unreportable flag
- if self.report.has_key('UnreportableReason'):
+ if self.report.has_key('UnreportableReason') and \
+ not apport.fileutils.check_developer_mode():
self.ui_info_message(_('Problem in %s') % self.report['Package'].split()[0],
_('The problem cannot be reported:\n\n%s') %
self.report['UnreportableReason'])
@@ -227,11 +227,16 @@
response = self.ui_present_report_details()
if response == 'cancel':
return
- if response == 'reduced':
+ elif response == 'reduced':
try:
del self.report['CoreDump']
except KeyError:
pass # Huh? Should not happen, but did in https://launchpad.net/bugs/86007
+ elif response == 'save':
+ response = self.ui_present_filechooser(os.path.basename(self.report_file))
+ if response:
+ self.report.write(open(response, 'w'))
+ return
else:
assert response == 'full'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/apport-0.114/gtk/apport-gtk new/apport-0.114/gtk/apport-gtk
--- old/apport-0.114/gtk/apport-gtk 2008-11-28 13:37:03.000000000 +0100
+++ new/apport-0.114/gtk/apport-gtk 2009-01-13 18:58:10.000000000 +0100
@@ -155,19 +155,56 @@
self.w('radiobutton_complete').hide()
self.w('radiobutton_reduced').hide()
+ if self.report.has_key('UnreportableReason'):
+ self.w('button_send').set_sensitive(False)
+
+ if not apport.fileutils.check_developer_mode():
+ self.w('button_save').hide()
+
response = self.w('dialog_bugreport').run()
self.w('dialog_bugreport').hide()
while gtk.events_pending():
gtk.main_iteration(False)
- if response == gtk.RESPONSE_OK:
+ if response == gtk.RESPONSE_YES:
if self.w('radiobutton_complete').get_active():
return 'full'
else:
return 'reduced'
+ elif response == gtk.RESPONSE_NO:
+ return 'save'
else:
return 'cancel'
+ def ui_present_filechooser(self, filename):
+ dialog = gtk.FileChooserDialog("Save Report ..",
+ None,
+ gtk.FILE_CHOOSER_ACTION_SAVE,
+ (gtk.STOCK_CANCEL, gtk.RESPONSE_CANCEL,
+ gtk.STOCK_OPEN, gtk.RESPONSE_OK))
+ dialog.set_default_response(gtk.RESPONSE_OK)
+ dialog.set_current_name(filename)
+
+ filter = gtk.FileFilter()
+ filter.set_name("Crash Reports")
+ filter.add_pattern("*.crash")
+ dialog.add_filter(filter)
+
+ filter = gtk.FileFilter()
+ filter.set_name("All files")
+ filter.add_pattern("*")
+ dialog.add_filter(filter)
+
+ response = dialog.run()
+ dialog.hide()
+ while gtk.events_pending():
+ gtk.main_iteration(False)
+
+ if response == gtk.RESPONSE_OK:
+ return dialog.get_filename()
+ elif response == gtk.RESPONSE_CANCEL:
+ return
+
def ui_info_message(self, title, text):
md = gtk.MessageDialog(type=gtk.MESSAGE_INFO,
buttons=gtk.BUTTONS_CLOSE, message_format=text)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/apport-0.114/gtk/apport-gtk.glade new/apport-0.114/gtk/apport-gtk.glade
--- old/apport-0.114/gtk/apport-gtk.glade 2008-11-28 13:37:03.000000000 +0100
+++ new/apport-0.114/gtk/apport-gtk.glade 2009-01-13 18:58:10.000000000 +0100
@@ -549,15 +549,29 @@
</child>
<child>
- <widget class="GtkButton" id="button6">
+ <widget class="GtkButton" id="button_send">
<property name="visible">True</property>
<property name="can_default">True</property>
<property name="has_default">True</property>
+ <property name="can_focus">True</property>
<property name="label" translatable="yes">_Send Report</property>
<property name="use_underline">True</property>
<property name="relief">GTK_RELIEF_NORMAL</property>
<property name="focus_on_click">True</property>
- <property name="response_id">-5</property>
+ <property name="response_id">-8</property>
+ </widget>
+ </child>
+
+ <child>
+ <widget class="GtkButton" id="button_save">
+ <property name="visible">True</property>
+ <property name="can_default">True</property>
+ <property name="can_focus">True</property>
+ <property name="label">gtk-save-as</property>
+ <property name="use_stock">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ <property name="response_id">-9</property>
</widget>
</child>
</widget>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/apport-0.114/qt4/apport-qt new/apport-0.114/qt4/apport-qt
--- old/apport-0.114/qt4/apport-qt 2008-11-28 13:37:03.000000000 +0100
+++ new/apport-0.114/qt4/apport-qt 2009-01-13 18:58:10.000000000 +0100
@@ -218,6 +218,13 @@
sendbutton = dialog.addbutton(_('&Send'))
sendbutton.setDefault(True)
+ if self.report.has_key('UnreportableReason'):
+ sendbutton.setEnabled(False)
+
+ if apport.fileutils.check_developer_mode():
+ savebutton = dialog.addbutton(_('S&ave'))
+ savebutton.setDefault(False)
+
# report contents
details = dialog.findChild (QTreeWidget, 'details')
for key in self.report:
@@ -254,15 +261,20 @@
if response == QDialog.Rejected:
return 'cancel'
# Fallback
- if dialog.actionbutton != sendbutton:
- return 'cancel'
- if dialog.findChild(QRadioButton, 'reduced').isChecked():
- return 'reduced'
- if dialog.findChild(QRadioButton, 'complete').isChecked():
- return 'full'
+ if dialog.actionbutton == sendbutton:
+ if dialog.findChild(QRadioButton, 'reduced').isChecked():
+ return 'reduced'
+ elif dialog.findChild(QRadioButton, 'complete').isChecked():
+ return 'full'
+ elif dialog.actionbutton == savebutton:
+ return 'save'
# Fallback
return 'cancel'
+ def ui_present_filechooser(self, filename):
+ response = QFileDialog.getSaveFileName(None, 'Save Report ...', os.path.basename(filename), 'Crash Report (*.crash);; All Files (*)')
+ return str(response)
+
def ui_info_message(self, title, text):
QMessageBox.information (None, unicode(title, 'UTF-8'),
unicode(text, 'UTF-8'), QMessageBox.Close, QMessageBox.Close)
++++++ apport-lp357024.diff ++++++
From: Martin Pitt