Commit Graph

11 Commits

Author SHA1 Message Date
Matteo Settenvini 0657a55b3d
fix: always canonicalize paths, remove temporary debug statements 2025-02-21 00:16:06 +01:00
Matteo Settenvini 355c7e6403
chore: update deps 2025-02-19 14:42:02 +01:00
Matteo Settenvini 2d48e5bda3
fix: use a pipeline of cleaners instead of parallel run
Build a pipeline of transformers, so that paths marked for
keeping or removing will be taken in account also when
building the graph of ELF dependencies.

Also includes a few refactorings.
2025-02-19 14:37:57 +01:00
Matteo Settenvini d033b9d29a
feat(dry-run): print type of file to remove 2025-02-19 14:37:55 +01:00
Matteo Settenvini 7ec6467b3b
fix(dso): do not eagerly resolve symlinks
This change contains three improvements:

- we use a separate root node, so that it is easier to debug
  what is going on
- we now are able to print the DOT graph of ELF binaries in
  DsoCleaner
- we do not eagerly resolve symlinks, which produced completely
  incorrect results before
2025-02-19 14:37:51 +01:00
Matteo Settenvini a05dd7084d
chore(dso): minor refactor 2025-02-19 14:37:44 +01:00
Matteo Settenvini 2213856c81
chore(dso): minor refactoring 2025-01-26 15:07:49 +01:00
Matteo Settenvini 344e16cf0f
feat(list): add allow and blocklist handling
This uses the .gitignore format to identify
which files should be allowed / blocked.

The allowlist gets precedence over the blocklist
if both are specified.
2025-01-26 14:55:26 +01:00
Matteo Settenvini 54075012aa
feat(dso): implement unused DSO cleaner
This is the first implementation of a recursive
DSO cleaner which is reasonably fast.

The implementation is still (unit-) untested.

Of course, modules to be dlopen'ed will always
escape such a tool, which will need to
support another cleaner plugin with a
whitelist.
2025-01-26 03:09:16 +01:00
Matteo Settenvini 5507a1dd21
feat(cleaners): add main async runner
Adds a Runner able to work upon a set of cleaners that
work in parallel.
2025-01-25 02:32:21 +01:00
Matteo Settenvini cc1a66726e
Initial skeleton 2025-01-24 22:00:18 +01:00