mirror of
https://gitea.osmocom.org/cellular-infrastructure/osmo-cbc.git
synced 2025-10-23 00:12:21 +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: Consistently use tabs through the file, instead of mixing tabs and spaces. * 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, for which it does not seem to be a good idea to make the postinst script less maintainable. Something similar can be achieved by using your own Osmocom config file in a different path with different permissions. Related: OS#4107 Change-Id: I6dd0205fb65d4ad5a79821c111865e67fb293a73
145 lines
4.2 KiB
RPMSpec
145 lines
4.2 KiB
RPMSpec
#
|
|
# spec file for package osmo-cbc
|
|
#
|
|
# Copyright (c) 2021, Harald Welte <laforge@gnumonks.org>
|
|
#
|
|
# 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.
|
|
|
|
## Disable LTO for now since it breaks compilation of the tests
|
|
## https://osmocom.org/issues/4113
|
|
%define _lto_cflags %{nil}
|
|
|
|
Name: osmo-cbc
|
|
Version: @VERSION@
|
|
Release: 0
|
|
Summary: OsmoCBC: Osmocom's Cell Broadcast Centre for 3GPP mobile networks
|
|
License: AGPL-3.0-or-later
|
|
Group: Hardware/Mobile
|
|
URL: https://osmocom.org/projects/osmo-cbc
|
|
Source: %{name}-%{version}.tar.xz
|
|
BuildRequires: automake >= 1.9
|
|
BuildRequires: libtool >= 2
|
|
BuildRequires: pkgconfig >= 0.20
|
|
%if 0%{?suse_version}
|
|
BuildRequires: systemd-rpm-macros
|
|
%endif
|
|
BuildRequires: pkgconfig(libsctp)
|
|
BuildRequires: pkgconfig(libosmocore) >= 1.9.0
|
|
BuildRequires: pkgconfig(libosmogsm) >= 1.9.0
|
|
BuildRequires: pkgconfig(libosmovty) >= 1.9.0
|
|
BuildRequires: pkgconfig(libosmo-netif) >= 1.4.0
|
|
BuildRequires: pkgconfig(talloc)
|
|
BuildRequires: pkgconfig(libulfius)
|
|
%{?systemd_requires}
|
|
|
|
%description
|
|
OsmoCBC: Osmocom's Cell Broadcast Centre for 3GPP mobile networks.
|
|
|
|
%package utils
|
|
Summary: CLI utility to interface osmo-cbc REST interface
|
|
License: MIT
|
|
Group: Productivity/Telephony/Utilities
|
|
|
|
%description utils
|
|
CLI utility to interface with the osmo-cbc REST interface (ECBE).
|
|
|
|
%package -n libosmo-sbcap0
|
|
Summary: Osmocom's library to encode/decode SBc-AP messages
|
|
Group: System/Libraries
|
|
|
|
%description -n libosmo-sbcap0
|
|
Osmocom's library to encode/decode SBc-AP messages.
|
|
|
|
%package -n libosmo-sbcap-devel
|
|
Summary: Development files for libosmo-sbcap
|
|
Group: Development/Libraries/C and C++
|
|
Requires: libosmo-sbcap0 = %{version}
|
|
|
|
%description -n libosmo-sbcap-devel
|
|
Osmocom's library to encode/decode SBc-AP messages.
|
|
|
|
This subpackage contains libraries and header files for developing
|
|
applications that want to make use of libosmo-sbcap.
|
|
|
|
%prep
|
|
%setup -q
|
|
|
|
%build
|
|
echo "%{version}" >.tarball-version
|
|
autoreconf -fi
|
|
%configure \
|
|
--docdir=%{_docdir}/%{name} \
|
|
--with-systemdsystemunitdir=%{_unitdir}
|
|
make %{?_smp_mflags}
|
|
|
|
%install
|
|
%make_install
|
|
install -m 755 contrib/cbc-apitool.py %{buildroot}/usr/bin/cbc-apitool.py
|
|
find %{buildroot} \( -name '*.la' -o -name '*.a' \) -delete -print
|
|
|
|
%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
|
|
|
|
%post
|
|
%if 0%{?suse_version}
|
|
%service_add_post %{name}.service
|
|
%endif
|
|
chown osmocom:osmocom /etc/osmocom/osmo-cbc.cfg
|
|
chmod 0660 /etc/osmocom/osmo-cbc.cfg
|
|
chown root:osmocom /etc/osmocom
|
|
chmod 2775 /etc/osmocom
|
|
mkdir -p /var/lib/osmocom
|
|
chown -R osmocom:osmocom /var/lib/osmocom
|
|
|
|
|
|
%check
|
|
make %{?_smp_mflags} check || (find . -name testsuite.log -exec cat {} +)
|
|
|
|
%files
|
|
%license COPYING
|
|
%doc README.md
|
|
%{_bindir}/osmo-cbc
|
|
%dir %{_docdir}/%{name}/examples
|
|
%dir %{_docdir}/%{name}/examples/osmo-cbc
|
|
%{_docdir}/%{name}/examples/osmo-cbc/osmo-cbc*.cfg
|
|
%dir %{_sysconfdir}/osmocom
|
|
%config(noreplace) %{_sysconfdir}/osmocom/osmo-cbc.cfg
|
|
%{_unitdir}/%{name}.service
|
|
|
|
%files utils
|
|
%{_bindir}/cbc-apitool.py
|
|
|
|
%files -n libosmo-sbcap0
|
|
%{_libdir}/libosmo-sbcap.so.0*
|
|
|
|
%files -n libosmo-sbcap-devel
|
|
%{_libdir}/libosmo-sbcap.so
|
|
%{_libdir}/pkgconfig/libosmo-sbcap.pc
|
|
%dir %{_includedir}/osmocom
|
|
%dir %{_includedir}/osmocom/sbcap
|
|
%{_includedir}/osmocom/sbcap/*.h
|
|
|
|
%changelog
|