c15ee2f
#%global shorttag 413855e
36eabe8
Name:           direwolf
c15ee2f
Version:        1.6.0
1af2768
Release:        16%{?dist}
36eabe8
Summary:        Sound Card-based AX.25 TNC
36eabe8
36eabe8
License:        GPLv2+
36eabe8
URL:            https://github.com/wb2osz/direwolf/
c15ee2f
# This is the actual source
c15ee2f
#Source0:        https://github.com/wb2osz/direwolf/archive/1.6.tar.gz
c15ee2f
Source0:        direwolf-1.6.tar.gz
7dc9f6e
Source1:        direwolf.service
7dc9f6e
Source2:        direwolf.sysconfig
a2eb941
Source3:        direwolf.logrotate
00b3929
dadf87a
Patch0:         0001-Issue-296-Avoid-potential-buffer-overflow.patch
00b3929
Patch1:         https://fedorapeople.org/~mlichvar/tmp/gpsd/direwolf-gpsapi14.patch
a2eb941
a2eb941
BuildRequires:  gcc gcc-c++
a2eb941
BuildRequires:  cmake
a2eb941
BuildRequires:  glibc-devel
a2eb941
BuildRequires:  alsa-lib-devel
a2eb941
BuildRequires:  gpsd-devel
a2eb941
BuildRequires:  hamlib-devel
a2eb941
BuildRequires:  systemd systemd-devel
36eabe8
Requires:       ax25-tools ax25-apps
7dc9f6e
Requires(pre):  shadow-utils
36eabe8
a2eb941
36eabe8
%description
36eabe8
Dire Wolf is a modern software replacement for the old 1980's style
36eabe8
TNC built with special hardware.  Without any additional software, it
36eabe8
can perform as an APRS GPS Tracker, Digipeater, Internet Gateway
36eabe8
(IGate), APRStt gateway. It can also be used as a virtual TNC for
36eabe8
other applications such as APRSIS32, UI-View32, Xastir, APRS-TW, YAAC,
a2eb941
UISS, Linux AX25, SARTrack, Winlink Express, BPQ32, Outpost PM, and many
36eabe8
others.
36eabe8
a2eb941
36eabe8
%prep
dadf87a
%autosetup -n %{name}-1.6 -p 1
36eabe8
36eabe8
36eabe8
%build
46c2b74
%cmake -DUNITTEST=1 -DENABLE_GENERIC=1
46c2b74
%cmake_build
a2eb941
a2eb941
%check
46c2b74
%ctest
a2eb941
36eabe8
36eabe8
%install
46c2b74
%cmake_install
36eabe8
7dc9f6e
# Install service file
7dc9f6e
mkdir -p ${RPM_BUILD_ROOT}%{_unitdir}
7dc9f6e
cp %{SOURCE1} ${RPM_BUILD_ROOT}%{_unitdir}/%{name}.service
7dc9f6e
7dc9f6e
# Install service config file
7dc9f6e
mkdir -p ${RPM_BUILD_ROOT}%{_sysconfdir}/sysconfig
7dc9f6e
cp %{SOURCE2} ${RPM_BUILD_ROOT}%{_sysconfdir}/sysconfig/%{name}
7dc9f6e
a2eb941
# Install logrotate config file
a2eb941
mkdir -p ${RPM_BUILD_ROOT}%{_sysconfdir}/logrotate.d
a2eb941
cp %{SOURCE3} ${RPM_BUILD_ROOT}%{_sysconfdir}/logrotate.d/%{name}
a2eb941
a2eb941
# copy config file
a2eb941
cp ${RPM_BUILD_ROOT}%{_pkgdocdir}/conf/%{name}.conf ${RPM_BUILD_ROOT}/%{_sysconfdir}/%{name}.conf
a2eb941
a2eb941
# Make log directory
a2eb941
mkdir -m 0755 -p ${RPM_BUILD_ROOT}/var/log/%{name}
a2eb941
a2eb941
# Move udev rules to system dir
a2eb941
mkdir -p ${RPM_BUILD_ROOT}%{_udevrulesdir}
a2eb941
mv ${RPM_BUILD_ROOT}%{_sysconfdir}/udev/rules.d/99-direwolf-cmedia.rules ${RPM_BUILD_ROOT}%{_udevrulesdir}/99-direwolf-cmedia.rules
7dc9f6e
36eabe8
# Copy doc pngs
36eabe8
cp direwolf-block-diagram.png ${RPM_BUILD_ROOT}%{_pkgdocdir}/direwolf-block-diagram.png
36eabe8
cp tnc-test-cd-results.png    ${RPM_BUILD_ROOT}%{_pkgdocdir}/tnc-test-cd-results.png
36eabe8
36eabe8
# remove extraneous files
36eabe8
# This is not a desktop application, per the guidelines.  Running it in a terminal
36eabe8
# does not make it a desktop application.
36eabe8
rm ${RPM_BUILD_ROOT}/usr/share/applications/direwolf.desktop
a2eb941
rm ${RPM_BUILD_ROOT}%{_datadir}/pixmaps/direwolf_icon.png
a2eb941
rm ${RPM_BUILD_ROOT}%{_pkgdocdir}/CHANGES.md
a2eb941
rm ${RPM_BUILD_ROOT}%{_pkgdocdir}/LICENSE
a2eb941
rm ${RPM_BUILD_ROOT}%{_pkgdocdir}/README.md
a2eb941
a2eb941
# remove Windows external library directories
a2eb941
rm -r ${RPM_BUILD_ROOT}%{_pkgdocdir}/external
36eabe8
36eabe8
# Move Telemetry Toolkit sample scripts into docs
a2eb941
mkdir -p ${RPM_BUILD_ROOT}%{_pkgdocdir}/telem/
a2eb941
mv ${RPM_BUILD_ROOT}%{_bindir}/telem* ${RPM_BUILD_ROOT}%{_pkgdocdir}/telem/
a2eb941
chmod 0644 ${RPM_BUILD_ROOT}%{_pkgdocdir}/telem/*
36eabe8
36eabe8
36eabe8
%package -n %{name}-doc
36eabe8
Summary:        Documentation for Dire Wolf
36eabe8
BuildArch:      noarch
36eabe8
Requires:       %{name} = %{version}-%{release}
36eabe8
36eabe8
%description -n %{name}-doc
36eabe8
Dire Wolf is a modern software replacement for the old 1980's style
36eabe8
TNC built with special hardware.  Without any additional software, it
36eabe8
can perform as an APRS GPS Tracker, Digipeater, Internet Gateway
36eabe8
(IGate), APRStt gateway. It can also be used as a virtual TNC for
36eabe8
other applications such as APRSIS32, UI-View32, Xastir, APRS-TW, YAAC,
36eabe8
UISS, Linux AX25, SARTrack, RMS Express, BPQ32, Outpost PM, and many
36eabe8
others.
36eabe8
36eabe8
36eabe8
%files
a2eb941
%license LICENSE
36eabe8
%{_udevrulesdir}/99-direwolf-cmedia.rules
36eabe8
%{_bindir}/* 
36eabe8
%{_mandir}/man1/*
a2eb941
%{_datadir}/%{name}/*
36eabe8
%dir %{_pkgdocdir}
a2eb941
%{_pkgdocdir}/conf/*
a2eb941
%{_pkgdocdir}/scripts/*
a2eb941
%{_pkgdocdir}/telem/*
7dc9f6e
%{_unitdir}/%{name}.service
a2eb941
%config(noreplace) %attr(0644,root,root) %{_sysconfdir}/sysconfig/%{name}
a2eb941
%config(noreplace) %attr(0644,root,root) %{_sysconfdir}/%{name}.conf
a2eb941
%config(noreplace) %attr(0644,root,root) %{_sysconfdir}/logrotate.d/%{name}
a2eb941
%dir %attr(0755, %{name}, %{name}) /var/log/%{name}
36eabe8
36eabe8
%files -n %{name}-doc
36eabe8
%{_pkgdocdir}/*.pdf
a2eb941
%{_pkgdocdir}/*.png
36eabe8
7dc9f6e
# At install, create a user in group audio (so can open sound card device files)
7dc9f6e
# and in group dialout (so can open serial device files)
7dc9f6e
%pre
a2eb941
getent group direwolf >/dev/null || groupadd -r direwolf
7dc9f6e
getent passwd direwolf >/dev/null || \
a2eb941
    useradd -r -g audio -G audio,dialout -d %{_datadir}/%{name} -s /sbin/nologin \
7dc9f6e
	    -c "Direwolf Sound Card-based AX.25 TNC" direwolf
7dc9f6e
exit 0
7dc9f6e
36eabe8
36eabe8
%changelog
1af2768
* Tue Nov 08 2022 Richard Shaw <hobbes1069@gmail.com> - 1.6.0-16
1af2768
- Rebuild for hamlib 4.5.
1af2768
d2a8b57
* Thu Jul 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1.6.0-15
d2a8b57
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
d2a8b57
00b3929
* Wed May 04 2022 Richard Shaw <hobbes1069@gmail.com> - 1.6.0-14
00b3929
- Rebuild for gpsd 3.24.
00b3929
38a764e
* Thu Jan 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1.6.0-13
38a764e
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
38a764e
e1a1784
* Thu Dec 23 2021 Richard Shaw <hobbes1069@gmail.com> - 1.6.0-12
e1a1784
- Rebuild for hamlib 4.4.
e1a1784
b933b32
* Thu Dec 23 2021 Richard Shaw <hobbes1069@gmail.com> - 1.6.0-10
2b9147a
- Rebuild for hamlib 4.4.
b933b32
4620c34
* Tue Oct 12 2021 Richard Shaw <hobbes1069@gmail.com> - 1.6.0-9
4620c34
- Rebuild for hamlib 4.3.1.
4620c34
aaa379d
* Wed Aug 11 2021 Björn Esser <besser82@fedoraproject.org> - 1.6.0-8
aaa379d
- Rebuild (gpsd)
5fea010
- Add patch for gpsapi12
aaa379d
fd93bae
* Wed Jul 21 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1.6.0-7
fd93bae
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
fd93bae
00fe8ac
* Sun May 30 2021 Richard Shaw <hobbes1069@gmail.com> - 1.6.0-6
00fe8ac
- Rebuild for hamlib 4.2.
00fe8ac
7c98b66
* Tue Feb 02 2021 Richard Shaw <hobbes1069@gmail.com> - 1.6.0-5
7c98b66
- Rebuild for hamlib 4.1.
7c98b66
c85ff94
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1.6.0-4
c85ff94
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
c85ff94
9d835dc
* Thu Jan 14 2021 Matt Domsch <matt@domsch.com> - 1.6.0-3
9d835dc
- rebuild for gpsd-3.22 soname bump
9d835dc
dadf87a
* Tue Nov  3 2020 Matt Domsch <matt@domsch.com> - 1.6.0-2
dadf87a
- Add upstream patch for https://github.com/wb2osz/direwolf/issues/296
dadf87a
c15ee2f
* Thu Oct 29 2020 Matt Domsch <matt@domsch.com> - 1.6.0-1
c15ee2f
- Upstream 1.6.0 release
46c2b74
- use cmake macros
c15ee2f
3d58aed
* Fri Jul 3 2020 Matt Domsch <matt@domsch.com> - 1.6-0.5
3d58aed
- AIS decoding, FX.25 error checking bits set automatically
3d58aed
- GPSD API 10 support
3d58aed
3d58aed
* Thu Apr 30 2020 Matt Domsch <matt@domsch.com> - 1.6-0.4
3d58aed
- copr rebuild for F32 hamlib 4.0
3d58aed
6a7044a
* Mon Apr 20 2020 Matt Domsch <matt@domsch.com> - 1.6-0.3
6a7044a
- drop unneeded BR libax25-devel
6a7044a
a2eb941
* Mon Apr 20 2020 Matt Domsch <matt@domsch.com> - 1.6-0.2
a2eb941
- write stdout/err to /var/log/direwolf, logrotate 30 days.
a2eb941
- run ctest
0503232
- remove CPU instruction tests, leave architecture choice up to the distro
a2eb941
a2eb941
* Sun Apr 19 2020 Matt Domsch <matt@domsch.com> - 1.6-0.1
a2eb941
- upstream 1.6 prerelease
a2eb941
- drop obsolete patches, use cmake
a2eb941
- add systemd startup, direwolf user
a2eb941
f465197
* Tue Mar 31 2020 Richard Shaw <hobbes1069@gmail.com> - 1.5-6
f465197
- Rebuild for hamlib 4.
f465197
bb64eb1
* Thu Feb 20 2020 Matt Domsch <matt@domcsh.com> - 1.5-5
bb64eb1
- Remove unneeded dependency on python2-devel (#1805225)
bb64eb1
6ef538e
* Tue Jan 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.5-4
6ef538e
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
6ef538e
84d242f
* Wed Jul 24 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.5-3
84d242f
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
84d242f
8c7fd09
* Wed Jul 03 2019 Björn Esser <besser82@fedoraproject.org> - 1.5-2
8c7fd09
- Rebuild (gpsd)
8c7fd09
48abcab
* Sun Feb 17 2019 Matt Domsch <matt@domsch.com> - 1.5-1
48abcab
- Upgrade to released version 1.5
48abcab
- Apply upstream patch for newer gpsd API
48abcab
146ddea
* Thu Jan 31 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.5-0.2.beta4
146ddea
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
146ddea
36eabe8
* Mon Aug 27 2018 Matt Domsch <matt@domsch.com> - 1.5-0.1.beta4
36eabe8
- Fedora Packaging Guidelines, based on spec by David Ranch
36eabe8
  Moved Telemetry Toolkit examples into examples/ docs.