%global web_version 6.5 %global ftl_version 6.6.2 %global ftl_tag v%{ftl_version} %global core_branch master+rpm %global web_branch master+rpm %global ftl_branch master+rpm %global core_hash 3413768c+rpm %global web_hash 7a17e01c+rpm %global ftl_hash 82c58cc4+rpm %global ftl_commit_date 2026-05-11 21:37:56 +0200 %global _vpath_srcdir FTL-%{ftl_version} %global release ftl%{ftl_version}.web%{web_version}.rev0 Name: pihole Version: 6.4.2 Release: %{release}%{?dist} Summary: Network-wide ad blocking with Pi-hole FTL, CLI, and web UI License: EUPL-1.2 URL: https://pi-hole.net/ Source0: https://github.com/pi-hole/pi-hole/archive/refs/tags/v%{version}.tar.gz#/core-v%{version}.tar.gz Source1: https://github.com/pi-hole/web/archive/refs/tags/v%{web_version}.tar.gz#/web-v%{web_version}.tar.gz Source2: https://github.com/pi-hole/FTL/archive/refs/tags/v%{ftl_version}.tar.gz#/FTL-v%{ftl_version}.tar.gz Source3: https://www.wireshark.org/download/automated/data/manuf.gz Source4: sysusers.conf Patch0: pihole-rpm.patch Patch1: pihole-rpm-ftl.patch Patch2: pihole-rpm-fhs.patch Patch3: pihole-rpm-openssl.patch Patch4: pihole-upstream-backport.patch ExclusiveArch: x86_64 aarch64 riscv64 BuildRequires: cmake BuildRequires: dbus-devel BuildRequires: gcc BuildRequires: gmp-devel BuildRequires: libnetfilter_conntrack-devel BuildRequires: make BuildRequires: nettle-devel BuildRequires: nftables-devel BuildRequires: openssl-devel BuildRequires: python3 BuildRequires: libidn2-devel BuildRequires: libunistring-devel BuildRequires: readline-devel BuildRequires: systemd-rpm-macros BuildRequires: xxd Requires: bash Requires: bash-completion Requires: bind-utils Requires: ca-certificates Requires: crontabs Requires: curl Requires: findutils Requires: gawk Requires: grep Requires: iproute Requires: jq Requires: logrotate Requires: lshw Requires: procps-ng Requires: psmisc Requires: sudo Requires: systemd Requires: unzip Requires(pre): shadow-utils Requires(post): systemd Requires(preun): systemd Requires(postun): systemd Suggests: padd %description Pi-hole is a network-wide DNS sinkhole that blocks unwanted content across devices on your network. This RPM bundles the Pi-hole CLI, the web interface, and the Pi-hole FTL daemon into a single installable package for RPM-based systems. This packaged build is managed through the system package manager. Pi-hole's upstream self-update, repair, checkout, and uninstall flows are disabled. %prep %setup -q -n pi-hole-%{version} tar -xzf %{SOURCE1} tar -xzf %{SOURCE2} %patch -P 4 -p1 %patch -P 0 -p1 %patch -P 1 -p1 -d FTL-%{ftl_version} %patch -P 2 -p1 %patch -P 3 -p1 -d FTL-%{ftl_version} %build export GIT_BRANCH=%{ftl_branch} export GIT_HASH=%{ftl_hash} export GIT_VERSION=%{ftl_tag} export GIT_DATE='%{ftl_commit_date}' export GIT_TAG=%{ftl_tag} %cmake %cmake_build # Generates macvendor.db from manuf file, outputted to working directory %{__python3} %{_vpath_srcdir}/tools/macvendor.py %{SOURCE3} %install %cmake_install install -d %{buildroot}%{_libexecdir}/pihole install -d %{buildroot}%{_sysconfdir}/cron.d install -d %{buildroot}%{_sysconfdir}/pihole/hosts install -d %{buildroot}%{_sharedstatedir}/pihole install -d %{buildroot}%{_localstatedir}/log/pihole install -d %{buildroot}%{_datadir}/pihole install -d %{buildroot}%{_datadir}/pihole/www install -d %{buildroot}%{_datadir}/pihole/www/admin install -d %{buildroot}%{_datadir}/pihole/database_migration install -d %{buildroot}%{_licensedir}/%{name} install -D -m 0755 pihole %{buildroot}%{_bindir}/pihole install -m 0755 gravity.sh %{buildroot}%{_libexecdir}/pihole/ install -m 0755 advanced/Scripts/*.sh %{buildroot}%{_libexecdir}/pihole/ install -m 0644 advanced/Scripts/COL_TABLE %{buildroot}%{_libexecdir}/pihole/COL_TABLE rm -f %{buildroot}%{_libexecdir}/pihole/piholeCheckout.sh rm -f %{buildroot}%{_libexecdir}/pihole/updatecheck.sh rm -f %{buildroot}%{_libexecdir}/pihole/update.sh install -D -m 0755 advanced/Templates/pihole-FTL-prestart.sh %{buildroot}%{_libexecdir}/pihole/pihole-FTL-prestart.sh install -D -m 0755 advanced/Templates/pihole-FTL-poststop.sh %{buildroot}%{_libexecdir}/pihole/pihole-FTL-poststop.sh install -D -m 0644 advanced/Templates/pihole-FTL.systemd %{buildroot}%{_unitdir}/pihole-FTL.service install -D -m 0644 advanced/Templates/pihole.cron %{buildroot}%{_sysconfdir}/cron.d/pihole install -D -m 0644 advanced/Templates/logrotate %{buildroot}%{_sysconfdir}/logrotate.d/pihole.conf install -D -m 0644 advanced/Templates/gravity.db.sql %{buildroot}%{_datadir}/pihole/gravity.db.sql install -D -m 0644 advanced/Templates/gravity_copy.sql %{buildroot}%{_datadir}/pihole/gravity_copy.sql install -D -m 0755 advanced/Scripts/database_migration/gravity-db.sh %{buildroot}%{_datadir}/pihole/database_migration/gravity-db.sh cp -a advanced/Scripts/database_migration/gravity %{buildroot}%{_datadir}/pihole/database_migration/ install -D -m 0644 macvendor.db %{buildroot}%{_datadir}/pihole/macvendor.db install -D -m 0644 advanced/bash-completion/pihole.bash %{buildroot}%{_datadir}/bash-completion/completions/pihole install -D -m 0644 advanced/bash-completion/pihole-ftl.bash %{buildroot}%{_datadir}/bash-completion/completions/pihole-FTL install -D -m 0644 manpages/pihole.8 %{buildroot}%{_mandir}/man8/pihole.8 cp -a web-%{web_version}/. %{buildroot}%{_datadir}/pihole/www/admin/ rm -rf %{buildroot}%{_datadir}/pihole/www/admin/.devcontainer rm -rf %{buildroot}%{_datadir}/pihole/www/admin/.github rm -f %{buildroot}%{_datadir}/pihole/www/admin/.codespellignore rm -f %{buildroot}%{_datadir}/pihole/www/admin/.editorconfig rm -f %{buildroot}%{_datadir}/pihole/www/admin/.gitattributes rm -f %{buildroot}%{_datadir}/pihole/www/admin/.gitignore rm -f %{buildroot}%{_datadir}/pihole/www/admin/CONTRIBUTING.md rm -f %{buildroot}%{_datadir}/pihole/www/admin/README.md rm -f %{buildroot}%{_datadir}/pihole/www/admin/package.json rm -f %{buildroot}%{_datadir}/pihole/www/admin/package-lock.json rm -f %{buildroot}%{_datadir}/pihole/www/admin/postcss.config.js rm -f %{buildroot}%{_datadir}/pihole/www/admin/xo.config.js install -D -m 0644 LICENSE %{buildroot}%{_licensedir}/%{name}/core-LICENSE install -D -m 0644 web-%{web_version}/LICENSE %{buildroot}%{_licensedir}/%{name}/web-LICENSE install -D -m 0644 FTL-%{ftl_version}/LICENSE %{buildroot}%{_licensedir}/%{name}/ftl-LICENSE install -D -m 0644 %{SOURCE4} %{buildroot}%{_sysusersdir}/pihole.conf cat > %{buildroot}%{_sysconfdir}/pihole/versions < - 6.4.2-ftl6.6.2.web6.5.rev0 - FTL hotfix 6.6.2 * Fri Apr 24 2026 darkexplosiveqwx <101737077+darkexplosiveqwx@users.noreply.github.com> - 6.4.2-1 - Update to Core v6.4.2 and FTL v6.6.1. No new Web version was released. * Tue Apr 07 2026 darkexplosiveqwx <101737077+darkexplosiveqwx@users.noreply.github.com> - 6.4.1-1 - Initial RPM packaging for Pi-hole core v6.4.1, web v6.5, and FTL v6.6 - Fixup core to be FHS-compliant - Disable upstream update functions