Sign Up
Log In
Sign Up
Username:
*
Email:
*
Password:
*
Password confirmation:
*
or
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
Web
pi-hole
pi-hole.spec
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File pi-hole.spec of Package pi-hole
# # spec file for package pi-hole # # Copyright (c) 2020 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. # # Please submit bugfixes or comments via http://bugs.opensuse.org/ # # TODO: There is systemd service to use /etc/pihole/logrotate file, but probably it should just be copied to /etc/logrotate.d? Name: pi-hole Version: 5.17.3 %define real_name pihole #%%define real_version 5.2.1 %define real_version %(echo "%{version}" | sed -r 's/v(.*)/\\1/') %define real_nameversion %{name}-%{real_version} Release: 0 Summary: A black hole for Internet advertisements License: EUPL-1.1 # TODO: check what group would be better Group: Productivity/Networking/Other Url: https://pi-hole.net/ Source0: %{name}-%{version}.tar.gz Source1: %{name}-logrotate.service Source2: %{name}-logrotate.timer Source3: %{name}-updategravity.service Source4: %{name}-updategravity.timer Source5: system-user-%{real_name}.conf # Instead of generating the config with basic-install.sh, just allow user to configure it as needed. Source6: setupVars.conf # The adlists.list file is created from basic-install.sh script Source7: adlists.list # dns-servers.conf seems to be needed at least by AdminLTE, for configuration. Source8: dns-servers.conf Source9: sysconfig.pihole Source10: config.pihole.rb Source11: dnsmasq.conf #PATCH-FIX-OPENSUSE pihole-script-cleanups.patch -- Various fixes for the bash scripts for use in openSUSE. Patch0: %{real_name}-script-cleanups.patch #PATCH-FIX-OPENSUSE pihole-disable-features.patch -- Disable pihole features: reconfigure, admin, update, uninstall and checkout. Patch1: %{real_name}-disable-features.patch # TODO: try to submit to upstream Patch2: configurable-log-paths.patch # TODO: I'm not sure what to do with this one, but I really see the default behaviour surprising and bad... It’s not how people expect logrotate to work. Patch3: no-default-flush-method.patch # TODO: try to submit to upstream Patch5: fix-pihole-FTL.conf-path.patch # TODO: ask if upstream is willing to consider this (or at least device some kind of workaround) Patch6: disable-sudo-need.patch Patch7: fix_pihole_script_dir.patch Patch8: fix_pihole_arp_table_script.patch Patch9: gravity_database.patch BuildRequires: sysuser-tools # gravity.sh database. Requires: sqlite3 Requires(post): %fillup_prereq Requires: user(%{real_name}) # TODO: add requires for group too? BuildRoot: %{_tmppath}/%{name}-%{real_version}-build BuildArch: noarch %description The Pi-hole® is a DNS sinkhole that protects your devices from unwanted content, without installing any client-side software. * Easy-to-install: our versatile installer walks you through the process, and takes less than ten minutes * Resolute: content is blocked in non-browser locations, such as ad-laden mobile apps and smart TVs * Responsive: seamlessly speeds up the feel of everyday browsing by caching DNS queries * Lightweight: runs smoothly with minimal hardware and software requirements * Robust: a command line interface that is quality assured for interoperability * Insightful: a beautiful responsive Web Interface dashboard to view and control your Pi-hole * Versatile: can optionally function as a DHCP server, ensuring all your devices are protected automatically * Scalable: capable of handling hundreds of millions of queries when installed on server-grade hardware * Modern: blocks ads over both IPv4 and IPv6 * Free: open source software which helps ensure you are the sole person in control of your privacy %package -n system-user-%{real_name} Summary: System user and group %{real_name} %if %{with systemd} %{?sysusers_requires} %endif %description -n system-user-%{real_name} System user and group used by pi-hole %prep %setup -q -n %{real_nameversion} %patch0 -p1 %patch1 -p1 %patch2 -p1 %patch3 -p1 %patch5 -p1 %patch6 -p1 %patch7 -p1 %patch8 -p1 %patch9 -p1 # Have logs in /var/log/pihole dir. sed -i "s|log-facility=/var/log/pihole.log|log-facility=/var/log/pihole/dnsmasq.log|" advanced/01-%{real_name}.conf sed -i "s|/var/log/pihole.log|/var/log/pihole/dnsmasq.log|" advanced/Templates/logrotate sed -i "s|/var/log/pihole-FTL.log|/var/log/pihole/pihole-FTL.log|" advanced/Templates/logrotate sed -i "s|#!/usr/bin/env bash|#!/bin/bash|" pihole sed -i "s|#!/usr/bin/env sh|#!/bin/sh|" advanced/Scripts/utils.sh %build %sysusers_generate_pre %{SOURCE5} %{real_name} %pre -n system-user-%{real_name} -f %{real_name}.pre %pre %service_add_pre pi-hole-logrotate.service pi-hole-updategravity.service %post %fillup_only -n pihole %service_add_post pi-hole-logrotate.service pi-hole-updategravity.service %preun %service_del_preun pi-hole-logrotate.service pi-hole-updategravity.service %postun %service_del_postun pi-hole-logrotate.service pi-hole-updategravity.service %install # Manual install of Pi-hole scripts, configs and man pages install -Dm0755 %{real_name} %{buildroot}%{_bindir}/%{real_name} install -Dm0755 %{S:10} %{buildroot}%{_bindir}/config.%{real_name} mkdir -p %{buildroot}%{_datadir}/%{name} install -Dm0644 advanced/Scripts/COL_TABLE %{buildroot}%{_datadir}/%{name}/COL_TABLE install -Dm0755 advanced/Scripts/chronometer.sh %{buildroot}%{_datadir}/%{name}/chronometer.sh install -Dm0755 gravity.sh %{buildroot}%{_datadir}/%{name}/gravity.sh install -Dm0755 advanced/Scripts/list.sh %{buildroot}%{_datadir}/%{name}/list.sh install -Dm0755 advanced/Scripts/%{real_name}Debug.sh %{buildroot}%{_datadir}/%{name}/%{real_name}Debug.sh install -Dm0755 advanced/Scripts/%{real_name}LogFlush.sh %{buildroot}%{_datadir}/%{name}/%{real_name}LogFlush.sh install -Dm0755 advanced/Scripts/query.sh %{buildroot}%{_datadir}/%{name}/query.sh install -Dm0755 advanced/Scripts/utils.sh %{buildroot}%{_datadir}/%{name}/utils.sh install -Dm0644 advanced/01-%{real_name}.conf %{buildroot}%{_sysconfdir}/dnsmasq.d/01-%{real_name}.conf install -Dm0644 advanced/Templates/logrotate %{buildroot}%{_sysconfdir}/%{real_name}/logrotate install -d m0755 %{buildroot}%{_datadir}/%{name}/database_migration/gravity install -d m0755 %{buildroot}%{_datadir}/%{name}/database_migration/templates install -Dm0755 advanced/Scripts/database_migration/gravity-db.sh %{buildroot}%{_datadir}/%{name}/database_migration/gravity-db.sh install -Dm0644 advanced/Scripts/database_migration/gravity/*.sql %{buildroot}%{_datadir}/%{name}/database_migration/gravity/ install -Dm0644 advanced/Templates/*.sql %{buildroot}%{_datadir}/%{name}/database_migration/templates/ # Install man pages install -Dm0644 manpages/%{real_name}.8 %{buildroot}%{_mandir}/man8/%{real_name}.8%{?ext_man} install -Dm0644 manpages/%{real_name}-FTL.8 %{buildroot}%{_mandir}/man8/%{real_name}-FTL.8%{?ext_man} # openSUSE/SUSE specific files install -Dm0644 %{S:6} %{buildroot}%{_sysconfdir}/%{real_name}/setupVars.conf # Install advertisement list Url file install -Dm0644 %{S:7} %{buildroot}%{_sysconfdir}/%{real_name}/adlists.list install -Dm0644 %{S:8} %{buildroot}%{_sysconfdir}/%{real_name}/dns-servers.conf install -Dm0644 %{S:11} %{buildroot}%{_sysconfdir}/dnsmasq.conf # Install logrotate systemd service and timer install -Dm0644 %{S:1} %{buildroot}%{_unitdir}/pi-hole-logrotate.service install -Dm0644 %{S:2} %{buildroot}%{_unitdir}/pi-hole-logrotate.timer # Install Ad list update systemd service and timer install -Dm0644 %{S:3} %{buildroot}%{_unitdir}/pi-hole-updategravity.service install -Dm0644 %{S:4} %{buildroot}%{_unitdir}/pi-hole-updategravity.timer mkdir -p %{buildroot}%{_sysusersdir} install -m 644 %{S:5} %{buildroot}%{_sysusersdir}/system-user-%{real_name}.conf install -Dm0644 %{S:9} %{buildroot}%{_fillupdir}/sysconfig.pihole # SUSE policy wants to have this symlink. install -d -m 0755 %{buildroot}/%{_sbindir} ln -s service %{buildroot}/%{_sbindir}/rc%{name}-logrotate ln -s service %{buildroot}/%{_sbindir}/rc%{name}-updategravity %files %defattr(-,root,root,-) %doc CONTRIBUTING.md %license LICENSE %{_unitdir}/pi-hole-logrotate.service %{_unitdir}/pi-hole-logrotate.timer %{_unitdir}/pi-hole-updategravity.service %{_unitdir}/pi-hole-updategravity.timer %dir %{_sysconfdir}/dnsmasq.d %config(noreplace) %{_sysconfdir}/dnsmasq.d/01-%{real_name}.conf %config(noreplace) %{_sysconfdir}/dnsmasq.conf %attr(0775, pihole, pihole) %dir %{_sysconfdir}/%{real_name}/ %config(noreplace) %{_sysconfdir}/%{real_name}/adlists.list %config(noreplace) %{_sysconfdir}/%{real_name}/dns-servers.conf %config(noreplace) %{_sysconfdir}/%{real_name}/setupVars.conf %config(noreplace) %{_sysconfdir}/%{real_name}/logrotate %{_bindir}/%{real_name} %{_bindir}/config.%{real_name} %{_mandir}/man8/%{real_name}.8%{?ext_man} # FTL manpages should be in pihole-ftl package, but this is how upstream works... %{_mandir}/man8/%{real_name}-FTL.8%{?ext_man} %{_datadir}/%{name} %{_fillupdir}/sysconfig.pihole %{_sbindir}/rc%{name}-logrotate %{_sbindir}/rc%{name}-updategravity %files -n system-user-%{real_name} %defattr(-,root,root) %{_sysusersdir}/system-user-%{real_name}.conf %changelog
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Contact
Support
@OBShq
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor