# # spec file for package osmo-trx # # Copyright (c) 2017, Martin Hauke # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. Name: osmo-trx Version: @VERSION@ Release: 0 Summary: SDR transceiver that implements Layer 1 of a GSM BTS License: AGPL-3.0-or-later Group: Productivity/Telephony/Servers URL: https://osmocom.org/projects/osmotrx Source: %{name}-%{version}.tar.xz BuildRequires: autoconf BuildRequires: automake BuildRequires: fdupes BuildRequires: gcc-c++ BuildRequires: libtool BuildRequires: pkgconfig >= 0.20 %if 0%{?suse_version} BuildRequires: systemd-rpm-macros %endif %if ! 0%{?centos_ver} BuildRequires: pkgconfig(LimeSuite) BuildRequires: pkgconfig(usrp) >= 3.3 %endif BuildRequires: pkgconfig(fftw3f) BuildRequires: pkgconfig(libosmocoding) >= 1.9.0 BuildRequires: pkgconfig(libosmocore) >= 1.9.0 BuildRequires: pkgconfig(libosmoctrl) >= 1.9.0 BuildRequires: pkgconfig(libosmovty) >= 1.9.0 BuildRequires: pkgconfig(libusb-1.0) BuildRequires: pkgconfig(uhd) %{?systemd_requires} %if 0%{?suse_version} > 1325 BuildRequires: libboost_program_options-devel BuildRequires: libboost_system-devel BuildRequires: libboost_test-devel BuildRequires: libboost_thread-devel %else BuildRequires: boost-devel %endif %description OsmoTRX is a software-defined radio transceiver that implements the Layer 1 physical layer of a BTS comprising the following 3GPP specifications: TS 05.01 "Physical layer on the radio path" TS 05.02 "Multiplexing and Multiple Access on the Radio Path" TS 05.04 "Modulation" TS 05.10 "Radio subsystem synchronization" In this context, BTS is "Base transceiver station". It's the stations that connect mobile phones to the mobile network. 3GPP is the "3rd Generation Partnership Project" which is the collaboration between different telecommunication associations for developing new generations of mobile phone networks. (post-2G/GSM) %package uhd Summary: SDR transceiver that implements Layer 1 of a GSM BTS (UHD) Group: Productivity/Telephony/Servers Requires: uhd-firmware %description uhd OsmoTRX is a software-defined radio transceiver that implements the Layer 1 physical layer of a BTS comprising the following 3GPP specifications: TS 05.01 "Physical layer on the radio path" TS 05.02 "Multiplexing and Multiple Access on the Radio Path" TS 05.04 "Modulation" TS 05.10 "Radio subsystem synchronization" In this context, BTS is "Base transceiver station". It's the stations that connect mobile phones to the mobile network. 3GPP is the "3rd Generation Partnership Project" which is the collaboration between different telecommunication associations for developing new generations of mobile phone networks. (post-2G/GSM) %if ! 0%{?centos_ver} %package usrp1 Summary: SDR transceiver that implements Layer 1 of a GSM BTS (USRP1) Group: Productivity/Telephony/Servers %description usrp1 OsmoTRX is a software-defined radio transceiver that implements the Layer 1 physical layer of a BTS comprising the following 3GPP specifications: TS 05.01 "Physical layer on the radio path" TS 05.02 "Multiplexing and Multiple Access on the Radio Path" TS 05.04 "Modulation" TS 05.10 "Radio subsystem synchronization" In this context, BTS is "Base transceiver station". It's the stations that connect mobile phones to the mobile network. 3GPP is the "3rd Generation Partnership Project" which is the collaboration between different telecommunication associations for developing new generations of mobile phone networks. (post-2G/GSM) %package lms Summary: SDR transceiver that implements Layer 1 of a GSM BTS (LimeSuite) Group: Productivity/Telephony/Servers %description lms OsmoTRX is a software-defined radio transceiver that implements the Layer 1 physical layer of a BTS comprising the following 3GPP specifications: TS 05.01 "Physical layer on the radio path" TS 05.02 "Multiplexing and Multiple Access on the Radio Path" TS 05.04 "Modulation" TS 05.10 "Radio subsystem synchronization" In this context, BTS is "Base transceiver station". It's the stations that connect mobile phones to the mobile network. 3GPP is the "3rd Generation Partnership Project" which is the collaboration between different telecommunication associations for developing new generations of mobile phone networks. (post-2G/GSM) %endif %package ipc Summary: SDR transceiver that implements Layer 1 of a GSM BTS (IPC) Group: Productivity/Telephony/Servers %description ipc OsmoTRX is a software-defined radio transceiver that implements the Layer 1 physical layer of a BTS comprising the following 3GPP specifications: TS 05.01 "Physical layer on the radio path" TS 05.02 "Multiplexing and Multiple Access on the Radio Path" TS 05.04 "Modulation" TS 05.10 "Radio subsystem synchronization" In this context, BTS is "Base transceiver station". It's the stations that connect mobile phones to the mobile network. 3GPP is the "3rd Generation Partnership Project" which is the collaboration between different telecommunication associations for developing new generations of mobile phone networks. (post-2G/GSM) %package ipc-test Summary: SDR transceiver that implements Layer 1 of a GSM BTS (IPC) driver test utility Group: Productivity/Telephony/Servers %description ipc-test OsmoTRX is a software-defined radio transceiver that implements the Layer 1 physical layer of a BTS comprising the following 3GPP specifications: This package include the test tools for osmo-trx-ipc %prep %setup -q %build echo "%{version}" >.tarball-version autoreconf -fi %if 0%{?centos_ver} %configure \ --docdir=%{_docdir}/%{name} \ --with-systemdsystemunitdir=%{_unitdir} \ --without-lms \ --with-uhd \ --without-usrp1 \ --with-ipc %else %configure \ --docdir=%{_docdir}/%{name} \ --with-systemdsystemunitdir=%{_unitdir} \ --with-lms \ --with-uhd \ --with-usrp1 \ --with-ipc %endif make %{?_smp_mflags} V=1 %check make %{?_smp_mflags} check || (find . -name testsuite.log -exec cat {} +) %install %make_install %fdupes -s %{buildroot}/%{_datadir} %if 0%{?suse_version} %pre lms %service_add_pre osmo-trx-lms.service %post lms %service_add_post osmo-trx-lms.service %preun lms %service_del_preun osmo-trx-lms.service %postun lms %service_del_postun osmo-trx-lms.service %pre uhd %service_add_pre osmo-trx-uhd.service %post uhd %service_add_post osmo-trx-uhd.service %preun uhd %service_del_preun osmo-trx-uhd.service %postun uhd %service_del_postun osmo-trx-uhd.service %pre usrp1 %service_add_pre osmo-trx-usrp1.service %post usrp1 %service_add_post osmo-trx-usrp1.service %preun usrp1 %service_del_preun osmo-trx-usrp1.service %postun usrp1 %service_del_postun osmo-trx-usrp1.service %pre ipc %service_add_pre osmo-trx-ipc.service %post ipc %service_add_post osmo-trx-ipc.service %preun ipc %service_del_preun osmo-trx-ipc.service %postun ipc %service_del_postun osmo-trx-ipc.service %endif %files %license COPYING %doc README.md %doc %{_docdir}/%{name}/examples %if ! 0%{?centos_ver} %files lms %{_bindir}/osmo-trx-lms %dir %{_sysconfdir}/osmocom %config(noreplace) %{_sysconfdir}/osmocom/osmo-trx-lms.cfg %{_unitdir}/osmo-trx-lms.service %endif %files uhd %{_bindir}/osmo-trx-uhd %dir %{_sysconfdir}/osmocom %config(noreplace) %{_sysconfdir}/osmocom/osmo-trx-uhd.cfg %{_unitdir}/osmo-trx-uhd.service %if ! 0%{?centos_ver} %files usrp1 %{_bindir}/osmo-trx-usrp1 %dir %{_datadir}/usrp %dir %{_datadir}/usrp/rev2 %dir %{_datadir}/usrp/rev4 %{_datadir}/usrp/rev2/std_inband.rbf %{_datadir}/usrp/rev4/std_inband.rbf %{_unitdir}/osmo-trx-usrp1.service %endif %files ipc %{_bindir}/osmo-trx-ipc %dir %{_sysconfdir}/osmocom %config(noreplace) %{_sysconfdir}/osmocom/osmo-trx-ipc.cfg %{_unitdir}/osmo-trx-ipc.service %files ipc-test %{_bindir}/ipc-driver-test %changelog