File apport.spec of Package apport
#
# spec file for package apport (Version 0.114)
#
# Copyright (c) 2007-2008 Nikolay Derkach <nderkach@gmail.com>
# Copyright (c) 2009 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
# norootforbuild
%define revno -rev1189
Name: apport
Summary: Automatic crash handler
Version: 0.114
Release: 8.<RELEASE6>
License: GPL v2 or later
Url: https://launchpad.net/apport
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: intltool python-devel texlive-latex
AutoReqProv: on
# Python imports
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
Source0: %{name}-%{version}%{revno}.tar.bz2
Source1: rc.apport
Source2: crashdb.conf
Source3: crashdb-2009.crt
Patch0: report-append.diff
Patch1: apport-lp357024.diff
Group: System/Monitoring
%description
Apport automatically collects data from crashed processes and compiles
a problem report in /var/crash/.
See http://opensuse.org/Interactive_Crash_Analysis for more
information.
Authors:
--------
Martin Pitt
%package crashdb-opensuse
License: GPL v2 or later
Summary: Automatic crash handler
Group: System/Monitoring
Requires: apport = %{version}-%{release}
Provides: apport-crashdb
%description crashdb-opensuse
Apport automatically collects data from crashed processes and compiles
a problem report in /var/crash/.
See http://opensuse.org/Interactive_Crash_Analysis for more
information.
Authors:
--------
Martin Pitt
%package retrace
License: GPL v2 or later
Summary: Automatic crash handler
Group: System/Monitoring
Requires: apport = %{version}-%{release}
%description retrace
Apport automatically collects data from crashed processes and compiles
a problem report in /var/crash/.
See http://opensuse.org/Interactive_Crash_Analysis for more
information.
Authors:
--------
Martin Pitt
%package gtk
License: GPL v2 or later
Summary: GTK frontend for the apport crash report system
Group: System/Monitoring
Requires: python-gtk procps
Requires: apport = %{version}-%{release}
%description gtk
GTK frontend for the apport crash report system
Authors:
--------
Martin Pitt
%package qt
License: GPL v2 or later
Summary: Qt4 frontend for the apport crash report system
Group: System/Monitoring
Requires: python-qt4 procps
Requires: apport = %{version}-%{release}
%description qt
Qt4 frontend for the apport crash report system
Authors:
--------
Martin Pitt
%prep
%setup -n apport-%{version}
%patch0 -p1
%patch1 -p1
%build
python setup.py build
make -C po
make -C gtk
make -C qt4
make -C doc
# set up the packaging backend
cp backends/packaging_rpm.py apport
cp backends/packaging_opensuse.py apport/packaging_impl.py
%install
python setup.py install --root=%{buildroot} --prefix=/usr
%find_lang %{name}
# install init script
%__install -d -m755 %{buildroot}/etc/init.d
%__install -m755 %SOURCE1 %{buildroot}/etc/init.d/apport
# install man pages
%__install -d -m755 %{buildroot}%{_mandir}/man1
%__install -m644 man/apport-{cli,unpack,retrace,chroot}.1 %{buildroot}%{_mandir}/man1
%__install -m644 man/dupdb-admin.1 %{buildroot}%{_mandir}/man1
%__install -d -m755 %{buildroot}/etc/apport/blacklist.d
%__install -m644 doc/README.blacklist %{buildroot}/etc/apport/blacklist.d
# cron job
%__install -d -m755 %{buildroot}/etc/cron.daily
%__install -m755 debian/apport.cron.daily %{buildroot}/etc/cron.daily/apport
# openSUSE crashdb files
%__install -m755 %SOURCE2 %{buildroot}/etc/apport/crashdb.conf
%__install -m755 %SOURCE3 %{buildroot}/etc/apport/crashdb.crt
# rm unneeded files
%__rm -f %{buildroot}/usr/share/apport/general-hooks/automatix.py
%__rm -rf %{buildroot}/usr/share/apport/testsuite/
%__rm -f %{buildroot}/usr/bin/*_hook
%__rm -f %{buildroot}/usr/bin/{kernel_crashdump,kernel_oops}
# We'll handle the docs in the %files section
%__rm -rf %{buildroot}/usr/share/doc/apport
%clean
%__rm -rf %{buildroot}
%preun
%stop_on_removal apport
%postun
%restart_on_update apport
%insserv_cleanup
%files -f %{name}.lang
%defattr(-,root,root)
/usr/bin/dupdb-admin
/usr/bin/apport-cli
/usr/bin/apport-checkreports
/usr/bin/apport-unpack
%doc doc/data-format.pdf doc/package-hooks.txt
%doc %{_mandir}/man1/apport-cli.1*
%doc %{_mandir}/man1/apport-unpack.1*
%doc %{_mandir}/man1/dupdb-admin.1*
%dir /etc/apport
%dir /etc/apport/blacklist.d
%doc /etc/apport/blacklist.d/README.blacklist
/etc/cron.daily/apport
/etc/init.d/apport
# data files
%dir /usr/share/apport
%dir /usr/share/apport/general-hooks
%dir /usr/share/apport/package-hooks
/usr/share/apport/apport
/usr/share/apport/package-hooks/source_apport.py
/usr/share/apport/package-hooks/source_linux.py
/usr/share/icons/*
/usr/share/mime/packages/apport.xml
# python modules
%dir %py_sitedir/apport
%py_sitedir/apport/*.py*
%py_sitedir/problem_report.py*
%py_sitedir/apport_python_hook.py*
%py_sitedir/*egg-info
%files retrace
%defattr(-,root,root)
%doc %{_mandir}/man1/apport-retrace.1*
%doc %{_mandir}/man1/apport-chroot.1*
/usr/bin/apport-retrace
/usr/bin/apport-chroot
%files crashdb-opensuse
%defattr(-,root,root)
%config /etc/apport/crashdb.conf
%config /etc/apport/crashdb.crt
%doc doc/crashdb-conf.txt
%dir %py_sitedir/apport/crashdb_impl
%py_sitedir/apport/crashdb_impl/*
%files gtk
%defattr(-,root,root)
/usr/bin/apport-gtk
/usr/share/apport/apport-gtk.glade
%files qt
%defattr(-,root,root)
/usr/bin/apport-qt
/usr/share/apport/*.ui
%changelog
* Wed Apr 22 2009 jblunck@suse.de
- tmprace in /var/crash handling (bnc#495053)
* Tue Feb 03 2009 jblunck@suse.de
- Append to the local report only.
* Wed Jan 21 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.
* Fri Nov 28 2008 jblunck@suse.de
- Don't use port 80 for the HTTPS connection with the crashdb
* Fri Nov 28 2008 jblunck@suse.de
- Add self signed crashdb.opensuse.org certificate for year 2009
- Change the URLs for the official release with openSUSE 11.1
- Raise HTTPError exception when the report has an X-Apport-Error header
* Fri Nov 28 2008 jblunck@suse.de
- Adapt unit tests to the new crashdb server
- Use M2Crypto library instead of OpenSSL since that actually works
- Changes necessary for the openSUSE crashdb server
- Extend the unit tests
* Fri Nov 14 2008 jblunck@suse.de
- Fix support for proper signature checking
- Fix get_available_version() to really return the latest available package
instead of the first one found
- Fix is_distro_package() testcase
- Cleanup some whitespace noise
* Fri Nov 14 2008 jblunck@suse.de
- Fix package signature parsing to also support RSA keys
- Remove annoying debugging leftover
* Fri Nov 14 2008 jblunck@suse.de
- Fix tmp races patch
- Set noclobber in init script
* Thu Nov 13 2008 jblunck@suse.de
- Add new openSUSE Project Signing Key id
- Fix tmp races found by security audit
- Save old core_pattern to /var/run instead of /var/tmp
* 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
- Fix developer mode
- Add some keys to the list of official keys
- Defer the libzypp initialization to the time when it is actually used
* Fri Oct 24 2008 jblunck@suse.de
- Fix exception handling for developer mode
- Fix multiple minor typos
- Add HTTPSProgressConnection
* Fri Oct 24 2008 jblunck@suse.de
- Don't refresh the metadata and try to rebuild the repository cache if we
are not running as root. This should fix bug bnc #438211.
- Throw an exception when report_baseurl wasn't set in crashdb.conf
- Add support for progress_callback to upload()
* Fri Oct 24 2008 jblunck@suse.de
- Add support for openSUSE's crashdb.opensuse.org
* Thu Oct 23 2008 jblunck@suse.de
- Package apport-retrace in a separate package since it is only usable for
reprocessing of existing reports
* Thu Oct 23 2008 jblunck@suse.de
- Package the crashdb implementation as a separately so that it can be
replaced or extended by future implementations
* Thu Oct 23 2008 jblunck@suse.de
- Fix a bug in last commit
* Wed Oct 22 2008 jblunck@suse.de
- Install apport-gtk and apport-qt into /usr/bin
* Wed Oct 22 2008 jblunck@suse.de
- Fix init script post and pre hooks
* Mon Oct 20 2008 jblunck@suse.de
- Fixed package dependencies and add revision number to the source package
* Fri Oct 17 2008 jblunck@suse.de
- Don't start the apport service if the /proc file doesn't exist
* Wed Sep 24 2008 jblunck@suse.de
- fixed filelist
* Sat Sep 13 2008 jblunck@suse.de
- Add general-hooks directory
- Remove temporary documentation files
- Add support for ON_APP_CRASH_INVOKE enviroment variable
- Move some GUI files to the specific desktop packages