Abuild fails to build package if APKINDEX.*.tar.gz files are missing
Summary
I've noticed that when the apk cache is missing, i.e. packages that were installed in --no-cache
mode, abuild fails to build packages.
Details
I do ad hoc package builds in containers to make the whole application installation and cleanup process easier.
I ran into this problem when I changed the id
of the --mount=type=cache,target=/etc/apk/cache,id=test
and at the same time changed the source code of the APKBUILD
files.
Here's a reproduction script
-
Dockerfile
FROM alpine:3.19 RUN set -eux; \ apk add --no-cache build-base abuild sudo; \ adduser --ingroup abuild -D abuild; \ echo 'abuild ALL=(ALL) NOPASSWD:ALL' >>/etc/sudoers; \ chown -R abuild: /home/abuild; USER abuild COPY --chown=abuild:abuild APKBUILD /home/abuild/APKBUILD RUN set -eux; \ cd /home/abuild; \ abuild-keygen -a -i -n; \ APKBUILD='./APKBUILD'; \ export APKBUILD; \ abuild -r -P /home/abuild/packages
-
APKBUILD
# Contributor: a <a@example.com> # Maintainer: a <a@example.com> pkgname=test pkgver=1 pkgrel=1 pkgdesc='test' url='https://example.com/test' arch='x86_64' license='MIT' makedepends="bash" source="" options='!check' package() { install -d "$pkgdir" } sha512sums=""
-
docker build .
Logs
Container build log
#0 building with "default" instance using docker driver
#1 [internal] load build definition from Dockerfile
#1 transferring dockerfile: 507B done
#1 DONE 0.1s
#2 [internal] load metadata for docker.io/library/alpine:3.19
#2 DONE 0.0s
#3 [internal] load .dockerignore
#3 transferring context: 2B done
#3 DONE 0.1s
#4 [1/4] FROM docker.io/library/alpine:3.19
#4 DONE 0.0s
#5 [internal] load build context
#5 transferring context: 308B done
#5 DONE 0.1s
#6 [2/4] RUN set -eux; apk add --no-cache build-base abuild sudo; adduser --ingroup abuild -D abuild; echo 'abuild ALL=(ALL) NOPASSWD:ALL' >>/etc/sudoers; chown -R abuild: /home/abuild;
#6 0.136 + apk add --no-cache build-base abuild sudo
#6 0.140 fetch https://dl-cdn.alpinelinux.org/alpine/v3.19/main/x86_64/APKINDEX.tar.gz
#6 0.995 fetch https://dl-cdn.alpinelinux.org/alpine/v3.19/community/x86_64/APKINDEX.tar.gz
#6 1.561 (1/42) Installing libattr (2.5.1-r5)
#6 1.637 (2/42) Installing attr (2.5.1-r5)
#6 1.717 (3/42) Installing libcap2 (2.69-r1)
#6 1.798 (4/42) Installing libcap-getcap (2.69-r1)
#6 1.874 (5/42) Installing fakeroot (1.32.1-r0)
#6 1.956 (6/42) Installing libgcc (13.2.1_git20231014-r0)
#6 2.043 (7/42) Installing libstdc++ (13.2.1_git20231014-r0)
#6 2.218 (8/42) Installing lzip (1.23-r1)
#6 2.301 (9/42) Installing openssl (3.1.4-r5)
#6 2.414 (10/42) Installing patch (2.7.6-r10)
#6 2.503 (11/42) Installing pkgconf (2.1.0-r0)
#6 2.588 (12/42) Installing libacl (2.3.1-r4)
#6 2.666 (13/42) Installing tar (1.35-r2)
#6 2.768 (14/42) Installing ca-certificates (20240226-r0)
#6 2.898 (15/42) Installing brotli-libs (1.1.0-r1)
#6 3.018 (16/42) Installing c-ares (1.27.0-r0)
#6 3.106 (17/42) Installing libunistring (1.1-r2)
#6 3.246 (18/42) Installing libidn2 (2.3.4-r4)
#6 3.337 (19/42) Installing nghttp2-libs (1.58.0-r0)
#6 3.424 (20/42) Installing libcurl (8.5.0-r0)
#6 3.534 (21/42) Installing curl (8.5.0-r0)
#6 3.735 (22/42) Installing abuild (3.12.0-r0)
#6 3.864 Executing abuild-3.12.0-r0.pre-install
#6 3.886 (23/42) Installing jansson (2.14-r4)
#6 3.966 (24/42) Installing zstd-libs (1.5.5-r8)
#6 4.096 (25/42) Installing binutils (2.41-r0)
#6 4.657 (26/42) Installing libmagic (5.45-r1)
#6 4.805 (27/42) Installing file (5.45-r1)
#6 4.882 (28/42) Installing libgomp (13.2.1_git20231014-r0)
#6 4.985 (29/42) Installing libatomic (13.2.1_git20231014-r0)
#6 5.062 (30/42) Installing gmp (6.3.0-r0)
#6 5.169 (31/42) Installing isl26 (0.26-r1)
#6 5.370 (32/42) Installing mpfr4 (4.2.1-r0)
#6 5.489 (33/42) Installing mpc1 (1.3.1-r1)
#6 5.574 (34/42) Installing gcc (13.2.1_git20231014-r0)
#6 12.85 (35/42) Installing libstdc++-dev (13.2.1_git20231014-r0)
#6 13.57 (36/42) Installing musl-dev (1.2.4_git20230717-r4)
#6 14.36 (37/42) Installing libc-dev (0.7.2-r5)
#6 14.43 (38/42) Installing g++ (13.2.1_git20231014-r0)
#6 17.02 (39/42) Installing make (4.4.1-r2)
#6 17.12 (40/42) Installing fortify-headers (1.1-r3)
#6 17.20 (41/42) Installing build-base (0.5-r3)
#6 17.28 (42/42) Installing sudo (1.9.15_p2-r0)
#6 17.48 Executing busybox-1.36.1-r15.trigger
#6 17.49 Executing ca-certificates-20240226-r0.trigger
#6 17.54 OK: 232 MiB in 57 packages
#6 17.59 + adduser --ingroup abuild -D abuild
#6 17.62 + echo 'abuild ALL=(ALL) NOPASSWD:ALL'
#6 17.62 + chown -R abuild: /home/abuild
#6 DONE 17.8s
#7 [3/4] COPY --chown=abuild:abuild APKBUILD /home/abuild/APKBUILD
#7 DONE 0.1s
#8 [4/4] RUN set -eux; cd /home/abuild; abuild-keygen -a -i -n; APKBUILD='./APKBUILD'; export APKBUILD; abuild -r -P /home/abuild/packages
#8 0.132 + cd /home/abuild
#8 0.132 + abuild-keygen -a -i -n
#8 0.690 writing RSA key
#8 0.691 >>> Installing /home/abuild/.abuild/-6613ebcd.rsa.pub to /etc/apk/keys...
#8 0.696 >>>
#8 0.696 >>> Please remember to make a safe backup of your private key:
#8 0.696 >>> /home/abuild/.abuild/-6613ebcd.rsa
#8 0.696 >>>
#8 0.696 + APKBUILD=./APKBUILD
#8 0.696 + export APKBUILD
#8 0.696 + abuild -r -P /home/abuild/packages
#8 0.716 >>> test: Building home/test 1-r1 (using abuild 3.12.0-r0) started Mon, 08 Apr 2024 10:00:00 +0000
#8 0.718 >>> test: Checking sanity of /home/abuild/APKBUILD...
#8 0.730 >>> test: Analyzing dependencies...
#8 0.747 ERROR: unable to select packages:
#8 0.747 .makedepends-test-20240408.100000:
#8 0.747 masked in: cache
#8 0.747 satisfies: world[.makedepends-test=20240408.100000]
#8 0.747 bash (no such package):
#8 0.747 required by: .makedepends-test-20240408.100000[bash]
#8 0.748 >>> ERROR: test: builddeps failed
#8 0.748 >>> test: Uninstalling dependencies...
#8 0.754 WARNING: opening from cache https://dl-cdn.alpinelinux.org/alpine/v3.19/main: No such file or directory
#8 0.754 WARNING: opening from cache https://dl-cdn.alpinelinux.org/alpine/v3.19/community: No such file or directory
#8 0.754 ERROR: No such package: .makedepends-test
#8 ERROR: process "/bin/sh -c set -eux; cd /home/abuild; abuild-keygen -a -i -n; APKBUILD='./APKBUILD'; export APKBUILD; abuild -r -P /home/abuild/packages" did not complete successfully: exit code: 1
------
> [4/4] RUN set -eux; cd /home/abuild; abuild-keygen -a -i -n; APKBUILD='./APKBUILD'; export APKBUILD; abuild -r -P /home/abuild/packages:
0.747 .makedepends-test-20240408.100000:
0.747 masked in: cache
0.747 satisfies: world[.makedepends-test=20240408.100000]
0.747 bash (no such package):
0.747 required by: .makedepends-test-20240408.100000[bash]
0.748 >>> ERROR: test: builddeps failed
0.748 >>> test: Uninstalling dependencies...
0.754 WARNING: opening from cache https://dl-cdn.alpinelinux.org/alpine/v3.19/main: No such file or directory
0.754 WARNING: opening from cache https://dl-cdn.alpinelinux.org/alpine/v3.19/community: No such file or directory
0.754 ERROR: No such package: .makedepends-test
------
Dockerfile:11
--------------------
10 | COPY --chown=abuild:abuild APKBUILD /home/abuild/APKBUILD
11 | >>> RUN set -eux; \
12 | >>> cd /home/abuild; \
13 | >>> abuild-keygen -a -i -n; \
14 | >>> APKBUILD='./APKBUILD'; \
15 | >>> export APKBUILD; \
16 | >>> abuild -r -P /home/abuild/packages
17 |
--------------------
abuild -v
+ getopts :AcdD:fFhkKmnP:qrRs:uvV opt
+ install_deps=-r
+ getopts :AcdD:fFhkKmnP:qrRs:uvV opt
+ REPODEST=/home/abuild/packages
+ getopts :AcdD:fFhkKmnP:qrRs:uvV opt
+ shift 4
+ id -u
+ '[' 1000 -eq 0 ]
+ '[' -n ]
+ '[' -f ./APKBUILD ]
+ readlink -f ./APKBUILD
+ APKBUILD=/home/abuild/APKBUILD
+ startdir=/home/abuild
+ srcdir=/home/abuild/src
+ pkgbasedir=/home/abuild/pkg
+ tmpdir=/home/abuild/tmp
+ repo=/home
+ repo=home
+ aportsgit=/home/abuild
+ repo_template=/home/abuild/../.rootbld-repositories
+ SRCDEST=/var/cache/distfiles
+ BUILD_ROOT=
+ export CC CXX
+ cd /home/abuild
+ . /home/abuild/APKBUILD
+ pkgname=test
+ pkgver=1
+ pkgrel=1
+ pkgdesc=test
+ url=https://example.com/test
+ arch=x86_64
+ license=MIT
+ makedepends=bash
+ source=
+ options='!check'
+ sha512sums=
+ builddir=/home/abuild/src/test-1
+ '[' -z /home/abuild/packages ]
+ export REPODEST SRCDEST
+ '[' -n ]
+ '[' -n ]
+ subpackage_types_has dbg
+ local i
+ return 1
+ '[' -n ]
+ allpackages='test '
+ apkbuild_arch=x86_64
+ pkgdir=/home/abuild/pkg/test
+ '[' -z ]
+ pkgarch=x86_64
+ list_has noarch x86_64
+ local 'needle=noarch'
+ local i
+ shift
+ '[' noarch '=' x86_64 ]
+ '[' noarch '=' '!x86_64' ]
+ return 1
+ controldir=/home/abuild/pkg/.control.test
+ trap 'die "Aborted by user"' INT
+ '[' -z ]
+ set_xterm_title 'abuild: test'
+ '[' '=' xterm ]
+ '[' -z ]
+ set all
+ '[' 1 -gt 0 ]
+ runpart all
+ local 'part=all'
+ '[' -n ]
+ trap 'die '"'"'all failed'"'" EXIT
+ '[' -d /home/abuild/src/test-1 ]
+ all
+ '[' -n ]
+ check_arch
+ local 'ret=1'
+ local i
+ ret=0
+ return 0
+ check_libc
+ options_has '!libc_musl'
+ list_has '!libc_musl' '!check'
+ local 'needle=!libc_musl'
+ local i
+ shift
+ '[' '!libc_musl' '=' '!check' ]
+ '[' '!libc_musl' '=' '!!check' ]
+ return 1
+ up2date
+ check_arch
+ local 'ret=1'
+ local i
+ ret=0
+ return 0
+ check_libc
+ options_has '!libc_musl'
+ list_has '!libc_musl' '!check'
+ local 'needle=!libc_musl'
+ local i
+ shift
+ '[' '!libc_musl' '=' '!check' ]
+ '[' '!libc_musl' '=' '!!check' ]
+ return 1
+ apk_up2date
+ local i s
+ subpkg_set test
+ subpkgname=test
+ local '_splitarch=test'
+ '[' test '=' test ]
+ _splitarch=
+ subpkgsplit=
+ '[' -z ]
+ is_bashcomp_pkg test
+ test test '!=' test
+ is_zshcomp_pkg test
+ test test '!=' test
+ is_fishcomp_pkg test
+ test test '!=' test
+ subpkgsplit=test
+ subpkgarch=
+ '[' '=' -o -z ]
+ subpkgarch=x86_64
+ '[' '!' -f /home/abuild/packages/home/x86_64/test-1-r1.apk ]
+ subpkg_unset
+ unset subpkgname subpkgsplit subpkgarch
+ return 1
+ build_abuildrepo
+ local part '_check=check'
+ options_has checkroot
+ list_has checkroot '!check'
+ local 'needle=checkroot'
+ local i
+ shift
+ '[' checkroot '=' '!check' ]
+ '[' checkroot '=' '!!check' ]
+ return 1
+ want_check
+ '[' -n ]
+ cross_compiling
+ test x86_64-alpine-linux-musl '!=' x86_64-alpine-linux-musl -a -n
+ options_has '!check'
+ list_has '!check' '!check'
+ local 'needle=!check'
+ local i
+ shift
+ '[' '!check' '=' '!check' ]
+ return 0
+ return 1
+ _check=true
+ apk_up2date
+ local i s
+ subpkg_set test
+ subpkgname=test
+ local '_splitarch=test'
+ '[' test '=' test ]
+ _splitarch=
+ subpkgsplit=
+ '[' -z ]
+ is_bashcomp_pkg test
+ test test '!=' test
+ is_zshcomp_pkg test
+ test test '!=' test
+ is_fishcomp_pkg test
+ test test '!=' test
+ subpkgsplit=test
+ subpkgarch=
+ '[' '=' -o -z ]
+ subpkgarch=x86_64
+ '[' '!' -f /home/abuild/packages/home/x86_64/test-1-r1.apk ]
+ subpkg_unset
+ unset subpkgname subpkgsplit subpkgarch
+ return 1
+ abuild-sign --installed
+ logcmd 'building home/test-1-r1'
+ true 'building home/test-1-r1'
+ return 0
+ date -u '+%s'
+ local '_starttime=1712566800'
+ date -R
+ msg 'Building home/test 1-r1 (using abuild 3.12.0-r0) started Mon, 08 Apr 2024 10:00:00 +0000'
+ '[' -n ]
+ local 'prompt=>>>'
+ local 'fake='
+ local 'name=test'
+ printf '>>> test: %s\n' 'Building home/test 1-r1 (using abuild 3.12.0-r0) started Mon, 08 Apr 2024 10:00:00 +0000'
>>> test: Building home/test 1-r1 (using abuild 3.12.0-r0) started Mon, 08 Apr 2024 10:00:00 +0000
+ set_source_date
+ true rev-parse --show-toplevel
+ '[' -z ]
+ git_last_commit
+ true rev-list -n 1 HEAD -- /home/abuild
+ git_dirty
+ true status -s -- /home/abuild
+ wc -l
+ '[' 0 -ne 0 ]
+ export 'ABUILD_LAST_COMMIT='
+ '[' -z ]
+ '[' '=' ]
+ git_last_commit_epoch
+ true log -1 '--format=%cd' '--date=unix' -- /home/abuild
+ SOURCE_DATE_EPOCH=
+ '[' -z ]
+ stat -c '%Y' /home/abuild/APKBUILD
+ SOURCE_DATE_EPOCH=1712566800
+ export SOURCE_DATE_EPOCH
+ runpart sanitycheck
+ local 'part=sanitycheck'
+ '[' -n ]
+ trap 'die '"'"'sanitycheck failed'"'" EXIT
+ '[' -d /home/abuild/src/test-1 ]
+ sanitycheck
+ default_sanitycheck
+ local 'i=' 'j=' 'suggestion='
+ msg 'Checking sanity of /home/abuild/APKBUILD...'
+ '[' -n ]
+ local 'prompt=>>>'
+ local 'fake='
+ local 'name=test'
+ printf '>>> test: %s\n' 'Checking sanity of /home/abuild/APKBUILD...'
>>> test: Checking sanity of /home/abuild/APKBUILD...
+ '[' -z 1 ]
+ '[' -z ]
+ apk version --check --quiet 1
+ '[' -z 1 ]
+ apk version --check --quiet 0-r1
+ '[' -z test ]
+ '[' -z https://example.com/test ]
+ '[' -z MIT ]
+ echo test
+ wc -c
+ '[' 5 -gt 128 ]
+ echo test
+ wc -l
+ '[' 1 -gt 1 ]
+ is_function package
+ type package
+ head -n 1
+ grep -E -q 'is a (shell )?function'
+ '[' -n ]
+ '[' -n ]
+ verify_pkgname test
+ local 'name=test'
+ return 0
+ '[' -n ]
+ local 'algo='
+ eval set -- '$md5sums'
+ set --
+ '[' 0 -gt 1 ]
+ eval set -- '$sha256sums'
+ set --
+ '[' 0 -gt 1 ]
+ eval set -- '$sha512sums'
+ set --
+ '[' 0 -gt 1 ]
+ '[' -n ]
+ '[' -n ]
+ '[' -n ]
+ '[' -n ]
+ '[' -n ]
+ '[' -n ]
+ '[' -n ]
+ check_maintainer
+ get_maintainer
+ '[' -z ]
+ awk '-F: ' '/# *Maintainer/ {print $2}' /home/abuild/APKBUILD
+ maintainer='a <a@example.com>'
+ '[' -z 'a <a@example.com>' ]
+ grep '^# *Maintainer:' /home/abuild/APKBUILD
+ wc -l
+ '[' 1 -gt 1 ]
+ check_license
+ local 'ret=0'
+ local 'license_list=/usr/share/spdx/license.lst'
+ local 'exclude=AND OR WITH ( )'
+ options_has '!spdx'
+ list_has '!spdx' '!check'
+ local 'needle=!spdx'
+ local i
+ shift
+ '[' '!spdx' '=' '!check' ]
+ '[' '!spdx' '=' '!!check' ]
+ return 1
+ '[' -f /usr/share/spdx/license.lst ]
+ return 0
+ check_depends_dev
+ '[' -z ]
+ return 0
+ check_secfixes_comment
+ sed -E -n -e '/^# secfixes:/,/(^[^#]|^$)/p' /home/abuild/APKBUILD
+ grep '^#'
+ local 'c='
+ echo
+ grep -v -E '(^# secfixes:|^# +- [A-Z0-9-]+|^# [0-9]+.*:$|^#$)'
+ local 'invalid='
+ '[' -z ]
+ return 0
+ makedepends_has g++
+ deplist_has g++ bash
+ local 'needle=g++'
+ local i
+ shift
+ i=bash
+ '[' g++ '=' bash ]
+ '[' g++ '=' '!bash' ]
+ return 1
+ options_has '!check'
+ list_has '!check' '!check'
+ local 'needle=!check'
+ local i
+ shift
+ '[' '!check' '=' '!check' ]
+ return 0
+ check_provides
+ local i
+ return 0
+ return 0
+ trap - EXIT
+ runpart builddeps
+ local 'part=builddeps'
+ '[' -n ]
+ trap 'die '"'"'builddeps failed'"'" EXIT
+ '[' -d /home/abuild/src/test-1 ]
+ builddeps
+ local 'pkg=' 'i=' 'BUILD_BASE='
+ '[' -n ]
+ msg 'Analyzing dependencies...'
+ '[' -n ]
+ local 'prompt=>>>'
+ local 'fake='
+ local 'name=test'
+ printf '>>> test: %s\n' 'Analyzing dependencies...'
>>> test: Analyzing dependencies...
+ cross_creating
+ test x86_64-alpine-linux-musl '!=' x86_64-alpine-linux-musl -a -n
+ cross_compiling
+ test x86_64-alpine-linux-musl '!=' x86_64-alpine-linux-musl -a -n
+ BUILD_BASE=build-base
+ calcdeps build-base
+ builddeps=
+ hostdeps=
+ cross_compiling
+ test x86_64-alpine-linux-musl '!=' x86_64-alpine-linux-musl -a -n
+ '[' -z bash ]
+ want_check
+ '[' -n ]
+ cross_compiling
+ test x86_64-alpine-linux-musl '!=' x86_64-alpine-linux-musl -a -n
+ options_has '!check'
+ list_has '!check' '!check'
+ local 'needle=!check'
+ local i
+ shift
+ '[' '!check' '=' '!check' ]
+ return 0
+ return 1
+ '[' test '=' build-base ]
+ list_has build-base
+ local 'needle=build-base'
+ local i
+ shift
+ return 1
+ subpackages_has build-base
+ local i
+ return 1
+ builddeps=' build-base'
+ '[' test '=' bash ]
+ list_has bash build-base
+ local 'needle=bash'
+ local i
+ shift
+ '[' bash '=' build-base ]
+ '[' bash '=' '!build-base' ]
+ return 1
+ subpackages_has bash
+ local i
+ return 1
+ builddeps=' build-base bash'
+ hostdeps=
+ '[' -n ]
+ local mbd mhd missing
+ get_missing_deps build-base bash
+ local 'cmd=apk info --quiet --installed '
+ shift
+ '[' build-base ]
+ local 'cp=build-base'
+ '[' build-base '!=' build-base ]
+ apk info --quiet --installed build-base
+ shift
+ '[' bash ]
+ local 'cp=bash'
+ '[' bash '!=' bash ]
+ apk info --quiet --installed bash
+ echo bash
+ shift
+ '[' ]
+ mbd=bash
+ get_missing_deps '--root --arch x86_64'
+ local 'cmd=apk info --quiet --installed --root --arch x86_64'
+ shift
+ '[' ]
+ mhd=
+ echo bash
+ missing=bash
+ '[' -z -r ]
+ uninstall_after='.makedepends-test '
+ deps '--quiet --simulate'
+ '[' -z -a -z ' build-base bash' ]
+ local '_quiet=--quiet --simulate'
+ '[' -z '--quiet --simulate' ]
+ apk_add_makedeps make --quiet --simulate build-base bash
+ local 'prefix=make'
+ shift
+ shell_escape /home/abuild/packages/home
+ echo ''"'"'/home/abuild/packages/home'"'"
+ local 'repo_args=--repository '"'"'/home/abuild/packages/home'"'"
+ '[' -s /home/abuild/../.rootbld-repositories ]
+ eval abuild-apk add --wait 30 --repository ''"'"'/home/abuild/packages/home'"'" --virtual .makedepends-test '$@'
+ abuild-apk add --wait 30 --repository /home/abuild/packages/home --virtual .makedepends-test --quiet --simulate build-base bash
ERROR: unable to select packages:
.makedepends-test-20240408.100000:
masked in: cache
satisfies: world[.makedepends-test=20240408.100000]
bash (no such package):
required by: .makedepends-test-20240408.100000[bash]
+ return
+ return 1
+ return 1
+ die 'builddeps failed'
+ trap - EXIT
+ error 'builddeps failed'
+ local 'prompt=>>> ERROR:'
+ local 'fake='
+ local 'name=test'
+ printf '>>> ERROR: test: %s\n' 'builddeps failed'
>>> ERROR: test: builddeps failed
+ logcmd 'ERROR: test: builddeps failed'
+ true 'ERROR: test: builddeps failed'
+ return 0
+ cleanup bldroot deps
+ local 'i='
+ '[' -z ]
+ set_xterm_title
+ '[' '=' xterm ]
+ '[' -n ]
+ '[' ]
+ '[' -n '.makedepends-test ' ]
+ msg 'Uninstalling dependencies...'
+ '[' -n ]
+ local 'prompt=>>>'
+ local 'fake='
+ local 'name=test'
+ printf '>>> test: %s\n' 'Uninstalling dependencies...'
>>> test: Uninstalling dependencies...
+ undeps
+ local '_quiet='
+ abuild-apk del --wait 30 .makedepends-test
WARNING: opening from cache https://dl-cdn.alpinelinux.org/alpine/v3.19/main: No such file or directory
WARNING: opening from cache https://dl-cdn.alpinelinux.org/alpine/v3.19/community: No such file or directory
ERROR: No such package: .makedepends-test
+ :
+ '[' -n ]
+ exit 1