[depot_autoremove] Removing outdated PGKs from the depot
Norman Feske
norman.feske at genode-labs.com
Tue Mar 21 10:43:14 CET 2023
Hello Alice,
> I have a first implementation on the 'depot_remove' [1] branch. It can
> be improved or changed. Please note that this is a partial
> implementation. There are some TODOs comments. I also commented on it as
> much as possible for clarity.
>
>
> [1] https://github.com/a-dmg/genode/tree/depot_remove
thanks a lot for sharing!
As I'm short of time until the end of this month, I only had a cursory
glance. I may miss parts of the picture but the solution looks more
complex than I thought. For example, I'm unable to quickly assess if
cyclic dependencies (two bad pkgs that refer to each other in their
archives files) may pose a risk.
In my perception, the complexity comes from the approach of building up
an internal representation (introducing notions of graph, vertex, edges,
neighbor along the way) instead of working with the plain file system
directly.
> - Collect orphan archive reference by no PKG. Make that last step
> optional? As it requires traversing the depot for any other archive
> types. I am questioning myself if this is necessary.
That's what I had in mind in the first place - operating like a garbage
collector. If we find that we ultimately need to traverse the depot
anyway to implement this, I wonder what is gained by building up a
cached internal representation of the depot structure beforehand. I
foresee that we'd end up at a much more straight-forward solution by
simply traversing the depot, and iterating this process until no further
work can be done (no orphaned content remains in the depot), like I
described in my previous posting.
If you don't find the idea worth pursuing, can you share why? Or may you
give implementing it a try to see which version makes you more
comfortable in terms of simplicity?
Cheers
Norman
--
Dr.-Ing. Norman Feske
Genode Labs
https://www.genode-labs.com · https://genode.org
Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden
Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth
More information about the users
mailing list