Commit graph

8017 commits

Author SHA1 Message Date
Jools Wills
09d624a50d
Merge pull request #3295 from joolswills/3rd_party_repos
packages - allow adding of 3rd party module repos
2021-01-26 00:36:57 +00:00
Jools Wills
55071ecf9e packages - allow adding of 3rd party module repos
3rd party repositories can be checked out to RetroPie-Setup/ext

Repositories should be structured so you have:

ext/REPOSITORY/scriptmodules

Modules are only read from the following subfolders of scriptmodules
 * emulators
 * libretrocores
 * ports
 * supplementary
 * admin
2021-01-25 23:59:59 +00:00
Jools Wills
dd46cdfebf builder - don't build for stetch by default 2021-01-25 23:23:05 +00:00
Jools Wills
9143023d79 lr-mess - rework configuration to skip install steps on removal and use mkUserDir 2021-01-23 23:06:43 +00:00
Jools Wills
7e6b8b5b59 setup - highlight installed package ids in white 2021-01-23 04:03:00 +00:00
Jools Wills
a98c59597f packages / setup - show all modules and if they are not enabled for a system
Previously, allthough all modules were read in, we only displayed modules that were enabled for
the current system. This has caused some confusion in the past with people installing RetroPie on another
system and wondering where a package is.

Now all packages are shown via retropie_packages.sh and in setup menus with information if they are
not enabled for the current system.
2021-01-23 03:27:17 +00:00
Jools Wills
4cf07a67c1 packages - use a single associative array for module info
rather than multiple arrays for each module info we now use a single array with

__mod_info(ID/KEY) where key is type/desc/help/licence/flags etc

we still keep __mod_id() - a standard indexed array with every module id (used for setup menus etc) and
__mod_idx() which references the index # from the id

this will make it easier to extend in the future
2021-01-23 01:48:07 +00:00
Jools Wills
f7a74457f1 packages - shorten __section array initialisation 2021-01-23 01:34:53 +00:00
Jools Wills
c9e8257a5c builder - fix array key (missing $) 2021-01-23 01:33:27 +00:00
Jools Wills
cf5cdd4d6a hatari - updated to v2.3.1 2021-01-22 02:31:16 +00:00
Jools Wills
ce7cccd0ed zesarux - updaed to v9.1 2021-01-22 02:16:55 +00:00
Jools Wills
0fb606613d retropie-setup - bump version to 4.7.4 2021-01-22 00:22:48 +00:00
Jools Wills
1481188265
Merge pull request #3290 from joolswills/wget_to_curl
Move from wget to curl
2021-01-22 00:20:18 +00:00
Jools Wills
87dbfe9772 system - remove wget dependency 2021-01-22 00:09:41 +00:00
Jools Wills
c6ea3123a4 emulationstation - quick fix for emulationstation failing with opengl1.x on new vendor drivers 2021-01-21 06:56:04 +00:00
Jools Wills
b9fca20882 helpers - rework the curl stdout/stderr output + stderr capturing
curl outputs the download progress to stderr, and there doesn't seem a way to output progress
to stdout and errors to stderr.

this means we capture the progress also, but on error, extract the last line of output for error display
2021-01-21 06:20:05 +00:00
Jools Wills
bd16e36281 helpers - set curl connection timeout defaults
Use a connect timeout of 60, with a speed limit of 1, and speed time of 60, so curl will abort if no data
is transferred for 60 seconds.

