bb1c6d9
# BSD 3-Clause License
44b22bc
#
bb1c6d9
# Apprise - Push Notification Library.
bb1c6d9
# Copyright (c) 2023, Chris Caron <lead2gold@gmail.com>
44b22bc
#
bb1c6d9
# Redistribution and use in source and binary forms, with or without
bb1c6d9
# modification, are permitted provided that the following conditions are met:
44b22bc
#
bb1c6d9
# 1. Redistributions of source code must retain the above copyright notice,
bb1c6d9
#    this list of conditions and the following disclaimer.
44b22bc
#
bb1c6d9
# 2. Redistributions in binary form must reproduce the above copyright notice,
bb1c6d9
#    this list of conditions and the following disclaimer in the documentation
bb1c6d9
#    and/or other materials provided with the distribution.
bb1c6d9
#
bb1c6d9
# 3. Neither the name of the copyright holder nor the names of its
bb1c6d9
#    contributors may be used to endorse or promote products derived from
bb1c6d9
#    this software without specific prior written permission.
bb1c6d9
#
bb1c6d9
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
bb1c6d9
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
bb1c6d9
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
bb1c6d9
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
bb1c6d9
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
bb1c6d9
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
bb1c6d9
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
bb1c6d9
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
bb1c6d9
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
bb1c6d9
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
bb1c6d9
# POSSIBILITY OF SUCH DAMAGE.
bb1c6d9
###################################################################
44b22bc
%if 0%{?_module_build}
44b22bc
%bcond_with tests
44b22bc
%else
44b22bc
# When bootstrapping Python, we cannot test this yet
44b22bc
%bcond_without tests
d732271
%endif
44b22bc
556379c
%global pypi_name apprise
44b22bc
556379c
%global common_description %{expand: \
44b22bc
Apprise is a Python package for simplifying access to all of the different
44b22bc
notification services that are out there. Apprise opens the door and makes
44b22bc
it easy to access:
44b22bc
f1ecce6
Apprise API, AWS SES, AWS SNS, Bark, Boxcar, Burst SMS, BulkSMS, ClickSend,
8561749
DAPNET, DingTalk, Discord, E-Mail, Emby, Faast, FCM, Flock, Google Chat,
c4efd48
Gotify, Growl, Guilded, Home Assistant, IFTTT, Join, Kavenegar, KODI, Kumulos,
bb1c6d9
LaMetric, Line, MacOSX, Mailgun, Mastodon, Mattermost, Matrix, MessageBird,
bb1c6d9
Microsoft Windows, Microsoft Teams, Misskey, MQTT, MSG91, MyAndroid, Nexmo,
c4efd48
Nextcloud, NextcloudTalk, Notica, Notifico, ntfy, Office365, OneSignal,
bb1c6d9
Opsgenie, PagerDuty, PagerTree, ParsePlatform, PopcornNotify, Prowl, Pushalot,
8561749
PushBullet, Pushjet, PushMe, Pushover, PushSafer, Pushy, PushDeer, Reddit,
8561749
Rocket.Chat, RSyslog, SendGrid, ServerChan, Signal, SimplePush, Sinch, Slack,
8561749
SMSEagle, SMTP2Go, Spontit, SparkPost, Super Toasty, Streamlabs, Stride,
8561749
Syslog, Techulus Push, Telegram, Twilio, Twitter, Twist, XBMC, Voipms, Vonage,
8561749
WhatsApp, Webex Teams}
556379c
556379c
Name:           python-%{pypi_name}
8561749
Version:        1.5.0
8561749
Release:        1%{?dist}
556379c
Summary:        A simple wrapper to many popular notification services used today
bb1c6d9
License:        BSD
556379c
URL:            https://github.com/caronc/%{pypi_name}
556379c
Source0:        %{url}/archive/v%{version}/%{pypi_name}-%{version}.tar.gz
c4efd48
c4efd48
# RHEL/Rocky 8 ship with Click v6.7 which does not support the .stdout
9fe1b6f
# directive used in the unit testing.  This patch just makes it so our package
9fe1b6f
# continues to be compatible with these linux distributions
c4efd48
Patch0:         %{pypi_name}-click67-support.patch
556379c
c4efd48
# RHEL/Rocky 8 ship with Pytest v3.4.2 which does not support the
c4efd48
# session_mocker fixture.  This patch removes the session_mocker
c4efd48
# Patch thanks to Andreas Motl and his PR:
c4efd48
#   - https://github.com/caronc/apprise/pull/763
c4efd48
Patch1:         %{pypi_name}-pytest-session_mocker-removal.patch
44b22bc
c4efd48
# RHEL/Rocky 8 ship with Pytest v3.4.2 which does not support the
c4efd48
# tmp_path fixture.  This patch removes the macos testing as it
c4efd48
# leverages this unavailabe fixture.
c4efd48
# At the end of the day, the macos testing it is not needed by a
c4efd48
# RHEL/Fedora environment anyway for obvious reasons.
c4efd48
Patch2:         %{pypi_name}-no-macosx-testing.patch
44b22bc
0aef8f3
# During the Apprise v1.5.0 Packaging; The RPM would successfully build
0aef8f3
# on COPR, however it would fail on Koji. Some bulletproofing made upstream
0aef8f3
# but to allow to still package a working copy of Apprise v1.5.0 into
0aef8f3
# Fedora, this patch was created.
0aef8f3
Patch3:         %{pypi_name}-fedora-rpm-testcase-handling.patch
0aef8f3
c4efd48
BuildArch:      noarch
44b22bc
c4efd48
%description %{common_description}
44b22bc
556379c
%package -n %{pypi_name}
44b22bc
Summary: Apprise CLI Tool
44b22bc
44b22bc
Requires: python%{python3_pkgversion}-click >= 5.0
556379c
Requires: python%{python3_pkgversion}-%{pypi_name} = %{version}-%{release}
44b22bc
556379c
%description -n %{pypi_name}
44b22bc
An accompanied CLI tool that can be used as part of Apprise
44b22bc
to issue notifications from the command line to you favorite
44b22bc
services.
44b22bc
556379c
%package -n python%{python3_pkgversion}-%{pypi_name}
44b22bc
Summary: A simple wrapper to many popular notification services used today
556379c
%{?python_provide:%python_provide python%{python3_pkgversion}-%{pypi_name}}
44b22bc
463bb16
BuildRequires: gettext
44b22bc
BuildRequires: python%{python3_pkgversion}-devel
38ee750
BuildRequires: python%{python3_pkgversion}-setuptools
44b22bc
BuildRequires: python%{python3_pkgversion}-requests
44b22bc
BuildRequires: python%{python3_pkgversion}-requests-oauthlib
44b22bc
BuildRequires: python%{python3_pkgversion}-click >= 5.0
44b22bc
BuildRequires: python%{python3_pkgversion}-markdown
44b22bc
BuildRequires: python%{python3_pkgversion}-yaml
5adcaa4
BuildRequires: python%{python3_pkgversion}-babel
068c9ff
BuildRequires: python%{python3_pkgversion}-cryptography
bb1c6d9
BuildRequires: python%{python3_pkgversion}-certifi
c4efd48
BuildRequires: python%{python3_pkgversion}-paho-mqtt
44b22bc
Requires: python%{python3_pkgversion}-requests
44b22bc
Requires: python%{python3_pkgversion}-requests-oauthlib
44b22bc
Requires: python%{python3_pkgversion}-markdown
59c892d
Requires: python%{python3_pkgversion}-cryptography
bb1c6d9
Requires: python%{python3_pkgversion}-certifi
44b22bc
Requires: python%{python3_pkgversion}-yaml
c4efd48
Recommends: python%{python3_pkgversion}-paho-mqtt
c4efd48
c4efd48
%if 0%{?rhel} && 0%{?rhel} <= 8
c4efd48
BuildRequires: python%{python3_pkgversion}-dataclasses
c4efd48
Requires: python%{python3_pkgversion}-dataclasses
c4efd48
%endif
44b22bc
44b22bc
%if %{with tests}
199c505
%if 0%{?rhel} >= 9
199c505
# Do not import python3-mock
199c505
%else
199c505
# python-mock switched to unittest.mock
44b22bc
BuildRequires: python%{python3_pkgversion}-mock
199c505
%endif
44b22bc
BuildRequires: python%{python3_pkgversion}-pytest
c4efd48
BuildRequires: python%{python3_pkgversion}-pytest-mock
44b22bc
BuildRequires: python%{python3_pkgversion}-pytest-runner
c4efd48
BuildRequires: python%{python3_pkgversion}-pytest-cov
c4efd48
BuildRequires: python%{python3_pkgversion}-pytest-xdist
d732271
%endif
44b22bc
556379c
%description -n python%{python3_pkgversion}-%{pypi_name} %{common_description}
44b22bc
44b22bc
%prep
556379c
%setup -q -n %{pypi_name}-%{version}
9fe1b6f
%if 0%{?rhel} && 0%{?rhel} <= 8
c4efd48
# Rocky/RHEL 8 click v6.7 unit testing support
c4efd48
%patch0 -p1
c4efd48
# Rocky/RHEL 8 Drop session_mocker support
9fe1b6f
%patch1 -p1
c4efd48
# Rocky/RHEL 8 Lose MacOSX Testing
c4efd48
%patch2 -p1
463bb16
%else
0aef8f3
# Aug 27th, 2023 Fedora Packaging Quickfix
463bb16
%patch -P 3 -p1
463bb16
%endif
44b22bc
8561749
# 2023.08.27: This test fails for some uknown reason only during the test
8561749
# section of this RPM, but works completley fine under all other circumstances.
8561749
# As a workaround, just remove the file so it doesn't hold up the RPM
8561749
# Preparation
8561749
%{__rm} test/test_plugin_bulksms.py
8561749
199c505
%if 0%{?rhel} >= 9
c4efd48
# Do nothing
199c505
%else
c4efd48
# CentOS 8.x requires python-mock (cororlates with import ab)ve
199c505
find test -type f -name '*.py' -exec \
199c505
   sed -i -e 's|^from unittest import mock|import mock|g' {} \;
