Hi all
While tinkering with pakfire to add effective use of the new metadata, remove more duplicate code and seperating some view and control for cleaner usage in services.cgi et al; I had a few times where my VM lost connection to internet. And there I found that pakfire started to fail in ugly ways. Ugly errors, even tar errors failing to untar the file it failed to download etc. This lack of errorhandling was also the cause of meta-files sometimes turning up empty. Also in some corner cases the list files could become corrupted or some package dependencies could be skipped during install.
So I added proper errorhandling around file downloads: functions fetchfile, getmetafile and getmirrors now always return 0 (fail) or 1 (success). Fetchfile actually already had return values but those where never checked. So now, where required, these errorcodes are checked and proper error messages are displayed, or at least files are not overwritten with possibly corrupt files, making functions or even pakfire stop before it tries to do things that depend on files that are not there due to earlier uncatched failures.
Regards Robin