decipher3114 / Revancify

The only revancify
Apache License 2.0
859 stars 61 forks source link

refactor: use hardlinks instead of bind mount for rooted installations #42

Closed rmnscnce closed 2 weeks ago

rmnscnce commented 11 months ago

This prevents Revancify from polluting the mount namespace.

Hardlink copies also consume zero additional storage — as the filesystem simply assigns an additional filepath to the existing inode 0, so storage space will not be an issue compared to the existing solution.


References:

rmnscnce commented 11 months ago

Testing available at: https://github.com/rmnscnce/Revancify/blob/refactor-use-hardlinks-personal/README.md#installation


Known issues:

decipher3114 commented 4 months ago

I was looking again at this implementation. I noticed something I didn't understand.

https://github.com/rmnscnce/Revancify/blob/refactor-use-hardlinks-personal/root_util.sh#L53

Here, the stock app is being linked to the new path. What difference it makes as compared to simple cp??

decipher3114 commented 4 months ago

This prevents Revancify from polluting the mount namespace.

Revancify doesn't. You just need to uninstall or update the app using Revancify.

https://github.com/decipher3114/Revancify/blob/main/root_util.sh#L12

This cleans up all the mounts of that particular app, be it old as well.