3 %bcond_with satyr # satyr instead of btparser
6 # - handle obsolete packages: abrt-plugin-{catcut,rhfastcheck,rhticket,ticketuploader}
7 # - SysV init scripts for -addon-ccpp, -addon-kerneloops, -addon-uefioops, -addon-vmcore, -addon-xorg
8 Summary: Automatic bug detection and reporting tool
9 Summary(pl.UTF-8): Narzędzie do automatycznego wykrywania i zgłaszania błędów
14 Group: Applications/System
15 Source0: https://fedorahosted.org/released/abrt/%{name}-%{version}.tar.gz
16 # Source0-md5: 45e3dbbcb4c66aefda8bf5b5315bfdc6
18 Patch0: %{name}-rpm5.patch
19 Patch1: %{name}-rpm45.patch
20 Patch2: rpmkey-pld.patch
21 Patch3: format_security.patch
22 URL: https://fedorahosted.org/abrt/
23 BuildRequires: asciidoc
24 BuildRequires: autoconf >= 2.50
25 BuildRequires: automake
26 %{!?with_satyr:BuildRequires: btparser-devel}
27 BuildRequires: dbus-devel
28 BuildRequires: gettext-devel >= 0.17
29 BuildRequires: glib2-devel >= 1:2.21
30 BuildRequires: gtk+3-devel >= 3.0
31 BuildRequires: intltool >= 0.35.0
32 BuildRequires: json-c-devel
33 BuildRequires: libmagic-devel
34 BuildRequires: libnotify-devel
35 BuildRequires: libreport-devel
36 BuildRequires: libreport-gtk-devel
37 BuildRequires: libreport-web-devel
38 BuildRequires: libtool
39 BuildRequires: libxml2-devel >= 2
40 BuildRequires: rpm-devel >= 4.5
41 BuildRequires: nss-devel
42 BuildRequires: pkgconfig
43 BuildRequires: polkit-devel
44 BuildRequires: python-devel
45 BuildRequires: python-modules
46 BuildRequires: rpm-devel >= 4.5-28
47 BuildRequires: rpm-pythonprov
48 BuildRequires: rpmbuild(macros) >= 1.219
49 %{?with_satyr:BuildRequires: satyr-devel}
51 Requires(postun): /usr/sbin/groupdel
52 Requires(postun): /usr/sbin/userdel
53 Requires(pre): /bin/id
54 Requires(pre): /usr/bin/getgid
55 Requires(pre): /usr/sbin/groupadd
56 Requires(pre): /usr/sbin/useradd
57 Requires: %{name}-libs = %{version}-%{release}
60 Obsoletes: abrt-plugin-filetransfer
61 Obsoletes: abrt-plugin-runapp
62 Obsoletes: abrt-plugin-sosreport
63 Obsoletes: abrt-plugin-sqlite3
64 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
67 ABRT is a tool to help users to detect defects in applications and to
68 create a bug report with all informations needed by maintainer to fix
69 it. It uses plugin system to extend its functionality.
71 %description -l pl.UTF-8
72 ABRT to narzędzie pomagające użytkownikom w wykrywaniu defektów w
73 aplikacjach oraz tworzeniu raportów błędów ze wszystkimi informacjami
74 potrzebnymi utrzymującemu pakiet do poprawienia go. Wykorzystuje
75 system wtyczek do rozszerzania funkcjonalności.
78 Summary: ABRT shared library
79 Summary(pl.UTF-8): Biblioteka współdzielona ABRT
85 %description libs -l pl.UTF-8
86 Biblioteka współdzielona ABRT.
89 Summary: Header files for ABRT livrary
90 Summary(pl.UTF-8): Pliki nagłówkowe bibliotekia ABRT
91 Group: Development/Libraries
92 Requires: %{name}-libs = %{version}-%{release}
95 Header files for ABRT livrary.
97 %description devel -l pl.UTF-8
98 Pliki nagłówkowe bibliotekia ABRT.
101 Summary: ABRT's C/C++ addon
102 Summary(pl.UTF-8): Dodatek C/C++ do ABRT
104 Requires: %{name} = %{version}-%{release}
105 Requires: %{name}-retrace-client = %{version}-%{release}
106 %{!?with_satyr:Requires: btparser}
109 Requires: gdb >= 7.0-3
110 %{?with_satyr:Requires: satyr}
113 %description addon-ccpp
114 This package contains hook for C/C++ crashed programs and abrt's C/C++
117 %description addon-ccpp -l pl.UTF-8
118 Ten pakiet zawiera punkt zaczepienia dla programów w C/C++, które
119 uległy awarii oraz wtyczkę analizatora C/C++ ABRT.
121 %package addon-kerneloops
122 Summary: ABRT's kerneloops addon
123 Summary(pl.UTF-8): Dodatek kerneloops do ABRT
125 Requires: %{name} = %{version}-%{release}
127 Requires: libreport-plugin-kerneloops
128 Obsoletes: abrt-plugin-kerneloops
129 Obsoletes: abrt-plugin-kerneloopsreporter
130 Obsoletes: kerneloops
132 %description addon-kerneloops
133 This package contains plugin for collecting kernel crash information
136 %description addon-kerneloops -l pl.UTF-8
137 Ten pakiet zawiera wtyczkę do zbierania informacji o awarii jądra z
140 %package addon-python
141 Summary: ABRT's addon for catching and analyzing Python exceptions
142 Summary(pl.UTF-8): Dodatek ABRT do przechwytywania i analizy wyjątków Pythona
144 Requires: %{name} = %{version}-%{release}
145 Obsoletes: gnome-python2-bugbuddy
147 %description addon-python
148 This package contains Python hook and Python analyzer plugin for
149 handling uncaught exception in Python programs.
151 %description addon-python -l pl.UTF-8
152 Ten pakiet zawiera pythonowy punkt zaczepienia oraz wtyczkę
153 analizatora Pythona do obsługi nie obsłużonych wyjątków w programach w
156 %package addon-uefioops
157 Summary: ABRT's uefioops addon
158 Summary(pl.UTF-8): Dodatek uefioops do ABRT
160 Requires: %{name}-addon-kerneloops = %{version}-%{release}
162 %description addon-uefioops
163 This package contains plugin for collecting kernel oopses from UEFI
166 %description addon-uefioops -l pl.UTF-8
167 Ten pakiet zawiera wtyczkę do zbierania oopsów jądra z danych UEFI.
169 %package addon-vmcore
170 Summary: ABRT's vmcore addon
171 Summary(pl.UTF-8): Dodatek vmcore do ABRT
173 Requires: %{name} = %{version}-%{release}
174 Requires: %{name}-addon-kerneloops = %{version}-%{release}
175 # not available in PLD
178 %description addon-vmcore
179 This package contains plugin for collecting kernel crash information
182 %description addon-vmcore -l pl.UTF-8
183 Ten pakiet zawiera wtyczkę do zbierania informacji o awarii jądra z
187 Summary: ABRT's Xorg addon
188 Summary(pl.UTF-8): Dodatek Xorg do ABRT
190 Requires: %{name} = %{version}-%{release}
193 %description addon-xorg
194 This package contains plugin for collecting Xorg crash information
197 %description addon-xorg -l pl.UTF-8
198 Ten pakiet zawiera wtyczkę do zbierania informacji o awarii jądra z
201 %package plugin-bodhi
202 Summary: ABRT's bodhi plugin
203 Summary(pl.UTF-8): Wtyczka bodhi do ABRT
205 Requires: %{name} = %{version}-%{release}
206 Requires: libreport-web-devel >= 2.0.10
207 Obsoletes: libreport-plugin-bodhi
209 %description plugin-bodhi
210 Plugin to search for a new updates in bodhi server.
212 %description plugin-bodhi -l pl.UTF-8
213 Wtyczka do wyszukiwania nowych uaktualnień na serwerze bodhi.
215 %package retrace-client
216 Summary: ABRT's retrace client
217 Summary(pl.UTF-8): Klient Retrace dla ABRT
219 Requires: %{name} = %{version}-%{release}
222 %description retrace-client
223 This package contains the client application for Retrace server which
224 is able to analyze C/C++ crashes remotely.
226 %description retrace-client -l pl.UTF-8
227 Ten pakiet zawiera aplikację kliencką dla serwera Retrace, który
228 potrafi zdalnie przeanalizować awarię programu w C/C++.
231 Summary: ABRT DBus service
232 Summary(pl.UTF-8): Usługa DBus ABRT
233 Group: Applications/System
234 Requires: %{name} = %{version}-%{release}
238 ABRT DBus service which provides org.freedesktop.problems API on DBus
239 and uses PolicyKit to authorize to access the problem data.
241 %description dbus -l pl.UTF-8
242 Usługa DBus ABRT, udostępniająca poprzez DBus API
243 org.freedesktop.problems, używająca PolicyKit do autoryzacji dostępu
244 do danych o problemach.
247 Summary: ABRT Python API
248 Summary(pl.UTF-8): API Pythona do ABRT
249 Group: Libraries/Python
250 Requires: %{name} = %{version}-%{release}
251 %if "%{_rpmversion}" >= "5.0"
256 High-level API for querying, creating and manipulating problems
257 handled by ABRT in Python.
259 %description python -l pl.UTF-8
260 Wysokopoziomowe API do odpytywania, tworzenia i obróbki z poziomu
261 Pythona problemów obsługiwanych przez ABRT.
264 Summary: ABRT's command line interface
265 Summary(pl.UTF-8): Interfejs linii poleceń ABRT
266 Group: Applications/System
267 Requires: %{name} = %{version}-%{release}
269 Requires: %{name}-addon-ccpp = %{version}-%{release}
270 Requires: %{name}-addon-kerneloops = %{version}-%{release}
271 Requires: %{name}-addon-python = %{version}-%{release}
272 Requires: %{name}-addon-uefioops = %{version}-%{release}
274 Requires: libreport-plugin-bugzilla
275 Requires: libreport-plugin-logger
278 This package contains simple command line client for controling ABRT
279 daemon over the sockets.
281 %description cli -l pl.UTF-8
282 Ten pakiet zawiera prostego klienta obsługiwanego z linii poleceń,
283 pozwalającego na sterowanie demonem poprzez gniazda.
287 Summary(pl.UTF-8): Graficzny interfejs użytkownika do ABRT
288 Group: X11/Applications
289 Requires(post,postun): gtk-update-icon-cache
290 Requires(post,postun): hicolor-icon-theme
291 Requires: %{name} = %{version}-%{release}
292 Requires: %{name}-dbus = %{version}-%{release}
293 # not available in PLD
294 #Requires: gnome-abrt
295 Provides: abrt-applet = %{version}-%{release}
296 Obsoletes: abrt-applet < 0.0.5
297 Conflicts: abrt-applet < 0.0.5
300 GTK+ wizard for convenient bug reporting.
302 %description gui -l pl.UTF-8
303 Oparty na GTK+ kreator do wygodnego zgłaszania błędów.
306 Summary: Virtual package to install all necessary packages for usage from desktop environment
307 Summary(pl.UTF-8): Writualny pakiet do instalacji pakietów potrzebnych do użycia w środowisku graficznym
308 Group: X11/Applications
309 # This package should be installed when anything requests bug-buddy;
310 # installing abrt-desktop should result in the abrt which works without
311 # any tweaking in abrt.conf (IOW: all plugins mentioned there must be installed)
312 Requires: %{name} = %{version}-%{release}
313 Requires: %{name}-addon-ccpp = %{version}-%{release}
314 Requires: %{name}-addon-kerneloops = %{version}-%{release}
315 Requires: %{name}-addon-python = %{version}-%{release}
316 Requires: %{name}-addon-uefioops = %{version}-%{release}
317 Requires: %{name}-addon-vmcore = %{version}-%{release}
318 Requires: %{name}-addon-xorg = %{version}-%{release}
319 Requires: %{name}-gui = %{version}-%{release}
320 Requires: %{name}-plugin-bodhi = %{version}-%{release}
321 Requires: %{name}-retrace-client = %{version}-%{release}
322 Requires: libreport-plugin-bugzilla
323 Requires: libreport-plugin-logger
324 Requires: libreport-plugin-ureport
329 Virtual package to make easy default installation on desktop
332 %description desktop -l pl.UTF-8
333 Wirtualny pakiet ułatwiający domyślną instalację w środowiskach
336 %package console-notification
337 Summary: ABRT console notification script
338 Summary(pl.UTF-8): Skrypt ABRT do powiadomień na konsoli
339 Group: Applications/System
340 Requires: %{name} = %{version}-%{release}
341 Requires: %{name}-cli = %{version}-%{release}
343 %description console-notification
344 A small script which prints a count of detected problems when someone
345 logs in to the shell.
347 %description console-notification -l pl.UTF-8
348 Mały skrypt wypisujący liczbę wykrytych problemów, kiedy ktoś loguje
353 %if "%{_rpmversion}" >= "5.0"
368 --disable-silent-rules \
369 %{?with_satyr:--with-satyr} \
370 --with-systemdsystemunitdir=%{systemdunitdir}
375 rm -rf $RPM_BUILD_ROOT
377 DESTDIR=$RPM_BUILD_ROOT
381 # obsoleted by pkg-config
382 %{__rm} $RPM_BUILD_ROOT%{_libdir}/lib*.la
384 install -D %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/abrtd
385 install -d $RPM_BUILD_ROOT/var/cache/%{name}
386 install -d $RPM_BUILD_ROOT/var/cache/%{name}-di
387 install -d $RPM_BUILD_ROOT/var/run/%{name}
389 install -d $RPM_BUILD_ROOT/usr/lib/tmpfiles.d
390 cat >$RPM_BUILD_ROOT/usr/lib/tmpfiles.d/abrt.conf <<EOF
391 /var/run/%{name} 0755 root root -
394 # outdated copy of lt
395 %{__rm} -r $RPM_BUILD_ROOT%{_datadir}/locale/lt_LT
400 rm -rf $RPM_BUILD_ROOT
403 %groupadd -g 248 abrt
404 %useradd -u 248 -g abrt -d /etc/abrt -s /sbin/nologin abrt
407 /sbin/chkconfig --add abrtd
408 %service abrtd restart
411 if [ "$1" = "0" ]; then
413 /sbin/chkconfig --del abrtd
417 if [ "$1" = "0" ]; then
423 %update_icon_cache hicolor
426 %update_icon_cache hicolor
428 %post libs -p /sbin/ldconfig
429 %postun libs -p /sbin/ldconfig
431 %files -f %{name}.lang
432 %defattr(644,root,root,755)
434 %attr(755,root,root) %{_bindir}/abrt-action-save-package-data
435 %attr(755,root,root) %{_bindir}/abrt-handle-upload
436 %attr(755,root,root) %{_bindir}/abrt-watch-log
437 %attr(755,root,root) %{_sbindir}/abrt-server
438 %attr(755,root,root) %{_sbindir}/abrtd
439 %attr(755,root,root) %{_libexecdir}/abrt-action-ureport
440 %attr(755,root,root) %{_libexecdir}/abrt-handle-event
441 %dir %{_sysconfdir}/%{name}
442 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/abrt.conf
443 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/abrt-action-save-package-data.conf
444 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/gpg_keys
445 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/xorg.conf
446 %dir %{_sysconfdir}/%{name}/plugins
447 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/libreport/events.d/abrt_event.conf
448 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/libreport/events.d/smart_event.conf
449 %attr(754,root,root) /etc/rc.d/init.d/abrtd
450 %{systemdunitdir}/abrtd.service
451 %attr(775,root,abrt) %dir /var/cache/%{name}
452 %dir /var/run/%{name}
453 /usr/lib/tmpfiles.d/abrt.conf
454 %{_mandir}/man1/abrt-action-save-package-data.1*
455 %{_mandir}/man1/abrt-handle-upload.1*
456 %{_mandir}/man1/abrt-server.1*
457 %{_mandir}/man5/abrt.conf.5*
458 %{_mandir}/man5/abrt-action-save-package-data.conf.5*
459 %{_mandir}/man8/abrtd.8*
462 %defattr(644,root,root,755)
463 %attr(755,root,root) %{_libdir}/libabrt.so.*.*.*
464 %attr(755,root,root) %ghost %{_libdir}/libabrt.so.0
467 %defattr(644,root,root,755)
468 %attr(755,root,root) %{_libdir}/libabrt.so
470 %{_pkgconfigdir}/abrt.pc
473 %defattr(644,root,root,755)
474 %attr(755,root,root) %{_bindir}/abrt-action-analyze-backtrace
475 %attr(755,root,root) %{_bindir}/abrt-action-analyze-c
476 %attr(755,root,root) %{_bindir}/abrt-action-analyze-ccpp-local
477 %attr(755,root,root) %{_bindir}/abrt-action-analyze-core
478 %attr(755,root,root) %{_bindir}/abrt-action-generate-backtrace
479 %attr(755,root,root) %{_bindir}/abrt-action-generate-core-backtrace
480 %attr(755,root,root) %{_bindir}/abrt-action-install-debuginfo
481 %attr(755,root,root) %{_bindir}/abrt-action-list-dsos
482 %attr(755,root,root) %{_bindir}/abrt-action-perform-ccpp-analysis
483 %attr(755,root,root) %{_bindir}/abrt-action-trim-files
484 %attr(755,root,root) %{_bindir}/abrt-dedup-client
485 %attr(755,root,root) %{_sbindir}/abrt-install-ccpp-hook
486 %attr(6755,abrt,abrt) %{_libexecdir}/abrt-action-install-debuginfo-to-abrt-cache
487 %attr(755,root,root) %{_libexecdir}/abrt-hook-ccpp
488 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/plugins/CCpp.conf
489 %{_sysconfdir}/libreport/events/analyze_CCpp.xml
490 %{_sysconfdir}/libreport/events/analyze_LocalGDB.xml
491 %{_sysconfdir}/libreport/events/collect_GConf.xml
492 %{_sysconfdir}/libreport/events/collect_vimrc_system.xml
493 %{_sysconfdir}/libreport/events/collect_vimrc_user.xml
494 %{_sysconfdir}/libreport/events/collect_xsession_errors.xml
495 %{_sysconfdir}/libreport/events/post_report.xml
496 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/libreport/events.d/ccpp_event.conf
497 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/libreport/events.d/gconf_event.conf
498 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/libreport/events.d/vimrc_event.conf
499 %attr(775,abrt,abrt) %dir %{_localstatedir}/cache/abrt-di
500 #%attr(754,root,root) /etc/rc.d/init.d/abrt-ccpp
501 %{systemdunitdir}/abrt-ccpp.service
502 %{_mandir}/man1/abrt-action-analyze-backtrace.1*
503 %{_mandir}/man1/abrt-action-analyze-c.1*
504 %{_mandir}/man1/abrt-action-analyze-ccpp-local.1*
505 %{_mandir}/man1/abrt-action-generate-backtrace.1*
506 %{_mandir}/man1/abrt-action-generate-core-backtrace.1*
507 %{_mandir}/man1/abrt-action-list-dsos.1*
508 %{_mandir}/man1/abrt-action-trim-files.1*
509 %{_mandir}/man1/abrt-install-ccpp-hook.1*
511 %files addon-kerneloops
512 %defattr(644,root,root,755)
513 %attr(755,root,root) %{_bindir}/abrt-action-analyze-oops
514 %attr(755,root,root) %{_bindir}/abrt-action-save-kernel-data
515 %attr(755,root,root) %{_bindir}/abrt-dump-oops
516 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/libreport/events.d/koops_event.conf
517 #%attr(754,root,root) /etc/rc.d/init.d/abrt-oops
518 %{systemdunitdir}/abrt-oops.service
519 %{_mandir}/man1/abrt-action-analyze-oops.1*
522 %defattr(644,root,root,755)
523 %attr(755,root,root) %{_bindir}/abrt-action-analyze-python
524 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/plugins/python.conf
525 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/libreport/events.d/python_event.conf
526 %{py_sitedir}/abrt_exception_handler.py[co]
527 %{py_sitedir}/abrt.pth
528 %{_mandir}/man1/abrt-action-analyze-python.1*
530 %files addon-uefioops
531 %defattr(644,root,root,755)
532 %attr(755,root,root) %{_bindir}/abrt-merge-uefioops
533 %attr(755,root,root) %{_sbindir}/abrt-harvest-uefioops
534 #%attr(754,root,root) /etc/rc.d/init.d/abrt-uefioops
535 %{systemdunitdir}/abrt-uefioops.service
538 %defattr(644,root,root,755)
539 %attr(755,root,root) %{_bindir}/abrt-action-analyze-vmcore
540 %attr(755,root,root) %{_sbindir}/abrt-harvest-vmcore
541 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/abrt-harvest-vmcore.conf
542 %{_sysconfdir}/libreport/events/analyze_VMcore.xml
543 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/libreport/events.d/vmcore_event.conf
544 #%attr(754,root,root) /etc/rc.d/init.d/abrt-vmcore
545 %{systemdunitdir}/abrt-vmcore.service
546 %{_mandir}/man1/abrt-action-analyze-vmcore.1*
549 %defattr(644,root,root,755)
550 %attr(755,root,root) %{_bindir}/abrt-action-analyze-xorg
551 %attr(755,root,root) %{_bindir}/abrt-dump-xorg
552 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/libreport/events.d/xorg_event.conf
553 #%attr(754,root,root) /etc/rc.d/init.d/abrt-xorg
554 %{systemdunitdir}/abrt-xorg.service
557 %defattr(644,root,root,755)
558 %attr(755,root,root) %{_bindir}/abrt-bodhi
559 %{_mandir}/man1/abrt-bodhi.1*
561 %files retrace-client
562 %defattr(644,root,root,755)
563 %{_sysconfdir}/libreport/events/analyze_RetraceServer.xml
564 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/libreport/events.d/ccpp_retrace_event.conf
565 %attr(755,root,root) %{_bindir}/abrt-retrace-client
566 %{_mandir}/man1/abrt-retrace-client.1*
569 %defattr(644,root,root,755)
570 %attr(755,root,root) %{_sbindir}/abrt-dbus
571 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/libreport/events.d/dbus_event.conf
572 /etc/dbus-1/system.d/dbus-abrt.conf
573 %{_datadir}/dbus-1/interfaces/org.freedesktop.Problems.xml
574 %{_datadir}/dbus-1/system-services/org.freedesktop.problems.service
575 %{_datadir}/polkit-1/actions/abrt_polkit.policy
576 %{_mandir}/man8/abrt-dbus.8*
577 %{_docdir}/abrt-dbus-%{version}
580 %defattr(644,root,root,755)
581 %{py_sitescriptdir}/problem
582 %{_mandir}/man5/abrt-python.5*
583 %{_docdir}/abrt-python-%{version}
586 %defattr(644,root,root,755)
587 %attr(755,root,root) %{_bindir}/abrt-cli
588 %{_mandir}/man1/abrt-cli.1*
591 %defattr(644,root,root,755)
592 %attr(755,root,root) %{_bindir}/abrt-applet
593 %dir %{_datadir}/%{name}
594 %{_datadir}/%{name}/icons
595 %{_iconsdir}/hicolor/*/apps/abrt.png
596 %{_iconsdir}/hicolor/*/status/abrt.png
597 %{_sysconfdir}/xdg/autostart/abrt-applet.desktop
600 %defattr(644,root,root,755)
602 %files console-notification
603 %defattr(644,root,root,755)
604 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/profile.d/abrt-console-notification.sh