__curl_args can be set to override curl options - these are added after the defaults, which will override
them if provided.
2021-01-21 05:20:29 +00:00
Jools Wills
a0d6c0a109 system - add curl as retropie-setup dependency
Remove curl dependency from steamlink
2021-01-21 05:20:29 +00:00
Jools Wills
44be8542eb image - use download function 2021-01-21 05:20:29 +00:00
Jools Wills
0fdc109e97 lr-prboom - rework game_data function
Make sure the function can be run outside of an install by creating needed folders.
Use download function rather than wget for wad download
De-Duplicate paths
2021-01-21 05:20:29 +00:00
Jools Wills
83dc5e9d16 ags - use download function 2021-01-21 05:20:29 +00:00
Jools Wills
8ee5ec7d9d frotz - use downloadAndExtract function 2021-01-21 05:20:29 +00:00
Jools Wills
00cbeed029 mame - use download function 2021-01-21 05:20:29 +00:00
Jools Wills
579151f0cd fs-uae - use download function 2021-01-21 05:20:29 +00:00
Jools Wills
a5321f5d40 customhidsony - use curl instead of wget 2021-01-21 05:20:29 +00:00
Jools Wills
daf399a0b6 pegasus-fe - use download function 2021-01-21 05:20:29 +00:00
Jools Wills
186c838888 scraper - use download function 2021-01-21 05:20:29 +00:00
Jools Wills
2680d3615f skyscraper - use download function 2021-01-21 05:20:29 +00:00
Jools Wills
2a943727a1 raspbiantools - use download function 2021-01-21 05:20:29 +00:00
Jools Wills
26d2af28e7 retronetplay - use download function 2021-01-21 05:20:29 +00:00
Jools Wills
67abdb0db4 openpht - use download function, and move to experimental
Package has had little support and is better left in experimental.
2021-01-21 05:20:28 +00:00
Jools Wills
253af5233c eduke32 - use download function for game_data
Use mktemp for temporary files (game_data actually had a typo on $__tmpdir, so it used the current folder).
Make sure destination exists, so the function works outside of a full install, and de-duplicate paths
2021-01-21 05:20:28 +00:00
Jools Wills
fc3c7d38bf uqm - use download function 2021-01-21 05:20:28 +00:00
Jools Wills
630529f3d0 dxx-rebirth - rework game_data to use download function
Also de-duplicate descent1/descent2 paths using dest_d1/dest_d2 vars, making sure they exist
in case the function is called outside of a full install. Also update urls to the new https location.
2021-01-21 05:20:28 +00:00
Jools Wills
6ce3e82fb3 helpers - add --location parameter to curl in download function, to follow 301 redirects 2021-01-21 05:20:28 +00:00
Jools Wills
fe91c69508 helpers - detect if destination for download function is a folder
adjust download and downloadAndVerify functions to use bash builtin to extract basename of url,
and test if destination is a folder. If it's a folder download to basename of url to that folder
2021-01-21 05:20:28 +00:00
Jools Wills
6c5dd6e1b0 kodi - use download function for downloading apt key 2021-01-21 05:20:28 +00:00
Jools Wills
22c103eaa5 helpers - add support for to download function to output to stdout using -
A destination parameter of - will now output to stdout, for use in modules where they call wget directly.
We can now replace them with a download call, and also catch/log errors, but it also de-duplicates having
each function handle wget/curl itself. It can also be used to capture output into a variable etc.
2021-01-21 05:20:28 +00:00
Jools Wills
1d92a12075 setup / packages - switch to using curl / check curl return values 2021-01-21 05:18:32 +00:00
Jools Wills
123470f33d helpers - rewrite downloadAndExtract to use download function 2021-01-21 05:18:32 +00:00
Jools Wills
8e60e50665 helpers - switch download function to use curl 2021-01-21 05:18:32 +00:00
Jools Wills
a68834fb63
Merge pull request #3281 from joolswills/lr-dosbox-pure
Lr dosbox pure
2021-01-21 02:42:23 +00:00
Jools Wills
bb5beb27dc
Merge pull request #3292 from cmitu/dkms-update-1
helpers: improve DKMS module installation
2021-01-21 02:36:45 +00:00
freddii
4ac341ac9f
fixed some incorrectly spelt words (#3293) 2021-01-21 02:32:29 +00:00
cmitu
756d31ba0c helpers: improve DKMS module installation
Modified the `dkmsManager` function to account for cases when the running
kernel is replaced before the module installation, so `dkms` cannot build the module.
If the module cannot be built for the running kernel version, then instruct `dkms` to build
for the installed kernels that have a valid `build` folder/symlink present.

Installations performed under a 'chroot' are also handled with the new additions,
so there is no need for separate handling.

This covers situations when the user does an upgrade of the distro's packages and
RetroPie's drivers at the same time. Raspberry Pi OS replaces the current kernel
and the kernel headers for the running version are no longer found, so the driver(s) installed
are not updated from their scriptmodule by `dkmsManager`.

As a side note, Raspberry Pi OS has 4 kernels shipped with the same package:
 - kernel.img ($ver+) for Pi 0/1
 - kernel7.img ($ver-v7+) for Pi 2/3
 - kernel7l.img ($ver-v7l+) for Pi4
 - kernel8.img ($ver-v8+) for Pi4 with the `aarch64` architecture (enabled by `arm_64bit` option in `configtxt`)
For each kernel, there's a corresponding folder under `/lib/modules`. Explained in [1].

The 'chroot' installation didn't install the module for all the versions on the RPI image, it chose
the last sub-folder (which would be the `$ver-v8+`, for `aarch64`), so the latest images don't have the `xpad` driver installed correctly.

Ref:
 [1] the `kernel` option from https://www.raspberrypi.org/documentation/configuration/config-txt/boot.md
2021-01-19 04:45:58 +00:00
Jools Wills
e8251fdfd3 virtualgamepad - remove old code for 3rd party nodejs installs
Packaged nodejs / npm is new enough for the versions of Raspbian/Ubuntu we support (This code dates back to 2016)
2021-01-15 02:20:25 +00:00
Jools Wills
58fb1fb92d setup - move logfile pruning to log init function
it could throw an error if $__logdir didn't exist, and this is a better place really - prune before making new logs
2021-01-14 22:29:25 +00:00
Cristi Mitrana
3f5b62ad43
Merge pull request #3289 from LodanZark/patch-1
FBNeo 0.2.97.44 is no longer the latest version
2021-01-13 06:23:31 +02:00
LodanZark
cd9e747912
FBNeo 0.2.97.44 is no longer the latest version
Updated FBNeo listed version
2021-01-13 02:33:40 +00:00
Jools Wills
fb094731c3
Merge pull request #3288 from joolswills/skyscraper_tweaks
Skyscraper tweaks
2021-01-12 22:18:20 +00:00