singularity
singularity copied to clipboard
build: `%files` from stage fails to copy relative symlinks
Version of Singularity
main
Describe the bug
The following definition file fails to build:
09:38 am $ cat test.def
BootStrap: docker
From: ubuntu:latest
Stage: devel
%post
mkdir -p /usr/mydir/mysubdir
ln -s ../bin/true /usr/mydir/true
ln -s ../../bin/true /usr/mydir/mysubdir/true
BootStrap: docker
From: ubuntu:latest
Stage: final
%files from devel
/usr/mydir
09:38 am $ sudo singularity build test.sif test.def
[sudo] password for dtrudg-sylabs:
WARNING: 'nodev' mount option set on /tmp, it could be a source of failure during build process
INFO: Starting build...
INFO: Fetching OCI image...
28.2MiB / 28.2MiB [===================================================================================] 100 % 0.0 b/s 0s
INFO: Extracting OCI image...
INFO: Inserting Singularity configuration...
INFO: Running post scriptlet
+ mkdir -p /usr/mydir/mysubdir
+ ln -s ../bin/true /usr/mydir/true
+ ln -s ../../bin/true /usr/mydir/mysubdir/true
INFO: Fetching OCI image...
28.2MiB / 28.2MiB [===================================================================================] 100 % 0.0 b/s 0s
INFO: Extracting OCI image...
INFO: Inserting Singularity configuration...
INFO: Copying /usr/mydir to
FATAL: While performing build: unable to copy files from stage to container fs: while copying [/tmp/build-temp-2697402686/rootfs/usr/mydir] to /tmp/build-temp-2218967937/rootfs/usr/mydir: invalid symlink "/tmp/build-temp-2218967937/rootfs/usr/mydir/mysubdir/true" -> "../../bin/true"
The error invalid symlink
is being raised from the docker/docker pkg/archive CopyWithTar code.