%global forgeurl https://github.com/PurpleI2P/i2pd %global version 2.56.0 %global commit 9fdbb14075c57e6c9baa5e0df0869d011448c90e %global date 20250321 %global _vpath_srcdir build %global source_date_epoch_from_changelog 0 %forgemeta Name: i2pd Version: %{forgeversion} Release: %{autorelease} Summary: I2P anonymous network License: BSD-3-Clause URL: https://i2pd.website/ Source0: %{forgesource} Source1: %{name}.sysusers Source2: %{name}.howto BuildRequires: cmake BuildRequires: gcc-g++ BuildRequires: chrpath BuildRequires: zlib-devel BuildRequires: boost-devel BuildRequires: openssl-devel BuildRequires: systemd-rpm-macros Requires: logrotate %description I2P is an anonymous overlay network. This software implementation is written in C++. %prep %forgesetup %__sed -i -e 's/^#//' contrib/tunnels.d/*.conf %__sed -i -e '9i CapabilityBoundingSet=CAP_NET_ADMIN CAP_NET_BIND_SERVICE' \ contrib/%{name}.service %__sed -i -e '1,7{/^/d};8i cmake_minimum_required(VERSION ${CMAKE_VERSION})' \ %{_vpath_srcdir}/CMakeLists.txt %build %cmake \ -DWITH_HARDENING=ON \ -DWITH_LIBRARY=OFF %cmake_build chrpath -d redhat-linux-build/%{name} %install %__install -p -d -m 755 %{buildroot}%{_sysconfdir}/%{name}/tunnels.conf.d %__install -p -d -m 755 %{buildroot}%{_datadir}/%{name} %__install -p -d -m 700 %{buildroot}%{_sharedstatedir}/%{name} %__install -p -d -m 700 %{buildroot}%{_localstatedir}/log/%{name} %__install -p -D -m 755 -t %{buildroot}%{_bindir} redhat-linux-build/%{name} %__install -p -D -m 644 -t %{buildroot}%{_mandir}/man1 debian/%{name}.1 %__install -p -D -m 644 -t %{buildroot}%{_unitdir} contrib/%{name}.service %__install -p -D -m 644 -t %{buildroot}%{_sysconfdir}/%{name} contrib/*.conf %__install -p -D -m 644 -t %{buildroot}%{_pkgdocdir} %{SOURCE2} README.md \ contrib/subscriptions.txt contrib/tunnels.d/*.conf %__install -p -D -m 644 %{SOURCE1} %{buildroot}%{_sysusersdir}/%{name}.conf %__install -p -D -m 644 contrib/%{name}.logrotate \ %{buildroot}%{_sysconfdir}/logrotate.d/%{name} %__cp -f -r contrib/certificates %{buildroot}%{_datadir}/%{name} %__ln_s -f -T ../../..%{_datadir}/%{name}/certificates \ %{buildroot}%{_sharedstatedir}/%{name}/certificates %post %systemd_post %{name}.service %preun %systemd_preun %{name}.service %postun %systemd_postun_with_restart %{name}.service %files %license LICENSE %doc %{_pkgdocdir} %dir %attr(-,%{name},%{name}) %{_sharedstatedir}/* %dir %attr(-,%{name},%{name}) %{_localstatedir}/log/* %config(noreplace) %{_sysconfdir}/%{name} %config(noreplace) %{_sysconfdir}/logrotate.d/* %{_datadir}/%{name} %{_sharedstatedir}/%{name}/* %{_sysusersdir}/* %{_unitdir}/* %{_bindir}/* %{_mandir}/man1/*