%global pypi_name jasmin Name: jasmin-sms-gateway Version: 0.10.13 Release: 1%{?dist} Summary: Jasmin is a very complete open source SMS Gateway with many enterprise-class features. License: Apache v2.0 URL: http://pypi.python.org/pypi/jasmin Source0: https://files.pythonhosted.org/packages/source/j/%{pypi_name}/%{pypi_name}-%{version}.tar.gz Source1: jasmind.environment Source2: jasmin-manager.sudo # Fixed some multipart issues - PR #1140 & #1141 : https://github.com/jookies/jasmin/pull/1140 https://github.com/jookies/jasmin/pull/1141 Patch0: multipart_patch1.patch # Fix sessings for logprivacy - PR #1105: https://github.com/jookies/jasmin/pull/1105 Patch1: logprivacy_patch1.patch BuildArch: noarch BuildRequires: python3-devel BuildRequires: python3-setuptools BuildRequires: systemd Provides: jasmin-sms-gateway %{?python_provide:%python_provide python3-%{pypi_name}} Requires: python3 Requires: python3-amqp Requires: python3-celery Requires: python3-dateutil Requires: python3-lockfile Requires: python3-mimeparse Requires: python3-pyparsing Requires: python3-redis Requires: python3-requests Requires: python3-setuptools Requires: python3-smpp-pdu3 Requires: python3-smpp-twisted3 Requires: python3-tabulate Requires: python3-treq Requires: python3-twisted Requires: python3-txamqp3 Requires: python3-txredisapi Requires: python3-falcon Requires: rabbitmq-server Requires: redis Requires(pre): /usr/sbin/useradd, /usr/bin/getent Requires(postun): /usr/sbin/userdel %description Jasmin is a very complete open source SMS Gateway with many enterprise-class features such as: . - SMPP Client / Server - HTTP Client / Server - Console-based configuration, no service restart required - Based on AMQP broker for store&forw # %package %pre # /usr/bin/getent group jasmin || /usr/sbin/groupadd -r jasmin /usr/bin/getent group jasmin-manager || /usr/sbin/groupadd -r jasmin-manager /usr/bin/getent passwd jasmin || /usr/sbin/useradd -r -d /usr/share/jasmin -s /sbin/nologin jasmin %postun /usr/sbin/userdel jasmin %prep %autosetup -n %{pypi_name}-%{version} -p1 rm -rf %{pypi_name}.egg-info sed -i -E 's/(Twisted|cryptography|pyOpenSSL|falcon|redis|requests|service_identity|treq|prometheus-client)\~\=[0-9\.]+/\1/g' requirements.txt %build %py3_build %install %py3_install install -d %{buildroot}%{_localstatedir}/log/jasmin -m 775 install -d %{buildroot}%{_sysconfdir}/jasmin -m 3775 install -d %{buildroot}%{_sysconfdir}/jasmin/interception -m 3775 install -m660 %{_builddir}/%{pypi_name}-%{version}/misc/config/jasmin.cfg %{buildroot}%{_sysconfdir}/jasmin/jasmin.cfg install -m660 %{_builddir}/%{pypi_name}-%{version}/misc/config/interceptor.cfg %{buildroot}%{_sysconfdir}/jasmin/interceptor.cfg install -m660 %{_builddir}/%{pypi_name}-%{version}/misc/config/dlr.cfg %{buildroot}%{_sysconfdir}/jasmin/dlr.cfg install -m660 %{_builddir}/%{pypi_name}-%{version}/misc/config/dlrlookupd.cfg %{buildroot}%{_sysconfdir}/jasmin/dlrlookupd.cfg install -d -m770 %{_builddir}/%{pypi_name}-%{version}/misc/config/resource %{buildroot}%{_sysconfdir}/jasmin/resource cp %{_builddir}/%{pypi_name}-%{version}/misc/config/resource/* %{buildroot}%{_sysconfdir}/jasmin/resource/ install -d -m770 %{_builddir}/%{pypi_name}-%{version}/misc/config/store %{buildroot}%{_sysconfdir}/jasmin/store install -d %{buildroot}%{_unitdir} install %{_builddir}/%{pypi_name}-%{version}/misc/config/systemd/jasmin-celery.service %{buildroot}%{_unitdir}/jasmin-celery.service install %{_builddir}/%{pypi_name}-%{version}/misc/config/systemd/jasmin-dlrd.service %{buildroot}%{_unitdir}/jasmin-dlrd.service install %{_builddir}/%{pypi_name}-%{version}/misc/config/systemd/jasmin-dlrlookupd.service %{buildroot}%{_unitdir}/jasmin-dlrlookupd.service install %{_builddir}/%{pypi_name}-%{version}/misc/config/systemd/jasmin-interceptord.service %{buildroot}%{_unitdir}/jasmin-interceptord.service install %{_builddir}/%{pypi_name}-%{version}/misc/config/systemd/jasmin-restapi.service %{buildroot}%{_unitdir}/jasmin-restapi.service install %{_builddir}/%{pypi_name}-%{version}/misc/config/systemd/jasmind.service %{buildroot}%{_unitdir}/jasmind.service install -m660 %{_sourcedir}/jasmind.environment %{buildroot}%{_sysconfdir}/jasmin/jasmind.environment install -d %{buildroot}%{_sysconfdir}/sudoers.d install -m660 %{_sourcedir}/jasmin-manager.sudo %{buildroot}%{_sysconfdir}/sudoers.d/jasmin-manager sed -i -E 's/(\-\-wsgi=jasmin\.protocols\.rest.api)/\1 --listen=tcp:1402/' %{buildroot}%{_unitdir}/jasmin-restapi.service sed -i -E 's/(jasmind\.py) .*/\1 --enable-interceptor-client\nEnvironmentFile=\/etc\/jasmin\/jasmind.environment/' %{buildroot}%{_unitdir}/jasmind.service sed -i 's/\/usr\/local\/bin/\/usr\/bin/g' %{buildroot}%{_unitdir}/jasmind.service sed -i 's/\/usr\/local\/bin/\/usr\/bin/g' %{buildroot}%{_unitdir}/jasmin-celery.service sed -i 's/\/usr\/local\/bin/\/usr\/bin/g' %{buildroot}%{_unitdir}/jasmin-dlrd.service sed -i 's/\/usr\/local\/bin/\/usr\/bin/g' %{buildroot}%{_unitdir}/jasmin-dlrlookupd.service sed -i 's/\/usr\/local\/bin/\/usr\/bin/g' %{buildroot}%{_unitdir}/jasmin-interceptord.service sed -i 's/\/usr\/local\/bin/\/usr\/bin/g' %{buildroot}%{_unitdir}/jasmin-restapi.service %files %doc README.rst %license LICENSE %{python3_sitelib}/%{pypi_name} %{python3_sitelib}/%{pypi_name}-%{version}-py%{python3_version}.egg-info %attr(3775, root, jasmin-manager) %dir %{_sysconfdir}/jasmin %{_bindir}/dlrd.py %{_bindir}/dlrlookupd.py %{_bindir}/interceptord.py %{_bindir}/jasmind.py %{_unitdir}/jasmin-celery.service %{_unitdir}/jasmind.service %{_unitdir}/jasmin-dlrd.service %{_unitdir}/jasmin-dlrlookupd.service %{_unitdir}/jasmin-interceptord.service %{_unitdir}/jasmin-restapi.service %attr(660, root, jasmin-manager) %config(noreplace) %{_sysconfdir}/jasmin/jasmind.environment %attr(660, jasmin, jasmin-manager) %config(noreplace) %{_sysconfdir}/jasmin/jasmin.cfg %attr(660, jasmin, jasmin-manager) %config(noreplace) %{_sysconfdir}/jasmin/interceptor.cfg %attr(660, jasmin, jasmin-manager) %config(noreplace) %{_sysconfdir}/jasmin/dlr.cfg %attr(660, jasmin, jasmin-manager) %config(noreplace) %{_sysconfdir}/jasmin/dlrlookupd.cfg %attr(770, jasmin, jasmin-manager) %config(noreplace) %{_sysconfdir}/jasmin/store %attr(660, root, root) %config(noreplace) %{_sysconfdir}/sudoers.d/jasmin-manager %attr(770, jasmin, jasmin-manager) %dir %{_sysconfdir}/jasmin/resource %attr(660, jasmin, jasmin-manager) %{_sysconfdir}/jasmin/resource/* %attr(770, jasmin, jasmin-manager) %dir %{_sysconfdir}/jasmin/interception %attr(775, jasmin, jasmin-manager) %dir %{_localstatedir}/log/jasmin %changelog * Wed Oct 25 2023 Kisuke-CZE - 0.10.13-1 - Initial package