File osmo-bts.spec of Package osmo-bts

# spec file for package osmo-bts
# 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-bts
Requires: osmocom-master
Release:        0
Summary:        Osmocom BTS-Side code (Abis, scheduling)
License:        AGPL-3.0-or-later AND GPL-2.0-only
Group:          Productivity/Telephony/Servers
Source: osmo-bts_1.
Source1: rpmlintrc
BuildRequires:  autoconf
BuildRequires:  automake
BuildRequires:  libtool
BuildRequires:  pkgconfig >= 0.20
%if 0%{?suse_version}
BuildRequires:  systemd-rpm-macros
BuildRequires:  pkgconfig(libosmocodec) >= 1.9.0
BuildRequires:  pkgconfig(libosmocoding) >= 1.9.0
BuildRequires:  pkgconfig(libosmocore) >= 1.9.0
BuildRequires:  pkgconfig(libosmoctrl) >= 1.9.0
BuildRequires:  pkgconfig(libosmogsm) >= 1.9.0
BuildRequires:  pkgconfig(libosmovty) >= 1.9.0
BuildRequires:  pkgconfig(libosmoabis) >= 1.5.0
BuildRequires:  pkgconfig(libosmotrau) >= 1.5.0
BuildRequires:  pkgconfig(libosmo-netif) >= 1.4.0

Osmocom BTS-Side code (A-bis, scheduling).

%package -n osmo-bts-virtual
Requires: osmocom-master
Summary:        Virtual Osmocom GSM BTS (no RF hardware; GSMTAP/UDP)
License:        GPL-2.0-or-later
Group:          Productivity/Telephony/Utilities

%description -n osmo-bts-virtual
This version of OsmoBTS doesn't use actual GSM PHY/Hardware/RF, but
utilizes GSMTAP-over-UDP frames for the Um interface.  This is useful
in fully virtualized setups e.g. in combination with OsmocomBB virt_phy.

%package -n osmo-bts-omldummy
Requires: osmocom-master
Summary:        Osmocom CI: Bring up only OML without RSL
License:        GPL-2.0-or-later
Group:          Productivity/Telephony/Utilities

%description -n osmo-bts-omldummy
This is used only in integration testing, where in the TTCN-3 testsuite
we currently have no A-bis OML implementation, but only a RSL one.

%setup -n osmo-bts -q

echo "%{version}" >.tarball-version
autoreconf -fi
%configure \
    --docdir="%{_docdir}/%{name}" \
    --with-systemdsystemunitdir=%{_unitdir} \
make V=1 %{?_smp_mflags}


%if 0%{?suse_version}
%pre    %service_add_pre    osmo-bts-trx.service
%post   %service_add_post   osmo-bts-trx.service
%preun  %service_del_preun  osmo-bts-trx.service
%postun %service_del_postun osmo-bts-trx.service
%pre    virtual %service_add_pre    osmo-bts-virtual.service
%post   virtual %service_add_post   osmo-bts-virtual.service
%preun  virtual %service_del_preun  osmo-bts-virtual.service
%postun virtual %service_del_postun osmo-bts-virtual.service

make %{?_smp_mflags} check || (find . -name testsuite.log -exec cat {} +)

%license COPYING
%dir %{_docdir}/%{name}
%dir %{_docdir}/%{name}/examples
%dir %{_docdir}/%{name}/examples/osmo-bts-trx
%dir %{_docdir}/%{name}/examples/osmo-bts-virtual
%dir %{_sysconfdir}/osmocom
%config(noreplace) %{_sysconfdir}/osmocom/osmo-bts-trx.cfg

%files -n osmo-bts-virtual
%dir %{_sysconfdir}/osmocom
%config(noreplace) %{_sysconfdir}/osmocom/osmo-bts-virtual.cfg

%files -n osmo-bts-omldummy