From adb4721f7f60f7c00f7f5e4f5f382207636140f3 Mon Sep 17 00:00:00 2001 From: Jakub Bogusz Date: Mon, 6 Apr 2015 21:44:43 +0200 Subject: [PATCH] - updated to 2.5.0 - updated rpm5,profile.sh patches --- abrt-rpm5.patch | 121 ++++++++++++++++++++++++----------------------- abrt.spec | 102 ++++++++++++++++++++++++++++++++------- profile.sh.patch | 8 ++-- 3 files changed, 150 insertions(+), 81 deletions(-) diff --git a/abrt-rpm5.patch b/abrt-rpm5.patch index a8ce7eb..c311fa3 100644 --- a/abrt-rpm5.patch +++ b/abrt-rpm5.patch @@ -8,8 +8,8 @@ $(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() { @@ -41,7 +41,7 @@ + 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: @@ -53,7 +53,18 @@ 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: @@ -64,7 +75,42 @@ 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; @@ -73,31 +119,10 @@ + 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); @@ -105,19 +130,18 @@ 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; \ @@ -126,7 +150,7 @@ 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; @@ -137,43 +161,20 @@ 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); diff --git a/abrt.spec b/abrt.spec index 7ad97c3..49d4275 100644 --- a/abrt.spec +++ b/abrt.spec @@ -3,16 +3,16 @@ # - 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 @@ -25,12 +25,13 @@ BuildRequires: autoconf >= 2.50 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} @@ -81,7 +82,7 @@ system wtyczek do rozszerzania funkcjonalności. 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 @@ -95,7 +96,7 @@ Summary: Header files for ABRT livrary 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 @@ -109,12 +110,14 @@ Summary: ABRT's C/C++ addon 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++ @@ -124,6 +127,18 @@ analyzer plugin. 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 @@ -241,6 +256,20 @@ from Xorg log. 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 @@ -480,12 +509,8 @@ EOF # 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 @@ -522,9 +547,11 @@ fi %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 @@ -556,6 +583,34 @@ fi %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 @@ -570,6 +625,7 @@ fi %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 @@ -640,10 +696,9 @@ fi %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 @@ -659,6 +714,7 @@ fi %{_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* @@ -670,13 +726,18 @@ fi %{_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 @@ -762,6 +823,12 @@ fi %{_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 @@ -779,6 +846,7 @@ fi %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 diff --git a/profile.sh.patch b/profile.sh.patch index a86baf8..735acc0 100644 --- a/profile.sh.patch +++ b/profile.sh.patch @@ -1,8 +1,8 @@ ---- abrt-2.3.0/src/cli/abrt-console-notification.sh.orig 2014-10-13 17:06:17.929918201 +0200 -+++ abrt-2.3.0/src/cli/abrt-console-notification.sh 2014-10-13 17:37:55.123171917 +0200 -@@ -37,3 +37,5 @@ +--- abrt-2.4.0/src/cli/abrt-console-notification.sh.orig 2015-02-26 16:03:12.122610204 +0100 ++++ abrt-2.4.0/src/cli/abrt-console-notification.sh 2015-02-26 16:10:23.795925422 +0100 +@@ -40,3 +40,5 @@ fi - abrt-cli status --since="$SINCE" 2>"$ABRT_DEBUG_LOG" + timeout 10s abrt-cli status --since="$SINCE" 2>"$ABRT_DEBUG_LOG" || echo "'abrt-cli status' timed out" + +unset ABRT_DEBUG_LOG LPATHDIR SINCEFILE TMPPATH SINCE -- 2.44.0