%undefine __cmake_in_source_build
%global debian_release 1
Name: apt-cacher-ng
Version: 3.7.4
Release: 8%{?dist}
Summary: Caching proxy for package files from Debian
License: BSD-4-Clause
URL: http://www.unix-ag.uni-kl.de/~bloch/acng/
Source0: http://ftp.debian.org/debian/pool/main/a/apt-cacher-ng/%{name}_%{version}.orig.tar.xz
Source1: http://ftp.debian.org/debian/pool/main/a/apt-cacher-ng/%{name}_%{version}-%{debian_release}.debian.tar.xz
Source2: %{name}.conf
Source3: %{name}.rpmlintrc
# Purpose: versioning the private shared library to comply with Fedora Policy
Patch0: supacng.patch
BuildRequires: gcc-c++
BuildRequires: zlib-devel
BuildRequires: bzip2-devel
BuildRequires: xz-devel
BuildRequires: fuse-devel
BuildRequires: cmake
BuildRequires: openssl-devel
BuildRequires: boost-devel
BuildRequires: systemd
BuildRequires: systemd-devel
BuildRequires: libevent-devel
BuildRequires: c-ares-devel
BuildRequires: perl-generators
Requires(post): systemd
Requires(preun): systemd
Requires(postun): systemd
Requires: crontabs
Requires: logrotate
Requires: xz
%description
A caching proxy. Specialized for package files from Linux distributors,
primarily for Debian (and Debian based) distributions.
%prep
%autosetup -p1
tar xfvJ %{SOURCE1}
# Replace all instances of /usr/lib/apt-cacher-ng/ with /usr/libexec/apt-cacher-ng/
find debian -type f -exec sed -i "s#/usr/lib/apt-cacher-ng#/usr/libexec/apt-cacher-ng#g" '{}' \;
# Fix this here until UsrMerge is done in Debian too (which will take forever)
sed -i "s#/lib/systemd/system#/usr/lib/systemd/system#" systemd/CMakeLists.txt
%build
%cmake -DLIBDIR=%{_libexecdir}/%{name} -DSDINSTALL=on -DACNG_CACHE_DIR=%{_var}/cache/%{name} -DACNG_LOG_DIR=%{_var}/log/%{name}
sed -i 's/HAVE_STRLCPY/HAVE_STRLCPY 1/' */acsyscap.h
%cmake_build
%install
%cmake_install
# we do not want an unversioned .so or a -devel package
rm -vf %{buildroot}%{_libdir}/libsupacng.so
## install extra scripts
mkdir -p %{buildroot}%{_libexecdir}/%{name}/
install -pm 0755 scripts/*.pl %{buildroot}%{_libexecdir}/%{name}/
## add useful content from Debian packaging
mkdir -p %{buildroot}%{_sysconfdir}/cron.daily
install -D -pm 0755 debian/apt-cacher-ng.cron.daily %{buildroot}%{_sysconfdir}/cron.daily/%{name}
install -D -pm 0644 debian/apt-cacher-ng.default %{buildroot}%{_sysconfdir}/default/%{name}
mkdir -p %{buildroot}%{_sysconfdir}/logrotate.d
install -D -pm 0644 debian/apt-cacher-ng.logrotate %{buildroot}%{_sysconfdir}/logrotate.d/%{name}
mkdir -p %{buildroot}/%{_sysusersdir}/
install -pm 644 %{SOURCE2} %{buildroot}/%{_sysusersdir}/%{name}.conf
mkdir -p %{buildroot}%{_var}/cache/%{name}
mkdir -p %{buildroot}%{_var}/lib/%{name}
mkdir -p %{buildroot}%{_var}/log/%{name}
# without this I would only get 404 for every single request
sed -i '/^Remap-debrep/s/;/# ;/' %{buildroot}%{_sysconfdir}/apt-cacher-ng/acng.conf
sed -i '/^Remap-uburep/s/;/# ;/' %{buildroot}%{_sysconfdir}/apt-cacher-ng/acng.conf
sed -i '/^Remap-kxlrep/s/;/# ;/' %{buildroot}%{_sysconfdir}/apt-cacher-ng/acng.conf
# https://fedoraproject.org/wiki/Changes/Deprecate_TCP_wrappers
# Warning: configured to use libwrap filters but feature is not built-in.
# --> this is lekely a bug upstream
sed -i 's/^# UseWrap: 0/UseWrap: 0/' %{buildroot}%{_sysconfdir}/apt-cacher-ng/acng.conf
%pre
%post
%sysusers_create %{name}.conf
%tmpfiles_create %{name}.conf
chown -R %{name}:%{name} /var/log/%{name}/
chown -R %{name}:%{name} /var/cache/%{name}/
chown -R %{name}:%{name} /run/%{name}/
%systemd_post %{name}.service
%preun
%systemd_preun %{name}.service
%postun
%systemd_postun_with_restart %{name}.service
%files
%license COPYING
%{_docdir}/%{name}/
%dir %{_var}/lib/%{name}/
%attr(755,%{name},%{name}) %dir %{_var}/log/%{name}/
%attr(755,%{name},%{name}) %dir %{_var}/cache/%{name}/
%exclude %{_sysconfdir}/avahi/services/%{name}.service
%config(noreplace) %{_sysconfdir}/apt-cacher-ng/
%config(noreplace) %{_sysconfdir}/cron.daily/%{name}
%config(noreplace) %{_sysconfdir}/default/%{name}
%config(noreplace) %{_sysconfdir}/logrotate.d/%{name}
%ghost %attr(755,%{name},%{name}) %dir %{_rundir}/%{name}
%{_unitdir}/%{name}.service
%{_sysusersdir}/%{name}.conf
%{_tmpfilesdir}/%{name}.conf
%{_libexecdir}/%{name}/
%{_libdir}/libsupacng.so*
%{_sbindir}/apt-cacher-ng
%{_mandir}/man8/*
%changelog
* Mon Jan 22 2024 Fedora Release Engineering <releng@fedoraproject.org> - 3.7.4-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Fri Jan 19 2024 Fedora Release Engineering <releng@fedoraproject.org> - 3.7.4-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Fri Jul 28 2023 Alexandre Detiste <alexandre.detiste@gmail.com> - 3.7.4-6
- Fix failure to build to a change in CMake (rhbz 2225704)
* Wed Jul 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 3.7.4-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
* Tue Jan 24 2023 Alexandre Detiste <alexandre.detiste@gmail.com> - 3.7.4-5
- Fix clean install without needing a reboot (upgrade was already OK)
* Wed Jan 18 2023 Fedora Release Engineering <releng@fedoraproject.org> - 3.7.4-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Mon Jan 16 2023 Jitka Plesnikova <jplesnik@redhat.com> - 3.7.4-3
- Add BR perl-generators
* Sun Jan 15 2023 Jitka Plesnikova <jplesnik@redhat.com> - 3.7.4-2
- Drop perl(:MODULE_COMPAT_XXX) dependency
(https://fedoraproject.org/wiki/Changes/Perl_replace_MODULE_COMPAT_by_generator)
* Fri Dec 23 2022 Alexandre Detiste <alexandre.detiste@gmail.com> - 3.7.4-1
- New upstream release
- Workaround some remapping bug
https://salsa.debian.org/blade/apt-cacher-ng/-/issues/13
- Re-create /run/apt-cacher-ng on boot. (Bugs #1734712, #1738884, #1500085)
- Depends on "xz" for cron job
- Fix 404 error on http://localhost:3142/acng-doc/html/index.html
[Jonathan Wright]
- use a versionned libsupacng.so
* Thu Jan 14 2021 Frédéric Pierret <frederic.pierret@qubes-os.org> - 3.5-2
- Refactor installation stage to use cmake_install macro.
- Temporarly workaround libsupacng missing buildid
* Wed Jan 13 2021 Frédéric Pierret <frederic.pierret@qubes-os.org> - 3.5-1
- update to 3.5-3
* Wed Jul 24 2019 Fedora Release Engineering <releng@fedoraproject.org> - 3.1-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Thu Jan 31 2019 Fedora Release Engineering <releng@fedoraproject.org> - 3.1-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Sun Jul 29 2018 Kenjiro Nakayama <knakayam@redhat.com> - 3.1-4
- Fix 1609197 - apt-cacher-ng service is running in wrong permissions
* Mon Dec 04 2017 Kenjiro Nakayama <knakayam@redhat.com> - 3.1-1
- update to 3.1
* Thu Jul 06 2017 Kenjiro Nakayama <knakayam@redhat.com> - 3-1
- update to 3
* Sat Jan 30 2016 Kenjiro Nakayama <knakayam@redhat.com> - 0.8.9-1
- update to 0.8.9
* Tue Dec 29 2015 Kenjiro Nakayama <knakayam@redhat.com> - 0.8.8-1
- update to 0.8.8
* Thu May 07 2015 Kenjiro Nakayama <knakayam@redhat.com> - 0.8.3-1
- update to 0.8.3
* Tue Jan 27 2015 Kenjiro Nakayama <knakayam@redhat.com> - 0.8.0-1
- update to 0.8.0
* Wed Jun 25 2014 Kenjiro Nakayama <knakayam@redhat.com> - 0.7.26-2
- update to 0.7.26 fixed XSS vulnerability (rhbz 1111808)
* Fri Mar 14 2014 Kenjiro Nakayama <knakayam@redhat.com> - 0.7.25-3
- update to 0.7.25
- fix spec file.
* Fri May 17 2013 Warren Togami <wtogami@gmail.com> - 0.7.11-3
- systemd service script
- license