singularity icon indicating copy to clipboard operation
singularity copied to clipboard

build: `%files` from stage fails to copy relative symlinks

Open dtrudg opened this issue 1 year ago • 1 comments

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"

dtrudg avatar Jan 31 '24 09:01 dtrudg

The error invalid symlink is being raised from the docker/docker pkg/archive CopyWithTar code.

dtrudg avatar Jan 31 '24 09:01 dtrudg