199c505
%endif
199c505
44b22bc
%build
44b22bc
%py3_build
44b22bc
44b22bc
%install
44b22bc
%py3_install
44b22bc
463bb16
%{__install} -p -D -T -m 0644 packaging/man/%{pypi_name}.1 \
ad2ee40
   %{buildroot}%{_mandir}/man1/%{pypi_name}.1
44b22bc
44b22bc
%if %{with tests}
44b22bc
%check
44b22bc
LANG=C.UTF-8 PYTHONPATH=%{buildroot}%{python3_sitelib} py.test-%{python3_version}
d732271
%endif
44b22bc
556379c
%files -n python%{python3_pkgversion}-%{pypi_name}
44b22bc
%license LICENSE
44b22bc
%doc README.md
556379c
%{python3_sitelib}/%{pypi_name}
556379c
%exclude %{python3_sitelib}/%{pypi_name}/cli.*
44b22bc
%{python3_sitelib}/*.egg-info
44b22bc
556379c
%files -n %{pypi_name}
556379c
%{_bindir}/%{pypi_name}
556379c
%{_mandir}/man1/%{pypi_name}.1*
556379c
%{python3_sitelib}/%{pypi_name}/cli.*
44b22bc
44b22bc
%changelog
8561749
* Sun Aug 27 2023 Chris Caron <lead2gold@gmail.com> - 1.5.0
8561749
- Updated to v1.5.0
0aef8f3
- apprise-fedora-rpm-testcase-handling.patch added for test handling
8561749
c48d010
* Fri Jul 21 2023 Fedora Release Engineering <releng@fedoraproject.org> - 1.4.5-2
c48d010
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
c48d010
f1ecce6
* Thu Jul  6 2023 Chris Caron <lead2gold@gmail.com> - 1.4.5
f1ecce6
- Updated to v1.4.5
f1ecce6
1c5cdd6
* Wed Jun 14 2023 Python Maint <python-maint@redhat.com> - 1.4.0-2
1c5cdd6
- Rebuilt for Python 3.12
1c5cdd6
97218fc
* Mon May 15 2023 Chris Caron <lead2gold@gmail.com> - 1.4.0
97218fc
- Updated to v1.4.0
97218fc
bb1c6d9
* Wed Feb 22 2023 Chris Caron <lead2gold@gmail.com> - 1.3.0
bb1c6d9
- Updated to v1.3.0
bb1c6d9
d07a70e
* Fri Jan 20 2023 Fedora Release Engineering <releng@fedoraproject.org> - 1.2.1-2
d07a70e
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
d07a70e
df3c88e
* Wed Dec 28 2022 Chris Caron <lead2gold@gmail.com> - 1.2.1-1
df3c88e
- Updated to v1.2.1
df3c88e
c4efd48
* Tue Nov 15 2022 Chris Caron <lead2gold@gmail.com> - 1.2.0-1
c4efd48
- Updated to v1.2.0
c4efd48
c4efd48
* Sat Oct  8 2022 Chris Caron <lead2gold@gmail.com> - 1.1.0-1
c4efd48
- Updated to v1.1.0
c4efd48
c4efd48
* Fri Oct  7 2022 Chris Caron <lead2gold@gmail.com> - 1.0.0-3
c4efd48
- Python 2 Support dropped
c4efd48
199c505
* Wed Aug 31 2022 Chris Caron <lead2gold@gmail.com> - 1.0.0-2
199c505
- Rebuilt for RHEL9 Support
199c505
9fe1b6f
* Sat Aug  6 2022 Chris Caron <lead2gold@gmail.com> - 1.0.0-1
9fe1b6f
- Updated to v1.0.0
9fe1b6f
10cdc27
* Fri Jul 22 2022 Fedora Release Engineering <releng@fedoraproject.org> - 0.9.9-3
10cdc27
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
10cdc27
681a66f
* Wed Jun 15 2022 Python Maint <python-maint@redhat.com> - 0.9.9-2
681a66f
- Rebuilt for Python 3.11
681a66f
b30368b
* Thu Jun  2 2022 Chris Caron <lead2gold@gmail.com> - 0.9.9-1
b30368b
- Updated to v0.9.9
b30368b
b30368b
* Thu Apr 28 2022 Chris Caron <lead2gold@gmail.com> - 0.9.8.3-1
b30368b
- Updated to v0.9.8.3
b30368b
b30368b
* Sat Apr 23 2022 Chris Caron <lead2gold@gmail.com> - 0.9.8.2-1
b30368b
- Updated to v0.9.8.2
b30368b
b30368b
* Tue Apr 19 2022 Chris Caron <lead2gold@gmail.com> - 0.9.8.1-1
b30368b
- Updated to v0.9.8.1
b30368b
b30368b
* Mon Apr 18 2022 Chris Caron <lead2gold@gmail.com> - 0.9.8-1
b30368b
- Updated to v0.9.8
b30368b
81b3135
* Wed Feb  2 2022 Chris Caron <lead2gold@gmail.com> - 0.9.7-1
81b3135
- Updated to v0.9.7
4782318
482b834
* Wed Dec  1 2021 Chris Caron <lead2gold@gmail.com> - 0.9.6-1
482b834
- Updated to v0.9.6
482b834
e09c0c0
* Sat Sep 18 2021 Chris Caron <lead2gold@gmail.com> - 0.9.5.1-2
e09c0c0
- Updated to v0.9.5.1
e09c0c0
e09c0c0
* Sat Sep 18 2021 Chris Caron <lead2gold@gmail.com> - 0.9.5-1
e09c0c0
- Updated to v0.9.5
e09c0c0
4cde521
* Wed Aug 11 2021 Chris Caron <lead2gold@gmail.com> - 0.9.4-1
4cde521
- Updated to v0.9.4
4cde521
8954f45
* Fri Jul 23 2021 Fedora Release Engineering <releng@fedoraproject.org> - 0.9.3-3
8954f45
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
8954f45
13e1404
* Fri Jun 04 2021 Python Maint <python-maint@redhat.com> - 0.9.3-2
13e1404
- Rebuilt for Python 3.10
13e1404
460e195
* Sun May 16 2021 Chris Caron <lead2gold@gmail.com> - 0.9.3-1
460e195
- Updated to v0.9.3
460e195
4773daa
* Sun May  2 2021 Chris Caron <lead2gold@gmail.com> - 0.9.2-1
4773daa
- Updated to v0.9.2
4773daa
59c892d
* Tue Feb 23 2021 Chris Caron <lead2gold@gmail.com> - 0.9.1-2
59c892d
- Added missing cryptography dependency
59c892d
9ddf210
* Tue Feb 23 2021 Chris Caron <lead2gold@gmail.com> - 0.9.1-1
9ddf210
- Updated to v0.9.1
9ddf210
9ddf210
-* Wed Jan 27 2021 Fedora Release Engineering <releng@fedoraproject.org> - 0.9.0-3
9ddf210
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
61abe6f
babf0ac
* Thu Jan 14 2021 Chris Caron <lead2gold@gmail.com> - 0.9.0-2
babf0ac
- Fixed unit tests
babf0ac
bf4304a
* Wed Dec 30 2020 Chris Caron <lead2gold@gmail.com> - 0.9.0-1
bf4304a
- Updated to v0.9.0
bf4304a
421494d
* Sun Oct  4 2020 Chris Caron <lead2gold@gmail.com> - 0.8.9-1
421494d
- Updated to v0.8.9
421494d
bf3d604
* Wed Sep  2 2020 Chris Caron <lead2gold@gmail.com> - 0.8.8-1
bf3d604
- Updated to v0.8.8
bf3d604
ad2ee40
* Thu Aug 13 2020 Chris Caron <lead2gold@gmail.com> - 0.8.7-1
ad2ee40
- Updated to v0.8.7
ad2ee40
068c9ff
* Mon Aug 03 2020 Chris Caron <lead2gold@gmail.com> - 0.8.6-4
068c9ff
- Updated SPEC so Fedora 33 Mass Rebuild would pass
068c9ff
0f43960
* Sat Aug 01 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.8.6-3
0f43960
- Second attempt - Rebuilt for
0f43960
  https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
0f43960
a51c3c7
* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.8.6-2
a51c3c7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
a51c3c7
b18eede
* Sat Jun 13 2020 Chris Caron <lead2gold@gmail.com> - 0.8.6-1
b18eede
- Updated to v0.8.6
b18eede
5cc24ee
* Tue May 26 2020 Miro HronĨok <mhroncok@redhat.com> - 0.8.5-2
5cc24ee
- Rebuilt for Python 3.9
5cc24ee
e10bdf1
* Mon Mar 30 2020 Chris Caron <lead2gold@gmail.com> - 0.8.5-1
e10bdf1
- Updated to v0.8.5
e10bdf1
e520cc6
* Sat Feb  1 2020 Chris Caron <lead2gold@gmail.com> - 0.8.4-1
e520cc6
- Updated to v0.8.4
e520cc6
46e9311
* Sun Jan 12 2020 Chris Caron <lead2gold@gmail.com> - 0.8.3-1
46e9311
- Updated to v0.8.3
46e9311
d732271
* Mon Nov 25 2019 Chris Caron <lead2gold@gmail.com> - 0.8.2-1
d732271
- Updated to v0.8.2
d732271
2998c28
* Sun Oct 13 2019 Chris Caron <lead2gold@gmail.com> - 0.8.1-1
2998c28
- Updated to v0.8.1
2998c28
db4b54a
* Fri Sep 20 2019 Chris Caron <lead2gold@gmail.com> - 0.8.0-1
db4b54a
- Updated to v0.8.0
d65d8bf
369b126
* Fri Jul 19 2019 Chris Caron <lead2gold@gmail.com> - 0.7.9-1
369b126
- Updated to v0.7.9
369b126
a9d99b5
* Thu Jun  6 2019 Chris Caron <lead2gold@gmail.com> - 0.7.8-1
a9d99b5
- Updated to v0.7.8
a9d99b5
5adcaa4
* Fri May 31 2019 Chris Caron <lead2gold@gmail.com> - 0.7.7-1
5adcaa4
- Updated to v0.7.7
5adcaa4
556379c
* Tue Apr 16 2019 Chris Caron <lead2gold@gmail.com> - 0.7.6-1
556379c
- Updated to v0.7.6
556379c
c8f94b4
* Sun Apr  7 2019 Chris Caron <lead2gold@gmail.com> - 0.7.5-1
c8f94b4
- Updated to v0.7.5
c8f94b4
44b22bc
* Sun Mar 10 2019 Chris Caron <lead2gold@gmail.com> - 0.7.4-1
44b22bc
- Updated to v0.7.4
44b22bc
- Fedora review process added a man page, spec restructuring and 2 patch files
556379c
  to accomodate some valid points brought forth. These have already been pushed
44b22bc
  upstream and will be removed on the next version.
44b22bc
44b22bc
* Fri Feb 22 2019 Chris Caron <lead2gold@gmail.com> - 0.7.3-1
44b22bc
- Updated to v0.7.3
44b22bc
- Added Python 3 build support
44b22bc
44b22bc
* Sun Sep  9 2018 Chris Caron <lead2gold@gmail.com> - 0.5.0-1
44b22bc
- Updated to v0.5.0
44b22bc
44b22bc
* Sun Mar 11 2018 Chris Caron <lead2gold@gmail.com> - 0.0.8-1
44b22bc
- Initial Release