431 lines
13 KiB
RPMSpec
431 lines
13 KiB
RPMSpec
# By default include binary_firmware, otherwise try to rebuild
|
|
# the firmware from sources. If you want to rebuild all firmware
|
|
# images you need to install appropriate tools (e.g. Xilinx ISE).
|
|
%bcond_without binary_firmware
|
|
|
|
# NEON support is by default disabled on ARMs
|
|
# building with --with=neon will enable auto detection
|
|
%bcond_with neon
|
|
|
|
%global wireshark_dissectors chdr zpu octoclock
|
|
%global wireshark_ver %((%{__awk} '/^#define VERSION[ \t]+/ { print $NF }' /usr/include/wireshark/config.h 2>/dev/null||echo none)|/usr/bin/tr -d '"')
|
|
|
|
%ifarch %{arm} aarch64
|
|
%if ! %{with neon}
|
|
%global have_neon -DHAVE_ARM_NEON_H=0
|
|
%endif
|
|
%endif
|
|
|
|
Name: uhd
|
|
URL: http://github.com/EttusResearch/uhd
|
|
Version: 3.12.0.0
|
|
Release: 2%{?dist}
|
|
License: GPLv3+
|
|
BuildRequires: gcc-c++
|
|
BuildRequires: cmake
|
|
BuildRequires: boost-devel, libusb1-devel, python2-cheetah, ncurses-devel
|
|
BuildRequires: python2-docutils, doxygen, pkgconfig, libpcap-devel, wireshark-devel
|
|
BuildRequires: python2-mako, python2-requests, python2-devel, tar
|
|
%if ! %{with binary_firmware}
|
|
BuildRequires: sdcc sed
|
|
%endif
|
|
Requires(pre): shadow-utils
|
|
Requires: python2-tkinter
|
|
Group: Applications/Engineering
|
|
Summary: Universal Hardware Driver for Ettus Research products
|
|
Source0: %{url}/archive/v%{version}/uhd-%{version}.tar.gz
|
|
Source1: %{name}-limits.conf
|
|
Source2: %{url}/releases/download/v%{version}/uhd-images_%{version}.tar.xz
|
|
|
|
%description
|
|
The UHD is the universal hardware driver for Ettus Research products.
|
|
The goal of the UHD is to provide a host driver and API for current and
|
|
future Ettus Research products. It can be used standalone without GNU Radio.
|
|
|
|
%package firmware
|
|
Summary: Firmware files for UHD
|
|
Requires: %{name} = %{version}-%{release}
|
|
BuildArch: noarch
|
|
|
|
%description firmware
|
|
Firmware files for the Universal Hardware driver (UHD).
|
|
|
|
%package devel
|
|
Summary: Development files for UHD
|
|
Requires: %{name} = %{version}-%{release}
|
|
|
|
%description devel
|
|
Development files for the Universal Hardware Driver (UHD).
|
|
|
|
%package doc
|
|
Summary: Documentation files for UHD
|
|
BuildArch: noarch
|
|
|
|
%description doc
|
|
Documentation for the Universal Hardware Driver (UHD).
|
|
|
|
%package tools
|
|
Summary: Tools for working with / debugging USRP device
|
|
Requires: %{name} = %{version}-%{release}
|
|
|
|
%description tools
|
|
Tools that are useful for working with and/or debugging USRP device.
|
|
|
|
%package wireshark
|
|
Summary: Wireshark dissector plugins
|
|
Requires: %{name} = %{version}-%{release}
|
|
Requires: wireshark = %{wireshark_ver}
|
|
|
|
%description wireshark
|
|
Wireshark dissector plugins.
|
|
|
|
%prep
|
|
%setup -q
|
|
|
|
# firmware
|
|
%if %{with binary_firmware}
|
|
# extract binary firmware
|
|
mkdir -p images/images
|
|
tar -xJf %{SOURCE2} -C images/images --strip-components=1
|
|
rm -f images/images/{LICENSE.txt,*.tag}
|
|
# remove Windows drivers
|
|
rm -rf images/winusb_driver
|
|
%endif
|
|
|
|
# fix python shebangs
|
|
find . -type f -name "*.py" -exec sed -i '/^#!/ s|.*|#!%{__python2}|' {} \;
|
|
|
|
%build
|
|
# firmware
|
|
%if ! %{with binary_firmware}
|
|
# rebuilt from sources
|
|
export PATH=$PATH:%{_libexecdir}/sdcc
|
|
pushd images
|
|
sed -i '/-name "\*\.twr" | xargs grep constraint | grep met/ s/^/#/' Makefile
|
|
make %{?_smp_mflags} images
|
|
popd
|
|
%endif
|
|
|
|
mkdir -p host/build
|
|
pushd host/build
|
|
%cmake %{?have_neon} -DPYTHON_EXECUTABLE="%{__python2}" \
|
|
-DUHD_VERSION="%{version}" ../
|
|
make %{?_smp_mflags}
|
|
popd
|
|
|
|
# tools
|
|
pushd tools/uhd_dump
|
|
make %{?_smp_mflags} CFLAGS="%{optflags}" LDFLAGS="%{?__global_ldflags}"
|
|
popd
|
|
|
|
# wireshark dissectors
|
|
pushd tools/dissectors
|
|
for d in %{wireshark_dissectors}
|
|
do
|
|
mkdir "build_$d"
|
|
pushd "build_$d"
|
|
%cmake -DETTUS_DISSECTOR_NAME="$d" ../
|
|
make %{?_smp_mflags}
|
|
popd
|
|
done
|
|
popd
|
|
|
|
%check
|
|
cd host/build
|
|
make test
|
|
|
|
%install
|
|
pushd host/build
|
|
make install DESTDIR=%{buildroot}
|
|
|
|
# Fix udev rules and use dynamic ACL management for device
|
|
sed -i 's/BUS==/SUBSYSTEM==/;s/SYSFS{/ATTRS{/;s/MODE:="0666"/MODE:="0660", ENV{ID_SOFTWARE_RADIO}="1"/' %{buildroot}%{_libdir}/uhd/utils/uhd-usrp.rules
|
|
mkdir -p %{buildroot}%{_prefix}/lib/udev/rules.d
|
|
mv %{buildroot}%{_libdir}/uhd/utils/uhd-usrp.rules %{buildroot}%{_prefix}/lib/udev/rules.d/10-usrp-uhd.rules
|
|
|
|
# Remove tests, examples binaries
|
|
rm -rf %{buildroot}%{_libdir}/uhd/{tests,examples}
|
|
|
|
# Move the utils stuff to libexec dir
|
|
mkdir -p %{buildroot}%{_libexecdir}/uhd
|
|
mv %{buildroot}%{_libdir}/uhd/utils/* %{buildroot}%{_libexecdir}/uhd
|
|
|
|
popd
|
|
# Package base docs to base package
|
|
mkdir _tmpdoc
|
|
mv %{buildroot}%{_docdir}/%{name}/{LICENSE,README.md} _tmpdoc
|
|
|
|
install -m 644 -D %{SOURCE1} %{buildroot}%{_sysconfdir}/security/limits.d/99-usrp.conf
|
|
|
|
# firmware
|
|
mkdir -p %{buildroot}%{_datadir}/uhd/images
|
|
cp -r images/images/* %{buildroot}%{_datadir}/uhd/images
|
|
|
|
# remove win stuff
|
|
rm -rf %{buildroot}%{_datadir}/uhd/images/winusb_driver
|
|
|
|
# convert hardlinks to symlinks (to not package the file twice)
|
|
pushd %{buildroot}%{_bindir}
|
|
for f in uhd_images_downloader usrp2_card_burner
|
|
do
|
|
unlink $f
|
|
ln -s ../..%{_libexecdir}/uhd/${f}.py $f
|
|
done
|
|
popd
|
|
|
|
# tools
|
|
install -Dpm 0755 tools/usrp_x3xx_fpga_jtag_programmer.sh %{buildroot}%{_bindir}/usrp_x3xx_fpga_jtag_programmer.sh
|
|
install -Dpm 0755 tools/uhd_dump/chdr_log %{buildroot}%{_bindir}/chdr_log
|
|
|
|
# wireshark dissectors
|
|
pushd tools/dissectors
|
|
for d in %{wireshark_dissectors}
|
|
do
|
|
pushd "build_$d"
|
|
%make_install
|
|
popd
|
|
done
|
|
popd
|
|
mv %{buildroot}${HOME}/.wireshark %{buildroot}%{_libdir}/wireshark
|
|
|
|
%post -p /sbin/ldconfig
|
|
|
|
%postun -p /sbin/ldconfig
|
|
|
|
%files
|
|
%exclude %{_docdir}/%{name}/doxygen
|
|
%exclude %{_datadir}/uhd/images
|
|
%doc _tmpdoc/*
|
|
%{_bindir}/uhd_*
|
|
%{_bindir}/usrp2_*
|
|
%{_prefix}/lib/udev/rules.d/10-usrp-uhd.rules
|
|
%config(noreplace) %{_sysconfdir}/security/limits.d/*.conf
|
|
%{_libdir}/lib*.so.*
|
|
%{_libexecdir}/uhd
|
|
%{_mandir}/man1/*.1*
|
|
%{_datadir}/uhd
|
|
|
|
%files firmware
|
|
%dir %{_datadir}/uhd/images
|
|
%{_datadir}/uhd/images/*
|
|
|
|
%files devel
|
|
%{_includedir}/*
|
|
%{_libdir}/lib*.so
|
|
%{_libdir}/cmake/uhd/*.cmake
|
|
%{_libdir}/pkgconfig/*.pc
|
|
|
|
%files doc
|
|
%doc %{_docdir}/%{name}/doxygen
|
|
|
|
%files tools
|
|
%doc tools/README.md
|
|
%{_bindir}/usrp_x3xx_fpga_jtag_programmer.sh
|
|
%{_bindir}/chdr_log
|
|
|
|
%files wireshark
|
|
%{_libdir}/wireshark/plugins/*
|
|
|
|
%changelog
|
|
* Mon Dec 10 2018 Jaroslav Škarvada <jskarvad@redhat.com> - 3.12.0.0-2
|
|
- Rebuilt for new gnuradio
|
|
Resolves: rhbz#1625012
|
|
- Fixed python shebangs
|
|
|
|
* Fri Jul 20 2018 Jaroslav Škarvada <jskarvad@redhat.com> - 3.12.0.0-1
|
|
- New version
|
|
Resolves: rhbz#1606606
|
|
- Dropped sdcc-3-fix patch (upstreamed)
|
|
- Dropped boost-gcc8-compile-fix patch (not needed)
|
|
- Packaged wireshark dissectors
|
|
|
|
* Sat Jul 14 2018 Fedora Release Engineering <releng@fedoraproject.org> - 3.10.3.0-4
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
|
|
|
|
* Wed Feb 28 2018 Iryna Shcherbina <ishcherb@redhat.com> - 3.10.3.0-3
|
|
- Update Python 2 dependency declarations to new packaging standards
|
|
(See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3)
|
|
|
|
* Fri Feb 09 2018 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 3.10.3.0-2
|
|
- Escape macros in %%changelog
|
|
|
|
* Fri Feb 2 2018 Jaroslav Škarvada <jskarvad@redhat.com> - 3.10.3.0-1
|
|
- New version
|
|
|
|
* Fri Feb 2 2018 Jaroslav Škarvada <jskarvad@redhat.com> - 3.10.1.0-10
|
|
- Rebuilt for new boost
|
|
|
|
* Tue Jan 23 2018 Jonathan Wakely <jwakely@redhat.com> - 3.10.1.0-9
|
|
- Rebuilt for Boost 1.66
|
|
|
|
* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 3.10.1.0-8
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
|
|
|
|
* Thu Jul 27 2017 Fedora Release Engineering <releng@fedoraproject.org> - 3.10.1.0-7
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
|
|
|
|
* Wed Jul 19 2017 Jonathan Wakely <jwakely@redhat.com> - 3.10.1.0-6
|
|
- Rebuilt for s390x binutils bug
|
|
|
|
* Tue Jul 04 2017 Jonathan Wakely <jwakely@redhat.com> - 3.10.1.0-5
|
|
- Rebuilt for Boost 1.64
|
|
|
|
* Mon May 15 2017 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.10.1.0-4
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_27_Mass_Rebuild
|
|
|
|
* Sat Feb 11 2017 Fedora Release Engineering <releng@fedoraproject.org> - 3.10.1.0-3
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
|
|
|
|
* Mon Jan 30 2017 Jonathan Wakely <jwakely@redhat.com> - 3.10.1.0-2
|
|
- Rebuilt for Boost 1.63
|
|
|
|
* Tue Nov 22 2016 Jaroslav Škarvada <jskarvad@redhat.com> - 3.10.1.0-1
|
|
- New version
|
|
- Dropped base64-decode-fix-off-by-one patch (upstreamed)
|
|
- Switched to new version numbering
|
|
- Switched image archive to xz
|
|
|
|
* Wed May 25 2016 Jaroslav Škarvada <jskarvad@redhat.com> - 3.9.4-2
|
|
- Fixed off by one in base64_decode by base64-decode-fix-off-by-one patch
|
|
Related: rhbz#1308204
|
|
|
|
* Tue May 10 2016 Jaroslav Škarvada <jskarvad@redhat.com> - 3.9.4-1
|
|
- New version
|
|
- Dropped 0001-fix-build patch (upstreamed)
|
|
|
|
* Mon May 9 2016 Jaroslav Škarvada <jskarvad@redhat.com> - 3.8.2-12
|
|
- Rebuilt to fix Boost ABI problem
|
|
|
|
* Fri Feb 05 2016 Fedora Release Engineering <releng@fedoraproject.org> - 3.8.2-11
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
|
|
|
|
* Sat Jan 16 2016 Jonathan Wakely <jwakely@redhat.com> - 3.8.2-10
|
|
- Rebuilt for Boost 1.60
|
|
|
|
* Thu Aug 27 2015 Jonathan Wakely <jwakely@redhat.com> - 3.8.2-9
|
|
- Rebuilt for Boost 1.59
|
|
|
|
* Thu Aug 06 2015 Jonathan Wakely <jwakely@redhat.com> 3.8.2-8
|
|
- Bump %%release to match f23 branch
|
|
|
|
* Wed Jul 29 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.8.2-7
|
|
- Rebuilt for https://fedoraproject.org/wiki/Changes/F23Boost159
|
|
|
|
* Wed Jul 22 2015 David Tardon <dtardon@redhat.com> - 3.8.2-6
|
|
- rebuild for Boost 1.58
|
|
|
|
* Fri Jun 19 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.8.2-5
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
|
|
|
|
* Sat May 02 2015 Kalev Lember <kalevlember@gmail.com> - 3.8.2-4
|
|
- Rebuilt for GCC 5 C++11 ABI change
|
|
|
|
* Thu Mar 12 2015 Jaroslav Škarvada <jskarvad@redhat.com> - 3.8.2-3
|
|
- Enabled build on ppc64 on RHEL
|
|
|
|
* Wed Mar 11 2015 Jaroslav Škarvada <jskarvad@redhat.com> - 3.8.2-2
|
|
- Fixed building without NEON, especially on aarch64
|
|
Resolves: rhbz#1200836
|
|
|
|
* Fri Mar 6 2015 Jaroslav Škarvada <jskarvad@redhat.com> - 3.8.2-1
|
|
- New version
|
|
- Dropped uhd-dump-libs and wireshark-1.12-fix patches (both upstreamed)
|
|
|
|
* Tue Jan 27 2015 Petr Machata <pmachata@redhat.com> - 3.7.2-2
|
|
- Rebuild for boost 1.57.0
|
|
|
|
* Mon Sep 1 2014 Jaroslav Škarvada <jskarvad@redhat.com> - 3.7.2-1
|
|
- New version
|
|
- Added tools subpackage (wireshark plugin disabled due to rhbz#1129419)
|
|
- Minor packaging fixes
|
|
|
|
* Fri Aug 29 2014 Jaroslav Škarvada <jskarvad@redhat.com> - 3.6.2-6
|
|
- Migrated udev rule to dynamic ACL management
|
|
- Fixed udev rule location
|
|
- Group usrp is no more used / created
|
|
|
|
* Mon Aug 18 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.6.2-5
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
|
|
|
|
* Fri Aug 8 2014 Jaroslav Škarvada <jskarvad@redhat.com> - 3.6.2-4
|
|
- Added workaround for build failure on RHEL-7
|
|
|
|
* Sun Jun 08 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.6.2-3
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
|
|
|
|
* Thu May 22 2014 Petr Machata <pmachata@redhat.com> - 3.6.2-2
|
|
- Rebuild for boost 1.55.0
|
|
|
|
* Tue Feb 11 2014 Jaroslav Škarvada <jskarvad@redhat.com> - 3.6.2-1
|
|
- New version
|
|
Resolves: rhbz#1063587
|
|
|
|
* Sun Aug 04 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.5.3-3
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
|
|
|
|
* Sat Jul 27 2013 pmachata@redhat.com - 3.5.3-2
|
|
- Rebuild for boost 1.54.0
|
|
|
|
* Wed Jun 05 2013 Jaroslav Škarvada <jskarvad@redhat.com> - 3.5.3-1
|
|
- New version
|
|
- Defuzzified no-neon patch
|
|
|
|
* Sun Feb 10 2013 Denis Arnaud <denis.arnaud_fedora@m4x.org> - 3.4.3-3
|
|
- Rebuild for Boost-1.53.0
|
|
|
|
* Sat Feb 09 2013 Denis Arnaud <denis.arnaud_fedora@m4x.org> - 3.4.3-2
|
|
- Rebuild for Boost-1.53.0
|
|
|
|
* Wed Aug 22 2012 Jaroslav Škarvada <jskarvad@redhat.com> - 3.4.3-1
|
|
- New version
|
|
|
|
* Fri Aug 10 2012 Jaroslav Škarvada <jskarvad@redhat.com> - 3.4.2-4
|
|
- Rebuilt for new boost
|
|
|
|
* Sun Jul 22 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.4.2-3
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
|
|
|
|
* Wed Jun 6 2012 Jaroslav Škarvada <jskarvad@redhat.com> - 3.4.2-2
|
|
- Added firmware subpackage
|
|
Resolves: rhbz#769684
|
|
|
|
* Wed May 23 2012 Jaroslav Škarvada <jskarvad@redhat.com> - 3.4.2-1
|
|
- New version
|
|
- Removed usrp1-r45-dbsrx-i2c-fix patch (upstreamed)
|
|
- Fixed convert_test failure on ARM by no-neon patch
|
|
Resolves: rhbz#813393
|
|
|
|
* Tue Mar 27 2012 Jaroslav Škarvada <jskarvad@redhat.com> - 3.4.0-1
|
|
- New version
|
|
- Fixed lockup on USRP1 r4.5 + DBSRX + another i2c board combo
|
|
(usrp1-r45-dbsrx-i2c-fix patch)
|
|
Resolves: rhbz#804440
|
|
|
|
* Mon Mar 19 2012 Jaroslav Škarvada <jskarvad@redhat.com> - 3.3.2-1
|
|
- New version
|
|
|
|
* Tue Feb 28 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.3.1-4
|
|
- Rebuilt for c++ ABI breakage
|
|
|
|
* Fri Feb 10 2012 Jaroslav Škarvada <jskarvad@redhat.com> - 3.3.1-3
|
|
- Allowed UHD to boost the thread's scheduling priority
|
|
Resolves: rhbz#781540
|
|
|
|
* Wed Jan 11 2012 Jaroslav Škarvada <jskarvad@redhat.com> - 3.3.1-2
|
|
- Minor tweaks to %%pre scriptlet
|
|
- Fixed udev rules
|
|
- Added tkinter requires
|
|
Resolves: rhbz#769678
|
|
|
|
* Fri Dec 2 2011 Jaroslav Škarvada <jskarvad@redhat.com> - 3.3.1-1
|
|
- New version
|
|
|
|
* Thu Dec 1 2011 Jaroslav Škarvada <jskarvad@redhat.com> - 3.3.0-3
|
|
- Updated summary to be more descriptive
|
|
|
|
* Wed Nov 30 2011 Jaroslav Škarvada <jskarvad@redhat.com> - 3.3.0-2
|
|
- Fixed according to reviewer comments
|
|
|
|
* Tue Nov 01 2011 Jaroslav Škarvada <jskarvad@redhat.com> - 3.3.0-1
|
|
- Initial version
|