767d983
%define main_version 14.08.1
d9e869a
Name:		svxlink
00bde2a
Epoch:		2
d9e869a
Version:	%{main_version}
767d983
Release:	1%{?dist}
d9e869a
Summary:	Repeater controller and EchoLink (simplex or repeater)
d9e869a
d9e869a
Group:		Applications/Internet
d9e869a
#files contained in sounds package are licensed under GPLv2
d9e869a
#the rest of files are licensed under GPLv2+
d9e869a
License:	GPLv2 and GPLv2+
767d983
URL:		http://www.svxlink.net
767d983
Source0:	https://github.com/sm0svx/svxlink/archive/%{version}.tar.gz
767d983
Source1:	https://github.com/sm0svx/svxlink-sounds-en_US-heather/releases/download/14.08/%{name}-sounds-en_US-heather-16k-13.12.tar.bz2
767d983
767d983
Source2:	%{name}.service
767d983
Source3:	remotetrx.service
767d983
Source4:	%{name}-tmpfs.conf
767d983
767d983
BuildRequires:	cmake libsigc++-devel libsigc++20-devel qt-devel
767d983
BuildRequires:	speex-devel opus-devel popt-devel libgcrypt-devel tcl-devel
767d983
BuildRequires:	gsm-devel doxygen tk-devel desktop-file-utils alsa-lib-devel
767d983
BuildRequires:	systemd-units
767d983
1fec455
Requires(post):		systemd
1fec455
Requires(preun):	systemd
1fec455
Requires(postun):	systemd
d9e869a
d9e869a
%description
d9e869a
The SvxLink project is a multi purpose voice services system for
d9e869a
ham radio use. For example, EchoLink connections are supported.
d9e869a
Also, the SvxLink server can act as a repeater controller.
d9e869a
d9e869a
%package -n libasync
d9e869a
Summary: Svxlink async libs
d9e869a
Group: Development/Libraries
20f5635
Epoch: 2
767d983
Version: 1.3.1
d9e869a
d9e869a
%description -n libasync
29f4864
The Async library is a programming framework that is used to write event driven
29f4864
applications. It provides abstractions for file descriptor watches, timers,
29f4864
network communications, serial port communications and config file reading.
29f4864
29f4864
Async is written in such a way that it can support other frameworks. Right now
29f4864
there are two basic frameworks, a simple "select" based implementation and a Qt
29f4864
implementation. The idea is that advanced libraries can be implemented in such
29f4864
a way that they only depend on Async. That means that these libraries can be
29f4864
used in both Qt and pure console applications and in any future frameworks
29f4864
supported by Async (e.g. Gtk, wxWidgets etc).
29f4864
29f4864
Another big part of Async is the audio pipe framework. It is an audio handling
29f4864
framework that is geared towards single channel (mono) audio applications. The
29f4864
framework consists of a large number of audio handling classes such as
29f4864
audio i/o, filtering, mixing, audio codecs etc.
d9e869a
d9e869a
%package -n libasync-devel
d9e869a
Summary: Svxlink async development files
d9e869a
Group: Development/Libraries
20f5635
Epoch: 2
767d983
Version: 1.3.1
767d983
Requires: libasync = %{epoch}:1.3.1
0eb3ddf
Obsoletes:	svxlink-server-devel < 0.11.1-2
d9e869a
d9e869a
%description -n libasync-devel
d9e869a
The async library development files
d9e869a
767d983
%package -n libasync-doc
767d983
Summary: Svxlink async documentation files
767d983
Group: Development/Libraries
767d983
Epoch: 2
767d983
Version: 1.3.1
767d983
Requires: libasync = %{epoch}:1.3.1
767d983
767d983
%description -n libasync-doc
767d983
The async library documentation files in HTML format
767d983
d9e869a
%package -n echolib
d9e869a
Summary: EchoLink communications library
d9e869a
Group: Development/Libraries
20f5635
Epoch: 2
767d983
Version: 1.3.1
d9e869a
d9e869a
%description -n echolib
29f4864
EchoLib is a library that is used as a base for writing EchoLink applications.
29f4864
It implements the directory server protocol as well as the station to station
29f4864
protocol. EchoLink is used to link ham radio stations together over the
29f4864
Internet.
d9e869a
d9e869a
%package -n echolib-devel
d9e869a
Summary: Development files for the EchoLink communications library
d9e869a
Group: Development/Libraries
20f5635
Epoch: 2
767d983
Version: 1.3.1
767d983
Requires: echolib = %{epoch}:1.3.1
0eb3ddf
Obsoletes:	svxlink-server-devel < 0.11.1-2
d9e869a
d9e869a
%description -n echolib-devel
d9e869a
Development files for the EchoLink communications library
d9e869a
767d983
%package -n echolib-doc
767d983
Summary: Documentation files for the EchoLink communications library
767d983
Group: Development/Libraries
767d983
Epoch: 2
767d983
Version: 1.3.1
767d983
Requires: echolib = %{epoch}:1.3.1
767d983
767d983
%description -n echolib-doc
767d983
Documentation files for the EchoLink communications library in HTML format
767d983
d9e869a
%package -n qtel
d9e869a
Summary: The Qt EchoLink Client
d9e869a
Group: Applications/Communications
20f5635
Epoch: 1
767d983
Version: 1.2.1
d9e869a
d9e869a
%description -n qtel
d9e869a
This package contains Qtel, the Qt EchoLink client. It is an implementation of
d9e869a
the EchoLink software in Qt. This is only an EchoLink client, that is it can
d9e869a
not be connected to a transciever to create a link. If it is a pure link node
d9e869a
you want, install the svxlink-server package.
d9e869a
d9e869a
%package -n svxlink-server
d9e869a
Summary: SvxLink - A general purpose voice services system
20f5635
Epoch: 1
767d983
Version: 1.4.1
d9e869a
Group: Applications/Communications
d9e869a
Requires: udev
d9e869a
Requires (pre): shadow-utils
d9e869a
d9e869a
%description -n svxlink-server
d9e869a
The SvxLink server is a general purpose voice services system for ham radio
d9e869a
use. Each voice service is implemented as a plugin called a module.
d9e869a
Some examples of voice services are: Help system, Simplex repeater,
29f4864
EchoLink communications and voice mail.
d9e869a
d9e869a
The core of the system handle the radio interface and is quite flexible
29f4864
as well. It can act both as a simplex node and as a repeater controller. It is
29f4864
also possible to link multiple receivers in via TCP/IP. The best receiver is
29f4864
chosen using a software voter.
d9e869a
d9e869a
%prep
d9e869a
%setup -q -n %{name}-%{main_version}
d9e869a
%setup -q -D -T -a 1 -n %{name}-%{main_version}
d9e869a
d9e869a
%build
767d983
%cmake -DLOCAL_STATE_DIR=%{_localstatedir} src
767d983
make -j1 all doc
767d983
doxygen doc/doxygen.async
767d983
doxygen doc/doxygen.echolib
d9e869a
d9e869a
d9e869a
%install
767d983
make DESTDIR=%{buildroot} install
767d983
d9e869a
mkdir -p %{buildroot}%{_datadir}/svxlink
767d983
cp -a en_US-heather-16k %{buildroot}%{_datadir}/svxlink/sounds/en_US
d9e869a
mkdir -p %{buildroot}%{_localstatedir}/log
767d983
mkdir -p %{buildroot}%{_localstatedir}/spool/svxlink/{propagation_monitor,qso_recorder,voice_mail}
767d983
mkdir -p %{buildroot}%{_unitdir}
767d983
mkdir -p %{buildroot}%{_sysconfdir}/logrotate.d
767d983
mkdir -p %{buildroot}%{_sysconfdir}/security/console.perms.d
767d983
mkdir -p %{buildroot}%{_sysconfdir}/sysconfig
767d983
mkdir -p %{buildroot}/run
767d983
install -d -m 0755 %{buildroot}/run/%{name}
767d983
mkdir -p %{buildroot}/%{_tmpfilesdir}
767d983
install -p -m 0644 %{SOURCE2} %{buildroot}/%{_tmpfilesdir}/%{name}.conf
d9e869a
touch %{buildroot}%{_localstatedir}/log/svxlink
d9e869a
desktop-file-install \
767d983
	--dir=%{buildroot}%{_datadir}/applications src/qtel/qtel.desktop
