%define i2pduser _i2pd
%define _i2pd_root %_sharedstatedir/%name
Name: i2pd
Version: 2.45.1
Release: alt1
Summary: Full C++ implementation of I2P router
License: BSD-3-Clause
Group: System/Servers
Url: https://github.com/PurpleI2P/i2pd
# Source0-git: https://github.com/PurpleI2P/i2pd.git
Source0: %name-%version.tar
Patch: %name-%version-upstream.patch
ExcludeArch: %ix86
Source1: %name.service
Source2: %name.logrotate
Source3: i2p.conf
Source4: tunnels.conf
Source5: %name.sysconfig
BuildRequires: rpm-build-intro rpm-macros-cmake
BuildRequires: gcc-c++ cmake libssl-devel boost-devel boost-filesystem-devel boost-program_options-devel boost-asio-devel libminiupnpc-devel zlib-devel
BuildRequires: /proc
%description
I2P router written in C++.
See documentation at https://i2pd.readthedocs.io/en/latest/
%prep
%setup
%patch -p1
%build
%ifarch %e2k
%add_optflags -mno-aes
%endif
export CXXFLAGS="%optflags"
pushd build
%cmake_insource \
-DCMAKE_BUILD_TYPE=Debug \
-DWITH_BINARY=ON \
-DWITH_LIBRARY=OFF \
-DWITH_STATIC=OFF \
-DWITH_UPNP=ON \
-DWITH_AESNI=OFF \
-DWITH_HARDENING=ON \
-DWITH_PCH=OFF \
-DCMAKE_INSTALL_PREFIX=%prefix \
.
%make_build
popd
%install
pushd build
%makeinstall_std
popd
# fix strange install
rm -rf %buildroot/%prefix/{LICENSE,lib/lib*.a,src/}
install -pDm 644 contrib/subscriptions.txt %buildroot%_sysconfdir/%name/subscriptions.txt
install -pDm 644 debian/%name.1 %buildroot%_man1dir/%name.1
install -pDm 644 %SOURCE1 %buildroot%_unitdir/%name.service
install -pDm 644 %SOURCE2 %buildroot%_sysconfdir/logrotate.d/%name
install -pDm 644 %SOURCE3 %buildroot%_sysconfdir/%name/i2p.conf
install -pDm 644 %SOURCE4 %buildroot%_sysconfdir/%name/tunnels.conf
install -pDm 644 %SOURCE5 %buildroot%_sysconfigdir/%name
mkdir -p %buildroot%_i2pd_root %buildroot%_datadir/%name/
cp -rav contrib/certificates %buildroot%_datadir/%name/
pushd %buildroot%_i2pd_root
ln -s $(relative %_sysconfdir/%name/i2p.conf %_i2pd_root/i2p.conf) i2p.conf
ln -s $(relative %_sysconfdir/%name/tunnels.conf %_i2pd_root/tunnels.conf) tunnels.conf
ln -s $(relative %_sysconfdir/%name/subscriptions.txt %_i2pd_root/subscriptions.txt) subscriptions.txt
popd
mkdir -p %buildroot%_logdir/%name
touch %buildroot%_logdir/%name/%name.log
%pre
/usr/sbin/groupadd -r -f %i2pduser
/usr/sbin/useradd -r -g %i2pduser -d %_i2pd_root -s /dev/null -c 'I2pd user' %i2pduser >/dev/null 2>&1 ||:
%post
%post_service %name
%preun
%preun_service %name
%files
%doc LICENSE README.md
%_bindir/%name
%_datadir/%name/
%_unitdir/%name.service
%_man1dir/%name.1.*
%ghost %attr(640,%i2pduser,adm) %_logdir/%name/%name.log
%config(noreplace) %_sysconfdir/logrotate.d/%name
# configs:
%defattr(640,root,%i2pduser,710)
%dir %_sysconfdir/%name/
%config(noreplace) %_sysconfigdir/%name
%config(noreplace) %_sysconfdir/%name/i2p.conf
%config(noreplace) %_sysconfdir/%name/tunnels.conf
%config(noreplace) %_sysconfdir/%name/subscriptions.txt
%defattr(640,root,%i2pduser,3770)
# root dir:
%_i2pd_root/
# log dir:
%dir %_logdir/%name/
%changelog
* Sun Jan 22 2023 Vitaly Lipatov <lav@altlinux.ru> 2.45.1-alt1
- new version 2.45.1 (with rpmrb script)
* Mon Dec 19 2022 Vitaly Lipatov <lav@altlinux.ru> 2.44.0-alt1
- new version 2.44.0 (with rpmrb script)
* Thu Aug 25 2022 Vitaly Lipatov <lav@altlinux.ru> 2.43.0-alt1
- new version 2.43.0 (with rpmrb script)
* Tue Jun 07 2022 Vitaly Lipatov <lav@altlinux.ru> 2.42.1-alt1
- new version 2.42.1 (with rpmrb script)
* Wed Feb 23 2022 Vitaly Lipatov <lav@altlinux.ru> 2.41.0-alt1
- new version 2.41.0 (with rpmrb script)
* Sun Dec 19 2021 Vitaly Lipatov <lav@altlinux.ru> 2.40.0-alt1
- new version 2.40.0 (with rpmrb script)
* Tue Jul 27 2021 Ilya Kurdyukov <ilyakurdyukov@altlinux.org> 2.38.0-alt2
- fixed build for Elbrus
* Mon Jun 07 2021 Vitaly Lipatov <lav@altlinux.ru> 2.38.0-alt1
- new version 2.38.0 (with rpmrb script)
* Fri Feb 05 2021 Vitaly Lipatov <lav@altlinux.ru> 2.35.0-alt1
- new version 2.35.0 (with rpmrb script)
* Wed Sep 02 2020 Vitaly Lipatov <lav@altlinux.ru> 2.33.0-alt1
- new version 2.33.0 (with rpmrb script)
* Fri Aug 21 2020 Vitaly Lipatov <lav@altlinux.ru> 2.32.1-alt1
- new version 2.32.1 (with rpmrb script)
* Fri May 29 2020 Vitaly Lipatov <lav@altlinux.ru> 2.31.0-alt1
- new version 2.31.0 (with rpmrb script)
* Sun Mar 01 2020 Vitaly Lipatov <lav@altlinux.ru> 2.30.0-alt1
- new version 2.30.0 (with rpmrb script)
* Sun Jan 26 2020 Vitaly Lipatov <lav@altlinux.ru> 2.29.0-alt1
- new version 2.29.0 (with rpmrb script)
* Sat Sep 07 2019 Vitaly Lipatov <lav@altlinux.ru> 2.28.0-alt1
- new version 2.28.0 (with rpmrb script)
* Fri Aug 16 2019 Vitaly Lipatov <lav@altlinux.ru> 2.27.0-alt1
- new version 2.27.0 (with rpmrb script)
* Tue Jun 18 2019 Vitaly Lipatov <lav@altlinux.ru> 2.26.0-alt1
- new version 2.26.0 (with rpmrb script)
* Thu May 30 2019 Vitaly Lipatov <lav@altlinux.ru> 2.25.0-alt1
- new version 2.25.0 (with rpmrb script)
* Thu Apr 11 2019 Vitaly Lipatov <lav@altlinux.ru> 2.24.0-alt1
- new version 2.24.0 (with rpmrb script)
* Mon Dec 17 2018 Vitaly Lipatov <lav@altlinux.ru> 2.22.0-alt1
- new version 2.22.0 (with rpmrb script)
* Wed Aug 29 2018 Grigory Ustinov <grenka@altlinux.org> 2.18.0-alt1.2
- NMU: Rebuild with new openssl 1.1.0.
* Thu May 31 2018 Aleksei Nikiforov <darktemplar@altlinux.org> 2.18.0-alt1.1
- NMU: rebuilt with boost-1.67.0
* Mon Feb 05 2018 Vitaly Lipatov <lav@altlinux.ru> 2.18.0-alt1
- new version 2.18.0 (with rpmrb script)
* Mon Oct 23 2017 Vitaly Lipatov <lav@altlinux.ru> 2.15.0-alt1
- new version 2.15.0 (with rpmrb script)
- fix daemon args
* Mon Oct 23 2017 Vitaly Lipatov <lav@altlinux.ru> 2.14.0-alt2
- add /etc/sysconfig/i2pd support
* Mon Jun 05 2017 Vitaly Lipatov <lav@altlinux.ru> 2.14.0-alt1
- new version 2.14.0 (with rpmrb script)
* Sun May 28 2017 Vitaly Lipatov <lav@altlinux.ru> 2.13.0-alt1
- new version (2.13.0) with rpmgs script
* Thu Jan 28 2016 Terechkov Evgenii <evg@altlinux.org> 2.3.0-alt4
- git-20160128
* Tue Jan 26 2016 Terechkov Evgenii <evg@altlinux.org> 2.3.0-alt3
- Fix daemon logging (with patch)
* Sun Jan 24 2016 Terechkov Evgenii <evg@altlinux.org> 2.3.0-alt2
- Pack as system-wide service
* Fri Jan 22 2016 Terechkov Evgenii <evg@altlinux.org> 2.3.0-alt1
- Initial build for ALT Linux Sisyphus