Osmocom Remote SIM Software Suite https://osmocom.org/projects/osmo-remsim
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

236 lines
8.6 KiB

#
# spec file for package osmo-remsim
#
# Copyright (c) 2018, Martin Hauke <mardnh@gmx.de>
#
# 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.
%define sover 2
Name: osmo-remsim
Version: @VERSION@
Release: 0
Summary: Osmocom remote SIM software suite
License: GPL-2.0-or-later
Group: Productivity/Telephony/Servers
URL: https://osmocom.org/projects/osmo-remsim
Source: %{name}-%{version}.tar.xz
BuildRequires: autoconf
BuildRequires: automake
BuildRequires: libcsv-devel
BuildRequires: libtool
BuildRequires: pkgconfig
%if 0%{?suse_version}
BuildRequires: systemd-rpm-macros
%endif
BuildRequires: pkgconfig(libasn1c) >= 0.9.30
BuildRequires: pkgconfig(libosmoabis)
BuildRequires: pkgconfig(libosmocore) >= 1.6.0
BuildRequires: pkgconfig(libosmogsm) >= 0.11.0
BuildRequires: pkgconfig(libosmosim)
BuildRequires: pkgconfig(libpcsclite)
BuildRequires: pkgconfig(libulfius)
BuildRequires: pkgconfig(libusb-1.0)
BuildRequires: pkgconfig(libosmousb)
BuildRequires: pkgconfig(libosmo-simtrace2) >= 0.8.0
%{?systemd_requires}
%description
osmo-remsim is a suite of software programs enabling physical/geographic
separation of a cellular phone (or modem) on the one hand side and the
SIM/USIM/ISIM card on the other side.
Using osmo-remsim, you can operate an entire fleet of modems/phones, as
well as banks of SIM cards and dynamically establish or remove the
connections between modems/phones and cards.
So in technical terms, it behaves like a proxy for the ISO 7816 smart
card interface between the MS/UE and the UICC/SIM/USIM/ISIM.
While originally designed to be used in context of cellular networks,
there is nothing cellular specific in the system. It can therefore also
be used with other systems that use contact based smart cards according
to ISO 7816. Currently only the T=0 protocol with standard
(non-extended) APDUs is supported. Both T=1 and extended APDU support
can easily be added as a pure software update, should it be required at
some future point.
%package -n libosmo-rspro%{sover}
Summary: Osmocom Remote SIM - Shared Library
License: GPL-2.0-or-later
Group: System/Libraries
%description -n libosmo-rspro%{sover}
libosmo-rsrpo is an utility library for encoding/decoding the ASN.1 BER
based RSPRO (Remote SIM Protocol) protocol used between the osmo-remsim
programs.
%package -n libosmo-rspro-devel
Summary: Osmocom Remote SIM - Shared Library Development Haders
License: GPL-2.0-or-later
Group: Development/Libraries/C and C++
Requires: libosmo-rspro%{sover} = %{version}
%description -n libosmo-rspro-devel
libosmo-rsrpo is an utility library for encoding/decoding the ASN.1 BER
based RSPRO (Remote SIM Protocol) protocol used between the osmo-remsim
programs.
This subpackage contains libraries and header files for developing
applications that want to make use of libosmo-rspro.
%package -n osmo-remsim-server
Summary: Osmocom Remote SIM - Central Server
License: GPL-2.0-or-later
Group: Productivity/Telephony/Servers
%description -n osmo-remsim-server
The remsim-server is the central element of a osmo-remsim deployment,
it maintains a list of clients + bankds connected to it, as well as the
dynamic SIM card mappings between them.
%package -n osmo-remsim-apitool
Summary: Osmocom Remote SIM - API tool for Server
License: GPL-2.0-or-later
Group: Productivity/Telephony/Servers
Requires: python3
%description -n osmo-remsim-apitool
This is a small python tool for generating API requests to remsim-server,
which can be used by the system administrator to introspect and/or modify
the state (mostly slotmaps).
%package -n osmo-remsim-bankd
Summary: Osmocom Remote SIM - Bank Daemon
License: GPL-2.0-or-later
Group: Productivity/Telephony/Servers
%description -n osmo-remsim-bankd
The remsim-bankd is managing a bank of SIM card readers and their
respective cards. It establishes a control connection to remsim-server
and receives inbound connections from remsim-clients.
%package -n osmo-remsim-client-st2
Summary: Osmocom Remote SIM - Client for SIMtrace2
License: GPL-2.0-or-later
Group: Productivity/Telephony/Servers
%description -n osmo-remsim-client-st2
Description: Osmocom Remote SIM - Client for SIMtrace2 cardem firmware
The remsim-client is managing a given phone/modem. It attaches to the
'cardem' firmware of a SIMtrcace2 (or compatible, such as sysmoQMOD)
hardware and forwards the SIM card communication to a remsim-bankd,
under the control of remsim-server.
%package -n osmo-remsim-client-shell
Summary: Osmocom Remote SIM - Interactive Client
License: GPL-2.0-or-later
Group: Productivity/Telephony/Servers
%description -n osmo-remsim-client-shell
The remsim-client-shell is for manually interacting with a remote SIM
card via remsim-bankd + remsim-server. It's mostly a test/debug tool.
%package -n libifd-osmo-remsim-client0
Summary: Osmocom Remote SIM Client - PC/SC driver
License: GPL-2.0-or-later
Group: Productivity/Telephony/Servers
Requires: pcsc-lite
%description -n libifd-osmo-remsim-client0
This is an incarnation of osmo-remsim-client which can plug as ifd_handler
driver into pcscd. This means you can use remote smart cards managed
by osmo-remsim-server via normal PC/SC applications.
%prep
%setup -q
%build
echo "%{version}" >.tarball-version
autoreconf -fi
%configure \
--disable-static \
--docdir=%{_docdir}/osmo-remsim \
--with-systemdsystemunitdir=%{_unitdir}
make V=1 %{?_smp_mflags}
%install
%make_install
find %{buildroot} -type f -name "*.la" -delete -print
%check
make %{?_smp_mflags} check || find . -name testsuite.log -exec cat {} +
%post -n libosmo-rspro%{sover} -p /sbin/ldconfig
%postun -n libosmo-rspro%{sover} -p /sbin/ldconfig
%if 0%{?suse_version}
%pre -n osmo-remsim-bankd %service_add_pre osmo-remsim-bankd.service
%post -n osmo-remsim-bankd %service_add_post osmo-remsim-bankd.service
%preun -n osmo-remsim-bankd %service_del_preun osmo-remsim-bankd.service
%postun -n osmo-remsim-bankd %service_del_postun osmo-remsim-bankd.service
%pre -n osmo-remsim-client-st2 %service_add_pre osmo-remsim-client@.service
%post -n osmo-remsim-client-st2 %service_add_post osmo-remsim-client@.service
%preun -n osmo-remsim-client-st2 %service_del_preun osmo-remsim-client@.service
%postun -n osmo-remsim-client-st2 %service_del_postun osmo-remsim-client@.service
%pre -n osmo-remsim-server %service_add_pre osmo-remsim-server.service
%post -n osmo-remsim-server %service_add_post osmo-remsim-server.service
%preun -n osmo-remsim-server %service_del_preun osmo-remsim-server.service
%postun -n osmo-remsim-server %service_del_postun osmo-remsim-server.service
%endif
%files -n libosmo-rspro%{sover}
%license COPYING
%doc README.md
%{_libdir}/libosmo-rspro.so.%{sover}*
%files -n libosmo-rspro-devel
%dir %{_includedir}/osmocom/rspro
%{_includedir}/osmocom/rspro/*
%{_libdir}/libosmo-rspro.so
%{_libdir}/pkgconfig/libosmo-rspro.pc
%files -n osmo-remsim-server
%{_bindir}/osmo-remsim-server
%{_unitdir}/osmo-remsim-server.service
%files -n osmo-remsim-apitool
%{_bindir}/osmo-remsim-apitool
%files -n osmo-remsim-bankd
%{_bindir}/osmo-remsim-bankd
%{_unitdir}/osmo-remsim-bankd.service
%config(noreplace) %{_sysconfdir}/default/osmo-remsim-bankd
%dir %{_sysconfdir}/osmocom
%config(noreplace) %{_sysconfdir}/osmocom/bankd_pcsc_slots.csv
%dir %{_docdir}/osmo-remsim
%dir %{_docdir}/osmo-remsim/examples
%{_docdir}/osmo-remsim/examples/bankd_pcsc_slots.csv
%files -n osmo-remsim-client-shell
%{_bindir}/osmo-remsim-client-shell
%files -n osmo-remsim-client-st2
%{_bindir}/osmo-remsim-client-st2
%{_unitdir}/osmo-remsim-client*
%config(noreplace) %{_sysconfdir}/default/osmo-remsim-client*
%files -n libifd-osmo-remsim-client0
%if 0%{?centos_ver}
%dir %{_libdir}/pcsc/drivers/libifd-osmo-remsim-client.bundle
%{_libdir}/pcsc/drivers/libifd-osmo-remsim-client.bundle/*
%else
%dir %{_libdir}/readers/libifd-osmo-remsim-client.bundle
%{_libdir}/readers/libifd-osmo-remsim-client.bundle/*
%endif
%config(noreplace) %{_sysconfdir}/reader.conf.d/osmo-remsim-client-reader_conf
%changelog