Closed yarikoptic closed 1 year ago
reprozip writes a list of files, with their canonical names. There is no /bin/ls
on disk, there is only a symlink /bin
and a single file /usr/bin/ls
.
If you want to know which files were executed, the trace has the correct information (in the executed_files
table). The /bin
symlink will also be automatically included in the other_files
since it has to exist for /bin/ls
to be reached.
I am not sure I understand your use-case. The point of config.yml
is to list the files to be packed, and /bin/ls
is not an existing file. Could you perhaps say a bit more about what you want to do?
I would add that maybe if you want information that is not intended for creating an RPZ, the config.yml
might be the wrong file to read. Reading trace.sqlite3
is probably more appropriate, you can even adapt the get_files()
function to create the list you want from it. My version of this function does other things you might not want, such as applying filters that will silently remove some files (like .pyc
files) that we don't want to pack.
so - running
/bin/ls
has/usr/bin/ls
listed inother_files
of the config.yml, although that one nohow explicitly re-executed by/bin/ls
and likely simply because we have now on debian systems
which would be all nice and dandy (for my desires of tracing in
reproman
), ifdpkg
could locate/usr/bin/ls
one but it can't:so I wonder if tracing could avoid dereferencing paths or it is unavoidable?