vitasdk / vdpm

SDK installer and package "manager" for $VITASDK
GNU Lesser General Public License v2.1
221 stars 62 forks source link

Rework package tracking system #104

Closed slipoke closed 3 months ago

slipoke commented 3 months ago

Numerous things have been changed/redone here, particularly the way that packages are tracked as being installed. Packages are now stored in a packages.list file located in $VITASDK/etc/vdpm. This file keeps track of packages that are installed and the files that each package has placed. The /tmp-based package cache system has been removed.

Two new flags have been added; -f (force) and -u (uninstall). -f will uninstall and reinstall a package, regardless of if it's already installed. -u will simply uninstall a package.

The usage has also been modified to better reflect available arguments.

I'm submitting this for review and refactor as there is a lot of things I'm not sure about. The critical directory issues mentioned in the initial pull request have since been solved, but you can see them by viewing the original unedited pull request - it was replaced with a much better, and safer, way of handling this that I consider ready to use.

Thanks in advance.

slipoke commented 3 months ago

It would be nice to log what directories tar actually made, but I didn't get the time to look into that

slipoke commented 3 months ago

Made a way simpler and way less garbage implementation of package removal. Don't know why I didn't think of this sooner.

d3m3vilurr commented 3 months ago

it looks good to me. if it has any issue, we handle it later. thank you.