767d983
cp distributions/fedora/%{_sysconfdir}/logrotate.d/svxlink %{buildroot}%{_sysconfdir}/logrotate.d/svxlink-server
767d983
cp distributions/fedora/%{_sysconfdir}/logrotate.d/remotetrx %{buildroot}%{_sysconfdir}/logrotate.d
767d983
install -p -m 644 distributions/fedora/%{_sysconfdir}/sysconfig/svxlink %{buildroot}%{_sysconfdir}/sysconfig
767d983
install -p -m 644 distributions/fedora/%{_sysconfdir}/sysconfig/remotetrx %{buildroot}%{_sysconfdir}/sysconfig
767d983
install -p -m 644 %{SOURCE2} %{buildroot}%{_unitdir}/svxlink.service
767d983
install -p -m 644 %{SOURCE3} %{buildroot}%{_unitdir}/remotetrx.service
767d983
sed -i -e "s/PTT_TYPE=SerialPin/PTT_TYPE=NONE/g" %{buildroot}%{_sysconfdir}/%{name}/%{name}.conf
d9e869a
d9e869a
%post -n libasync -p /sbin/ldconfig
d9e869a
%postun -n libasync -p /sbin/ldconfig
d9e869a
d9e869a
%post -n echolib -p /sbin/ldconfig
d9e869a
%postun -n echolib -p /sbin/ldconfig
d9e869a
767d983
d9e869a
%pre -n svxlink-server
d9e869a
getent group daemon >/dev/null || groupadd -r daemon
d9e869a
getent passwd svxlink >/dev/null || \
d9e869a
useradd -r -g daemon -d / -s /sbin/nologin \
d9e869a
-c "SvxLink Daemon " svxlink
767d983
/usr/sbin/usermod -a -G audio,dialout svxlink >/dev/null 2>&1 || :
d9e869a
exit 0
d9e869a
d9e869a
%post -n svxlink-server
767d983
%systemd_post svxlink.service
767d983
%systemd_post remotetrx.service
d9e869a
d9e869a
%preun -n svxlink-server
767d983
%systemd_preun svxlink.service
767d983
%systemd_preun remotetrx.service
d9e869a
c91f858
%postun -n svxlink-server
767d983
%systemd_postun_with_restart svxlink.service
767d983
%systemd_postun_with_restart remotetrx.service
767d983
767d983
%triggerun -- svxlink < 2:14.08.1-1
767d983
# Save the current service runlevel info
767d983
# User must manually run systemd-sysv-convert --apply svxlink
767d983
# to migrate them to systemd targets
767d983
/usr/bin/systemd-sysv-convert --save svxlink >/dev/null 2>&1 ||:
767d983
/usr/bin/systemd-sysv-convert --save remotetrx >/dev/null 2>&1 ||:
767d983
767d983
# Run these because the SysV package being removed won't do them
767d983
/sbin/chkconfig --del svxlink >/dev/null 2>&1 || :
767d983
/sbin/chkconfig --del remotetrx >/dev/null 2>&1 || :
767d983
/bin/systemctl try-restart svxlink.service >/dev/null 2>&1 || :
767d983
/bin/systemctl try-restart remotetrx.service >/dev/null 2>&1 || :
d9e869a
d9e869a
%files -n libasync
767d983
%doc COPYRIGHT src/async/ChangeLog
d9e869a
%defattr(755,root,root)
d9e869a
%{_libdir}/libasync*.so.*
d9e869a
d9e869a
%files -n libasync-devel
d9e869a
%{_libdir}/libasyncaudio.so
d9e869a
%{_libdir}/libasynccore.so
d9e869a
%{_libdir}/libasynccpp.so
d9e869a
%{_libdir}/libasyncqt.so
d9e869a
%dir %{_includedir}/svxlink
87d89b6
%{_includedir}/svxlink/common.h
d9e869a
%{_includedir}/svxlink/Async*
767d983
767d983
%files -n libasync-doc
767d983
%doc %{_pkgdocdir}/async/*
d9e869a
d9e869a
%files -n echolib
767d983
%doc COPYRIGHT src/echolib/ChangeLog
d9e869a
%defattr(755,root,root)
d9e869a
%{_libdir}/libecholib*.so.*
d9e869a
d9e869a
%files -n echolib-devel
d9e869a
%{_libdir}/libecholib.so
d9e869a
%dir %{_includedir}/svxlink
d9e869a
%{_includedir}/svxlink/EchoLink*
d9e869a
767d983
%files -n echolib-doc
767d983
%doc %{_pkgdocdir}/echolib/*
767d983
d9e869a
%files -n qtel
767d983
%doc COPYRIGHT src/qtel/ChangeLog
d9e869a
%{_bindir}/qtel
d9e869a
%{_datadir}/qtel
d9e869a
%{_datadir}/icons/link.xpm
d9e869a
%{_datadir}/applications/qtel.desktop
767d983
%{_mandir}/man*/qtel*
d9e869a
d9e869a
%files -n svxlink-server
767d983
%doc COPYRIGHT src/svxlink/ChangeLog
d9e869a
%{_bindir}/svxlink
d9e869a
%{_bindir}/remotetrx
d9e869a
%{_bindir}/siglevdetcal
767d983
%{_unitdir}/svxlink.service
767d983
%{_unitdir}/remotetrx.service
d9e869a
%dir %{_libdir}/svxlink
767d983
%dir /run/%{name}
767d983
%{_tmpfilesdir}/svxlink.conf
d9e869a
%{_libdir}/svxlink/Module*.so
87d89b6
%dir %{_sysconfdir}/%{name}/svxlink.d
d9e869a
%{_datadir}/svxlink
d9e869a
%defattr(644,root,root)
767d983
%config(noreplace) %{_sysconfdir}/sysconfig/svxlink
767d983
%config(noreplace) %{_sysconfdir}/sysconfig/remotetrx
87d89b6
%config(noreplace) %{_sysconfdir}/%{name}/svxlink.conf
87d89b6
%config(noreplace) %{_sysconfdir}/%{name}/.procmailrc
87d89b6
%config(noreplace) %{_sysconfdir}/%{name}/svxlink.d/*
87d89b6
%config(noreplace) %{_sysconfdir}/%{name}/TclVoiceMail.conf
d9e869a
%config(noreplace) %{_sysconfdir}/logrotate.d/svxlink-server
87d89b6
%config(noreplace) %{_sysconfdir}/logrotate.d/remotetrx
87d89b6
%config(noreplace) %{_sysconfdir}/%{name}/remotetrx.conf
767d983
%{_mandir}/man1/svxlink.*.*
767d983
%{_mandir}/man1/remotetrx.*.*
767d983
%{_mandir}/man1/siglevdetcal.*.*
767d983
%{_mandir}/man5/*
d9e869a
%attr(755,svxlink,daemon) %dir %{_localstatedir}/spool/svxlink
767d983
%attr(755,svxlink,daemon) %dir %{_localstatedir}/spool/svxlink/{propagation_monitor,qso_recorder,voice_mail}
767d983
%ghost %{_localstatedir}/log/svxlink
d9e869a
d9e869a
%changelog
767d983
* Wed Aug 05 2015 Lucian Langa <lucilanga@gnome.eu.org> - 2:14.08.1-1
767d983
- disable parallel builds
767d983
- add tmpdir configs
767d983
- fix audio clips loading location
767d983
- drop security/udev files - prefer group approach
767d983
- migrate to systemd
767d983
- cleanup specfile
767d983
- update BR
767d983
- sync with latest upstream
767d983
a8bd7df
* Fri Jun 19 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2:11.11.1-16
a8bd7df
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
a8bd7df
8b87f79
* Sat May 02 2015 Kalev Lember <kalevlember@gmail.com> - 2:11.11.1-15
8b87f79
- Rebuilt for GCC 5 C++11 ABI change
8b87f79
18b0fa5
* Mon Aug 18 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2:11.11.1-14
18b0fa5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
18b0fa5
a69cc68
* Sun Jun 08 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2:11.11.1-13
a69cc68
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
a69cc68
30e0255
* Wed May 21 2014 Jaroslav Škarvada <jskarvad@redhat.com> - 2:11.11.1-12
30e0255
- Rebuilt for https://fedoraproject.org/wiki/Changes/f21tcl86
30e0255
fc32c8a
* Thu Apr 24 2014 Tomáš Mráz <tmraz@redhat.com> - 2:11.11.1-11
fc32c8a
- Rebuild for new libgcrypt
fc32c8a
4ea9cfe
* Sun Aug 04 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2:11.11.1-10
4ea9cfe
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
4ea9cfe
6dd680a
* Sat Jan 26 2013 Lucian Langa <cooly@gnome.eu.org> - 2:11.11.1-9
6dd680a
- upload missing patch
6dd680a
bc38b84
* Sat Jan 26 2013 Lucian Langa <cooly@gnome.eu.org> - 2:11.11.1-8
bc38b84
- fix FTBFS (#904327)
bc38b84
5ca0124
* Sat Jul 21 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2:11.11.1-7
5ca0124
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
5ca0124
0ef9d6f
* Tue Feb 28 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2:11.11.1-6
0ef9d6f
- Rebuilt for c++ ABI breakage
0ef9d6f
ce802cf
* Sat Jan 14 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2:11.11.1-5
ce802cf
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
ce802cf
20f5635
* Tue Dec 20 2011 Lucian Langa <cooly@gnome.eu.org> - 2:11.11.1-4
20f5635
- try to fix epoch in subpackages
20f5635
20f5635
* Tue Dec 20 2011 Lucian Langa <cooly@gnome.eu.org> - 2:11.11.1-3
20f5635
- fix nvr for subpackages too
00bde2a
71711ea
* Thu Dec 08 2011 Lucian Langa <cooly@gnome.eu.org> - 1:11.11.1-2
71711ea
- bump nvr to allow full build
71711ea
a4a7331
* Wed Dec 07 2011 Lucian Langa <cooly@gnome.eu.org> - 11.11.1-1
a4a7331
- new upstream release
a4a7331
87d89b6
* Mon Nov 21 2011 Lucian Langa <cooly@gnome.eu.org> - 11.11-1
87d89b6
- update versions
87d89b6
- update BR
87d89b6
- drop all patches - fixed upstream
87d89b6
- new upstream release
87d89b6
466222c
* Wed Feb 09 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 090426-6
466222c
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
466222c
c91f858
* Thu Jul 08 2010 Lucian Langa <cooly@gnome.eu.org> - 090426-5
c91f858
- add COPYRIGHT license file
c91f858
0005669
* Sun Feb 14 2010 Lucian Langa <cooly@gnome.eu.org> - 090426-4
0005669
- -fix implicit dso linking (#564753)
0005669
fe9884b
* Sun Jul 26 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 090426-3
fe9884b
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
fe9884b
0eb3ddf
* Thu Jun 25 2009 Lucian Langa <cooly@gnome.eu.org> - 090426-2
0eb3ddf
- obsolete package svxlink-server-devel
0eb3ddf
29f4864
* Tue Apr 28 2009 Lucian Langa <cooly@gnome.eu.org> - 090426-1
29f4864
- update BR
29f4864
- drop svxlink-devel package
29f4864
- updated descriptions
29f4864
- remove dtmf_plot
29f4864
- drop patch0,1,2,3 as were fixed upstream
29f4864
- new upstream release
29f4864
4f548d8
* Thu Feb 26 2009 Lucian Langa <cooly@gnome.eu.org> - 080730-8
4f548d8
- patch to fix gcc44 issues
4f548d8
d1df7d9
* Wed Feb 25 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 080730-7
d1df7d9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild
d1df7d9
d9e869a
* Sun Dec 07 2008 Lucian Langa <cooly@gnome.eu.org> - 080730-6
d9e869a
- added udev dependency
d9e869a
- fixed libs permissions
d9e869a
- update scriptlets
d9e869a
d9e869a
* Sat Dec 06 2008 Lucian Langa <cooly@gnome.eu.org> - 080730-5
d9e869a
- license update
d9e869a
d9e869a
* Wed Dec 03 2008 Lucian Langa <cooly@gnome.eu.org> - 080730-4
d9e869a
- fix duplicated files
d9e869a
- remove static libraries
d9e869a
d9e869a
* Fri Nov 21 2008 Lucian Langa <cooly@gnome.eu.org> - 080730-3
d9e869a
- added fedora optflags
d9e869a
- fix unowned dirs
d9e869a
- spandsp 0.5 patch
d9e869a
- update BR
d9e869a
bc38b84
* Thu Aug 21 2008 Lucian Langa <cooly@gnome.eu.org> - 080730-2
d9e869a
- mangle svxlink conf to include correct libdir
d9e869a
- misc -devel clean
d9e869a
d9e869a
* Sun Aug 10 2008 Lucian Langa <cooly@gnome.eu.org> - 080730-1
d9e869a
- Initial spec (parts of it imported from upstream spec)
d9e869a
d9e869a