Commit graph

109 commits

Author SHA1 Message Date
Jools Wills
a6c6f239aa variable name / quoting 2016-06-16 00:36:40 +01:00
Jools Wills
67e335e1e2 modules - _update_hook functionality -
* 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.
2016-06-15 20:17:21 +01:00
Jools Wills
88ea0442d6 packages - use associative array to manage id to idx mapping to save searching through the id array 2016-06-15 20:17:21 +01:00
Jools Wills
bb1fa78803 make $md_inst before calling install_bin to simplify modules 2016-06-15 20:17:21 +01:00
Jools Wills
850e8c0852 cosmetic 2016-06-10 18:26:22 +01:00
Jools Wills
a2e2c6606e add help function to modules for commandline use 2016-06-10 17:45:20 +01:00
Jools Wills
a7c0a6103b help improvements
* 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.
2016-06-10 17:32:47 +01:00
Jools Wills
7f10751ce4 fix up rp_hasBinary on source only platforms when a module has an install_bin 2016-06-09 18:02:57 +01:00
Jools Wills
a2f3b239cb modular -
* check return code of pushd when removing module
 * reorganise the pushd checks
2016-06-07 13:01:24 +01:00
Jools Wills
f6305543fc make sure we are in the right folder when calling configure on module removal 2016-06-07 13:01:24 +01:00
Jools Wills
115dbf0205 modular changes -
* 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
2016-06-06 22:08:36 +01:00
Jools Wills
889f8ecdfa Initial rewrite of the setup menu, including per package/module management
* 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.
2016-06-06 22:08:36 +01:00
Jools Wills
bcf26fb790 remove rp_registerFunction as it isn't used outside of the rp_registerModule code anyway. 2016-06-06 22:07:06 +01:00
Jools Wills
b5ac4fa085 don't display module functions that start with an underscore (they are considered private) 2016-05-14 06:24:58 +01:00
Jools Wills
1a56fbd433 use numeric ids 300+ for ports so we can have more than 50 ports. move supplementary to 800+ range 2016-04-03 18:59:39 +01:00
Jools Wills
70543d100d when installing files returned from a module with md_ret_files use -f to force it, else cp might refuse to overwrite a running executable such as ES (installing from binary is ok as tar doesn't seem to care). thanks to Herb for the heads up 2016-03-26 03:09:15 +00:00
Jools Wills
9e3d573b13 new module variable md_conf_root that points to $configdir or $configdir/ports for ports - for ports in the libretro folder, this is set manually with setConfigRoot, and for "love" which is a ES system, but lives in ports (so configs go in $configdir not $configdir/ports to match the roms folder structure)
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)
2016-03-25 20:13:02 +00:00
Jools Wills
78604b7b5c do not return 1 when calling non existing functions as it breaks for modules without depends etc when calling with no parameters - need to do this differently 2016-02-22 21:56:36 +00:00
Jools Wills
ddde631280 always allow "remove" action on modules, and show an error when an action doesn't exist (and return 1) 2016-02-22 20:47:07 +00:00
Jools Wills
f9d066d345 remove install folder for modules when issueing "remove" command 2016-02-22 14:52:27 +00:00
Jools Wills
b006dc3758 fix action wording when removing dependencies 2016-02-22 14:00:51 +00:00
Jools Wills
3700ac5cd1 add the ability to remove the dependencies for a module - by doing ./retropie_packages.sh module depends remove
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
2016-02-22 12:19:30 +00:00
Jools Wills
825c480be9 rename fn_exists to fnExists and move to helpers as may be needed in modules 2016-02-05 00:20:50 +00:00
Jools Wills
25c95ca1f7 remove unused variable 2016-01-04 03:49:11 +00:00
Jools Wills
c6423c753d use isPlatform for platform flag checking so we can do !rpi or !odroid
disable rpi emulators on odroid
2016-01-04 03:49:11 +00:00
Jools Wills
c9deccfb4d use distro/platform for archive creation to match our server file structure 2015-11-07 15:17:57 +00:00
Jools Wills
f090421b6b create binaries in additional subfolder for os version 2015-11-07 15:12:35 +00:00
Jools Wills
d7f843d473 copyright sp / minor wording tweak 2015-10-12 00:09:22 +01:00
Florian
db0dd30692 CHG: Updated copyright information. 2015-10-11 21:03:16 +02:00
Jools Wills
e2b7b66275 wrong variable in error messages 2015-10-04 22:51:09 +01:00
Jools Wills
d4afca8a4d show install_bin function in retropie_packages.sh function list 2015-09-22 15:09:06 +01:00
Jools Wills
752a20516e be verbose about module actions other than the preset install/build/etc 2015-09-20 20:17:52 +01:00
Jools Wills
0531b34bc1 as we have additional package functions it would be useful to list them all. The changes here allow that by using compgen builtin. It does mean that functions will be listed alphabetically, but it means we can now see all the custom functions via retropie_packages.sh 2015-08-01 18:32:39 +01:00
Jools Wills
84a505ff31 correct path in message when no directory exists when creating binary archives 2015-06-29 15:32:03 +01:00
Jools Wills
fee0182caf was checking for the wrong folder before creating tar in rp_createBin 2015-06-23 05:07:22 +01:00
Jools Wills
b3387cc461 don't try and create archives when doing create_bin if no install directory exists 2015-06-22 20:16:21 +01:00
Jools Wills
ce8ede4def updated licence url (to RetroPie org). Remove . at end of licence url to avoid any confusion 2015-06-16 16:41:34 +01:00
Florian
be7214deb7 Merge branch 'master' of https://github.com/petrockblog/RetroPie-Setup 2015-03-28 06:20:06 +01:00
Florian
4df425c338 CHG: Updated header information 2015-03-28 06:19:16 +01:00
Jools Wills
385382adf0 local variable
report the correct missing file
2015-03-28 00:55:55 +00:00
Jools Wills
6a9f775a64 allow module to return list of required files 2015-03-27 20:00:38 +00:00
Florian
aab7fbd52d CHG: Added license information to all files 2015-03-27 17:28:38 +01:00
Jools Wills
85f4072a26 add module id to action headings 2015-03-26 18:02:52 +00:00
Jools Wills
49a0768c8a add platform subdirectory when creating binary archives 2015-03-13 22:39:34 +00:00
Jools Wills
2286b3694a remove old debug/unused echo
simplify loop
2015-03-07 12:21:38 +00:00
Jools Wills
232e9627a3 instead of using md_params for passing parameters, just call the module function with the params so the function can use $1 $2 etc. makes it simpler when calling cross module functions as well as calling the function from within a module 2015-03-03 10:12:05 +00:00
Jools Wills
f62bd858b3 only print heading when running module action if an action is set 2015-02-28 21:24:23 +00:00
Jools Wills
e63176d4f0 update copyright date 2015-02-21 17:03:46 +00:00
Jools Wills
7f895601da updated retropie_packages.sh usage information with more detailed description of commands 2015-02-16 17:00:13 +00:00
Jools Wills
294bcc0bbd add clean module function to clean up its build folder/sources 2015-02-16 16:47:43 +00:00