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
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
|
|
|