zbrateam / Zebra

🦓 A Useful Package Manager for iOS
https://getzbra.com
GNU General Public License v3.0
1.18k stars 191 forks source link

Migrate to parsing APT JSON output for dependency calculation #1976

Closed tale closed 1 year ago

tale commented 2 years ago

Describe the bug Zebra is rather infamous for sometimes miscalculating dependencies or not having complete calculation parity to what Debian Packager and APT will determine needs to be done.

Solution Instead of calculating dependencies on Zebra, we should let the system do it by utilizing the APT JSON output made available through patches to Procursus and Elucubratus. Using the -oAPT::Format::for-sileo=true and -oAPT::Format::JSON=true command-line flags will output this JSON for raw parsing.

Additional context Since this is related to dependencies, it's important that this code is thoroughly tested. There is no margin for error here as bugs could install incorrect dependencies or create bigger issues.