update upstream files to Lakka versions

This commit is contained in:
Tomáš Kelemen (vudiq) 2021-09-26 21:01:28 +02:00
parent 460745fd73
commit f405d49d9e
9 changed files with 178 additions and 136 deletions

17
.github/ISSUE_TEMPLATE.md vendored Normal file
View File

@ -0,0 +1,17 @@
This issue tracker is NOT for help or support. Please use one of the following channels for help and support:
- the Lakka forum (https://forums.libretro.com/c/libretro/lakka-tv-general)
- via IRC @ #lakkatv on freenode.net
- #lakkatv on libretro discord https://discord.gg/retroarch
Before you report a bug make sure you have tried the latest nightly version of Lakka at https://nightly.builds.lakka.tv/latest/. Your bug might be already fixed.
If you are sure that it's a bug in Lakka, please answer the following questions:
- Which version of Lakka are you using?
- What system hardware are you using?
- What did you do?
- What did you expect to happen?
- What happened instead?
It is important to provide logs for debugging as part of your report. Instructions for generating logs can be found in the Troubleshooting Lakka documentation at https://www.lakka.tv/doc/Troubleshooting-Lakka/
Please delete this text before posting.

View File

@ -1,28 +0,0 @@
---
name: Bug report
about: Describe this issue
title: "[BUG]"
labels: ISSUE NEEDS REVIEW
assignees: ''
---
### Describe the bug
<!--- A clear description of what the bug is. -->
### To Reproduce
Steps to reproduce the behavior:
1. Go to '...'
2. Play '....'
3. See error
### Informations
- LE Version: [e.g. 9.2.1]
- Hardware Platform: [e.g. RPi3]
### Log file
<!-- Add log files (https://libreelec.wiki/how_to/provide_logfile) that we can search for errors. -->
### Additional context
<!--- Add any other context about the problem here. -->

View File

@ -1 +0,0 @@
blank_issues_enabled: false

25
.github/PULL_REQUEST_TEMPLATE.md vendored Normal file
View File

@ -0,0 +1,25 @@
# Pull requests
All the code contributions are submitted in the form of Pull Requests. Team members should also use Pull Requests except in case of emergency.
A good PR is:
* Atomic, changes as less things as possible
* Well named
* Well described
* Tested locally by the sender (on real hardware)
* Doesn't break other projects (you have to build all of them locally)
* Idealy doesn't contain merge messages (you can pull --rebase if necessary)
* Doesn't mix important changes with massive reindentation (send two separate PRs)
* Doesn't introduce too much changes that would make merging upstream difficult
PRs will be reviewed by the core team. The project leader have the final word on merging a PR or not, but all the core team members are invited to do code reviews.
PRs should be merged using the *Squash and merge* button only.
If a PR is not in a mergeable state, mark the title with [WIP].
Commit messages should be formatted like the [LibreELEC](https://github.com/LibreELEC/LibreELEC.tv)'s upstream, in the following format:
```
package-name: update something on the package
```

View File

@ -1,13 +0,0 @@
LibreELEC CHANGELOG
==================
To view recent changes/commits to the project (master branch) please visit:
https://github.com/LibreELEC/LibreELEC.tv/commits/master
To compare commits between versions use a formatted URL like:
https://github.com/LibreELEC/LibreELEC.tv/compare/3.2.3...3.2.4
If you have questions on differences between releases please ask them in the
LibreELEC website forums or IRC support channel.

2
CHANGELOG.md Normal file
View File

@ -0,0 +1,2 @@
# v4.0
* Switch to LibreELEC 10.0 build system

View File

@ -1,109 +1,149 @@
### Questions about LibreELEC?
# General rules
To get your questions answered, please ask in the LibreELEC [Forum], on IRC:
\#libreelec on Libera.Chat.
* Lakka focuses on stability rather than bleeding edge
* We try to maintain all the supported platforms, but we know that 95% of our users are using PC and RPi
* You are responsible for your own changes, if you break something, you need to fix it
* Everybody has to test their own changes
* Testing means manual testing on real hardware
* If you are unsure how to contribute code, meet us on IRC (#lakkatv on freenode) or Discord (libretro server)
* Our users want the latest working versions of RetroArch and the libretro cores. They don't want non working / half working versions.
Do not open an issue.
# Team members
### Issue Reports
Project leader: natinusala
**BEFORE you report a bug make sure you got the latest testing version of
LibreELEC. Your bug might be already fixed.**
Team members: kivutar, Ntemis, gouchi, ToKe79, RobLoach, natinusala, plaidman
If you are at all unsure whether it's a bug in LibreELEC or a problem with
something else, post in the LibreELEC [Forum] instead. If it turns out that it is
a bug, an issue can always be opened later.
# The development branch
If you are sure that it's a bug in LibreELEC and you have not found a [similar issue], open a new [issue]
and try to answer the following questions:
- What did you do?
- What did you expect to happen?
- What happened instead?
The development happens on the branch master. This branch follows LibreELEC 8.2 stable.
**It is also importent to provide logs for debugging.
A zip file can be found in the [logfiles] samba share, this will contain all the logs needed.**
We consider this branch as a rolling release, and we ensure that:
Make sure to specify which version of LibreELEC you are using.
- LibreELEC version
- LibreELEC build
- LibreELEC arch
* All the projects build fine at least on Ubuntu 16.04 and 18.04
* All the projects boot
* All the projects boot to RetroArch
Please don't paste log messages in the issue reports or issue comments - use
[sprunge.us](http://sprunge.us) instead.
We don't have a stable branch + unstable branches. For now, we only work on master which should be as stable as possible.
# Pull requests
Feature requests are great, but they usually end up lying around the issue
tracker indefinitely. Sending a pull request is a much better way of getting a
particular feature into LibreELEC.
All the code contributions are submitted in the form of Pull Requests. Team members should also use Pull Requests except in case of emergency.
Please dont ask us to add 3rdparty drivers unless you are the maintainer/developer of the driver,
we have no manpower to support a non-mainlined kernel driver for your hardware.
However, LibreELEC comes with minimal set of kernel drivers enabled, if you are sure that your hardware
is supported in mainline kernel, feel free to send us a Pull Request to enable it in our
kernel defconfigs. We are always happy to support known-working hardware.
A good PR is:
### Reporting build failures
* Atomic, changes as less things as possible
* Well named
* Well described
* Tested locally by the sender (on real hardware)
* Doesn't break other projects (you have to build all of them locally)
* Idealy doesn't contain merge messages (you can pull --rebase if necessary)
* Doesn't mix important changes with massive reindentation (send two separate PRs)
* Doesn't introduce too much changes that would make merging upstream difficult
As buildsystem / core packages (toolchain) / random libraries change from time to time, it is required
that you always do a clean build (make clean) before reporting build failures. Also make sure that you
have a clean, unmodified git clone, we can't fix bugs caused by you failed to merge / rebase on
your own fork.
PRs will be reviewed by the core team. The project leader have the final word on merging a PR or not, but all the core team members are invited to do code reviews.
### Pull Requests
PRs should be merged using the *Squash and merge* button only.
- **Create topic branches**. Don't ask us to pull from your master branch.
If a PR is not in a mergeable state, mark the title with [WIP].
- **One pull request per feature**. If you want to do more than one thing, send
multiple pull requests.
Commit messages should be formatted like the [LibreELEC](https://github.com/LibreELEC/LibreELEC.tv)'s upstream, in the following format:
```
package-name: update something on the package
```
- **Send coherent history**. Make sure each individual commit in your pull
request is meaningful. If you had to make multiple intermediate commits while
developing, please squash them before sending them to us.
# Merging upstream
Please follow this process; it's the best way to get your work included in the project:
The upstream branch, LibreELEC 9.2, will be merged on a regular basis by the maintainers. Merging upstream should be discussed and announced on IRC in presence of the project leader.
- [Fork](http://help.github.com/fork-a-repo/) the project, clone your fork,
and configure the remotes:
It should be done once every release cycle, at the beginning of the cycle.
```bash
# clone your fork of the repo into the current directory in terminal
git clone git@github.com:<your username>/LibreELEC.tv.git
# navigate to the newly cloned directory
cd LibreELEC.tv
# assign the original repo to a remote called "upstream"
git remote add upstream https://github.com/LibreELEC/LibreELEC.tv.git
```
# RetroArch updates
- If you cloned a while ago, get the latest changes from upstream:
Updating RetroArch requires a lot of manual testing. So leave this task to the core team.
```bash
# fetch upstream changes
git fetch upstream
# make sure you are on your 'master' branch
git checkout master
# merge upstream changes
git merge upstream/master
```
# Release cycle
- Create a new topic branch to contain your feature, change, or fix:
We try to release images to the public one time per month.
```bash
git checkout -b <topic-branch-name>
```
Before every release or release candidate, we have a one week code freeze that is announced on IRC or Discord by the team leader.
- Commit your changes in logical chunks. or your pull request is unlikely
be merged into the main project. Use git's
[interactive rebase](https://docs.github.com/en/github/getting-started-with-github/about-git-rebase) feature to tidy up your commits before making them public.
During the code freeze:
- Push your topic branch up to your fork:
* Everybody tests the images on real hardware
* We merge only critical fixes
* We don't merge upstream
* We don't update RetroArch or cores for no reasons
* If we update RetroArch or a core, it better be done by adding a build time patch than updating the commit ID
```bash
git push origin <topic-branch-name>
```
# Good practices guide
- [Open a Pull Request](https://help.github.com/articles/using-pull-requests) with a
clear title and description.
This branch is based on [LibreELEC 9.2](https://github.com/LibreELEC/LibreELEC.tv/tree/libreelec-9.2).
After you fork and clone to your local development environment, fetch and switch to branch `Lakka-LE9.2` and add the upstream repository:
```
git fetch origin Lakka-LE9.2:Lakka-LE9.2
git checkout -b Lakka-LE9.2 origin/Lakka-LE9.2
git remote add upstream https://github.com/libretro/Lakka-LibreELEC
git fetch upstream
git branch --set-upstream-to=upstream/Lakka-LE9.2
```
To update your local Lakka-LE9.2 branch from upstream (do this every time before you create a new branch which you mean to PR):
```
git checkout Lakka-LE9.2
git pull upstream Lakka-LE9.2
git push origin Lakka-LE9.2
```
Do not commit anything into Lakka-LE9.2 branch but create branches for each PR, otherwise you will have merge commits when updating from upstream:
```
git checkout -b <name_of_branch> Lakka-LE9.2
```
To rebase your branch (you might need to resovle some conflicts - do this only when your PR has conflicts with the base):
```
git checkout <name_of_branch>
git rebase upstream Lakka-LE9.2
```
## Add LibreELEC repository
To merge commits from the base, LibreELEC repository has to be added:
```
git remote add libreelec https://github.com/LibreELEC/LibreELEC.tv
```
Lakka-LE9.2 is based on the libreelec-9.2 branch, so fetch it:
```
git fetch libreelec libreelec-9.2:libreelec-9.2
```
To update the base branch later:
```
git checkout libreelec-9.2
git pull libreelec libreelec-9.2
```
List of new commits in base branch:
```
git log Lakka-LE9.2..libreelec-9.2
```
If you want to merge up to a specific commit hash or tag:
```
git checkout libreelec-9.2
git reset --hard <commit|tag>
```
Create new branch and merge the commits:
```
git checkout -b update_from_libreelec Lakka-LE9.2
git merge libreelec-9.2
```
Push the changes to your remote repository (and open pull request on GitHub):
```
git push origin udpate_from_libreelec
```
[Forum]: https://forum.libreelec.tv/
[issue]: https://github.com/LibreELEC/LibreELEC.tv/issues
[logfiles]: https://wiki.libreelec.tv/index.php?title=LibreELEC_FAQ#Support_Logs
[similar issue]: https://github.com/LibreELEC/LibreELEC.tv/search?&ref=cmdform&type=Issues

View File

@ -1,19 +1,19 @@
# LibreELEC
# Lakka - The DIY retro emulation console
LibreELEC is a 'Just enough OS' Linux distribution for the award-winning [Kodi](https://kodi.tv) software on popular mediacentre hardware. Further information on the project can be found on the [LibreELEC website](https://libreelec.tv).
Lakka is a lightweight Linux distribution that transforms a small computer into a full blown emulation console.
**Issues & Support**
* **Powerful** - Built on top of the famous RetroArch emulator, Lakka is able to emulate a large range of hardware and has some useful features such as Braid-like rewinding, joypad hotplug and video streaming.
* **User friendly** - Lakka is easy to setup and use. Once installed to your SD card, you just have to put your rom on the card, plug your joypad and enjoy your favorite old games. We also support PS3 and XBox360 controllers so you don't have to buy new ones.
* **Low cost** - We try our best to keep the hardware required to run Lakka as cheap as possible. The software is optimized to run fast even on low end computers. The power can be supplied by any micro USB adapter like the one for your smartphone.
* **Open source** - Our code is free as in freedom and hosted on Github (though the project uses emulators that forbid commercialisation). We accept external contributions, and we do our best to integrate our own patches into upstream projects.
Please ask questions in the [LibreELEC forum: Help & Support](https://forum.libreelec.tv/forum-3.html) or ask a member of project staff in the #libreelec IRC channel on Libera.Chat. Please report bugs via [GitHub Issues](https://github.com/LibreELEC/LibreELEC.tv/issues).
## Installation instructions
**Donations**
Please refer to our website https://www.lakka.tv/get on how to setup Lakka.
Contributions towards current project funding goals can be sent via PayPal to donations@libreelec.tv
## Support
**License**
LibreELEC original code is released under [GPLv2](https://www.gnu.org/licenses/gpl-2.0.html).
**Copyright**
As LibreELEC includes code from many upstream projects it has many copyright owners; notably [OpenELEC](https://openelec.tv) which we forked from after disagreeing with project direction and management, and [OpenBricks/GeeXboX](https://github.com/OpenBricks/openbricks/blob/master/AUTHORS) the uncredited source of the original 2009 build system. LibreELEC makes no claim of copyright on any upstream code. However all original LibreELEC authored code is copyright LibreELEC.tv. Patches to upstream code have the same license as the upstream project unless specified otherwise. For a complete copyright list please checkout the source code to examine license headers. Unless expressly stated otherwise all code submitted to the LibreELEC project (in any form) is licensed under [GPLv2](https://www.gnu.org/licenses/gpl-2.0.html) and copyright is donated to the project. This approach gives the project freedom to maintain the code without the overhead of preserving contact with every submitter, e.g. GPLv3. You are free to retain copyright by adding your copyright header to each submitted code page. If you submit code that is not your own work it is your responsibility to place a header stating the copyright.
* [FAQ](https://github.com/libretro/Lakka-LibreELEC/wiki/FAQ)
* #lakkatv on irc.freenode.org
* [Discord](https://discord.gg/BNFR4hM)
* [Forums](https://forums.libretro.com/c/libretro/lakka-tv-general)

View File

@ -373,7 +373,7 @@ if [ "${1}" = "release" -o "${1}" = "mkimage" -o "${1}" = "noobs" ]; then
tar cf ${RELEASE_DIR}/${NOOBS_DISTRO}/marketing.tar -C ${ROOT}/config/noobs/marketing .
fi
cp ${ROOT}/README* ${RELEASE_DIR}/${NOOBS_DISTRO}
cp ${ROOT}/CHANGELOG ${RELEASE_DIR}/${NOOBS_DISTRO}/release_notes.txt
cp ${ROOT}/CHANGELOG* ${RELEASE_DIR}/${NOOBS_DISTRO}/release_notes.txt
if [ -n "${NOOBS_HEX}" ]; then
sed -e "s%@NOOBS_HEX@%${NOOBS_HEX}%g" \