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
pihole-ftl
pihole-ftl.spec
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File pihole-ftl.spec of Package pihole-ftl
# # 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/ # # This package has used https://build.opensuse.org/package/show/home:alarrosa:branches:home:malcolmlewis:SLES12-SP2-RPI-Extra/pihole as a guide. %define ftl_name FTL %define ftl_system_name pihole-%{ftl_name} Name: pihole-ftl Version: 5.25.1 %define real_version %(echo "%{version}" | sed -r 's/v(.*)/\\1/') Release: 0 Summary: Network-wide ad blocking via your own Linux hardware License: EUPL-1.1 # TODO: check what group would be better Group: System/Management Url: https://pi-hole.net/ Source0: %{ftl_name}-%{version}.tar.gz Source1: %{name}.service Source2: %{ftl_system_name}.conf.in Source3: permissions Source4: rpmlintrc Source5: SUSE.readme Patch1: shared_libraries.patch # TODO: Probably should be in upstream too? Patch2: link_against_readline.patch Patch3: fortify_source_3.patch BuildRequires: cmake BuildRequires: libnettle-devel BuildRequires: libidn-devel BuildRequires: readline-devel # Instead of vim, xxd is required, but it is inside vim package... BuildRequires: vim # Only for /etc/pihole directory ownership. BuildRequires: pi-hole # I don’t remember why this was required run-time, but keeping it to be safe. Requires: pi-hole Requires(pre): user(pihole) BuildRoot: %{_tmppath}/%{ftl_name}-%{real_version}-build %description FTLDNS™ (pihole-FTL) provides an interactive API and also generates statistics for Pi-hole®'s Web interface. * Fast: stats are read directly from memory by coupling our codebase closely with dnsmasq * Versatile: upstream changes to dnsmasq can quickly be merged in without much conflict * Lightweight: runs smoothly with minimal hardware and software requirements such as Raspberry Pi Zero * Interactive: our API can be used to interface with your projects * Insightful: stats normally reserved inside of dnsmasq are made available so you can see what's really happening on your network %prep %setup -q -n %{ftl_name}-%{real_version} # Need to link as shared libraries to avoid linker errors. %patch1 -p1 %patch2 -p1 # For Tumbleweed, FORTIFY_SOURCE=3 is defined. # Make FTL to use that too to avoid a redefinition. %if 0%{?suse_version} > 1500 %patch3 -p1 %endif # Generate own version.h; the Makefile wants to use Git to generate this data... cat > %{_builddir}/%{ftl_name}-%{real_version}/version.h <<EOL #define GIT_VERSION "%{version}" #define GIT_DATE "$(date)" #define GIT_BRANCH "master" #define GIT_TAG "%{version}" #define GIT_HASH "" EOL # Remove comments from pihole-FTL.conf to cause pihole bash script behave properly. sed "/^;/d" %{S:2} > pihole-FTL.conf %build %if 0%{?suse_version} > 1500 # As of 5.10.2, malloc suggestion is causing build to fail on Tumbleweed (date: 02.10.2021). export CFLAGS='%optflags -Wno-error=suggest-attribute=malloc' %endif %cmake %cmake_build %install %cmake_install install -D -m 644 %{S:1} %{buildroot}%{_unitdir}/%{name}.service install -Dm0644 %{ftl_system_name}.conf %{buildroot}%{_sysconfdir}/pihole/%{ftl_system_name}.conf install -D -m 0644 %{S:3} %{buildroot}%{_sysconfdir}/permissions.d/%{name} install -D -m 0644 %{S:5} %{buildroot}%{_docdir}/%{name}/SUSE.readme mkdir -p %{buildroot}/var/log/pihole # create tmpfile conf install -d -m 0755 %{buildroot}/%{_tmpfilesdir} echo "d /run/pihole 0750 pihole pihole" > %{buildroot}/%{_tmpfilesdir}/%{name}.conf # SUSE policy wants to have this symlink. install -d -m 0755 %{buildroot}/%{_sbindir} ln -s service %{buildroot}/%{_sbindir}/rc%{name} %posttrans echo "For new installations, please see included SUSE.readme to finish" echo "installation of pi-hole." echo echo "NOTE: To run pihole-FTL, it wants to have some permissions for itself." echo "If you have configured it already, remember to run chkstat --system" %pre %service_add_pre %{name}.service %post %tmpfiles_create %{_tmpfilesdir}/%{name}.conf %service_add_post %{name}.service %preun %service_del_preun %{name}.service %postun %service_del_postun %{name}.service %files %defattr(-,root,root) %license LICENSE %doc SUSE.readme %verify(not user) %attr(0755, root, root) %{_bindir}/%{ftl_system_name} %{_unitdir}/%{name}.service %config(noreplace) %attr(0644, pihole, pihole) %{_sysconfdir}/pihole/%{ftl_system_name}.conf %attr(0775, pihole, pihole) %dir /var/log/pihole/ %config(noreplace) %{_sysconfdir}/permissions.d/pihole-ftl %{_tmpfilesdir}/%{name}.conf # This is suggested in a warning, but just leads to an error, “E: dir-or-file-in-run /run/pihole” %ghost %dir /run/pihole %{_sbindir}/rc%{name} %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