* add _update_hook function support - these get run on updating retropie-setup.
* add update_hook functions for modules so they show up as installed on retropie-setup 4.x - eg modules that
previously just apt-get installed a package.
* get rid of _INFMSGS and instead have a rp_module_help field with information in.
this can then be displayed in the setup menus, and not just after configuring.
* basic remove support for modules - uses the existing configure function but sets md_mode to remove, which is used by
addSystem to remove systems and moveConfigFile/moveConfigDir to remove symlinks. Will not remove any configs from $configdir
* rp_module_menus is no more - instead use rp_module_section with one of
- core (core packages)
- main (main packages - which will be installed by default in the image)
- opt (optional packages)
- exp (experimental packages)
- driver (driver packages)
- config (configuration packages / tools)
* The setup menu organises the data based on the above sections. more could be added in the future if needed. Packages (internally modules), can be added / configured / removed individually, or as entire sections.
* The setup menu will automatically detect if a binary is available to be installed. the nobin flag is no longer needed. modules that install directly from binary via aptInstall or via a prebuilt binary need to use an install_bin_ function instead of install_
* rp_module_section of type "config" will have the "gui_" function called first if it's available, otherwise a standard depends/sources/build/install/configure will be called
* configure is no longer used for "gui" configuration function - use gui_ instead. Had already started to move to this before, but now it is required.
adjust ports configs / symlinks to $configdir/ports and move old configs to new location (when calling addPort)
fix up some paths in a few experimental modules (wolf4sdl / sdlpop)
it will remove all direct dependencies, and then remove any of those package dependencies with autoremove - including configs
if a package was installed before, it will be removed if listed, so this isn't a feature to "remove everything that retropie
installed" but is still useful for dependency testing etc