Hi Dave,
it seems, that I shot myself in the foot...
I build the attached recipe (not overly complex).
However, I have been using a small wrapper for building, where I
afterwards own everything in the container directory tree to my local
user [1] (wrote it quite some time ago to 'fix' an issue)
I just build it directly again and tar'ed/copied the container without
any re-owning etc. (i.e., skipping files not readable to my user but
only wheel) and I do not encounter the issue...
...I guess, that my re-owning might have screwed up the portability. I
have to check in detail, what happened - hard-links from the Docker
layer tarballs should only be preserved within each layer tarballs, I
think. But I am unsure, how the resulting hard/symlinks look like in the
assembled sandbox directory tree.
btw: un'taring the tarball for deploying on CVMFS throws some errors
like [2] - but AFAIS the sandbox looks fine and publishing throws no
errors (various hard links getting broken)
Cheers,
Thomas
[1] effectively
> sudo
singularity build --sandbox ffmpeg.d Singularity
chown -R hartlocal ffmpeg.d
chmod -R a+r ffmpeg.d/
find ffmpeg.d/ -type d -exec chmod 0755 {} \;
tar -cvf ffmpeg.d.tar ffmpeg.d
# tar @ 1.32 on build; tar @ 1.26 on cvmfs
[2]
[grid@grid-cvmfs]/cvmfs/
grid.desy.de/container/releases/ffmpeg/20210701%
tar -xvf ffmpeg.d.tar
...
tar: ffmpeg.d/usr/lib/x86_64-linux-gnu/perl/cross-config-5.26.1:
Directory renamed before its status could be extracted
tar: ffmpeg.d/usr/lib/apt/planners: Directory renamed before its status
could be extracted
tar: ffmpeg.d/usr/lib/python3.6: Directory renamed before its status
could be extracted
tar: ffmpeg.d/etc/systemd/system/timers.target.wants: Directory renamed
before its status could be extracted
tar: ffmpeg.d/etc/systemd/system: Directory renamed before its status
could be extracted
tar: ffmpeg.d/etc/systemd: Directory renamed before its status could be
extracted
tar: ffmpeg.d/etc/alternatives: Directory renamed before its status
could be extracted
tar: ffmpeg.d/etc/ssl/certs: Directory renamed before its status could
be extracted
tar: ffmpeg.d/etc/ssl: Directory renamed before its status could be
extracted
tar: ffmpeg.d/etc/rcS.d: Directory renamed before its status could be
extracted
tar: ffmpeg.d/etc: Directory renamed before its status could be extracted
tar: Exiting with failure status due to previous errors