$(GLIB_CFLAGS) \
$(LIBREPORT_CFLAGS) \
-D_GNU_SOURCE \
---- abrt-2.1.7/src/daemon/rpm.c.orig 2013-09-10 14:11:13.000000000 +0200
-+++ abrt-2.1.7/src/daemon/rpm.c 2013-09-27 19:07:08.004722755 +0200
+--- abrt-2.4.0/src/daemon/rpm.c.orig 2015-02-19 12:53:14.000000000 +0100
++++ abrt-2.4.0/src/daemon/rpm.c 2015-02-26 16:02:37.659278317 +0100
@@ -62,7 +62,6 @@ void rpm_init()
void rpm_destroy()
{
+
if (!pgpsig && errmsg)
{
- VERB1 log("cannot get siggpg:pgpsig. reason: %s", errmsg);
+ log_notice("cannot get siggpg:pgpsig. reason: %s", errmsg);
@@ -128,8 +134,8 @@ int rpm_chk_fingerprint(const char* pkg)
error:
return ret;
}
-@@ -167,8 +173,8 @@ bool CheckHash(const char* pPackage, con
+@@ -146,8 +152,8 @@ bool CheckHash(const char* pPackage, con
+ {
+ bool ret = true;
+ rpmts ts = rpmtsCreate();
+- rpmdbMatchIterator iter = rpmtsInitIterator(ts, RPMTAG_NAME, pPackage, 0);
+- Header header = rpmdbNextIterator(iter);
++ rpmmi iter = rpmtsInitIterator(ts, RPMTAG_NAME, pPackage, 0);
++ Header header = rpmmiNext(iter);
+ if (header == NULL)
+ goto error;
+
+@@ -167,13 +173,13 @@ bool CheckHash(const char* pPackage, con
}
rpmfiFree(fi);
error:
return ret;
}
*/
-@@ -178,15 +184,15 @@ char* rpm_get_component(const char *file
+
+-static int rpm_query_file(rpmts *ts, rpmdbMatchIterator *iter, Header *header,
++static int rpm_query_file(rpmts *ts, rpmmi *iter, Header *header,
+ const char *filename, const char *rootdir_or_NULL)
+ {
+ const char *queryname = filename;
+@@ -181,11 +187,7 @@ static int rpm_query_file(rpmts *ts, rpm
+ *ts = rpmtsCreate();
+ if (rootdir_or_NULL)
+ {
+- if (rpmtsSetRootDir(*ts, rootdir_or_NULL) != 0)
+- {
+- rpmtsFree(*ts);
+- return -1;
+- }
++ rpmtsSetRootDir(*ts, rootdir_or_NULL);
+
+ unsigned len = strlen(rootdir_or_NULL);
+ /* remove 'chroot' prefix */
+@@ -194,12 +196,12 @@ static int rpm_query_file(rpmts *ts, rpm
+ }
+
+ *iter = rpmtsInitIterator(*ts, RPMTAG_BASENAMES, queryname, 0);
+- *header = rpmdbNextIterator(*iter);
++ *header = rpmmiNext(*iter);
+
+ if (!(*header) && rootdir_or_NULL)
+ {
+- rpmdbFreeIterator(*iter);
+- rpmtsFree(*ts);
++ *iter = rpmmiFree(*iter);
++ *ts = rpmtsFree(*ts);
+
+ return rpm_query_file(ts, iter, header, filename, NULL);
+ }
+@@ -212,8 +214,8 @@ char* rpm_get_component(const char *file
char *ret = NULL;
char *srpm = NULL;
rpmts ts;
+ rpmmi iter = NULL;
+ Header header = NULL;
- ts = rpmtsCreate();
- /* This loop executes once (normally) or twice (if we detect chroot) */
- while (1)
- {
- iter = rpmtsInitIterator(ts, RPMTAG_BASENAMES, filename, 0);
-- header = rpmdbNextIterator(iter);
-+ header = rpmmiNext(iter);
- //log("%s: header('%s'):%p", __func__, filename, header);
- if (header)
- break;
-@@ -199,17 +205,16 @@ char* rpm_get_component(const char *file
-
- /* It is a chroot */
- //log("%s: skipping '%s' pfx", __func__, rootdir_or_NULL);
-- rpmdbFreeIterator(iter);
-- rpmtsFree(ts);
-+ iter = rpmmiFree(iter);
-+ ts = rpmtsFree(ts);
- ts = rpmtsCreate();
-- if (rpmtsSetRootDir(ts, rootdir_or_NULL) != 0)
-- goto error1;
-+ rpmtsSetRootDir(ts, rootdir_or_NULL);
- filename += len;
- rootdir_or_NULL = NULL;
- }
+ if (rpm_query_file(&ts, &iter, &header, filename, rootdir_or_NULL) < 0)
+ return NULL;
+@@ -222,7 +224,7 @@ char* rpm_get_component(const char *file
+ goto error;
const char *errmsg = NULL;
- srpm = headerFormat(header, "%{SOURCERPM}", &errmsg);
if (!srpm && errmsg)
{
error_msg("cannot get srpm. reason: %s", errmsg);
-@@ -220,9 +225,8 @@ char* rpm_get_component(const char *file
+@@ -233,8 +235,8 @@ char* rpm_get_component(const char *file
free(srpm);
error:
- rpmdbFreeIterator(iter);
-- error1:
- rpmtsFree(ts);
+ iter = rpmmiFree(iter);
+ ts = rpmtsFree(ts);
return ret;
}
-@@ -230,7 +234,7 @@ char* rpm_get_component(const char *file
+@@ -242,7 +244,7 @@ char* rpm_get_component(const char *file
static inline int pkg_add_##name(Header header, struct pkg_envra *p) \
{ \
const char *errmsg = NULL; \
if (p->p_##name || !errmsg) \
return 0; \
\
-@@ -249,8 +253,8 @@ pkg_add_id(arch);
+@@ -261,8 +263,8 @@ pkg_add_id(arch);
struct pkg_envra *rpm_get_package_nvr(const char *filename, const char *rootdir_or_NULL)
{
rpmts ts;
struct pkg_envra *p = NULL;
-@@ -259,7 +263,7 @@ struct pkg_envra *rpm_get_package_nvr(co
- while (1)
- {
- iter = rpmtsInitIterator(ts, RPMTAG_BASENAMES, filename, 0);
-- header = rpmdbNextIterator(iter);
-+ header = rpmmiNext(iter);
- //log("%s: header('%s'):%p", __func__, filename, header);
- if (header)
- break;
-@@ -272,11 +276,9 @@ struct pkg_envra *rpm_get_package_nvr(co
-
- /* It is a chroot */
- //log("%s: skipping '%s' pfx", __func__, rootdir_or_NULL);
-- rpmdbFreeIterator(iter);
-- rpmtsFree(ts);
-+ iter = rpmmiFree(iter);
-+ ts = rpmtsFree(ts);
- ts = rpmtsCreate();
-- if (rpmtsSetRootDir(ts, rootdir_or_NULL) != 0)
-- goto error1;
- filename += len;
- rootdir_or_NULL = NULL;
- }
-@@ -316,16 +318,15 @@ struct pkg_envra *rpm_get_package_nvr(co
+@@ -305,15 +307,15 @@ struct pkg_envra *rpm_get_package_nvr(co
p->p_nvr = xasprintf("%s-%s-%s", p->p_name, p->p_version, p->p_release);
- rpmdbFreeIterator(iter);
+- rpmtsFree(ts);
+ iter = rpmmiFree(iter);
- rpmtsFree(ts);
++ ts = rpmtsFree(ts);
return p;
error:
free_pkg_envra(p);
- rpmdbFreeIterator(iter);
-- error1:
- rpmtsFree(ts);
+ iter = rpmmiFree(iter);
+ ts = rpmtsFree(ts);
# - handle obsolete packages: abrt-plugin-{catcut,rhfastcheck,rhticket,ticketuploader}
# - SysV init scripts for -addon-ccpp, -addon-kerneloops, -addon-pstoreoops, -addon-upload-watch, -addon-vmcore, -addon-xorg
# - teach build system to use python3.2+ __pycache__
-%define libreport_ver 2.3.0
+%define libreport_ver 2.5.0
Summary: Automatic bug detection and reporting tool
Summary(pl.UTF-8): Narzędzie do automatycznego wykrywania i zgłaszania błędów
Name: abrt
-Version: 2.3.0
-Release: 2
+Version: 2.5.0
+Release: 1
License: GPL v2+
Group: Applications/System
Source0: https://fedorahosted.org/released/abrt/%{name}-%{version}.tar.gz
-# Source0-md5: faa666301f4512723486300212cd7e58
+# Source0-md5: f2b2f9393117db5365cea014f82dbb73
Source1: %{name}.init
Patch0: %{name}-rpm5.patch
Patch1: %{name}-rpm45.patch
BuildRequires: automake
BuildRequires: dbus-devel
BuildRequires: gettext-tools >= 0.17
-BuildRequires: glib2-devel >= 1:2.21
+BuildRequires: glib2-devel >= 1:2.43
+BuildRequires: gsettings-desktop-schemas-devel >= 3.15.1
BuildRequires: gtk+3-devel >= 3.0
BuildRequires: intltool >= 0.35.0
BuildRequires: json-c-devel
BuildRequires: libmagic-devel
-BuildRequires: libnotify-devel
+BuildRequires: libnotify-devel >= 0.7.0
BuildRequires: libreport-devel >= %{libreport_ver}
BuildRequires: libreport-gtk-devel >= %{libreport_ver}
BuildRequires: libreport-web-devel >= %{libreport_ver}
Summary: ABRT shared library
Summary(pl.UTF-8): Biblioteka współdzielona ABRT
Group: Libraries
-Requires: glib2 >= 1:2.21
+Requires: glib2 >= 1:2.43
Requires: libreport >= %{libreport_ver}
%description libs
Summary(pl.UTF-8): Pliki nagłówkowe bibliotekia ABRT
Group: Development/Libraries
Requires: %{name}-libs = %{version}-%{release}
-Requires: glib2-devel >= 1:2.21
+Requires: glib2-devel >= 1:2.43
Requires: libreport-devel >= %{libreport_ver}
%description devel
Summary(pl.UTF-8): Dodatek C/C++ do ABRT
Group: Libraries
Requires: %{name} = %{version}-%{release}
+Requires: %{name}-addon-coredump-helper = %{version}-%{release}
Requires: %{name}-retrace-client = %{version}-%{release}
Requires: cpio
Requires: elfutils
Requires: gdb >= 7.0-3
Requires: satyr
Requires: yum-utils
+Obsoletes: %{name}-atomic
%description addon-ccpp
This package contains hook for C/C++ crashed programs and abrt's C/C++
Ten pakiet zawiera punkt zaczepienia dla programów w C/C++, które
uległy awarii oraz wtyczkę analizatora C/C++ ABRT.
+%package addon-coredump-helper
+Summary: ABRT's /proc/sys/kernel/core_pattern helper
+Summary(pl.UTF-8): Program pomocniczy ABRT do /proc/sys/kernel/core_pattern
+Group: Libraries
+Requires: %{name}-libs = %{version}-%{release}
+
+%description addon-coredump-helper
+This package contains hook for C/C++ crashed programs.
+
+%description addon-coredump-helper -l pl.UTF-8
+Ten pakiet zawiera uchwyt dla programów w C/C++, które uległy awarii.
+
%package addon-kerneloops
Summary: ABRT's kerneloops addon
Summary(pl.UTF-8): Dodatek kerneloops do ABRT
Ten pakiet zawiera wtyczkę do zbierania informacji o awarii jądra z
logu Xorg.
+%package atomic
+Summary: Package to make easy default installation on Atomic hosts
+Summary(pl.UTF-8): Pakiet ułatwiający domyślną instalację na hostach Atomic
+Group: Applications/System
+Requires: %{name}-addon-coredump-helper = %{version}-%{release}
+Obsoletes: %{name}-addon-ccpp
+
+%description atomic
+Package to install all necessary packages for usage from Atomic hosts.
+
+%description atomic -l pl.UTF-8
+Pakiet służący do instalacji wszystkich wymaganych pakietów
+przeznaczonych do użycia z hostów Atomic.
+
%package plugin-bodhi
Summary: ABRT's bodhi plugin
Summary(pl.UTF-8): Wtyczka bodhi do ABRT
# examples
%{__rm} -r $RPM_BUILD_ROOT%{py_sitescriptdir}/problem_examples
%{__rm} -r $RPM_BUILD_ROOT%{py3_sitescriptdir}/problem_examples
-# empty, same as af / hr / ms resp.
-%{__rm} -r $RPM_BUILD_ROOT%{_localedir}/{af_ZA,hr_HR,ms_MY}
-# empty version of cs / es / eu / fa / it / ja / ru / ta / uk resp.
-%{__rm} -r $RPM_BUILD_ROOT%{_localedir}/{cs_CZ,es_ES,eu_ES,fa_IR,it_IT,ja_JP,ru_RU,ta_IN,uk_UA}
-# outdated copy of lt
-%{__rm} -r $RPM_BUILD_ROOT%{_localedir}/lt_LT
+# empty version of ru
+%{__rm} -r $RPM_BUILD_ROOT%{_localedir}/ru_RU
# fool man verification - report_event.conf.5 belongs to libreport (NOTE: don't package it here)
touch $RPM_BUILD_ROOT%{_mandir}/man5/report_event.conf.5
%post addon-ccpp
%systemd_post abrt-ccpp.service
+%systemd_post abrt-journal-core.service
%preun addon-ccpp
%systemd_preun abrt-ccpp.service
+%systemd_preun abrt-journal-core.service
%post addon-kerneloops
%systemd_post abrt-oops.service
%preun addon-xorg
%systemd_preun abrt-xorg.service
+%post atomic
+if [ -f %{_sysconfdir}/%{name}/plugins/CCpp.conf ]; then
+ mv -f %{_sysconfdir}/%{name}/plugins/CCpp.conf %{_sysconfdir}/%{name}/plugins/CCpp.conf.rpmsave.atomic || exit 1
+fi
+ln -sf %{_sysconfdir}/%{name}/plugins/CCpp_Atomic.conf %{_sysconfdir}/%{name}/plugins/CCpp.conf
+if [ -f %{_datadir}/%{name}/conf.d/plugins/CCpp.conf ]; then
+ mv -f %{_datadir}/%{name}/conf.d/plugins/CCpp.conf %{_datadir}/%{name}/conf.d/plugins/CCpp.conf.rpmsave.atomic || exit 1;
+fi
+ln -sf %{_datadir}/%{name}/conf.d/plugins/CCpp_Atomic.conf %{_datadir}/%{name}/conf.d/plugins/CCpp.conf
+%systemd_post abrt-coredump-helper.service
+
+%preun atomic
+if [ -L %{_sysconfdir}/%{name}/plugins/CCpp.conf ]; then
+ rm -f %{_sysconfdir}/%{name}/plugins/CCpp.conf
+fi
+if [ -L %{_datadir}/%{name}/conf.d/plugins/CCpp.conf ]; then
+ rm -f %{_datadir}/%{name}/conf.d/plugins/CCpp.conf
+fi
+if [ -f %{_sysconfdir}/%{name}/plugins/CCpp.conf.rpmsave.atomic ]; then
+ mv -f %{_sysconfdir}/%{name}/plugins/CCpp.conf.rpmsave.atomic %{_sysconfdir}/%{name}/plugins/CCpp.conf || exit 1
+fi
+if [ -f %{_datadir}/%{name}/conf.d/plugins/CCpp.conf.rpmsave.atomic ]; then
+ mv -f %{_datadir}/%{name}/conf.d/plugins/CCpp.conf.rpmsave.atomic %{_datadir}/%{name}/conf.d/plugins/CCpp.conf || exit 1
+fi
+
+%postun atomic
+%systemd_postun_with_restart abrt-coredump-helper.service
+
%post gui
%update_icon_cache hicolor
%doc README
%attr(755,root,root) %{_bindir}/abrt-action-analyze-python
%attr(755,root,root) %{_bindir}/abrt-action-notify
+%attr(755,root,root) %{_bindir}/abrt-action-save-container-data
%attr(755,root,root) %{_bindir}/abrt-action-save-package-data
%attr(755,root,root) %{_bindir}/abrt-handle-upload
%attr(755,root,root) %{_bindir}/abrt-watch-log
%attr(755,root,root) %{_bindir}/abrt-action-list-dsos
%attr(755,root,root) %{_bindir}/abrt-action-perform-ccpp-analysis
%attr(755,root,root) %{_bindir}/abrt-action-trim-files
-%attr(755,root,root) %{_sbindir}/abrt-install-ccpp-hook
+%attr(755,root,root) %{_bindir}/abrt-dump-journal-core
%attr(6755,abrt,abrt) %{_libexecdir}/abrt-action-install-debuginfo-to-abrt-cache
%attr(755,root,root) %{_libexecdir}/abrt-gdb-exploitable
-%attr(755,root,root) %{_libexecdir}/abrt-hook-ccpp
%{_datadir}/%{name}/conf.d/plugins/CCpp.conf
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/plugins/CCpp.conf
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/libreport/events.d/ccpp_event.conf
%{_datadir}/libreport/events/collect_xsession_errors.xml
%{_datadir}/libreport/events/post_report.xml
%{systemdunitdir}/abrt-ccpp.service
+%{systemdunitdir}/abrt-journal-core.service
%{_mandir}/man1/abrt-action-analyze-backtrace.1*
%{_mandir}/man1/abrt-action-analyze-c.1*
%{_mandir}/man1/abrt-action-analyze-ccpp-local.1*
%{_mandir}/man1/abrt-action-list-dsos.1*
%{_mandir}/man1/abrt-action-perform-ccpp-analysis.1*
%{_mandir}/man1/abrt-action-trim-files.1*
-%{_mandir}/man1/abrt-install-ccpp-hook.1*
%{_mandir}/man5/abrt-CCpp.conf.5*
%{_mandir}/man5/ccpp_event.conf.5*
%{_mandir}/man5/ccpp_retrace_event.conf.5*
%{_mandir}/man5/gconf_event.conf.5*
%{_mandir}/man5/vimrc_event.conf.5*
+%files addon-coredump-helper
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_sbindir}/abrt-install-ccpp-hook
+%attr(755,root,root) %{_libexecdir}/abrt-hook-ccpp
+%{_mandir}/man1/abrt-install-ccpp-hook.1*
+
%files addon-kerneloops
%defattr(644,root,root,755)
%attr(755,root,root) %{_bindir}/abrt-action-analyze-oops
%{_mandir}/man5/abrt-xorg.conf.5*
%{_mandir}/man5/xorg_event.conf.5*
+%files atomic
+%defattr(644,root,root,755)
+%{_datadir}/%{name}/conf.d/plugins/CCpp_Atomic.conf
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/plugins/CCpp_Atomic.conf
+%{systemdunitdir}/abrt-coredump-helper.service
+
%files plugin-bodhi
%defattr(644,root,root,755)
%attr(755,root,root) %{_bindir}/abrt-bodhi
%attr(755,root,root) %{_sbindir}/abrt-configuration
%attr(755,root,root) %{_sbindir}/abrt-dbus
/etc/dbus-1/system.d/dbus-abrt.conf
+/etc/dbus-1/system.d/org.freedesktop.problems.daemon.conf
%{_datadir}/dbus-1/interfaces/com.redhat.problems.configuration.abrt.xml
%{_datadir}/dbus-1/interfaces/com.redhat.problems.configuration.ccpp.xml
%{_datadir}/dbus-1/interfaces/com.redhat.problems.configuration.python.xml