%bcond_without sqlite %bcond_with postgresql %bcond_with mysql %bcond_with mongodb %bcond_with redis Name: coturn Version: 4.5.1.1 Release: 1%{?dist} Summary: TURN server License: BSD URL: https://github.com/coturn/coturn Source0: https://github.com/coturn/coturn/archive/%{version}.tar.gz#/%{name}-%{version}.tar.gz Source10: turnserver.sysconfig Source11: turnserver.service Source12: turnserver-tmpfiles.conf Patch0: 0000-pkg-config.patch BuildRequires: gcc BuildRequires: libevent-devel >= 2.0 BuildRequires: openssl-devel BuildRequires: systemd-devel %if %{with sqlite} BuildRequires: sqlite-devel %endif %if %{with postgresql} BuildRequires: postgresql-devel %endif %if %{with mysql} BuildRequires: mariadb-devel %endif %if %{with mongodb} BuildRequires: mongo-c-driver-devel %endif %if %{with redis} BuildRequires: hiredis-devel %endif %description The TURN Server is a VoIP media traffic NAT traversal server and gateway. It can be used as a general-purpose network traffic TURN server and gateway, too. %package static Summary: ... %description static ... %package utils Summary: ... %description utils ... %package server Requires(pre): shadow-utils Summary: ... %description server ... %package examples Summary: ... %description examples ... %prep %setup -q %patch0 -p1 %build CFLAGS="${CFLAGS:-%optflags}" ; export CFLAGS ; \ CXXFLAGS="${CXXFLAGS:-%optflags}" ; export CXXFLAGS ; \ FFLAGS="${FFLAGS:-%optflags}" ; export FFLAGS ; \ TURN_NO_SQLITE=%{!?with_sqlite:1} \ TURN_NO_PQ=%{!?with_postgresql:1} \ TURN_NO_MYSQL=%{!?with_mysql:1} \ TURN_NO_MONGO=%{!?with_mongodb:1} \ TURN_NO_HIREDIS=%{!?with_redis:1} \ ./configure \ --prefix=%{_prefix} \ --bindir=%{_bindir} \ --sysconfdir=%{_sysconfdir} \ --docdir=%{_docdir}/turnserver \ --datadir=%{_datadir}/turnserver \ --examplesdir=%{_docdir}/turnserver/examples \ --includedir=%{_includedir} \ --libdir=%{_libdir} \ --libexecdir=%{_libexecdir} \ --localstatedir=%{_localstatedir} \ --mandir=%{_datadir} \ --turndbdir=%{_localstatedir}/lib/turnserver \ --disable-rpath make %{?_smp_mflags} %install %make_install rm %{buildroot}%{_docdir}/turnserver/{schema.mongo.sh,schema.sql,schema.stats.redis,schema.userdb.redis} mv %{buildroot}%{_sysconfdir}/turnserver.conf{.default,} diff -q %{buildroot}%{_bindir}/{turnserver,turnadmin} ln -f %{buildroot}%{_bindir}/{turnserver,turnadmin} %if %{with sqlite} rm %{buildroot}%{_localstatedir}/lib/turnserver/turndb %endif install -Dm0644 %SOURCE10 %{buildroot}%{_sysconfdir}/sysconfig/turnserver install -Dm0644 %SOURCE11 %{buildroot}%{_unitdir}/turnserver.service install -Dm0644 %SOURCE12 %{buildroot}%{_tmpfilesdir}/turnserver.conf chmod a-x %{buildroot}%{_mandir}/*/* chmod a-x %{buildroot}%{_libdir}/*.a %pre server getent group turnserver >/dev/null 2>&1 || groupadd -r turnserver 2>&1 || : getent passwd turnserver >/dev/null 2>&1 || useradd -r -l -g turnserver -G turnserver -d %{_localstatedir}/lib/turnserver -s /sbin/nologin -c "coturn TURN server" turnserver >/dev/null 2>&1 || : %post server systemd-tmpfiles --create >/dev/null 2>&1 || : %systemd_post turnserver.service %preun server %systemd_preun turnserver.service %postun server %systemd_postun turnserver.service %files static %{_includedir}/turn %{_libdir}/libturnclient.a %files utils %{_bindir}/turnutils_natdiscovery %{_bindir}/turnutils_oauth %{_bindir}/turnutils_peer %{_bindir}/turnutils_stunclient %{_bindir}/turnutils_uclient %{_mandir}/man1/turnutils.1.gz %{_mandir}/man1/turnutils_natdiscovery.1.gz %{_mandir}/man1/turnutils_oauth.1.gz %{_mandir}/man1/turnutils_peer.1.gz %{_mandir}/man1/turnutils_stunclient.1.gz %{_mandir}/man1/turnutils_uclient.1.gz %files server %attr (0644, root, root) %config(noreplace) %{_sysconfdir}/turnserver.conf %{_bindir}/turnadmin %{_bindir}/turnserver %{_datadir}/turnserver %{_docdir}/turnserver %exclude %{_docdir}/turnserver/examples %{_mandir}/man1/coturn.1.gz %{_mandir}/man1/turnadmin.1.gz %{_mandir}/man1/turnserver.1.gz %attr (0750, turnserver, turnserver) %dir /var/lib/turnserver %config(noreplace) %{_sysconfdir}/sysconfig/turnserver %{_unitdir}/turnserver.service %{_tmpfilesdir}/turnserver.conf %files examples %{_docdir}/turnserver/examples