ReproNim / reproman

ReproMan (AKA NICEMAN, AKA ReproNim TRD3)
https://reproman.readthedocs.io
Other
24 stars 14 forks source link

support (optionally) directories in Debian tracer #119

Open yarikoptic opened 6 years ago

yarikoptic commented 6 years ago

e.g.

root@76bcdd396583:/opt/repronim/simple_workflow/scripts# dpkg-query -S /usr/lib/fsl/5.0
fsl-5.0-eddy-nonfree, fsl-5.0-core: /usr/lib/fsl/5.0

which makes total sense. I guess step one to address it is to make sure that we do not blow, and parse it out into multiple packages. Step two: verify that we do not have any assumption that a path should belong to a single package

yarikoptic commented 6 years ago

I think we should ideally "trace for unaccounted directories". So, if for each file path we are trying to identify a package which delivers it, for directories: we should first see if any package we got identified needed based on the file path provides that directory (note that it might be that the file we traced is outside of it), and if so -- we remove directory path from the ones needed to be reported as untraced.
I think we might want to augment our model to have "directories" field which would include those which we have accounted for in the package.

rbuccigrossi commented 6 years ago

@yarikoptic When you get a chance, please take a look at: https://github.com/ReproNim/niceman/pull/115/commits/e5cb4fcc95a23f179724690a2816a31b6e26c44b

I tried to separate dirs from file paths, added an attribute "HANDLES_DIRS" to the different tracers (defaulting to True, but with DebianTracer as False), and passing the dirs and files to the tracers that can handle them. I believe these can be done in a more pythonic way :)

yarikoptic commented 6 years ago

as we agreed, for now, we just indeed ignore those directories in case of tracing debian. Later on we might want to support it again. I will keep it open for this reason