apk-tools issueshttps://gitlab.alpinelinux.org/alpine/apk-tools/-/issues2019-07-14T07:53:04Zhttps://gitlab.alpinelinux.org/alpine/apk-tools/-/issues/10648APK Randomly failing when using virtual packages2019-07-14T07:53:04ZAlex ViscreanuAPK Randomly failing when using virtual packagesWe have randomly experienced errors while using apk to install packages
using the \`—virtual\` fiag. As there was no apparent logic behind the
issues we decided to run the same command multiple times, and we
realized that the errors seem...We have randomly experienced errors while using apk to install packages
using the \`—virtual\` fiag. As there was no apparent logic behind the
issues we decided to run the same command multiple times, and we
realized that the errors seem to be randomly succeeding. We performed
the tests using alpine 3.9 and it never raises any error.
The command that allows as to trigger the error is
apk add --no-cache --virtual=.build-deps curl build-base postgresql-dev && apk add --no-cache --virtual=.run-deps libpq && apk add --no-cache --virtual=.webpack-deps nodejs nodejs-npm
I’ve set up a GitLab repository, with parallel pipelines so there can be
easily replicated. As you can see, the only jobs that are failing are
the ones running alpine 3.10, and the number of failing jobs is totally
random
https://gitlab.com/alexviscreanu/test-alpine-build/pipelines/68980751/builds
https://gitlab.com/alexviscreanu/test-alpine-build/pipelines/68980779/builds
https://gitlab.com/alexviscreanu/test-alpine-build/pipelines/68980829/builds
And the error trace always seem to be the same
$ apk add --no-cache --virtual=.build-deps curl build-base postgresql-dev && apk add --no-cache --virtual=.run-deps libpq && apk add --no-cache --virtual=.webpack-deps nodejs nodejs-npm
fetch http://dl-cdn.alpinelinux.org/alpine/v3.10/main/x86_64/APKINDEX.tar.gz
fetch http://dl-cdn.alpinelinux.org/alpine/v3.10/community/x86_64/APKINDEX.tar.gz
(1/31) Installing ca-certificates (20190108-r0)
(2/31) Installing nghttp2-libs (1.38.0-r0)
(3/31) Installing libcurl (7.65.1-r0)
(4/31) Installing curl (7.65.1-r0)
(5/31) Installing binutils (2.32-r0)
(6/31) Installing libmagic (5.37-r0)
(7/31) Installing file (5.37-r0)
(8/31) Installing gmp (6.1.2-r1)
(9/31) Installing isl (0.18-r0)
(10/31) Installing libgomp (8.3.0-r0)
(11/31) Installing libatomic (8.3.0-r0)
(12/31) Installing libgcc (8.3.0-r0)
(13/31) Installing mpfr3 (3.1.5-r1)
(14/31) Installing mpc1 (1.1.0-r0)
(15/31) Installing libstdc++ (8.3.0-r0)
(16/31) Installing gcc (8.3.0-r0)
(17/31) Installing musl-dev (1.1.22-r2)
(18/31) Installing libc-dev (0.7.1-r0)
(19/31) Installing g++ (8.3.0-r0)
(20/31) Installing make (4.2.1-r2)
(21/31) Installing fortify-headers (1.1-r0)
(22/31) Installing build-base (0.5-r1)
(23/31) Installing pkgconf (1.6.1-r1)
(24/31) Installing openssl-dev (1.1.1c-r0)
(25/31) Installing db (5.3.28-r1)
(26/31) Installing libsasl (2.1.27-r3)
(27/31) Installing libldap (2.4.47-r2)
(28/31) Installing libpq (11.4-r0)
(29/31) Installing postgresql-libs (11.4-r0)
(30/31) Installing postgresql-dev (11.4-r0)
(31/31) Installing .build-deps (20190702.104055)
Executing busybox-1.30.1-r2.trigger
Executing ca-certificates-20190108-r0.trigger
OK: 196 MiB in 45 packages
fetch http://dl-cdn.alpinelinux.org/alpine/v3.10/main/x86_64/APKINDEX.tar.gz
fetch http://dl-cdn.alpinelinux.org/alpine/v3.10/community/x86_64/APKINDEX.tar.gz
(1/1) Installing .run-deps (20190702.104058)
OK: 196 MiB in 46 packages
fetch http://dl-cdn.alpinelinux.org/alpine/v3.10/main/x86_64/APKINDEX.tar.gz
fetch http://dl-cdn.alpinelinux.org/alpine/v3.10/community/x86_64/APKINDEX.tar.gz
ERROR: unsatisfiable constraints:
.webpack-deps (missing):
required by: world[.webpack-deps=20190702.104058]
If we remove the virtual packages everything works fine, but we never
had any issue until now. Are we doing something wrong? How can it be
explained that it only fails sometimes?
*(from redmine: issue id 10648, created on 2019-07-02)*
* Changesets:
* Revision b45415b1096e76f40b32326d2798123f81fe5976 by Timo Teräs on 2019-07-02T12:27:57Z:
```
add: fix virtual package id generation
Fixes 37fbafcd by adding more input to the hash than just second
grained time stamp - collisions would happen when running apk
scripted.
For virtual package the hash works only as unique identifier, so
try to add elements that should make it unique in most cases.
Fixes #10648
```
* Revision 1b98a2fa98c5af24a6a55cc61a4ff1ba1fa1f34f by Timo Teräs on 2019-07-08T07:56:52Z:
```
main/apk-tools: cherry-pick fix for #10648
ref #10648
(cherry picked from commit 129e1119ed93b1be7d0c168567a3cd8d3a970978)
```Timo TeräsTimo Teräshttps://gitlab.alpinelinux.org/alpine/apk-tools/-/issues/10533Support "epoch" in APKBUILD, like it works in PKGBUILD2024-03-14T14:25:39ZOliver SmithSupport "epoch" in APKBUILD, like it works in PKGBUILDSometimes software needs to follow a new versioning scheme, which would
make newer releases appear to have a smaller version than older
releases.
Arch Linux has the “epoch” field in their PKGBUILDs:
https://wiki.archlinux.org/index.ph...Sometimes software needs to follow a new versioning scheme, which would
make newer releases appear to have a smaller version than older
releases.
Arch Linux has the “epoch” field in their PKGBUILDs:
https://wiki.archlinux.org/index.php/PKGBUILD#epoch
It would be nice to have this in Alpine too (abuild is makepkg light
after all ;)).
(This does not have any priority to me right now, otherwise I would work
towards implementing this in apk-tools, if it is desired.)
*(from redmine: issue id 10533, created on 2019-06-01)*backloghttps://gitlab.alpinelinux.org/alpine/apk-tools/-/issues/10652apk doesn't handle upgrades correctly when old dep versions are still availab...2019-07-22T19:06:24ZA. Wilcoxapk doesn't handle upgrades correctly when old dep versions are still available in repositoryWe’ve just released Adélie 1.0-BETA3, and due to that, we have lots of
people upgrading their computers… we’ve had at least three cases so far
today where there’s been the same error:
ERROR: unsatisfiable constraints:
harfbuzz...We’ve just released Adélie 1.0-BETA3, and due to that, we have lots of
people upgrading their computers… we’ve had at least three cases so far
today where there’s been the same error:
ERROR: unsatisfiable constraints:
harfbuzz-icu-1.8.8-r1:
breaks: harfbuzz-dev-2.4.0-r0[harfbuzz-icu=2.4.0-r0]
libpcrecpp-8.42-r1:
breaks: pcre-dev-8.43-r0[libpcrecpp=8.43-r0]
All of these cases are when qt5-qtbase-dev (or another Qt 5 development
package) is installed. This helpfully included our primary web server,
which has only adelie-base, apache-httpd, and qt5-qtbase-dev installed.
I enabled DEBUG\_PRINT in apk/solver.c, rebuilt, and tried again with
this custom apk-tools build. Output is included in the attached 1.33 MB
log file.
In the middle you find this chunk:
select_package: harfbuzz-icu (requirers=1, iif=0)
consider harfbuzz-icu-1.8.8-r1 iif_triggered=0, tag_ok=1, selectable=1, provider_priority=0, installed=1
consider harfbuzz-icu-2.3.1-r0 iif_triggered=0, tag_ok=1, selectable=1, provider_priority=0, installed=0
consider harfbuzz-icu-2.4.0-r0 iif_triggered=0, tag_ok=1, selectable=1, provider_priority=0, installed=0
selecting: harfbuzz-icu-1.8.8-r1, available: 1
assign harfbuzz-icu to harfbuzz-icu-1.8.8-r1
disqualify_package: harfbuzz-icu-2.3.1-r0 (conflicting provides)
queue_dirty: pc:harfbuzz
disqualify_package: harfbuzz-icu-2.4.0-r0 (conflicting provides)
assign so:libharfbuzz-icu.so.0 to harfbuzz-icu-1.8.8-r1
This seems to be a small issue in the solver:
https://git.alpinelinux.org/apk-tools/tree/src/solver.c\#n514 - it
“Prefer\[s\] existing package\[s\]”, even during a system upgrade.
Anything in world is considered for upgrade, but **dependencies** of
world are only considered for upgrade if the existing package versions
are no longer present/available. I’m aware that the Alpine policy is to
run the equivalent of cleanoldpkg on every build, but it isn’t our
policy at Adélie - once a package is published to our mirrors, it is
never removed for any reason other than if there is a license error
My personal opinion is that there should perhaps be another flag to
upgrade, maybe -d/—deep for “deep upgrades” which will upgrade **every**
package, not just world.
*(from redmine: issue id 10532, created on 2019-06-01)*Timo TeräsTimo Teräshttps://gitlab.alpinelinux.org/alpine/apk-tools/-/issues/10651APK should have --force-reinstall option2022-12-21T20:00:36ZAndrey LAPK should have --force-reinstall optionHello!
Sometimes it’s needed to reinstall package overwriting all files
included in package
There should an easy way to do it.
*(from redmine: issue id 10303, created on 2019-04-19)*Hello!
Sometimes it’s needed to reinstall package overwriting all files
included in package
There should an easy way to do it.
*(from redmine: issue id 10303, created on 2019-04-19)*v3.1https://gitlab.alpinelinux.org/alpine/apk-tools/-/issues/10219apk add --quiet is not quiet2020-01-17T01:54:18Zalgitbotapk add --quiet is not quiet-q/—quiet is supposed to make apk quite
script
docker run —rm -it python:3.7.3-alpine3.9 apk add —quiet bash
Results in following output captured in typescript:
\`\`\`
<sup>\[8</sup>\[\[0K<sup>\[7\ 62%\ ██████████████████████████...-q/—quiet is supposed to make apk quite
script
docker run —rm -it python:3.7.3-alpine3.9 apk add —quiet bash
Results in following output captured in typescript:
\`\`\`
<sup>\[8</sup>\[\[0K<sup>\[7\ 62%\ █████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████</sup>\[8<sup>\[\[0K</sup>\[7
63%
██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████
<sup>\[8</sup>\[\[0K<sup>\[7\ 65%\ ████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████</sup>\[8<sup>\[\[0K</sup>\[7
66%
█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████
<sup>\[8</sup>\[\[0K<sup>\[7\ 68%\ ██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████</sup>\[8<sup>\[\[0K</sup>\[7
69%
███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████
<sup>\[8</sup>\[\[0K<sup>\[7\ 70%\ █████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████</sup>\[8<sup>\[\[0K</sup>\[7
72%
██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████
<sup>\[8</sup>\[\[0K<sup>\[7\ 73%\ ███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████</sup>\[8<sup>\[\[0K</sup>\[7
75%
████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████
<sup>\[8</sup>\[\[0K<sup>\[7\ 76%\ ██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████</sup>\[8<sup>\[\[0K</sup>\[7
78%
███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████
<sup>\[8</sup>\[\[0K<sup>\[7\ 79%\ ████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████</sup>\[8<sup>\[\[0K</sup>\[7
81%
██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████
<sup>\[8</sup>\[\[0K<sup>\[7\ 82%\ ███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████</sup>\[8<sup>\[\[0K</sup>\[7
83%
████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████
<sup>\[8</sup>\[\[0K<sup>\[7\ 85%\ █████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████</sup>\[8<sup>\[\[0K</sup>\[7
86%
███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████
<sup>\[8</sup>\[\[0K<sup>\[7\ 88%\ ████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████</sup>\[8<sup>\[\[0K</sup>\[7
89%
█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████
<sup>\[8</sup>\[\[0K<sup>\[7\ 91%\ ███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████</sup>\[8<sup>\[\[0K</sup>\[7
92%
████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████
<sup>\[8</sup>\[\[0K<sup>\[7\ 93%\ █████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████</sup>\[8<sup>\[\[0K</sup>\[7
95%
██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████
<sup>\[8</sup>\[\[0K<sup>\[7\ 96%\ ████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████</sup>\[8<sup>\[\[0K</sup>\[7100%
████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████<sup>\[8</sup>\[\[0K
\`\`\`
Tested with:
apk-tools 2.10.3, compiled for x86\_64.
*(from redmine: issue id 10219, created on 2019-04-09)*https://gitlab.alpinelinux.org/alpine/apk-tools/-/issues/10201renameat fails in apk-tools when upgrading a package where V1 has a directory...2019-12-27T14:48:55ZArchis Gorerenameat fails in apk-tools when upgrading a package where V1 has a directory and V2 has a fileWe noticed the issue due to this bug:
https://github.com/netdata/netdata/issues/5713
I can explain the use-case in detail if you’d like, but quite simply
there’s an issue that we surfaced when upgrading packages.
Specifically at this l...We noticed the issue due to this bug:
https://github.com/netdata/netdata/issues/5713
I can explain the use-case in detail if you’d like, but quite simply
there’s an issue that we surfaced when upgrading packages.
Specifically at this line:
https://git.alpinelinux.org/apk-tools/tree/src/database.c\#n2740 (and
presumably at other places where renameat is called), when name is a
directory, but tmpname is a file it fails with EISDIR.
I instrumented the line with this:
\`\`\`
if (renameat(db->root\_fd, tmpname,
db->root\_fd, name) != 0) {
apk\_error(PKG\_VER\_FMT“: failed to rename %s to %s (errno=%d,
strerror=%s EISDIR: %d).”,
PKG\_VER\_PRINTF(ipkg->pkg),
tmpname, name,
errno, strerror(errno), EISDIR);
ipkg->broken\_files = 1;
}
\`\`\`
And got this output:
\`\`\`
ERROR: py2-psycopg2-2.7.5-r0: failed to rename
usr/lib/python2.7/site-packages/.apk.e6a4129270b3b99b221d1dbc3289eb2ec9dd67d2f0113746
to usr/lib/python2.7/site-packages/psycopg2-2.7.5-py2.7.egg-info
(errno=21, strerror=Is a directory EISDIR: 21).
\`\`\`
A google search confirms this isn’t an isolated issue
(https://www.google.com/search?source=hp&ei=tFOoXM-KFN6-0PEP9dKXgAY&q=alpine<span
class="underline">“failed+to+rename”&btnK=Google+Search&oq=alpine</span>“failed+to+rename”&gs\_l=psy-ab.3..33i22i29i30l10.852.2458..3285…0.0..0.83.614.11……0….1j2..gws-wiz…..0..0i131j0.DbDWol4S26w)
I’m a long-time Alpine user but new here, and I’ve read contributor
guidelines. I’d be happy to submit patches and help in any way I can if
you think this is a fix worth accepting.
I’d like to propose two changes. The first of which is to simply print
\`errno\` and \`strerror(errno)\` as part of the error message - since
the information is available at the failure site, it would really help
everyone just see what the error was.
Secondly, I’d love guidance on what the expected semantics should be
when V1 has a directory called Foo, but V2 makes it a file called Foo,
and then I can submit patches to fix that.
Happy to hear thoughts, suggestions, comments.
*(from redmine: issue id 10201, created on 2019-04-06)*
* Uploads:
* [0001-Add-more-diagnostic-error-details-to-renameat-failur.patch](/uploads/31a6452a4fa8764f7e41c23b9afea49f/0001-Add-more-diagnostic-error-details-to-renameat-failur.patch) The proposed patch for better debugging informationTimo TeräsTimo Teräshttps://gitlab.alpinelinux.org/alpine/apk-tools/-/issues/10157apk exits with 0 when given invalid flags2019-12-27T14:54:46ZChristopher Croneapk exits with 0 when given invalid flagsIt appears that apk exits with a 0 exit code even when an invalid option
is passed. A case follows below:
$ docker run --rm -it alpine:3.9.2
# apk add --invalid-option git
apk: unrecognized option: invalid-option
fetch h...It appears that apk exits with a 0 exit code even when an invalid option
is passed. A case follows below:
$ docker run --rm -it alpine:3.9.2
# apk add --invalid-option git
apk: unrecognized option: invalid-option
fetch http://dl-cdn.alpinelinux.org/alpine/v3.9/main/x86_64/APKINDEX.tar.gz
fetch http://dl-cdn.alpinelinux.org/alpine/v3.9/community/x86_64/APKINDEX.tar.gz
(1/7) Installing ca-certificates (20190108-r0)
(2/7) Installing nghttp2-libs (1.35.1-r0)
(3/7) Installing libssh2 (1.8.1-r0)
(4/7) Installing libcurl (7.64.0-r1)
(5/7) Installing expat (2.2.6-r0)
(6/7) Installing pcre2 (10.32-r1)
(7/7) Installing git (2.20.1-r0)
Executing busybox-1.29.3-r10.trigger
Executing ca-certificates-20190108-r0.trigger
OK: 20 MiB in 21 packages
/ # echo $?
0
*(from redmine: issue id 10157, created on 2019-03-26)*
* Uploads:
* [0001-Fix-show-help-when-invalid-option-is-passed-to-apk.patch](/uploads/4f456a804bb9a8687d930562c01b8c92/0001-Fix-show-help-when-invalid-option-is-passed-to-apk.patch)https://gitlab.alpinelinux.org/alpine/apk-tools/-/issues/9957"abuild deps" is no more updates dependency list2019-12-27T14:16:19ZTaner Tas"abuild deps" is no more updates dependency listDuring package development, abuild was able to install each newly added
dependency when consecutively running “abuild deps” each time.
But it seems this useful feature broken at some point. Now, we have to
do “abuild undeps” and then “...During package development, abuild was able to install each newly added
dependency when consecutively running “abuild deps” each time.
But it seems this useful feature broken at some point. Now, we have to
do “abuild undeps” and then “abuild deps” to install newly added
dependencies.
Please revert it previous behavior otherwise package development process
will be unnecessarily painful.
*(from redmine: issue id 9957, created on 2019-02-03)*
* Relations:
* duplicates #9651
* Changesets:
* Revision 37fbafcd928c466c82c892a7868d686d710e5d07 by Timo Teräs on 2019-06-03T06:33:43Z:
```
add: make virtual packages upgradeable (ref #9957)
Originally the virtual packages could have dependencies added to it.
However, commit b06e3b99 broke this behaviour to fix error reporting.
The root cause however was that the virtual depedency package was not
properly versioned.
This fixes to use current date/time as the package version, and
constructs the "faked" package hash from it. This effectively makes
"add -t virtpkg deps.." replace the dependencies which should be the
desired behaviour for "abuild deps".
'world' dependency to the generated virtual package is also now
versioned to make sure it get's upgraded.
```Timo TeräsTimo Teräshttps://gitlab.alpinelinux.org/alpine/apk-tools/-/issues/9634apk symbolic link handling2022-12-21T20:00:16ZTony Garnock-Jonesapk symbolic link handlingI suspect there is a bug in \`apk add\`’s handling of symlinks when
using \`—root\` pointing to an area of the file system not on the same
mount as the running root directory, when the symlink is to end up in
the root directory.
I...I suspect there is a bug in \`apk add\`’s handling of symlinks when
using \`—root\` pointing to an area of the file system not on the same
mount as the running root directory, when the symlink is to end up in
the root directory.
I had an APKBUILD with with a \`package()\` routine that included:
…
ln -s /media/data “$pkgdir”/data
ln -s /etc/crontabs “$pkgdir”/var/spool/cron/crontabs
ln -s /proc/mounts “$pkgdir”/etc/mtab
…
When installing the package using
apk —root targetroot —initdb add …(many packages)…
where \`targetroot\` was a **mount point** for the file system under
construction, it produced an error in apk’s \`src/database.c\`
\[here\](https://github.com/alpinelinux/apk-tools/blob/8fa193ecda2a71de3ff5f826205351b185d15054/src/database.c\#L2731-L2736),
/\* Overwrite the old file \*/
if (renameat(db->root\_fd, tmpname,
db->root\_fd, name) != 0) {
apk\_error(PKG\_VER\_FMT“: failed to rename %s to %s.”,
PKG\_VER\_PRINTF(ipkg->pkg), tmpname, name);
ipkg->broken\_files = 1;
}
Adding a \`perror(“renameat”)\` before the \`apk\_error\` showed that
the
cause of the failure was \`EXDEV\`:
EXDEV oldpath and newpath are not on the same mounted filesystem.
(Linux permits a filesystem to be mounted at multiple points,
but rename() does not work across different mount points, even
if the same filesystem is mounted on both.)
Changing the APKBUILD to omit the **first** symlink (\`/data\`),
leaving
the other two alone (\`/var/spool/cron/crontabs\` and \`/etc/mtab\`),
let
the installation complete successfully!
I suspect that the problem is in \`format\_tmpname\` in
\`src/database.c\`.
Specifically, I think that the tmpname is built like
the/target/directory + /.apk. + somerandomstuff
So for examples like the \`/etc/mtab\` symlink, the tmpname will be
etc + /.apk. + somerandomstuff
i.e. a relative path, BUT in the case where the target directory is
the ROOT directory, the tmpname will be
/.apk. + somerandomstuff
i.e. it will be an ABSOLUTE path.
Now, renameat(2) ignores \`db->root\_fd\` if \`tmpname\` is an
absolute
path, and so it will attempt to move a file from the actual root to
somewhere in the \`—root\` folder, leading to EXDEV.
I believe the fix COULD involve changing \`format\_tmpname\` to treat
an
empty \`f<s><span
style="text-align:right;">diri</span></s>>dir->name\` specially,
resulting in a relative tmpname,
but I am not 100% certain.
For now, I am working around the issue by removing the
ln -s /media/data “$pkgdir”/data
line from APKBUILD’s \`package()\`, and instead adding \`ln -s
/media/data /data\` to the \`pre-install\` script.
*(from redmine: issue id 9634, created on 2018-11-09)*https://gitlab.alpinelinux.org/alpine/apk-tools/-/issues/9621Fix compilation on PLD Linux2020-01-03T11:25:30ZElan RuusamäeFix compilation on PLD LinuxI’ve made some compile fixes, now I want to publish them.
So, attaching as git format match.
To apply:
```
git am 0001-fix-strncpy-bounds-errors.patch
git am 0002-include-sys-sysmacros.h-for-makedev-definition.patch
```
*(from r...I’ve made some compile fixes, now I want to publish them.
So, attaching as git format match.
To apply:
```
git am 0001-fix-strncpy-bounds-errors.patch
git am 0002-include-sys-sysmacros.h-for-makedev-definition.patch
```
*(from redmine: issue id 9621, created on 2018-11-03, closed on 2019-05-03)*
* Uploads:
* [0001-fix-strncpy-bounds-errors.patch](/uploads/5cbde551a5f6d6bbe8d50b1dd54cf3c7/0001-fix-strncpy-bounds-errors.patch) fix strncpy bounds errors
* [0002-include-sys-sysmacros.h-for-makedev-definition.patch](/uploads/4dc71e8a0e7d357bfc8201b555e7f985/0002-include-sys-sysmacros.h-for-makedev-definition.patch) include sys/sysmacros.h for makedev definitionhttps://gitlab.alpinelinux.org/alpine/apk-tools/-/issues/10688APK re-inserts basic auth info across domains when following redirects2021-04-11T11:27:49ZMorgan HeinAPK re-inserts basic auth info across domains when following redirectsThe code related to this bug:
https://github.com/alpinelinux/apk-tools/blob/master/libfetch/http.c\#L1081
Summary:
- add basic auth info to a repository in /etc/apk/repositories
- request an apk update
- server handling request r...The code related to this bug:
https://github.com/alpinelinux/apk-tools/blob/master/libfetch/http.c\#L1081
Summary:
- add basic auth info to a repository in /etc/apk/repositories
- request an apk update
- server handling request returns a 302 redirect to provide the
APKINDEX.tar.gz file
- apk follows redirect, re-injects basic auth, and makes request
This is done regardless of domain boundaries. In our case, this is
non-standard behavior that is causing issues. This ticket is not meant
as a judgement call that the current behavior is wrong, but that it
would, at the very least, be nice to be able to disable this behavior.
Furthermore, DNF, YUM, and APT do not have this behavior, so APK is
special in this case. This may be a feature request, if not considered a
bug.
Here’s a cleaned up excerpt of a conversation from the irc channel that
explains this bug in more detail:
<johnnyfive> my issue is this: I have a private repo stored on S3, which
is served behind a gateway with basic auth. The gateway creates signed
S3 urls, and redirects them to apk. apk handles the redirection just
fine, but the issue is it ‘re-issues’ or re-injects the original basic
auth info into the redirect, which causes s3 to break.
<johnnyfive> \[to further\] let me explain. So we have an s3 bucket that
we don’t want direct access to (the logging on s3 natively is not
granular enough to give us the information we need)
<johnnyfive> so, instead we have a mildly altered http gateway, that
restricts access via basic auth
<johnnyfive> which, when a file is requested, creates a signed url to
the s3 bucket, and returns a redirect to that file
<AinNero> actually, if gateway and s3 url are on different domain, and
the auth data is passed, its an bug in apk
<johnnyfive> it is a different domain
<johnnyfive> the redirect is a 302
<AinNero> johnnyfive:
https://github.com/alpinelinux/apk-tools/blob/master/libfetch/http.c\#L1081
<AinNero> apk is passing the auth data when following redirects, so the
question is, if thats valid or not
<johnnyfive> yep, no idea what the ‘correct’ behavior is, but I will
mention that yum+dnf+apt do not have this behavior
*(from redmine: issue id 9490, created on 2018-09-28)*Timo TeräsTimo Teräshttps://gitlab.alpinelinux.org/alpine/apk-tools/-/issues/9411apk upgrade bug when new directory has same name as old file2022-12-21T18:50:52ZNatanael Copaapk upgrade bug when new directory has same name as old fileI got errors when upgrading gimp with apk-tools-2.10.1, with the files
under `usr/lib/gimp/2.0/plug-ins`.
To reproduce:
$ docker run --rm -it alpine:3.8 sh -c "apk add -U gimp && sed -i -e 's/v3.8/edge/' /etc/apk/repositories && ap...I got errors when upgrading gimp with apk-tools-2.10.1, with the files
under `usr/lib/gimp/2.0/plug-ins`.
To reproduce:
$ docker run --rm -it alpine:3.8 sh -c "apk add -U gimp && sed -i -e 's/v3.8/edge/' /etc/apk/repositories && apk upgrade -U -a"
...
(82/88) Replacing poppler-glib (0.56.0-r1 -> 0.56.0-r1)
(83/88) Upgrading gimp (2.8.22-r2 -> 2.10.6-r0)
ERROR: gimp-2.10.6-r0: failed to rename usr/lib/gimp/2.0/plug-ins/file-header/.apk.a363331e9a8d3d487a216eda7ca2ffea8196714a3c49a26e to usr/lib/gimp/2.0/plug-ins/file-header/file-header.
ERROR: gimp-2.10.6-r0: failed to rename usr/lib/gimp/2.0/plug-ins/cartoon/.apk.8dcf9daeda099f7d5746b6ea69b304dac6a3d7e7ac42f120 to usr/lib/gimp/2.0/plug-ins/cartoon/cartoon.
ERROR: gimp-2.10.6-r0: failed to rename usr/lib/gimp/2.0/plug-ins/gimpressionist/.apk.9ea15f5626abef4a2a6a67e53cc297193fcdaef84cbe5750 to usr/lib/gimp/2.0/plug-ins/gimpressionist/gimpressionist.
ERROR: gimp-2.10.6-r0: failed to rename usr/lib/gimp/2.0/plug-ins/sharpen/.apk.c68da8a90a2326b2e799dfdf80b509892110e257957059bd to usr/lib/gimp/2.0/plug-ins/sharpen/sharpen.
ERROR: gimp-2.10.6-r0: failed to rename usr/lib/gimp/2.0/plug-ins/file-faxg3/.apk.42666728d028e8c6bc83b57e93c05c051bb8bd249aa2a685 to usr/lib/gimp/2.0/plug-ins/file-faxg3/file-faxg3.
ERROR: gimp-2.10.6-r0: failed to rename usr/lib/gimp/2.0/plug-ins/file-gif-save/.apk.f350657ed077ff3e5f5f6fbdef0cef481c6d111267aef3e2 to usr/lib/gimp/2.0/plug-ins/file-gif-save/file-gif-save.
ERROR: gimp-2.10.6-r0: failed to rename usr/lib/gimp/2.0/plug-ins/filter-pack/.apk.19bd28a0c8acbc1ca0f3c13052d7d5016ec6ab15f2964f32 to usr/lib/gimp/2.0/plug-ins/filter-pack/filter-pack.
ERROR: gimp-2.10.6-r0: failed to rename usr/lib/gimp/2.0/plug-ins/contrast-normalize/.apk.3cc77b48ef05a1c1d6be60018735d57ba0919679a34e4106 to usr/lib/gimp/2.0/plug-ins/contrast-normalize/contrast-normalize.
ERROR: gimp-2.10.6-r0: failed to rename usr/lib/gimp/2.0/plug-ins/file-csource/.apk.1a5688fd9666d688975512796e0c2ca168ce7838dc142b43 to usr/lib/gimp/2.0/plug-ins/file-csource/file-csource.
ERROR: gimp-2.10.6-r0: failed to rename usr/lib/gimp/2.0/plug-ins/gradient-map/.apk.c92c29787c5e0b0c64780576904f6ea67d3a95044bc6aad8 to usr/lib/gimp/2.0/plug-ins/gradient-map/gradient-map.
ERROR: gimp-2.10.6-r0: failed to rename usr/lib/gimp/2.0/plug-ins/file-pnm/.apk.da385ea537cc77a8f056db03d7e8f9bf5ee3b87acdfbba31 to usr/lib/gimp/2.0/plug-ins/file-pnm/file-pnm.
ERROR: gimp-2.10.6-r0: failed to rename usr/lib/gimp/2.0/plug-ins/qbist/.apk.2d44115674ae5e18db2072f77332276dc744c863d8321182 to usr/lib/gimp/2.0/plug-ins/qbist/qbist.
ERROR: gimp-2.10.6-r0: failed to rename usr/lib/gimp/2.0/plug-ins/file-psp/.apk.96d194c77174ec9bcf24a8763081ef86de20addac1b7f9f9 to usr/lib/gimp/2.0/plug-ins/file-psp/file-psp.
ERROR: gimp-2.10.6-r0: failed to rename usr/lib/gimp/2.0/plug-ins/map-object/.apk.060024a44385cc536458349a0cb88d755dc3f2a706125a5a to usr/lib/gimp/2.0/plug-ins/map-object/map-object.
ERROR: gimp-2.10.6-r0: failed to rename usr/lib/gimp/2.0/plug-ins/file-pcx/.apk.a05d12d5218565d31b8fa984794015a30f254eb10c783dd8 to usr/lib/gimp/2.0/plug-ins/file-pcx/file-pcx.
ERROR: gimp-2.10.6-r0: failed to rename usr/lib/gimp/2.0/plug-ins/gradient-flare/.apk.a9ece2fc03b249a268f09077e0dbaccb2c7bb7482c2e5edc to usr/lib/gimp/2.0/plug-ins/gradient-flare/gradient-flare.
ERROR: gimp-2.10.6-r0: failed to rename usr/lib/gimp/2.0/plug-ins/script-fu/.apk.0f0b53459fd53783f077d58820b3f644eae66259593d3df2 to usr/lib/gimp/2.0/plug-ins/script-fu/script-fu.
ERROR: gimp-2.10.6-r0: failed to rename usr/lib/gimp/2.0/plug-ins/emboss/.apk.81b74c54211133928823931613a830017938ae56b77a6a59 to usr/lib/gimp/2.0/plug-ins/emboss/emboss.
ERROR: gimp-2.10.6-r0: failed to rename usr/lib/gimp/2.0/plug-ins/smooth-palette/.apk.d12b219194efd3fbf17179db5d4f02299d8b6a741e6d801c to usr/lib/gimp/2.0/plug-ins/smooth-palette/smooth-palette.
ERROR: gimp-2.10.6-r0: failed to rename usr/lib/gimp/2.0/plug-ins/file-compressor/.apk.712b2bb8e13017ead0a1230b2c79eba0661dc295d0743fab to usr/lib/gimp/2.0/plug-ins/file-compressor/file-compressor.
ERROR: gimp-2.10.6-r0: failed to rename usr/lib/gimp/2.0/plug-ins/screenshot/.apk.dcd62f978b4361ba4c2d99a3acff953afbcc41bfb4b8f8e1 to usr/lib/gimp/2.0/plug-ins/screenshot/screenshot.
ERROR: gimp-2.10.6-r0: failed to rename usr/lib/gimp/2.0/plug-ins/film/.apk.a0e0c11ada421ccdf8ccdb276905447e6531bf396dd098de to usr/lib/gimp/2.0/plug-ins/film/film.
ERROR: gimp-2.10.6-r0: failed to rename usr/lib/gimp/2.0/plug-ins/file-pat/.apk.47363645cdc96944dbe7948f13f462dcf44ef9d71c702442 to usr/lib/gimp/2.0/plug-ins/file-pat/file-pat.
ERROR: gimp-2.10.6-r0: failed to rename usr/lib/gimp/2.0/plug-ins/tile-small/.apk.7cdd630207ea1b00ed6a78e5e2655d1870054b58b9c3411f to usr/lib/gimp/2.0/plug-ins/tile-small/tile-small.
ERROR: gimp-2.10.6-r0: failed to rename usr/lib/gimp/2.0/plug-ins/selection-to-path/.apk.8870205db954bc2529300d75c87b0fe8d10ea6b1d7669241 to usr/lib/gimp/2.0/plug-ins/selection-to-path/selection-to-path.
ERROR: gimp-2.10.6-r0: failed to rename usr/lib/gimp/2.0/plug-ins/file-svg/.apk.274ff0529815d883ee31129117e85e9124db04c52cbf9979 to usr/lib/gimp/2.0/plug-ins/file-svg/file-svg.
ERROR: gimp-2.10.6-r0: failed to rename usr/lib/gimp/2.0/plug-ins/tile/.apk.2481d1c9c205ac690f4af65ed76d09608a1bab28c1cda2ae to usr/lib/gimp/2.0/plug-ins/tile/tile.
ERROR: gimp-2.10.6-r0: failed to rename usr/lib/gimp/2.0/plug-ins/sample-colorize/.apk.cb37ae4ebc732a4f467a6dbc0cf3916c7927339ccc8b0a76 to usr/lib/gimp/2.0/plug-ins/sample-colorize/sample-colorize.
ERROR: gimp-2.10.6-r0: failed to rename usr/lib/gimp/2.0/plug-ins/file-pdf-save/.apk.1e3e2c5adbc33e4809d3cb6bbfc95448f8c969daa1c6a999 to usr/lib/gimp/2.0/plug-ins/file-pdf-save/file-pdf-save.
ERROR: gimp-2.10.6-r0: failed to rename usr/lib/gimp/2.0/plug-ins/warp/.apk.1ed4316bc2a3d290c2b6109e65ef8d7a8f6d588b6d31b40f to usr/lib/gimp/2.0/plug-ins/warp/warp.
ERROR: gimp-2.10.6-r0: failed to rename usr/lib/gimp/2.0/plug-ins/flame/.apk.018f909206e515c6c03ab18ee2b55cebb87c17abafd3c0a6 to usr/lib/gimp/2.0/plug-ins/flame/flame.
ERROR: gimp-2.10.6-r0: failed to rename usr/lib/gimp/2.0/plug-ins/pagecurl/.apk.fe367a655cc815040911a9b0878d760398562c8db61d645f to usr/lib/gimp/2.0/plug-ins/pagecurl/pagecurl.
ERROR: gimp-2.10.6-r0: failed to rename usr/lib/gimp/2.0/plug-ins/destripe/.apk.73710619d5a77ddc84c1e04c48478199b808a9a8460c9863 to usr/lib/gimp/2.0/plug-ins/destripe/destripe.
ERROR: gimp-2.10.6-r0: failed to rename usr/lib/gimp/2.0/plug-ins/edge-neon/.apk.626332d27ef264d2170369db4b330e5d073091decb2026ff to usr/lib/gimp/2.0/plug-ins/edge-neon/edge-neon.
ERROR: gimp-2.10.6-r0: failed to rename usr/lib/gimp/2.0/plug-ins/guillotine/.apk.5a69a4851870aaa957a909170789cf8632bb00b46d90a555 to usr/lib/gimp/2.0/plug-ins/guillotine/guillotine.
ERROR: gimp-2.10.6-r0: failed to rename usr/lib/gimp/2.0/plug-ins/curve-bend/.apk.77b778320e7b0965562aad17e954d06f35c317bd762c9dfc to usr/lib/gimp/2.0/plug-ins/curve-bend/curve-bend.
ERROR: gimp-2.10.6-r0: failed to rename usr/lib/gimp/2.0/plug-ins/color-cube-analyze/.apk.3cddc3845c39cd10dd3cf6188ae2b8ee8c62a6d7f9e7d9b0 to usr/lib/gimp/2.0/plug-ins/color-cube-analyze/color-cube-analyze.
ERROR: gimp-2.10.6-r0: failed to rename usr/lib/gimp/2.0/plug-ins/newsprint/.apk.ecc9d35c6c427415bcd0eca6d2401d49d2aeebe44548f3c4 to usr/lib/gimp/2.0/plug-ins/newsprint/newsprint.
ERROR: gimp-2.10.6-r0: failed to rename usr/lib/gimp/2.0/plug-ins/colormap-remap/.apk.3b81d43aab2cfedf5f8ec5d0f5179d90c97d2bbd5484a8eb to usr/lib/gimp/2.0/plug-ins/colormap-remap/colormap-remap.
ERROR: gimp-2.10.6-r0: failed to rename usr/lib/gimp/2.0/plug-ins/ifs-compose/.apk.8e6f432a16e4ef717c74d91165d8eabb76f02de582c44a6c to usr/lib/gimp/2.0/plug-ins/ifs-compose/ifs-compose.
ERROR: gimp-2.10.6-r0: failed to rename usr/lib/gimp/2.0/plug-ins/fractal-explorer/.apk.a5fa4cf4b74c1c1f5f634873f45f8abaa376e7fdb66157af to usr/lib/gimp/2.0/plug-ins/fractal-explorer/fractal-explorer.
ERROR: gimp-2.10.6-r0: failed to rename usr/lib/gimp/2.0/plug-ins/animation-optimize/.apk.f57621e36520b9d18fb48e6ff09356c79b1ca8991fb553e6 to usr/lib/gimp/2.0/plug-ins/animation-optimize/animation-optimize.
ERROR: gimp-2.10.6-r0: failed to rename usr/lib/gimp/2.0/plug-ins/file-dicom/.apk.f822fe7ec3eb63baa723c532412a1f47ccb0c8a3be9a740e to usr/lib/gimp/2.0/plug-ins/file-dicom/file-dicom.
ERROR: gimp-2.10.6-r0: failed to rename usr/lib/gimp/2.0/plug-ins/imagemap/.apk.42ec92293ce24e7e9565337971cae2c35e38ae28329d0f5c to usr/lib/gimp/2.0/plug-ins/imagemap/imagemap.
ERROR: gimp-2.10.6-r0: failed to rename usr/lib/gimp/2.0/plug-ins/file-gbr/.apk.3070e9c4d4a62481cb62ab191518548de2d7826195ca887e to usr/lib/gimp/2.0/plug-ins/file-gbr/file-gbr.
ERROR: gimp-2.10.6-r0: failed to rename usr/lib/gimp/2.0/plug-ins/plugin-browser/.apk.0fc321725e22632be24187b3cd09c66fcd800c992661303e to usr/lib/gimp/2.0/plug-ins/plugin-browser/plugin-browser.
ERROR: gimp-2.10.6-r0: failed to rename usr/lib/gimp/2.0/plug-ins/lighting/.apk.5d64532a0dd512b3f1b14b02640284f453cb2788298b2b9f to usr/lib/gimp/2.0/plug-ins/lighting/lighting.
ERROR: gimp-2.10.6-r0: failed to rename usr/lib/gimp/2.0/plug-ins/file-tga/.apk.90bbe438af2daa64a11360b237bfef7286ac39e4c88883a4 to usr/lib/gimp/2.0/plug-ins/file-tga/file-tga.
ERROR: gimp-2.10.6-r0: failed to rename usr/lib/gimp/2.0/plug-ins/depth-merge/.apk.517c875769452f2f4d2bb5518770a3fe710666f3e863a255 to usr/lib/gimp/2.0/plug-ins/depth-merge/depth-merge.
ERROR: gimp-2.10.6-r0: failed to rename usr/lib/gimp/2.0/plug-ins/oilify/.apk.a3458585fa37f8a363bcef91bfd2d53230bfdc289ba81719 to usr/lib/gimp/2.0/plug-ins/oilify/oilify.
ERROR: gimp-2.10.6-r0: failed to rename usr/lib/gimp/2.0/plug-ins/file-desktop-link/.apk.c7f1000a1e308a6006dda1c346153c9d4fcb056dfb765dde to usr/lib/gimp/2.0/plug-ins/file-desktop-link/file-desktop-link.
ERROR: gimp-2.10.6-r0: failed to rename usr/lib/gimp/2.0/plug-ins/file-ico/.apk.fb7c787c432ed090b3073e361399ac3b4b7237a80ff4e358 to usr/lib/gimp/2.0/plug-ins/file-ico/file-ico.
ERROR: gimp-2.10.6-r0: failed to rename usr/lib/gimp/2.0/plug-ins/hot/.apk.7388308df4b175391ba26fe626ef7a87fafa148191985110 to usr/lib/gimp/2.0/plug-ins/hot/hot.
ERROR: gimp-2.10.6-r0: failed to rename usr/lib/gimp/2.0/plug-ins/file-html-table/.apk.9c66606ea318ca825c13d5e5ad0911fbd5a52e770ba90072 to usr/lib/gimp/2.0/plug-ins/file-html-table/file-html-table.
ERROR: gimp-2.10.6-r0: failed to rename usr/lib/gimp/2.0/plug-ins/cml-explorer/.apk.25383b5193a80d59b8c6726ec11be51826d2d1671e08a9f4 to usr/lib/gimp/2.0/plug-ins/cml-explorer/cml-explorer.
ERROR: gimp-2.10.6-r0: failed to rename usr/lib/gimp/2.0/plug-ins/file-xbm/.apk.42e9b4cbea2d3e7d1c11f852938eb77765d0c73db8eca816 to usr/lib/gimp/2.0/plug-ins/file-xbm/file-xbm.
ERROR: gimp-2.10.6-r0: failed to rename usr/lib/gimp/2.0/plug-ins/web-browser/.apk.6e38e4f9c9dbc4a9d430fda8be2e709a9f91156570a0c4d0 to usr/lib/gimp/2.0/plug-ins/web-browser/web-browser.
ERROR: gimp-2.10.6-r0: failed to rename usr/lib/gimp/2.0/plug-ins/sphere-designer/.apk.86023409904ad3e64b8d003f2cc38eaa6d18aef7d0e9c18e to usr/lib/gimp/2.0/plug-ins/sphere-designer/sphere-designer.
ERROR: gimp-2.10.6-r0: failed to rename usr/lib/gimp/2.0/plug-ins/procedure-browser/.apk.9a89db987f5c20496be9a9872df4c8455a7c41544c8fc57a to usr/lib/gimp/2.0/plug-ins/procedure-browser/procedure-browser.
ERROR: gimp-2.10.6-r0: failed to rename usr/lib/gimp/2.0/plug-ins/grid/.apk.74a2cc6fafc470e6786380e8b1b4b2d8950919fc23aaa3f5 to usr/lib/gimp/2.0/plug-ins/grid/grid.
ERROR: gimp-2.10.6-r0: failed to rename usr/lib/gimp/2.0/plug-ins/file-fli/.apk.0fd710f850d7a310e088caaa9d08505863c9ec230d711424 to usr/lib/gimp/2.0/plug-ins/file-fli/file-fli.
ERROR: gimp-2.10.6-r0: failed to rename usr/lib/gimp/2.0/plug-ins/unit-editor/.apk.e5d820196ba240fa83d7cce0047ed1305785a22c247a6dd5 to usr/lib/gimp/2.0/plug-ins/unit-editor/unit-editor.
ERROR: gimp-2.10.6-r0: failed to rename usr/lib/gimp/2.0/plug-ins/softglow/.apk.91167a155c9933f0e4aedf27e0c6b974809415a9c60f4516 to usr/lib/gimp/2.0/plug-ins/softglow/softglow.
ERROR: gimp-2.10.6-r0: failed to rename usr/lib/gimp/2.0/plug-ins/despeckle/.apk.ed70b470515299e8ae39dfbd6d72b57f1e1ebe09909ef274 to usr/lib/gimp/2.0/plug-ins/despeckle/despeckle.
ERROR: gimp-2.10.6-r0: failed to rename usr/lib/gimp/2.0/plug-ins/file-xwd/.apk.bc8fdaed8058e1f1cf5833f78cf5dba353e1795a68753084 to usr/lib/gimp/2.0/plug-ins/file-xwd/file-xwd.
ERROR: gimp-2.10.6-r0: failed to rename usr/lib/gimp/2.0/plug-ins/file-pdf-load/.apk.a1bbc17098409b6d56a841ad2fe94e09a4dde1afae17cb28 to usr/lib/gimp/2.0/plug-ins/file-pdf-load/file-pdf-load.
ERROR: gimp-2.10.6-r0: failed to rename usr/lib/gimp/2.0/plug-ins/file-glob/.apk.60556d363bee6c856fda408a2454f9bcdad9a52a793cd1ec to usr/lib/gimp/2.0/plug-ins/file-glob/file-glob.
ERROR: gimp-2.10.6-r0: failed to rename usr/lib/gimp/2.0/plug-ins/file-bmp/.apk.f897538451de918519ebf6187f3358bd16feab23001e46c2 to usr/lib/gimp/2.0/plug-ins/file-bmp/file-bmp.
ERROR: gimp-2.10.6-r0: failed to rename usr/lib/gimp/2.0/plug-ins/file-gih/.apk.bb41af42f2ca7356fbe83cdf6ffaa4c4252248705b1be91d to usr/lib/gimp/2.0/plug-ins/file-gih/file-gih.
ERROR: gimp-2.10.6-r0: failed to rename usr/lib/gimp/2.0/plug-ins/photocopy/.apk.5586512848e70cd732ecaf00a9069af271d827ee0b9c280a to usr/lib/gimp/2.0/plug-ins/photocopy/photocopy.
ERROR: gimp-2.10.6-r0: failed to rename usr/lib/gimp/2.0/plug-ins/crop-zealous/.apk.e7805ff991563d37283c12a2a6db21232b9e053b8b766812 to usr/lib/gimp/2.0/plug-ins/crop-zealous/crop-zealous.
ERROR: gimp-2.10.6-r0: failed to rename usr/lib/gimp/2.0/plug-ins/file-sgi/.apk.f48589133f0bed404559b43509b1f034c980b502e6906f04 to usr/lib/gimp/2.0/plug-ins/file-sgi/file-sgi.
ERROR: gimp-2.10.6-r0: failed to rename usr/lib/gimp/2.0/plug-ins/contrast-retinex/.apk.eb05f1d0ab61c9a6959ba635cc05bab6ef91b12474dff8ca to usr/lib/gimp/2.0/plug-ins/contrast-retinex/contrast-retinex.
ERROR: gimp-2.10.6-r0: failed to rename usr/lib/gimp/2.0/plug-ins/help/.apk.217a52b85ce1ffb20e2145fcbd87e9ca15e6431859abc6be to usr/lib/gimp/2.0/plug-ins/help/help.
ERROR: gimp-2.10.6-r0: failed to rename usr/lib/gimp/2.0/plug-ins/van-gogh-lic/.apk.63c8dae6ecc64d4018af721f3a1bfc4c42e726836db3147c to usr/lib/gimp/2.0/plug-ins/van-gogh-lic/van-gogh-lic.
ERROR: gimp-2.10.6-r0: failed to rename usr/lib/gimp/2.0/plug-ins/animation-play/.apk.ee745abc5cd699763e71daa066a03fb6566916baea0c4928 to usr/lib/gimp/2.0/plug-ins/animation-play/animation-play.
ERROR: gimp-2.10.6-r0: failed to rename usr/lib/gimp/2.0/plug-ins/compose/.apk.df40f7a00d23674f958317f55a21cd5db491dc8661791633 to usr/lib/gimp/2.0/plug-ins/compose/compose.
ERROR: gimp-2.10.6-r0: failed to rename usr/lib/gimp/2.0/plug-ins/file-sunras/.apk.ebaa491a7f633b7e32d2da8d5714b0b68cc03cf8839471a7 to usr/lib/gimp/2.0/plug-ins/file-sunras/file-sunras.
ERROR: gimp-2.10.6-r0: failed to rename usr/lib/gimp/2.0/plug-ins/align-layers/.apk.bded1e067b5fb454dd83180ad05d6e48033dc4a5e7382f4c to usr/lib/gimp/2.0/plug-ins/align-layers/align-layers.
ERROR: gimp-2.10.6-r0: failed to rename usr/lib/gimp/2.0/plug-ins/colorify/.apk.d6f4c38313957cd555e1310440b7058a0a291af0a09b3837 to usr/lib/gimp/2.0/plug-ins/colorify/colorify.
ERROR: gimp-2.10.6-r0: failed to rename usr/lib/gimp/2.0/plug-ins/border-average/.apk.35eda6fda6f14f60f0e2c16fa29c66a595e4bc03badb4e73 to usr/lib/gimp/2.0/plug-ins/border-average/border-average.
ERROR: gimp-2.10.6-r0: failed to rename usr/lib/gimp/2.0/plug-ins/file-gif-load/.apk.41ef8db83fe41062b1e5ad23ff5d982e41a4a7bc405158b0 to usr/lib/gimp/2.0/plug-ins/file-gif-load/file-gif-load.
ERROR: gimp-2.10.6-r0: failed to rename usr/lib/gimp/2.0/plug-ins/nl-filter/.apk.54f7ca14d633e3224ce2aa618174d9ba0b9872bc2fe0f5f0 to usr/lib/gimp/2.0/plug-ins/nl-filter/nl-filter.
ERROR: gimp-2.10.6-r0: failed to rename usr/lib/gimp/2.0/plug-ins/checkerboard/.apk.3a50f870113c8484845a0661aa783615de571c9524ba441e to usr/lib/gimp/2.0/plug-ins/checkerboard/checkerboard.
ERROR: gimp-2.10.6-r0: failed to rename usr/lib/gimp/2.0/plug-ins/fractal-trace/.apk.acf45a25e00c8cba60c803e562df6ba6bb59ad5bbfd9fa78 to usr/lib/gimp/2.0/plug-ins/fractal-trace/fractal-trace.
ERROR: gimp-2.10.6-r0: failed to rename usr/lib/gimp/2.0/plug-ins/blur/.apk.984d792fb634be2733c119411cecdc0f9f83fc94afb1eb25 to usr/lib/gimp/2.0/plug-ins/blur/blur.
ERROR: gimp-2.10.6-r0: failed to rename usr/lib/gimp/2.0/plug-ins/file-jpeg/.apk.211616660069a33ae3fbd9c30a3590917c376215af18aade to usr/lib/gimp/2.0/plug-ins/file-jpeg/file-jpeg.
ERROR: gimp-2.10.6-r0: failed to rename usr/lib/gimp/2.0/plug-ins/mail/.apk.5bbc640cffa9a1aaa8ff03218ee042e377ef61621d05ab3b to usr/lib/gimp/2.0/plug-ins/mail/mail.
ERROR: gimp-2.10.6-r0: failed to rename usr/lib/gimp/2.0/plug-ins/gfig/.apk.8db205ad8adf2ff166694787c2c340e48cd8a2d9a19af9dc to usr/lib/gimp/2.0/plug-ins/gfig/gfig.
ERROR: gimp-2.10.6-r0: failed to rename usr/lib/gimp/2.0/plug-ins/print/.apk.fa7c0975c03c111bb3f233203c2da629bc2997b73c717803 to usr/lib/gimp/2.0/plug-ins/print/print.
ERROR: gimp-2.10.6-r0: failed to rename usr/lib/gimp/2.0/plug-ins/decompose/.apk.373c8a4737ac1d88b6704adf6f398dc7c574d572c0ad4258 to usr/lib/gimp/2.0/plug-ins/decompose/decompose.
ERROR: gimp-2.10.6-r0: failed to rename usr/lib/gimp/2.0/plug-ins/file-png/.apk.c77178418a2eff5a991d14bb5491b3ac6b7f6308dde8edda to usr/lib/gimp/2.0/plug-ins/file-png/file-png.
ERROR: gimp-2.10.6-r0: failed to rename usr/lib/gimp/2.0/plug-ins/file-cel/.apk.ee901d8d19ceb0e383f76f43df87db9a6060bcd0389949d8 to usr/lib/gimp/2.0/plug-ins/file-cel/file-cel.
ERROR: gimp-2.10.6-r0: failed to rename usr/lib/gimp/2.0/plug-ins/file-pix/.apk.fde6e2faff38240b50992916ce7a1077743ad896dcb30fdf to usr/lib/gimp/2.0/plug-ins/file-pix/file-pix.
ERROR: gimp-2.10.6-r0: failed to rename usr/lib/gimp/2.0/plug-ins/file-xpm/.apk.d3319869d1e74dd094739a92df199005218c00377a739707 to usr/lib/gimp/2.0/plug-ins/file-xpm/file-xpm.
ERROR: gimp-2.10.6-r0: failed to rename usr/lib/gimp/2.0/plug-ins/jigsaw/.apk.c8bac5d35f5a569d7d8ab85ffd54d38e761d18560e1ae377 to usr/lib/gimp/2.0/plug-ins/jigsaw/jigsaw.
ERROR: gimp-2.10.6-r0: failed to rename usr/lib/gimp/2.0/plug-ins/edge-dog/.apk.d284217513dcf3a0ba2dbd9ecdda7c6a2c88a583bc39810d to usr/lib/gimp/2.0/plug-ins/edge-dog/edge-dog.
ERROR: gimp-2.10.6-r0: failed to rename usr/lib/gimp/2.0/plug-ins/sparkle/.apk.9b473cbbfb73770427a898a57dc138fb9133deeaa618f73d to usr/lib/gimp/2.0/plug-ins/sparkle/sparkle.
ERROR: gimp-2.10.6-r0: failed to rename usr/lib/gimp/2.0/plug-ins/blinds/.apk.fbf81c5682b52909f375c49f39d36b586a5dab9b20524401 to usr/lib/gimp/2.0/plug-ins/blinds/blinds.
ERROR: gimp-2.10.6-r0: failed to rename usr/lib/gimp/2.0/plug-ins/file-fits/.apk.223f4f8b9e5ebd2e4b706882c440718ab2fcb8d45854466a to usr/lib/gimp/2.0/plug-ins/file-fits/file-fits.
ERROR: gimp-2.10.6-r0: failed to rename usr/lib/gimp/2.0/plug-ins/max-rgb/.apk.355ca91bd712d0f651b8d74ea7e8ca061f527608c30dc984 to usr/lib/gimp/2.0/plug-ins/max-rgb/max-rgb.
ERROR: gimp-2.10.6-r0: failed to rename usr/lib/gimp/2.0/plug-ins/color-enhance/.apk.4a3959c7b74297529f27d41c4b625073ad62c57b44edb3fa to usr/lib/gimp/2.0/plug-ins/color-enhance/color-enhance.
(84/88) Replacing scanelf (1.2.3-r0 -> 1.2.3-r0)
...
It also fails when I try to apk fix it, apparently due to last directory
in path is missing:
$ sudo apk fix
[sudo] password for ncopa:
(1/1) Reinstalling gimp (2.10.6-r0)
ERROR: Failed to create usr/lib/gimp/2.0/plug-ins/file-header/file-header: No such file or directory
ERROR: Failed to create usr/lib/gimp/2.0/plug-ins/cartoon/cartoon: No such file or directory
ERROR: Failed to create usr/lib/gimp/2.0/plug-ins/gimpressionist/gimpressionist: No such file or directory
ERROR: Failed to create usr/lib/gimp/2.0/plug-ins/sharpen/sharpen: No such file or directory
ERROR: Failed to create usr/lib/gimp/2.0/plug-ins/metadata-editor/metadata-editor: No such file or directory
ERROR: Failed to create usr/lib/gimp/2.0/plug-ins/goat-exercise/goat-exercise: No such file or directory
ERROR: Failed to create usr/lib/gimp/2.0/plug-ins/file-faxg3/file-faxg3: No such file or directory
ERROR: Failed to create usr/lib/gimp/2.0/plug-ins/file-gif-save/file-gif-save: No such file or directory
ERROR: Failed to create usr/lib/gimp/2.0/plug-ins/filter-pack/filter-pack: No such file or directory
ERROR: Failed to create usr/lib/gimp/2.0/plug-ins/contrast-normalize/contrast-normalize: No such file or directory
ERROR: Failed to create usr/lib/gimp/2.0/plug-ins/file-rawtherapee/file-rawtherapee: No such file or directory
ERROR: Failed to create usr/lib/gimp/2.0/plug-ins/file-raw-data/file-raw-data: No such file or directory
ERROR: Failed to create usr/lib/gimp/2.0/plug-ins/file-csource/file-csource: No such file or directory
ERROR: Failed to create usr/lib/gimp/2.0/plug-ins/gradient-map/gradient-map: No such file or directory
ERROR: Failed to create usr/lib/gimp/2.0/plug-ins/file-pnm/file-pnm: No such file or directory
ERROR: Failed to create usr/lib/gimp/2.0/plug-ins/qbist/qbist: No such file or directory
ERROR: Failed to create usr/lib/gimp/2.0/plug-ins/file-psp/file-psp: No such file or directory
ERROR: Failed to create usr/lib/gimp/2.0/plug-ins/map-object/map-object: No such file or directory
ERROR: Failed to create usr/lib/gimp/2.0/plug-ins/file-pcx/file-pcx: No such file or directory
ERROR: Failed to create usr/lib/gimp/2.0/plug-ins/gradient-flare/gradient-flare: No such file or directory
ERROR: Failed to create usr/lib/gimp/2.0/plug-ins/script-fu/script-fu: No such file or directory
ERROR: Failed to create usr/lib/gimp/2.0/plug-ins/emboss/emboss: No such file or directory
ERROR: Failed to create usr/lib/gimp/2.0/plug-ins/smooth-palette/smooth-palette: No such file or directory
ERROR: Failed to create usr/lib/gimp/2.0/plug-ins/file-compressor/file-compressor: No such file or directory
ERROR: Failed to create usr/lib/gimp/2.0/plug-ins/screenshot/screenshot: No such file or directory
ERROR: Failed to create usr/lib/gimp/2.0/plug-ins/film/film: No such file or directory
ERROR: Failed to create usr/lib/gimp/2.0/plug-ins/file-pat/file-pat: No such file or directory
ERROR: Failed to create usr/lib/gimp/2.0/plug-ins/tile-small/tile-small: No such file or directory
ERROR: Failed to create usr/lib/gimp/2.0/plug-ins/selection-to-path/selection-to-path: No such file or directory
ERROR: Failed to create usr/lib/gimp/2.0/plug-ins/file-svg/file-svg: No such file or directory
ERROR: Failed to create usr/lib/gimp/2.0/plug-ins/tile/tile: No such file or directory
ERROR: Failed to create usr/lib/gimp/2.0/plug-ins/sample-colorize/sample-colorize: No such file or directory
ERROR: Failed to create usr/lib/gimp/2.0/plug-ins/file-pdf-save/file-pdf-save: No such file or directory
ERROR: Failed to create usr/lib/gimp/2.0/plug-ins/warp/warp: No such file or directory
ERROR: Failed to create usr/lib/gimp/2.0/plug-ins/flame/flame: No such file or directory
ERROR: Failed to create usr/lib/gimp/2.0/plug-ins/pagecurl/pagecurl: No such file or directory
ERROR: Failed to create usr/lib/gimp/2.0/plug-ins/destripe/destripe: No such file or directory
ERROR: Failed to create usr/lib/gimp/2.0/plug-ins/edge-neon/edge-neon: No such file or directory
ERROR: Failed to create usr/lib/gimp/2.0/plug-ins/guillotine/guillotine: No such file or directory
ERROR: Failed to create usr/lib/gimp/2.0/plug-ins/curve-bend/curve-bend: No such file or directory
ERROR: Failed to create usr/lib/gimp/2.0/plug-ins/file-darktable/file-darktable: No such file or directory
ERROR: Failed to create usr/lib/gimp/2.0/plug-ins/color-cube-analyze/color-cube-analyze: No such file or directory
ERROR: Failed to create usr/lib/gimp/2.0/plug-ins/newsprint/newsprint: No such file or directory
ERROR: Failed to create usr/lib/gimp/2.0/plug-ins/colormap-remap/colormap-remap: No such file or directory
ERROR: Failed to create usr/lib/gimp/2.0/plug-ins/wavelet-decompose/wavelet-decompose: No such file or directory
ERROR: Failed to create usr/lib/gimp/2.0/plug-ins/ifs-compose/ifs-compose: No such file or directory
ERROR: Failed to create usr/lib/gimp/2.0/plug-ins/fractal-explorer/fractal-explorer: No such file or directory
ERROR: Failed to create usr/lib/gimp/2.0/plug-ins/file-raw-placeholder/file-raw-placeholder: No such file or directory
ERROR: Failed to create usr/lib/gimp/2.0/plug-ins/animation-optimize/animation-optimize: No such file or directory
ERROR: Failed to create usr/lib/gimp/2.0/plug-ins/file-dicom/file-dicom: No such file or directory
ERROR: Failed to create usr/lib/gimp/2.0/plug-ins/imagemap/imagemap: No such file or directory
ERROR: Failed to create usr/lib/gimp/2.0/plug-ins/metadata-viewer/metadata-viewer: No such file or directory
ERROR: Failed to create usr/lib/gimp/2.0/plug-ins/file-gbr/file-gbr: No such file or directory
ERROR: Failed to create usr/lib/gimp/2.0/plug-ins/plugin-browser/plugin-browser: No such file or directory
ERROR: Failed to create usr/lib/gimp/2.0/plug-ins/lighting/lighting: No such file or directory
ERROR: Failed to create usr/lib/gimp/2.0/plug-ins/file-tga/file-tga: No such file or directory
ERROR: Failed to create usr/lib/gimp/2.0/plug-ins/depth-merge/depth-merge: No such file or directory
ERROR: Failed to create usr/lib/gimp/2.0/plug-ins/oilify/oilify: No such file or directory
ERROR: Failed to create usr/lib/gimp/2.0/plug-ins/file-desktop-link/file-desktop-link: No such file or directory
ERROR: Failed to create usr/lib/gimp/2.0/plug-ins/file-ico/file-ico: No such file or directory
ERROR: Failed to create usr/lib/gimp/2.0/plug-ins/hot/hot: No such file or directory
ERROR: Failed to create usr/lib/gimp/2.0/plug-ins/file-html-table/file-html-table: No such file or directory
ERROR: Failed to create usr/lib/gimp/2.0/plug-ins/cml-explorer/cml-explorer: No such file or directory
ERROR: Failed to create usr/lib/gimp/2.0/plug-ins/file-xbm/file-xbm: No such file or directory
ERROR: Failed to create usr/lib/gimp/2.0/plug-ins/web-browser/web-browser: No such file or directory
ERROR: Failed to create usr/lib/gimp/2.0/plug-ins/sphere-designer/sphere-designer: No such file or directory
ERROR: Failed to create usr/lib/gimp/2.0/plug-ins/procedure-browser/procedure-browser: No such file or directory
ERROR: Failed to create usr/lib/gimp/2.0/plug-ins/grid/grid: No such file or directory
ERROR: Failed to create usr/lib/gimp/2.0/plug-ins/busy-dialog/busy-dialog: No such file or directory
ERROR: Failed to create usr/lib/gimp/2.0/plug-ins/file-fli/file-fli: No such file or directory
ERROR: Failed to create usr/lib/gimp/2.0/plug-ins/unit-editor/unit-editor: No such file or directory
ERROR: Failed to create usr/lib/gimp/2.0/plug-ins/softglow/softglow: No such file or directory
ERROR: Failed to create usr/lib/gimp/2.0/plug-ins/despeckle/despeckle: No such file or directory
ERROR: Failed to create usr/lib/gimp/2.0/plug-ins/file-xwd/file-xwd: No such file or directory
ERROR: Failed to create usr/lib/gimp/2.0/plug-ins/file-pdf-load/file-pdf-load: No such file or directory
ERROR: Failed to create usr/lib/gimp/2.0/plug-ins/file-glob/file-glob: No such file or directory
ERROR: Failed to create usr/lib/gimp/2.0/plug-ins/file-bmp/file-bmp: No such file or directory
ERROR: Failed to create usr/lib/gimp/2.0/plug-ins/file-gih/file-gih: No such file or directory
ERROR: Failed to create usr/lib/gimp/2.0/plug-ins/photocopy/photocopy: No such file or directory
ERROR: Failed to create usr/lib/gimp/2.0/plug-ins/crop-zealous/crop-zealous: No such file or directory
ERROR: Failed to create usr/lib/gimp/2.0/plug-ins/file-sgi/file-sgi: No such file or directory
ERROR: Failed to create usr/lib/gimp/2.0/plug-ins/contrast-retinex/contrast-retinex: No such file or directory
ERROR: Failed to create usr/lib/gimp/2.0/plug-ins/file-gegl/file-gegl: No such file or directory
ERROR: Failed to create usr/lib/gimp/2.0/plug-ins/help/help: No such file or directory
ERROR: Failed to create usr/lib/gimp/2.0/plug-ins/van-gogh-lic/van-gogh-lic: No such file or directory
ERROR: Failed to create usr/lib/gimp/2.0/plug-ins/animation-play/animation-play: No such file or directory
ERROR: Failed to create usr/lib/gimp/2.0/plug-ins/compose/compose: No such file or directory
ERROR: Failed to create usr/lib/gimp/2.0/plug-ins/file-sunras/file-sunras: No such file or directory
ERROR: Failed to create usr/lib/gimp/2.0/plug-ins/align-layers/align-layers: No such file or directory
ERROR: Failed to create usr/lib/gimp/2.0/plug-ins/colorify/colorify: No such file or directory
ERROR: Failed to create usr/lib/gimp/2.0/plug-ins/border-average/border-average: No such file or directory
ERROR: Failed to create usr/lib/gimp/2.0/plug-ins/file-gif-load/file-gif-load: No such file or directory
ERROR: Failed to create usr/lib/gimp/2.0/plug-ins/nl-filter/nl-filter: No such file or directory
ERROR: Failed to create usr/lib/gimp/2.0/plug-ins/checkerboard/checkerboard: No such file or directory
ERROR: Failed to create usr/lib/gimp/2.0/plug-ins/fractal-trace/fractal-trace: No such file or directory
ERROR: Failed to create usr/lib/gimp/2.0/plug-ins/blur/blur: No such file or directory
ERROR: Failed to create usr/lib/gimp/2.0/plug-ins/file-jpeg/file-jpeg: No such file or directory
ERROR: Failed to create usr/lib/gimp/2.0/plug-ins/mail/mail: No such file or directory
ERROR: Failed to create usr/lib/gimp/2.0/plug-ins/gfig/gfig: No such file or directory
ERROR: Failed to create usr/lib/gimp/2.0/plug-ins/file-tiff/file-tiff: No such file or directory
ERROR: Failed to create usr/lib/gimp/2.0/plug-ins/print/print: No such file or directory
ERROR: Failed to create usr/lib/gimp/2.0/plug-ins/file-psd/file-psd: No such file or directory
ERROR: Failed to create usr/lib/gimp/2.0/plug-ins/decompose/decompose: No such file or directory
ERROR: Failed to create usr/lib/gimp/2.0/plug-ins/file-png/file-png: No such file or directory
ERROR: Failed to create usr/lib/gimp/2.0/plug-ins/file-cel/file-cel: No such file or directory
ERROR: Failed to create usr/lib/gimp/2.0/plug-ins/file-pix/file-pix: No such file or directory
ERROR: Failed to create usr/lib/gimp/2.0/plug-ins/file-xpm/file-xpm: No such file or directory
ERROR: Failed to create usr/lib/gimp/2.0/plug-ins/jigsaw/jigsaw: No such file or directory
ERROR: Failed to create usr/lib/gimp/2.0/plug-ins/edge-dog/edge-dog: No such file or directory
ERROR: Failed to create usr/lib/gimp/2.0/plug-ins/sparkle/sparkle: No such file or directory
ERROR: Failed to create usr/lib/gimp/2.0/plug-ins/blinds/blinds: No such file or directory
ERROR: Failed to create usr/lib/gimp/2.0/plug-ins/file-fits/file-fits: No such file or directory
ERROR: Failed to create usr/lib/gimp/2.0/plug-ins/max-rgb/max-rgb: No such file or directory
ERROR: Failed to create usr/lib/gimp/2.0/plug-ins/color-enhance/color-enhance: No such file or directory
ERROR: gimp-2.10.6-r0: failed to rename usr/lib/gimp/2.0/plug-ins/file-header/.apk.a363331e9a8d3d487a216eda7ca2ffea8196714a3c49a26e to usr/lib/gimp/2.0/plug-ins/file-header/file-header.
ERROR: gimp-2.10.6-r0: failed to rename usr/lib/gimp/2.0/plug-ins/cartoon/.apk.8dcf9daeda099f7d5746b6ea69b304dac6a3d7e7ac42f120 to usr/lib/gimp/2.0/plug-ins/cartoon/cartoon.
ERROR: gimp-2.10.6-r0: failed to rename usr/lib/gimp/2.0/plug-ins/gimpressionist/.apk.9ea15f5626abef4a2a6a67e53cc297193fcdaef84cbe5750 to usr/lib/gimp/2.0/plug-ins/gimpressionist/gimpressionist.
ERROR: gimp-2.10.6-r0: failed to rename usr/lib/gimp/2.0/plug-ins/sharpen/.apk.c68da8a90a2326b2e799dfdf80b509892110e257957059bd to usr/lib/gimp/2.0/plug-ins/sharpen/sharpen.
...
When I look at the strace, it seems like openat() fails to create the
tempfile:
...
unlinkat(3, "usr/lib/gimp/2.0/plug-ins/file-header/.apk.a363331e9a8d3d487a216eda7ca2ffea8196714a3c49a26e", 0) = -1 ENOENT (No such file or dire
ctory)
openat(3, "usr/lib/gimp/2.0/plug-ins/file-header/.apk.a363331e9a8d3d487a216eda7ca2ffea8196714a3c49a26e", O_RDWR|O_CREAT|O_EXCL|O_TRUNC|O_CLOEXE
C, 0755) = -1 ENOENT (No such file or directory)
writev(2, [{iov_base="", iov_len=0}, {iov_base="ERROR: ", iov_len=7}], 2ERROR: ) = 7
writev(2, [{iov_base="Failed to create usr/lib/gimp/2."..., iov_len=68}, {iov_base="No such file or directory", iov_len=25}], 2Failed to create usr/lib/gimp/2.0/plug-ins/file-header/file-header: No such file or directory) = 93
writev(2, [{iov_base="", iov_len=0}, {iov_base=NULL, iov_len=0}], 2) = 0
writev(2, [{iov_base="", iov_len=0}, {iov_base="\n", iov_len=1}], 2
) = 1
...
*(from redmine: issue id 9411, created on 2018-09-11)*v3.1Timo TeräsTimo Teräshttps://gitlab.alpinelinux.org/alpine/apk-tools/-/issues/10745Allow repository precedence when multiple instances of the same repository ex...2022-12-21T20:01:44ZMorgan HeinAllow repository precedence when multiple instances of the same repository exist in /etc/apk/repositoriesI have the following situation:
- Repository A is a custom compiled set of packages that also exist in
the public repository. This repository has the pkgs compiled with
extra security features and/or some unique flags set.
- ...I have the following situation:
- Repository A is a custom compiled set of packages that also exist in
the public repository. This repository has the pkgs compiled with
extra security features and/or some unique flags set.
- Repository B is a full mirror of the official repository.
What i’d like to happen is list both repositories in the
/etc/apk/repositories file, and have the clients prefer downloading all
pkgs from Repo A. In the case that the file doesn’t exist in Repo A,
then download from Repo B.
This, currently, doesn’t seem possible. After adding both repositories,
clients sometimes download from A, and sometimes download from B,
regardless of what is available in A.
The ability to add multiple repositories, with precedence, would be very
helpful in this situation.
Thanks,
Morgan
*(from redmine: issue id 9409, created on 2018-09-11)*backloghttps://gitlab.alpinelinux.org/alpine/apk-tools/-/issues/8792Add new option --exclude for apk upgrade2019-12-27T14:50:58ZJakub JirutkaAdd new option --exclude for apk upgradeAllow user to exclude specific packages from upgrading (e.g. kernel)
without modifying `/etc/apk/world` or using workaround as
`apk upgrade -s` and `apk add -u` for each package except the ones I
want to exclude.
*(from redmine: issue ...Allow user to exclude specific packages from upgrading (e.g. kernel)
without modifying `/etc/apk/world` or using workaround as
`apk upgrade -s` and `apk add -u` for each package except the ones I
want to exclude.
*(from redmine: issue id 8792, created on 2018-04-12)*https://gitlab.alpinelinux.org/alpine/apk-tools/-/issues/8752Add support for listing all (reverse) dependencies of the specified package r...2022-12-21T20:00:36ZJakub JirutkaAdd support for listing all (reverse) dependencies of the specified package recursively*(from redmine: issue id 8752, created on 2018-03-30)**(from redmine: issue id 8752, created on 2018-03-30)*v3.1https://gitlab.alpinelinux.org/alpine/apk-tools/-/issues/10674apk refuses to install seamonkey along with firefox-esr2020-02-21T14:21:36Zalgitbotapk refuses to install seamonkey along with firefox-esrIt seems that apk refuses to install packages that have libraries with
same name even if they are going to install different paths.
```
ERROR: unsatisfiable constraints:
firefox-esr-52.6.0-r1:
conflicts: seamonkey-2.48-r1[so:liblg...It seems that apk refuses to install packages that have libraries with
same name even if they are going to install different paths.
```
ERROR: unsatisfiable constraints:
firefox-esr-52.6.0-r1:
conflicts: seamonkey-2.48-r1[so:liblgpllibs.so=0] seamonkey-2.48-r1[so:libxul.so=0]
satisfies: world[firefox-esr]
seamonkey-2.48-r1:
conflicts: firefox-esr-52.6.0-r1[so:liblgpllibs.so=0] firefox-esr-52.6.0-r1[so:libxul.so=0]
satisfies: world[seamonkey]
```
*(from redmine: issue id 8648, created on 2018-03-15)*https://gitlab.alpinelinux.org/alpine/apk-tools/-/issues/8360Update for Lua 5.32020-01-29T17:55:01ZJakub JirutkaUpdate for Lua 5.3apk’s Lua module is currently built for Lua 5.2.
I think that it doesn’t make much sense to keep maintaining Lua 5.2, I’d
like to remove it and keep just Lua 5.3 and LuaJIT.
*(from redmine: issue id 8360, created on 2017-12-29)*apk’s Lua module is currently built for Lua 5.2.
I think that it doesn’t make much sense to keep maintaining Lua 5.2, I’d
like to remove it and keep just Lua 5.3 and LuaJIT.
*(from redmine: issue id 8360, created on 2017-12-29)*https://gitlab.alpinelinux.org/alpine/apk-tools/-/issues/8161Don't use cached items if --no-cache is specified and proxy is used2019-07-14T07:53:03ZAntoni DabekDon't use cached items if --no-cache is specified and proxy is usedCurrently apk would use cached in proxy copy of item it is fetching from
repository because it does not indicate that it would prefer to use
newest version. It would be useful if when —no-cache or other new option
is used, apk would add ...Currently apk would use cached in proxy copy of item it is fetching from
repository because it does not indicate that it would prefer to use
newest version. It would be useful if when —no-cache or other new option
is used, apk would add “Cache-Control” HTTP header with value “no-cache”
to ensure that newest copy of index and/or package is being downloaded.
*(from redmine: issue id 8161, created on 2017-11-16, closed on 2019-05-03)*
* Relations:
* relates #5980
* Changesets:
* Revision f90af35e9c563bd4f865d8d47a7ae357191494db by Timo Teräs on 2018-01-03T12:25:07Z:
```
libfetch: add option to set "Cache-Control: no-cache"
ref #8161
```
* Revision 2da67940d50865d206f6a79165ce7b3de5a90de3 by Timo Teräs on 2018-01-03T14:00:38Z:
```
url: add "Cache-Control: no-cache" header with --force-refresh
fixes #8161
```
* Revision b7f70c067c035493cdfbf08fa78a0befbbfde3ea by Timo Teräs on 2018-01-09T07:56:05Z:
```
libfetch: add option to set "Cache-Control: no-cache"
ref #8161
(cherry picked from commit f90af35e9c563bd4f865d8d47a7ae357191494db)
```
* Revision ecc6d60e64cb6bc9cb76a4e22d4113a76cd75bdb by Timo Teräs on 2018-01-09T07:56:15Z:
```
url: add "Cache-Control: no-cache" header with --force-refresh
fixes #8161
(cherry picked from commit 2da67940d50865d206f6a79165ce7b3de5a90de3)
```Timo TeräsTimo Teräshttps://gitlab.alpinelinux.org/alpine/apk-tools/-/issues/8160apk-tool/fetchlib could use https_proxy environmental variable to access https2019-07-14T07:53:03ZAntoni Dabekapk-tool/fetchlib could use https_proxy environmental variable to access httpsIt would be useful feature if apk would handle HTTP and HTTPS protocols
in same way and use proxy taken from https\_proxy environmental variable
for accessing repositories that are using HTTPS protocol.
*(from redmine: issue id 8160, c...It would be useful feature if apk would handle HTTP and HTTPS protocols
in same way and use proxy taken from https\_proxy environmental variable
for accessing repositories that are using HTTPS protocol.
*(from redmine: issue id 8160, created on 2017-11-16, closed on 2019-05-03)*
* Changesets:
* Revision 99e7bb93dfff2f43987b81ce7600ad8fbd0ce64c by Timo Teräs on 2018-01-03T08:43:31Z:
```
libfetch: honor https_proxy variable for https
fixes #8160
```
* Revision c051f6f10ff08fd68a091cd236c3606027952db3 by Timo Teräs on 2018-01-09T07:55:26Z:
```
libfetch: honor https_proxy variable for https
fixes #8160
(cherry picked from commit 99e7bb93dfff2f43987b81ce7600ad8fbd0ce64c)
```https://gitlab.alpinelinux.org/alpine/apk-tools/-/issues/7531APK add --upgrade flag non-transient2022-12-25T13:01:38ZTed TraskAPK add --upgrade flag non-transientWhen ‘apk add —upgrade’ is run, the ‘—repository’ option is ignored. I
would think this is a logical operation to attempt - “I would like to
upgrade this package from this particular repository”. Instead, the
upgrade does not happen.
Pr...When ‘apk add —upgrade’ is run, the ‘—repository’ option is ignored. I
would think this is a logical operation to attempt - “I would like to
upgrade this package from this particular repository”. Instead, the
upgrade does not happen.
Preliminary steps:
1) Boot alpine-standard-3.6.2-x86\_64.iso
2) Run setup-alpine to get network access, but do not add a web
repository
localhost:~\# cat /etc/apk/repositories
/media/cdrom/apks
localhost:~\# apk add —upgrade —repository
http://dl-3.alpinelinux.org/alpine/v3.6/main musl
OK: 11 MiB in 23 packages
localhost:~\# cat >>/etc/apk/repositories
http://dl-3.alpinelinux.org/alpine/v3.6/main
^C
localhost:~\# cat /etc/apk/repositories
/media/cdrom/apks
http://dl-3.alpinelinux.org/alpine/v3.6/main
localhost:~\# apk upgrade -U
fetch
http://dl-3.alpinelinux.org/alpine/v3.6/main/x86\_64/APKINDEX.tar.gz
Upgrading critical system libraries and apk-tools:
(1/1) Upgrading apk-tools (2.7.1-r1 ->2.7.2-r0)
Executing busybox-1.26.2-r5.trigger
Continuing the upgrade transaction with new apk-tools:
fetch
http://dl-3.alpinelinux.org/alpine/v3.6/main/x86\_64/APKINDEX.tar.gz
(1/2) Upgrading musl (1.1.16-r9 ->1.1.16-r13)
(2/2) Upgrading musl-utils (1.1.16-r9 ->1.1.16-r13)
Executing busybox-1.26.2-r5.trigger
OK: 11 MiB in 23 packages
localhost:~\#
*(from redmine: issue id 7531, created on 2017-07-16)*Timo TeräsTimo Teräs