Name: i2pd Version: 2.58.0 Release: %{autorelease} Summary: End-to-End encrypted and anonymous internet License: BSD-3-Clause URL: https://i2pd.website/ Source0: https://github.com/PurpleI2P/i2pd/archive/%{version}/i2pd-%{version}.tar.gz BuildRequires: cmake BuildRequires: chrpath BuildRequires: gcc-c++ BuildRequires: zlib-devel BuildRequires: boost-devel BuildRequires: openssl-devel BuildRequires: miniupnpc-devel BuildRequires: systemd-units Requires: logrotate Requires: systemd Requires(pre): %{_sbindir}/useradd %{_sbindir}/groupadd %description i2pd (I2P Daemon) is a full-featured C++ implementation of I2P client. I2P (Invisible Internet Protocol) is a universal anonymous network layer. All communications over I2P are anonymous and end-to-end encrypted, participants don't reveal their real IP addresses. I2P client is a software used for building and using anonymous I2P networks. Such networks are commonly used for anonymous peer-to-peer applications (filesharing, cryptocurrencies) and anonymous client-server applications (websites, instant messengers, chat-servers). I2P allows people from all around the world to communicate and share information without restrictions. %prep %autosetup -n i2pd-%{version} %build pushd build %cmake -DWITH_LIBRARY=OFF \ -DWITH_UPNP=ON \ -DWITH_HARDENING=ON \ -DBUILD_SHARED_LIBS:BOOL=ON %cmake_build popd %install pushd build %cmake_install popd ls ls contrib install -d -m 700 %{buildroot}%{_localstatedir}/log/i2pd install -Dp -m 644 contrib/i2pd.conf \ %{buildroot}%{_sysconfdir}/i2pd/i2pd.conf install -Dp -m 644 contrib/subscriptions.txt \ %{buildroot}%{_sysconfdir}/i2pd/subscriptions.txt install -Dp -m 644 contrib/tunnels.conf \ %{buildroot}%{_sysconfdir}/i2pd/tunnels.conf install -Dp -m 644 contrib/i2pd.logrotate \ %{buildroot}%{_sysconfdir}/logrotate.d/i2pd install -Dp -m 644 contrib/i2pd.service \ %{buildroot}%{_unitdir}/i2pd.service install -Dp -m 644 debian/i2pd.1 \ %{buildroot}%{_mandir}/man1/i2pd.1 install -d -m 700 %{buildroot}%{_datadir}/i2pd/ cp -r contrib/certificates/ \ %{buildroot}%{_datadir}/i2pd/certificates install -d -m 700 %{buildroot}%{_sysconfdir}/i2pd cp -r contrib/tunnels.d/ \ %{buildroot}%{_sysconfdir}/i2pd/tunnels.conf.d install -d -m 700 %{buildroot}%{_sharedstatedir}/i2pd/ ln --symbolic --relative %{buildroot}%{_datadir}/%{name}/certificates \ %{buildroot}%{_sharedstatedir}/i2pd/certificates %check pushd build %ctest popd %pre getent group i2pd >/dev/null || %{_sbindir}/groupadd -r i2pd getent passwd i2pd >/dev/null || \ %{_sbindir}/useradd -r -g i2pd -s %{_sbindir}/nologin \ -d %{_sharedstatedir}/i2pd -c 'I2P Service' i2pd %post %systemd_post i2pd.service %preun %systemd_preun i2pd.service %postun %systemd_postun_with_restart i2pd.service %files %license LICENSE %doc README.md %doc contrib/i2pd.conf %doc contrib/subscriptions.txt %doc contrib/tunnels.conf %doc contrib/tunnels.d %{_bindir}/i2pd %dir %{_sysconfdir}/i2pd %config(noreplace) %{_sysconfdir}/i2pd/i2pd.conf %config(noreplace) %{_sysconfdir}/i2pd/tunnels.conf %dir %{_sysconfdir}/i2pd/tunnels.conf.d/ %config(noreplace) %{_sysconfdir}/i2pd/tunnels.conf.d/*.conf %config %{_sysconfdir}/i2pd/subscriptions.txt %doc %{_sysconfdir}/i2pd/tunnels.conf.d/README %{_sysconfdir}/logrotate.d/i2pd %{_unitdir}/i2pd.service %{_mandir}/man1/i2pd.1* %dir %attr(0700,i2pd,i2pd) %{_sharedstatedir}/i2pd %dir %attr(0700,i2pd,i2pd) %{_localstatedir}/log/i2pd %{_datadir}/i2pd/certificates %{_sharedstatedir}/i2pd/certificates %changelog %autochangelog