ci: nDPI build issue inside drone-run fedora:34 #1
Loading…
Reference in New Issue
Block a user
No description provided.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
nDPI builds fail on the
./configure
step with⇒ https://drone.dotya.ml/wanderer/fastnetmon-ng/51/3/4
what's curious is that:
fedora:34
docker container under:⇒ https://drone.dotya.ml/wanderer/fastnetmon-ng/51/2/4
This has been at first misdiagnosed as an
nDPI
issue.What has really been going on was that due to the nature of drone's atomic step execution, there was no knowledge preserved of the step before inside of the container running the step after (that's kind of the feature of the docker ephemeral pipelines with each step being run in a fresh container, could have thought of that...).
That is, at first deps were installed into the image (
fedora:34
) required for building both nDPI and fastnetmon, then in the following steps they were to be utilised, naturally, but since they were installed in/bin
, some configs in/etc
, these were not preserved and a fresh image was used in the next step.A working solution appeared to be a little ugly - telling drone to preserve the whole
/usr
directory (of which/bin
--->/usr/bin
is a part of) as a temporary "cache" volume and mounting that into every pipeline step that required it.This still wasn't enough since we installed both
lld
andbinutils
packages, both coming with a linked. Programs, however, expect to find just/bin/ld
and in case of multiple linkers installed, on fedora this is transparently managed bydnf
(the package manager) that symlinks one of the linkers to its expected place (/bin/ld
)...from/etc/alternatives...whatever
.To come around this issue,
/etc
has also had to be mounted as a "cache" volume in pipeline steps that required a linker.⇒ https://git.dotya.ml/wanderer/fastnetmon-ng/src/branch/cmakelists-pimp-up/.drone.yml#L178-L182
First successful build since introducing the above mentioned approach:
⇒ https://drone.dotya.ml/wanderer/fastnetmon-ng/89/3/3
Commit fixing this:
⇒
8dd5fdabe4