Name: vsomeip3 Version: 3.1.20.3 Release: 2%{?dist} Summary: COVESA implementation of SOME/IP protocol License: MPLv2.0 and Boost URL: https://github.com/COVESA/vsomeip Source0: %{URL}/archive/3.1.20.3/vsomeip-3.1.20.3.tar.gz Source1: routingmanagerd.service # Install libs, etc into /usr Patch0: vsomeip-install-dirs.patch # Build/Install tools and examples Patch1: vsomeip-build-extra.patch # Drop -O and use -fPIC, not -fPIE Patch2: vsomeip-compiler-flags.patch # Support new boost: https://github.com/COVESA/vsomeip/pull/318 Patch3: vsomeip-Support-boost-1.76.patch BuildRequires: boost-devel BuildRequires: cmake BuildRequires: dlt-libs-devel BuildRequires: systemd-devel BuildRequires: gcc-c++ BuildRequires: systemd %description The vsomeip stack implements the http://some-ip.com/ (Scalable service-Oriented MiddlewarE over IP (SOME/IP)) protocol. The stack consists out of: * a shared library for SOME/IP (libvsomeip3.so) * a second shared library for SOME/IP's service discovery (libvsomeip3-sd.so) which is loaded during runtime if the service discovery is enabled. %package devel Summary: Development files for %{name} Requires: %{name}%{?_isa} = %{version}-%{release} %description devel %{summary}. %package routingmanager Summary: Routingmanager daemon %{name} Requires: %{name}%{?_isa} = %{version}-%{release} Requires(pre): shadow-utils Requires: systemd %description routingmanager %{summary}. %package examples Summary: Examples for %{name} Requires: %{name}%{?_isa} = %{version}-%{release} %description examples %{summary}. %package tools Summary: Tools for %{name} Requires: %{name}%{?_isa} = %{version}-%{release} %description tools %{summary}. %package compat Summary: Compat libraries for vsomeip2 Requires: %{name}%{?_isa} = %{version}-%{release} %description compat %{summary}. %package compat-devel Summary: Development files for %{name}-compat Requires: %{name}-compat%{?_isa} = %{version}-%{release} %description compat-devel %{summary}. %prep %autosetup -n vsomeip-%{version} -p1 # For some reasons, some source files are executable, which messes # with debuginfo find -name "*.[ch]pp" | xargs chmod a-x %ldconfig_scriptlets %ldconfig_scriptlets compat %build %cmake \ -DENABLE_SIGNAL_HANDLING=OFF \ -DENABLE_CONFIGURATION_OVERLAYS=ON \ -DENABLE_COMPAT=ON \ -DVSOMEIP_INSTALL_ROUTINGMANAGERD=ON %cmake_build --target all --target vsomeip_ctrl --target examples --target hello_world_client --target hello_world_service %install %cmake_install # Install samples DESTDIR="%{buildroot}" %__cmake --install "%{__cmake_builddir}/examples" mkdir -p %{buildroot}%{_datadir}/vsomeip # Move sample config mv %{buildroot}%{_prefix}%{_sysconfdir}/vsomeip %{buildroot}%{_datadir}/vsomeip/examples for b in %{buildroot}%{_bindir}/*-sample %{buildroot}%{_bindir}/*hello_world*; do \ mv $b $(dirname $b)/vsomeip-$(basename $b); \ done # Home directory for the 'routingmanagerd' user mkdir -p $RPM_BUILD_ROOT/var/lib/routingmanagerd mkdir -p %{buildroot}%{_unitdir} install %{SOURCE1} %{buildroot}%{_unitdir}/ %pre routingmanager ## This creates the users that are needed for routingmanagerd getent group routingmanagerd >/dev/null || groupadd -r routingmanagerd getent passwd routingmanagerd >/dev/null || \ useradd -r -g routingmanagerd -d /var/lib/routingmanagerd -s /sbin/nologin \ -c "User for routingmanagerd" routingmanagerd exit 0 %files %doc AUTHORS CHANGES README.md %license LICENSE LICENSE_boost %{_libdir}/libvsomeip3.so.* %{_libdir}/libvsomeip3-*.so.* %files compat %doc AUTHORS CHANGES README.md %license LICENSE LICENSE_boost %{_libdir}/libvsomeip.so.* %files routingmanager %doc AUTHORS CHANGES README.md %license LICENSE LICENSE_boost %attr(755,routingmanagerd,routingmanagerd) %dir /var/lib/routingmanagerd %{_bindir}/routingmanagerd %{_unitdir}/routingmanagerd.service %files tools %doc AUTHORS CHANGES README.md %license LICENSE LICENSE_boost %{_bindir}/vsomeip_ctrl %files examples %doc AUTHORS CHANGES README.md %license LICENSE LICENSE_boost %{_bindir}/vsomeip-*-sample %{_bindir}/vsomeip-hello_world* # Example configurations: %{_datadir}/vsomeip %files compat-devel %doc AUTHORS CHANGES README.md %license LICENSE LICENSE_boost %{_includedir}/compat %{_libdir}/libvsomeip.so %{_libdir}/cmake/vsomeip %{_libdir}/pkgconfig/vsomeip.pc %files devel %doc AUTHORS CHANGES README.md %license LICENSE LICENSE_boost %{_includedir}/vsomeip %{_libdir}/libvsomeip3.so %{_libdir}/libvsomeip3-*.so %{_libdir}/cmake/vsomeip3 %{_libdir}/pkgconfig/vsomeip3.pc %changelog * Tue Mar 1 2022 Stephen Smoogen - 3.1.20.3-2 - Add systemd to BuildRequires - Update description to upstream text - add %license line * Thu Feb 24 2022 Stephen Smoogen - 3.1.20.3-1 - Begin work to make it 'valid' Fedora spec - Add gcc-c++ because it is needed post Fedora 3x - Update License to MPLv2.0 for rpmlint * Tue Feb 22 2022 Alexander Larsson - 3.1.20.3-1 - Initial version