Package Details: pi-hole-server 5.17.1-3

Git Clone URL: https://aur.archlinux.org/pi-hole-server.git (read-only, click to copy)
Package Base: pi-hole-server
Description: The Pi-hole is an advertising-aware DNS/Web server. Arch adaptation for lan wide DNS server.
Upstream URL: https://github.com/pi-hole/pi-hole
Keywords: ad block pi-hole
Licenses: EUPL-1.2
Conflicts: pi-hole-standalone
Submitter: max.bra
Maintainer: max.bra (graysky)
Last Packager: max.bra
Votes: 106
Popularity: 0.93
First Submitted: 2016-01-13 12:50 (UTC)
Last Updated: 2023-08-21 17:22 (UTC)

Required by (2)

Sources (15)

Pinned Comments

max.bra commented on 2018-02-09 16:45 (UTC) (edited on 2019-10-18 23:14 (UTC) by max.bra)

ArchLinux Pi-hole is not officially supported by Pi-hole project. In case of bugs and malfunctions please DO NOT file a report upstream.

First of all check if the wiki (https://wiki.archlinux.org/index.php/Pi-hole) can help then ask here for assistance and tips.
When it will be excluded that the problem does not depend on ArchLinux we will file a bug upstream.

Latest Comments

1 2 3 4 5 6 .. 78 Next › Last »

max.bra commented on 2023-09-22 19:11 (UTC)

@deemon i don't know how to help you, we have no control over that...

deemon commented on 2023-09-22 18:59 (UTC)

sudo pihole -g

  [i] Target: https://mirror1.malwaredomains.com/files/justdomains
  [✗] Status: Not found
  [✗] List download failed: using previously cached list
  [✓] Parsed 26854 exact domains and 0 ABP-style domains (ignored 0 non-domain entries)

max.bra commented on 2023-08-21 17:07 (UTC)

@daniel back home and see a missed new function 'get_remote_hash', fixed w/o release bump. thanks for reporting.

daniel_shub commented on 2023-08-21 15:23 (UTC)

I can get the git issue during runtime with pihole updatechecker. I am not sure how useful running that command is and if it is fully documented/supported. I also get the git issue during installation. I think there are two questions/issues:

1) Can you (or anyone) reproduce my "bug report" with errors regarding git and the missing pihole user when installing into a clean chroot.

2) If my bug report is reproducible, is it worth fixing the PKGBUILD.

I am not familiar enough with sysuser files to know if the missing user issue can be solved by simply restarting systemd-sysusers. If that is the case, I am not sure if it should be restarted in this package or the ftl package.

Adding git as a runtime dependency will protect against any runtime code pathways that depend on git. If it is really only obscure uses, adding it as a optional dependency seems warranted. That said, the package install script is not an obscure usage. In fact, it is essentially a mandatory usage. Adding git as a runtime dependency would only partially deal with the issue of running updatecheck.sh in the package install script; there is a chicken and egg loop since updatecheck.sh needs external internet access to setup a DNS, but external internet access requires a configured DNS. While not explicitly mentioned in the packaging guidelines, I think packages should support offline installation. I am not sure why updatecheck.sh is even run in the install script.

max.bra commented on 2023-08-21 14:22 (UTC) (edited on 2023-08-21 14:22 (UTC) by max.bra)

at runtime you never get there... and, don't read upstream source, read AUR modified source

daniel_shub commented on 2023-08-21 14:17 (UTC)

@max.bra I am not sure what I am double checking for, but updatecheck.sh (https://github.com/pi-hole/pi-hole/blob/v5.17.1/advanced/Scripts/updatecheck.sh) calls git on line 33 just like the error I get says:


function get_remote_hash(){
    git ls-remote "https://github.com/pi-hole/${1}" --tags "${2}" | awk '{print substr($0, 0,8);}' || return 1
}

and get_remote_hash is called on line 83


GITHUB_CORE_HASH="$(get_remote_hash pi-hole "${CORE_BRANCH}")"

It looks like the git dependencies were added in this commit https://github.com/pi-hole/pi-hole/commit/888e44e53d81f505f958322f411cfcc96269f4b8

Can you build the package in a clean chroot and then install it in another clean chroot?

max.bra commented on 2023-08-21 13:59 (UTC)

please, double check updatecheck.sh

daniel_shub commented on 2023-08-21 11:56 (UTC)

@max.bra the package builds fine for me in a clean chroot with just the base and base-devel packages installed (plus the dependencies and make dependencies of pi-hole-server). The errors I get arise when when I go to install the package in a clean chroot with just the base package installed (plus the dependencies of pi-hole-server). Since the package is being installed into a different environment from where it is built, git is no longer installed. The git package needs to be a depends and not just a makedepends since the package actually depends on git for full functionality (i.e., updatecheck).

As for the missing pihole user. The pi-hole-ftl package gets installed first and adds its pi-hole-ftl.sysuser to the correct location. I think, however, the pihole user is not created until after systemd-sysusers is restarted.

max.bra commented on 2023-08-21 07:27 (UTC) (edited on 2023-08-21 07:28 (UTC) by max.bra)

hi daniel_shub, i'm sorry for your problem but 'git' IS a makedep and FTL need to be installed before server pkg because FTL is a dep of this pkg

daniel_shub commented on 2023-08-21 03:22 (UTC) (edited on 2023-08-21 03:23 (UTC) by daniel_shub)

I am having problems installing into a really minimal environment:


installing pi-hole-server...
==> Read setup instructions at https://wiki.archlinux.org/index.php/Pi-hole
==> Generating initial block list, please wait...
chown: invalid user: 'pihole:pihole'
RTNETLINK answers: Network is unreachable
Device "" does not exist.
chown: invalid user: 'pihole:pihole'
==> Creating 'versions' file...
/opt/pihole/updatecheck.sh: line 33: git: command not found
/opt/pihole/updatecheck.sh: line 33: git: command not found
/opt/pihole/updatecheck.sh: line 33: git: command not found
Optional dependencies for pi-hole-server
    lighttpd: a secure, fast, compliant and very flexible web-server [installed]
    php-cgi: CGI and FCGI SAPI for PHP needed only for lighttpd [installed]
    nginx-mainline: lightweight http server
    php-fpm: FastCGI process manager for php needed for nginx
    php-sqlite: sqlite db access for nginx [installed]

I am guessing the git error would be taken care of by making git a dependency. I am not sure why the pihole user does not exist. I think it is eventually created by pi-hole-ftl, but maybe the user is not created when the install script runs.