uhd/uhd.spec

370 lines
12 KiB
RPMSpec
Raw Normal View History

# 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 ver_1 3
%global ver_2 10
%global ver_3 1
%global ver_4 0
%global ver %(printf "%03d.%03d.%03d.%03d" %{ver_1} %{ver_2} %{ver_3} %{ver_4})
%global ver_ %(printf "%03d_%03d_%03d_%03d" %{ver_1} %{ver_2} %{ver_3} %{ver_4})
%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
2011-12-01 16:15:55 +00:00
Name: uhd
URL: http://code.ettus.com/redmine/ettus/projects/uhd/wiki
Version: %{ver_1}.%{ver_2}.%{ver_3}.%{ver_4}
Release: 4%{?dist}
2011-12-01 16:15:55 +00:00
License: GPLv3+
BuildRequires: cmake
BuildRequires: boost-devel, libusb1-devel, python-cheetah, ncurses-devel
BuildRequires: docutils, doxygen, pkgconfig, libpcap-devel, wireshark-devel
BuildRequires: python-mako
%if ! %{with binary_firmware}
BuildRequires: sdcc sed
%endif
Requires(pre): shadow-utils
Requires: tkinter
2011-12-01 16:15:55 +00:00
Group: Applications/Engineering
2011-12-01 16:28:30 +00:00
Summary: Universal Hardware Driver for Ettus Research products
Source0: http://github.com/EttusResearch/uhd/archive/release_%{ver_}.tar.gz#/uhd-release_%{ver_}.tar.gz
Source1: %{name}-limits.conf
Source2: http://files.ettus.com/binaries/images/uhd-images_%{ver}-release.tar.xz
# Fix firmware build with sdcc-3
Patch0: uhd-3.4.2-sdcc-3-fix.patch
2011-12-01 16:15:55 +00:00
%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.
2014-02-11 13:24:28 +00:00
%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}
#Requires: wireshark = %{wireshark_ver}
%description tools
Tools that are useful for working with and/or debugging USRP device.
2011-12-01 16:15:55 +00:00
%prep
%setup -q -n uhd-release_%{ver_}
%patch0 -p1 -b .sdcc-3-fix
# firmware
%if %{with binary_firmware}
# extract binary firmware
mkdir -p images/images
tar -xJf %{SOURCE2} -C images/images --strip-components=4
rm -f images/images/{LICENSE.txt,*.tag}
%endif
2011-12-01 16:15:55 +00:00
%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} ../
2011-12-01 16:15:55 +00:00
make %{?_smp_mflags}
popd
2011-12-01 16:15:55 +00:00
# tools
pushd tools/uhd_dump
make %{?_smp_mflags} CFLAGS="%{optflags}" LDFLAGS="%{?__global_ldflags}"
popd
# tools wireshark plugin
# currenty disabled due to rhbz#1129419
#pushd tools/chdr-dissector
#mkdir build
#cd build
#%%cmake ../
#make %{?_smp_mflags}
#popd
2011-12-01 16:15:55 +00:00
%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
2011-12-01 16:15:55 +00:00
2014-02-11 13:24:28 +00:00
# Remove tests, examples binaries
rm -rf %{buildroot}%{_libdir}/uhd/{tests,examples}
2011-12-01 16:15:55 +00:00
# Move the utils stuff to libexec dir
mkdir -p %{buildroot}%{_libexecdir}/uhd
2014-02-11 13:24:28 +00:00
mv %{buildroot}%{_libdir}/uhd/utils/* %{buildroot}%{_libexecdir}/uhd
2011-12-01 16:15:55 +00:00
popd
# Package base docs to base package
mkdir _tmpdoc
2014-02-11 13:24:28 +00:00
mv %{buildroot}%{_docdir}/%{name}/{LICENSE,README.md} _tmpdoc
2011-12-01 16:15:55 +00:00
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
2014-02-11 13:24:28 +00:00
# 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 usrp_n2xx_simple_net_burner usrp_x3xx_fpga_burner;
do
unlink $f
ln -s ../..%{_libexecdir}/uhd/$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
2011-12-01 16:15:55 +00:00
%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig
%files
2014-02-11 13:24:28 +00:00
%exclude %{_docdir}/%{name}/doxygen
%exclude %{_datadir}/uhd/images
2011-12-01 16:15:55 +00:00
%doc _tmpdoc/*
%{_bindir}/uhd_*
%{_bindir}/usrp2*
%{_bindir}/usrp_n2xx_simple_net_burner
%{_bindir}/usrp_x3xx_fpga_burner
%{_bindir}/octoclock_firmware_burner
%{_prefix}/lib/udev/rules.d/10-usrp-uhd.rules
%config(noreplace) %{_sysconfdir}/security/limits.d/*.conf
2011-12-01 16:15:55 +00:00
%{_libdir}/lib*.so.*
%{_libexecdir}/uhd
%{_mandir}/man1/*.1*
2014-02-11 13:24:28 +00:00
%{_datadir}/uhd
2011-12-01 16:15:55 +00:00
%files firmware
%dir %{_datadir}/uhd/images
%{_datadir}/uhd/images/*
2011-12-01 16:15:55 +00:00
%files devel
%{_includedir}/*
%{_libdir}/lib*.so
%{_libdir}/cmake/uhd/*.cmake
2011-12-01 16:15:55 +00:00
%{_libdir}/pkgconfig/*.pc
%files doc
2014-02-11 13:24:28 +00:00
%doc %{_docdir}/%{name}/doxygen
2011-12-01 16:15:55 +00:00
%files tools
%doc tools/README.md
%{_bindir}/usrp_x3xx_fpga_jtag_programmer.sh
%{_bindir}/chdr_log
2011-12-01 16:15:55 +00:00
%changelog
* 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
2017-01-30 22:00:16 +00:00
* 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)
2016-05-09 11:20:04 +00:00
* 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
2016-01-16 00:49:45 +00:00
* Sat Jan 16 2016 Jonathan Wakely <jwakely@redhat.com> - 3.8.2-10
- Rebuilt for Boost 1.60
2015-08-27 19:07:25 +00:00
* Thu Aug 27 2015 Jonathan Wakely <jwakely@redhat.com> - 3.8.2-9
- Rebuilt for Boost 1.59
2015-08-06 00:16:29 +00:00
* 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
2015-07-22 17:41:51 +00:00
* 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
2015-05-02 16:19:41 +00:00
* Sat May 02 2015 Kalev Lember <kalevlember@gmail.com> - 3.8.2-4
- Rebuilt for GCC 5 C++11 ABI change
2015-03-12 13:11:13 +00:00
* 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)
2015-01-27 00:00:30 +00:00
* 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
2014-05-22 19:52:39 +00:00
* Thu May 22 2014 Petr Machata <pmachata@redhat.com> - 3.6.2-2
- Rebuild for boost 1.55.0
2014-02-11 13:24:28 +00:00
* 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
2013-07-27 12:07:48 +00:00
* 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
2013-02-10 01:38:00 +00:00
* Sun Feb 10 2013 Denis Arnaud <denis.arnaud_fedora@m4x.org> - 3.4.3-3
- Rebuild for Boost-1.53.0
2013-02-09 22:22:11 +00:00
* Sat Feb 09 2013 Denis Arnaud <denis.arnaud_fedora@m4x.org> - 3.4.3-2
- Rebuild for Boost-1.53.0
2012-08-22 08:55:44 +00:00
* Wed Aug 22 2012 Jaroslav Škarvada <jskarvad@redhat.com> - 3.4.3-1
- New version
2012-08-10 07:10:23 +00:00
* 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
2012-03-19 09:45:30 +00:00
* Mon Mar 19 2012 Jaroslav Škarvada <jskarvad@redhat.com> - 3.3.2-1
- New version
2012-02-28 20:28:14 +00:00
* 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
2011-12-02 16:19:18 +00:00
* Fri Dec 2 2011 Jaroslav Škarvada <jskarvad@redhat.com> - 3.3.1-1
- New version
2011-12-01 16:28:30 +00:00
* Thu Dec 1 2011 Jaroslav Škarvada <jskarvad@redhat.com> - 3.3.0-3
- Updated summary to be more descriptive
2011-12-01 16:15:55 +00:00
* 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