[pacman-dev] [PATCH] makepkg: drop duplicate reporting of missing dependencies
Allan McRae
allan at archlinux.org
Tue Mar 17 04:09:21 UTC 2020
On 6/2/20 10:48 pm, Dave Reisner wrote:
> When pacman fails to satisfy deps, we might see output like the
> following:
>
> ==> Making package: spiderfoot 3.0-1 (Thu 06 Feb 2020 12:45:10 PM CET)
> ==> Checking runtime dependencies...
> ==> Installing missing dependencies...
> error: target not found: python-pygexf
> ==> ERROR: 'pacman' failed to install missing dependencies.
> ==> Missing dependencies:
> -> python-dnspython
> -> python-exifread
> -> python-cherrypy
> -> python-beautifulsoup4
> -> python-netaddr
> -> python-pysocks
> -> python-ipwhois
> -> python-ipaddress
> -> python-phonenumbers
> -> python-pypdf2
> -> python-stem
> -> python-whois
> -> python-future
> -> python-pyopenssl
> -> python-docx
> -> python-pptx
> -> python-networkx
> -> python-cryptography
> -> python-secure
> -> python-pygexf
> -> python-adblockparser
> ==> Checking buildtime dependencies...
> ==> ERROR: Could not resolve all dependencies.
>
> This is misleading -- the only truly missing package is python-pygexf,
> but we fail to remove sync-able deps from our deplist and report
> everything as if it were missing. Simply drop this extra reporting
> because pacman already tells us exactly what couldn't be resolved.
> ---
It seems this went too far:
Before:
$ makepkg
==> Making package: pacman 5.2.1-4 (Tue 17 Mar 2020 14:05:51)
==> Checking runtime dependencies...
==> Missing dependencies:
-> pacman-mirrorlist
==> Checking buildtime dependencies...
==> ERROR: Could not resolve all dependencies.
After:
$ makepkg
==> Making package: pacman 5.2.1-4 (Tue 17 Mar 2020 14:01:13)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> ERROR: Could not resolve all dependencies.
I have reverted on my patchqueue branch for the time being, but won't
push to master. I need more time to look at this...
Allan
> I thought about trying to make this accurate and diff the lists --
> something like:
>
> mapfile -t deplist < <(printf '%s\n' "${deplist}" | grep -vxFf <(run_pacman -Ssq))
>
> but I'm not convinced this is really the right thing to do...
>
> scripts/makepkg.sh.in | 6 ------
> 1 file changed, 6 deletions(-)
>
> diff --git a/scripts/makepkg.sh.in b/scripts/makepkg.sh.in
> index 7fa791e1..bfbf165b 100644
> --- a/scripts/makepkg.sh.in
> +++ b/scripts/makepkg.sh.in
> @@ -316,12 +316,6 @@ resolve_deps() {
> [[ -z $deplist ]] && return $R_DEPS_SATISFIED
> fi
>
> - msg "$(gettext "Missing dependencies:")"
> - local dep
> - for dep in ${deplist[@]}; do
> - msg2 "$dep"
> - done
> -
> return $R_DEPS_MISSING
> }
>
>
More information about the pacman-dev
mailing list