%global forgeurl https://github.com/PurpleI2P/i2pd %global version 2.56.0 %global commit bf050ac465ab2780f96c1aff3b557ad188b449ec %global date 20250223 %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 '8i cmake_policy(VERSION ${CMAKE_VERSION})' %{_vpath_srcdir}/CMakeLists.txt %build %cmake \ -DWITH_HARDENING=ON \ -DWITH_LIBRARY=OFF \ -DWITH_UPNP=OFF \ -DBUILD_SHARED_LIBS:BOOL=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 %{SOURCE1} %{buildroot}%{_sysusersdir}/%{name}.conf %__install -p -D -m 644 contrib/%{name}.logrotate %{buildroot}%{_sysconfdir}/logrotate.d/%{name} %__install -p -D -m 644 -t %{buildroot}%{_pkgdocdir} %{SOURCE2} README.md contrib/tunnels.d/*.conf %__install -p -D -m 644 -t %{buildroot}%{_sysconfdir}/%{name} contrib/*.conf contrib/*.txt %__cp -f -r contrib/certificates %{buildroot}%{_datadir}/%{name} %__ln_s -f ../../..%{_datadir}/%{name}/certificates \ %{buildroot}%{_sharedstatedir}/%{name}/certificates %__ln_s -f ../../..%{_sysconfdir}/%{name}/subscriptions.txt \ %{buildroot}%{_sharedstatedir}/%{name}/subscriptions.txt %pre %sysusers_create_compat %{SOURCE1} %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/*