mirror of
https://gitea.osmocom.org/cellular-infrastructure/osmo-hlr.git
synced 2025-10-23 00:12:14 +00:00
* Explicitly chown /var/lib/osmocom to osmocom:osmocom, instead of relying on systemd to do it when the service starts up. This does not work with the systemd versions in debian 10 and almalinux 8. * deb: Use "useradd" instead of the interactive "adduser" perl script from Debian. This makes it consistent with how we do it in rpm, and avoids the dependency on "adduser". * deb: Remove support for the "dpkg-statoverride --list" logic. This seems to be a rather obscure feature to override permissions for certain files or directories. Let's rather remove this complexity to make the postinst script more maintainable and more similar to the rpm spec file. If users need this, they can achieve something similar by using their own Osmocom config file in a different path with different permissions. * deb: Consistently use tabs throughout postinst, instead of mixing tabs and spaces. Related: OS#4107 Change-Id: Ib20406dd253f5e8720552e92e9002e45591218fa
210 lines
6.9 KiB
RPMSpec
210 lines
6.9 KiB
RPMSpec
#
|
|
# spec file for package osmo-hlr
|
|
#
|
|
# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
|
|
# Copyright (c) 2016, 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.
|
|
|
|
Name: osmo-hlr
|
|
Version: @VERSION@
|
|
Release: 0
|
|
Summary: Osmocom Home Location Register for GSUP protocol towards OsmoSGSN and OsmoCSCN
|
|
License: AGPL-3.0-or-later AND GPL-2.0-or-later
|
|
Group: Productivity/Telephony/Servers
|
|
URL: https://osmocom.org/projects/osmo-hlr
|
|
Source: %{name}-%{version}.tar.xz
|
|
BuildRequires: autoconf
|
|
BuildRequires: automake
|
|
BuildRequires: libtool
|
|
BuildRequires: pkgconfig >= 0.20
|
|
BuildRequires: python3
|
|
%if 0%{?suse_version}
|
|
BuildRequires: systemd-rpm-macros
|
|
%endif
|
|
BuildRequires: pkgconfig(libosmoabis) >= 1.5.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(sqlite3)
|
|
BuildRequires: pkgconfig(talloc) >= 2.0.1
|
|
# only needed for populate_hlr_db.pl
|
|
Requires: libdbi-drivers-dbd-sqlite3
|
|
%{?systemd_requires}
|
|
|
|
%description
|
|
The GSUP HLR is a stand-alone HLR (Home Location Register) for SIM
|
|
and USIM based subscribers which exposes the GSUP protocol towards
|
|
its users. OsmoSGSN supports this protocol.
|
|
|
|
osmo-gsup-hlr is still very simplistic. It is a single-threaded
|
|
architecture and uses only sqlite3 tables as back-end. It is suitable
|
|
for installations of the scale that OsmoNITB was able to handle. It
|
|
also lacks various features like fine-grained control of subscribed
|
|
services (like supplementary services).
|
|
|
|
%package -n libosmo-gsup-client0
|
|
Summary: Osmocom GSUP (General Subscriber Update Protocol) client library
|
|
License: GPL-2.0-or-later
|
|
Group: System/Libraries
|
|
|
|
%description -n libosmo-gsup-client0
|
|
This is a shared library that can be used to implement client programs for
|
|
the GSUP protocol. The typical GSUP server is OsmoHLR, with OsmoMSC, OsmoSGSN
|
|
and External USSD Entities (EUSEs) using this library to implement clients.
|
|
|
|
%package -n libosmo-gsup-client-devel
|
|
Summary: Development files for the Osmocom GSUP client library
|
|
License: GPL-2.0-or-later
|
|
Group: Development/Libraries/C and C++
|
|
Requires: libosmo-gsup-client0 = %{version}
|
|
|
|
%description -n libosmo-gsup-client-devel
|
|
This is a shared library that can be used to implement client programs for
|
|
the GSUP protocol. The typical GSUP server is OsmoHLR, with OsmoMSC, OsmoSGSN
|
|
and External USSD Entities (EUSEs) using this library to implement clients.
|
|
|
|
This subpackage contains libraries and header files for developing
|
|
applications that want to make use of libosmo-gsup-client.
|
|
|
|
%package -n libosmo-mslookup1
|
|
Summary: Osmocom MS lookup library
|
|
License: GPL-2.0-or-later
|
|
Group: System/Libraries
|
|
|
|
%description -n libosmo-mslookup1
|
|
This shared library contains routines for looking up mobile subscribers.
|
|
|
|
%package -n libosmo-mslookup-devel
|
|
Summary: Development files for the Osmocom MS lookup library
|
|
License: GPL-2.0-or-later
|
|
Group: Development/Libraries/C and C++
|
|
Requires: libosmo-mslookup1 = %{version}
|
|
|
|
%description -n libosmo-mslookup-devel
|
|
This shared library contains routines for looking up mobile subscribers.
|
|
|
|
This subpackage contains libraries and header files for developing
|
|
applications that want to make use of libosmo-mslookup.
|
|
|
|
|
|
%package -n osmo-mslookup-client
|
|
Summary: Standalone program using libosmo-mslookup
|
|
License: GPL-2.0-or-later
|
|
Group: Development/Libraries/C and C++
|
|
|
|
%description -n osmo-mslookup-client
|
|
Standalone program using libosmo-mslookup to easily integrate with programs
|
|
that want to connect services (SIP, SMS,...) to the current location of a
|
|
subscriber.
|
|
|
|
%prep
|
|
%setup -q
|
|
|
|
%build
|
|
echo "%{version}" >.tarball-version
|
|
autoreconf -fi
|
|
%configure \
|
|
--docdir="%{_docdir}/%{name}" \
|
|
--with-systemdsystemunitdir=%{_unitdir} \
|
|
--enable-shared \
|
|
--disable-static
|
|
make V=1 %{?_smp_mflags}
|
|
|
|
%install
|
|
%make_install
|
|
install -d "%{buildroot}/%{_localstatedir}/lib/osmocom"
|
|
find %{buildroot} -type f -name "*.la" -delete -print
|
|
|
|
%check
|
|
make %{?_smp_mflags} check || (find . -name testsuite.log -exec cat {} +)
|
|
|
|
%preun
|
|
%if 0%{?suse_version}
|
|
%service_del_preun %{name}.service
|
|
%endif
|
|
|
|
%postun
|
|
%if 0%{?suse_version}
|
|
%service_del_postun %{name}.service
|
|
%endif
|
|
|
|
%pre
|
|
getent group osmocom >/dev/null || groupadd --system osmocom
|
|
getent passwd osmocom >/dev/null || useradd --system --gid osmocom --home-dir /var/lib/osmocom \
|
|
--shell /sbin/nologin --comment "Open Source Mobile Communications" osmocom
|
|
%if 0%{?suse_version}
|
|
%service_add_pre %{name}.service
|
|
%endif
|
|
exit 0
|
|
|
|
%post
|
|
%if 0%{?suse_version}
|
|
%service_add_post %{name}.service
|
|
%endif
|
|
/usr/share/osmocom/osmo-hlr-post-upgrade.sh
|
|
chown osmocom:osmocom /etc/osmocom/osmo-hlr.cfg
|
|
chmod 0660 /etc/osmocom/osmo-hlr.cfg
|
|
chown root:osmocom /etc/osmocom
|
|
chmod 2775 /etc/osmocom
|
|
mkdir -p /var/lib/osmocom
|
|
chown -R osmocom:osmocom /var/lib/osmocom
|
|
|
|
%post -n libosmo-gsup-client0 -p /sbin/ldconfig
|
|
%postun -n libosmo-gsup-client0 -p /sbin/ldconfig
|
|
%post -n libosmo-mslookup1 -p /sbin/ldconfig
|
|
%postun -n libosmo-mslookup1 -p /sbin/ldconfig
|
|
|
|
%files
|
|
%license COPYING
|
|
%dir %{_docdir}/%{name}
|
|
%dir %{_docdir}/%{name}/examples
|
|
%{_docdir}/%{name}/examples/osmo-hlr.cfg
|
|
%{_docdir}/%{name}/examples/osmo-hlr-dgsm.cfg
|
|
%dir %{_docdir}/%{name}/sql
|
|
%{_docdir}/%{name}/sql/hlr.sql
|
|
%{_docdir}/%{name}/sql//hlr_data.sql
|
|
%dir %{_sysconfdir}/osmocom
|
|
%dir %{_localstatedir}/lib/osmocom
|
|
%{_bindir}/osmo-hlr
|
|
%{_bindir}/osmo-hlr-db-tool
|
|
%dir %{_sysconfdir}/osmocom
|
|
%config %{_sysconfdir}/osmocom/osmo-hlr.cfg
|
|
%{_unitdir}/osmo-hlr.service
|
|
%dir %{_datadir}/osmocom
|
|
%{_datadir}/osmocom/osmo-hlr-post-upgrade.sh
|
|
|
|
%files -n libosmo-gsup-client0
|
|
%{_libdir}/libosmo-gsup-client.so.0*
|
|
|
|
%files -n libosmo-gsup-client-devel
|
|
%{_bindir}/osmo-euse-demo
|
|
%dir %{_includedir}/osmocom
|
|
%dir %{_includedir}/osmocom/gsupclient
|
|
%{_includedir}/osmocom/gsupclient/*.h
|
|
%{_libdir}/libosmo-gsup-client.so
|
|
%{_libdir}/pkgconfig/libosmo-gsup-client.pc
|
|
|
|
%files -n libosmo-mslookup1
|
|
%{_libdir}/libosmo-mslookup.so.1*
|
|
|
|
%files -n libosmo-mslookup-devel
|
|
%dir %{_includedir}/osmocom
|
|
%dir %{_includedir}/osmocom/mslookup
|
|
%{_includedir}/osmocom/mslookup/*.h
|
|
%{_libdir}/libosmo-mslookup.so
|
|
%{_libdir}/pkgconfig/libosmo-mslookup.pc
|
|
|
|
%files -n osmo-mslookup-client
|
|
%{_bindir}/osmo-mslookup-client
|
|
|
|
%changelog
|