Compare commits
315 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
1b5a1ab8ea | ||
|
|
6fa73db650 | ||
|
|
879921fb89 | ||
|
|
ab419fcc3b | ||
|
|
cc663e6bda | ||
|
|
a9bb981b86 | ||
|
|
6d487a521c | ||
|
|
4fd9d79002 | ||
|
|
7d1caea56b | ||
|
|
cd5f42c2ef | ||
|
|
4c41dd5830 | ||
|
|
d224757a50 | ||
|
|
4dfd19fd7d | ||
|
|
612763e8c0 | ||
|
|
079f817e3b | ||
|
|
e2484b09e5 | ||
|
|
b496914b31 | ||
|
|
f60889b387 | ||
|
|
dd862c5047 | ||
|
|
f92e4e6d8b | ||
|
|
31724f6800 | ||
|
|
77fd0d6b77 | ||
|
|
77e0cd2ea5 | ||
|
|
d49244082a | ||
|
|
6788154e07 | ||
|
|
b91b623c43 | ||
|
|
50b81a0686 | ||
|
|
3c68fe9947 | ||
|
|
d5da603132 | ||
|
|
1cf28d6a6b | ||
|
|
5096004835 | ||
|
|
19bf1f3c1d | ||
|
|
8ccbd4c7ef | ||
|
|
cef4eddba6 | ||
|
|
74bc1d6fb4 | ||
|
|
067c51a82a | ||
|
|
ca72183568 | ||
|
|
74f641c52f | ||
|
|
d7c4549aff | ||
|
|
c030abe5c0 | ||
|
|
8216d83201 | ||
|
|
9c1b0526a6 | ||
|
|
fec555173c | ||
|
|
135e76566a | ||
|
|
6e42a18924 | ||
|
|
e6ccd30789 | ||
|
|
aa25d20637 | ||
|
|
f983e02b9a | ||
|
|
5abc30299f | ||
|
|
baaa54b38a | ||
|
|
1ef63e8c28 | ||
|
|
3a9b1067fb | ||
|
|
d251c554f6 | ||
|
|
963662fc53 | ||
|
|
7f2866c5da | ||
|
|
912e3794db | ||
|
|
dc27f1ad64 | ||
|
|
ed161f9fd2 | ||
|
|
b4f044e4bd | ||
|
|
a12cb24851 | ||
|
|
03444341f1 | ||
|
|
d1880689d9 | ||
|
|
d47409ce1c | ||
|
|
10ef21d3f8 | ||
|
|
719a0e6fd5 | ||
|
|
caaf6ff27d | ||
|
|
4f050cc243 | ||
|
|
e7dedb6e6c | ||
|
|
5278f57941 | ||
|
|
a4e3845b91 | ||
|
|
2d9fc82796 | ||
|
|
cf55b2e446 | ||
|
|
60be736d7c | ||
|
|
da48eab9b6 | ||
|
|
305789f7f5 | ||
|
|
18d70a1a36 | ||
|
|
f8519f839e | ||
|
|
3fcd79ce7c | ||
|
|
685134ffef | ||
|
|
6c38a52a25 | ||
|
|
8382c54f31 | ||
|
|
79d9ff1c67 | ||
|
|
8a0a88c45c | ||
|
|
84bd75d9bd | ||
|
|
40225b9ef9 | ||
|
|
521df499e1 | ||
|
|
37728af595 | ||
|
|
6c353d3142 | ||
|
|
20d60164cd | ||
|
|
bb1082c2bb | ||
|
|
6640f3dc8d | ||
|
|
99496f656c | ||
|
|
727692604a | ||
|
|
e651d993c5 | ||
|
|
02fbd280a5 | ||
|
|
9ee5b04b40 | ||
|
|
7f4b55a4a1 | ||
|
|
b228b408d5 | ||
|
|
920305961c | ||
|
|
670dcd611a | ||
|
|
f796f8bbdb | ||
|
|
73d6987c06 | ||
|
|
40201f49a3 | ||
|
|
db33a7a98d | ||
|
|
0013d42deb | ||
|
|
5f2d6bad75 | ||
|
|
2ac8b9cfe8 | ||
|
|
7fbfe11a5e | ||
|
|
d6f4ef6d85 | ||
|
|
6009676903 | ||
|
|
3ecbf910cc | ||
|
|
a7d2c2bf52 | ||
|
|
708b1c0be0 | ||
|
|
c07940e3bb | ||
|
|
66dff3776f | ||
|
|
d3fc839e8b | ||
|
|
a0d63b96be | ||
|
|
9cbd29574d | ||
|
|
b80e616268 | ||
|
|
89a9eea999 | ||
|
|
08f937ac87 | ||
|
|
9d86201373 | ||
|
|
5bb143cc2c | ||
|
|
b2ccdeb88f | ||
|
|
0d0d5d14ad | ||
|
|
1aac0e3e1f | ||
|
|
c29bb6edc9 | ||
|
|
189841c54b | ||
|
|
bddb577ede | ||
|
|
1aaa369786 | ||
|
|
e6aaa7b903 | ||
|
|
4cde019d1e | ||
|
|
6895e7ef43 | ||
|
|
b9cf818bce | ||
|
|
311350443e | ||
|
|
a06f3d0d30 | ||
|
|
1a1dd1fbe0 | ||
|
|
1f3b368b3d | ||
|
|
8e4e0be55a | ||
|
|
8b6b81ef45 | ||
|
|
3a0626aad5 | ||
|
|
37d3bde303 | ||
|
|
57ea8754b6 | ||
|
|
5a207ca188 | ||
|
|
895ebf578c | ||
|
|
915b15ca7d | ||
|
|
2d1585e8fe | ||
|
|
04484133aa | ||
|
|
5426ba5e9c | ||
|
|
9435a272a2 | ||
|
|
945c1cab95 | ||
|
|
7d9ea5f98d | ||
|
|
cd6f188dbd | ||
|
|
9ac640b3f3 | ||
|
|
93f0f86848 | ||
|
|
2cc4fe23e7 | ||
|
|
53c876f44a | ||
|
|
60c0006307 | ||
|
|
ebcb3e8d10 | ||
|
|
4a8d677218 | ||
|
|
2535fcd9f7 | ||
|
|
594a413820 | ||
|
|
aa13c0829d | ||
|
|
99af1e0038 | ||
|
|
5b8f39d581 | ||
|
|
33fd9dda82 | ||
|
|
3ccdbc2507 | ||
|
|
dfabbd188d | ||
|
|
f6fa495e35 | ||
|
|
67b7e7fae2 | ||
|
|
6fba93b85d | ||
|
|
2e427a5fc4 | ||
|
|
68d24ada1c | ||
|
|
e253a9a765 | ||
|
|
6184cb86b7 | ||
|
|
e76a2d73d3 | ||
|
|
1aa0f6a63a | ||
|
|
15e76e7de2 | ||
|
|
3bd9a030e7 | ||
|
|
27a962409b | ||
|
|
f986fb0c37 | ||
|
|
d8ab0b654b | ||
|
|
07592d1e8b | ||
|
|
feb31df3b4 | ||
|
|
c931a3510d | ||
|
|
1672676b87 | ||
|
|
21e21878d6 | ||
|
|
096ba5e26e | ||
|
|
27445b4f8a | ||
|
|
de94bf7c3b | ||
|
|
151d9918ff | ||
|
|
c57bf7318e | ||
|
|
1fb2681772 | ||
|
|
e814ca5972 | ||
|
|
8003914943 | ||
|
|
03f6db3269 | ||
|
|
448a0279be | ||
|
|
2a2e30d38d | ||
|
|
0e933bb5b4 | ||
|
|
e290fc492a | ||
|
|
669021932b | ||
|
|
473676705d | ||
|
|
e3a6fba417 | ||
|
|
9d5803fe1d | ||
|
|
5389274ed1 | ||
|
|
d21b436002 | ||
|
|
30ec9c2a11 | ||
|
|
2acd7d8021 | ||
|
|
340229b925 | ||
|
|
4efcf42da2 | ||
|
|
aefcbe0672 | ||
|
|
f8a8d878a5 | ||
|
|
d60a579dfc | ||
|
|
0d3512d492 | ||
|
|
c34104feed | ||
|
|
3585439653 | ||
|
|
926ed98ad4 | ||
|
|
243886e415 | ||
|
|
8744b4876c | ||
|
|
1b99a105fc | ||
|
|
6d192350c3 | ||
|
|
094be53b37 | ||
|
|
48cb2b7581 | ||
|
|
86f796d618 | ||
|
|
62ede1ba96 | ||
|
|
5703acd71f | ||
|
|
b147dc33ab | ||
|
|
a1047be164 | ||
|
|
ff9b487fe9 | ||
|
|
b4a494f231 | ||
|
|
885cb9c2f2 | ||
|
|
1ba716ff1a | ||
|
|
2b45337f3b | ||
|
|
0dfe65f0b2 | ||
|
|
313060e13e | ||
|
|
f4eb2af766 | ||
|
|
93987c3c2e | ||
|
|
1af41effbc | ||
|
|
1fecfa9bcb | ||
|
|
3cbed0708e | ||
|
|
83163d7603 | ||
|
|
94b5be6fc3 | ||
|
|
8dc105dc43 | ||
|
|
32d9edfa4e | ||
|
|
f7e1f6702d | ||
|
|
f98750943c | ||
|
|
3a164d0a84 | ||
|
|
ad1e4fb8fe | ||
|
|
04600bf444 | ||
|
|
89aabaaf9f | ||
|
|
f0187ecbfe | ||
|
|
2d2557f31b | ||
|
|
815f2e7547 | ||
|
|
752cfd01f0 | ||
|
|
d282b30f4e | ||
|
|
917501c9b7 | ||
|
|
c1b70632ba | ||
|
|
54db1b3339 | ||
|
|
8e2b320b99 | ||
|
|
cc9335d6e5 | ||
|
|
4145cfe956 | ||
|
|
4a3bd93539 | ||
|
|
f107fee66f | ||
|
|
aa9b78065d | ||
|
|
aaa2c58989 | ||
|
|
d37c22d61f | ||
|
|
0f820b3068 | ||
|
|
b0482f422b | ||
|
|
792a28b64b | ||
|
|
cb4f28a577 | ||
|
|
7a30bdab0d | ||
|
|
8cc3a30690 | ||
|
|
8e4c355a16 | ||
|
|
a3cc43c4ef | ||
|
|
d90ad6a0af | ||
|
|
3a844a56af | ||
|
|
4e8086843a | ||
|
|
7f8f2e09c3 | ||
|
|
81e511484d | ||
|
|
28493a0ecb | ||
|
|
0f1e2130e6 | ||
|
|
8fe7fb4eaf | ||
|
|
1a3380a66f | ||
|
|
cc49129ea6 | ||
|
|
dbe59534c6 | ||
|
|
171e9da663 | ||
|
|
273585c995 | ||
|
|
9ef4973efa | ||
|
|
9999a2a864 | ||
|
|
7e4ab7250f | ||
|
|
e92c0b39d6 | ||
|
|
e423e70267 | ||
|
|
261b9f041b | ||
|
|
ed84d28cb3 | ||
|
|
e152b81ec6 | ||
|
|
233710a48f | ||
|
|
0908a504c9 | ||
|
|
769122992d | ||
|
|
2ba5ddac6c | ||
|
|
0fca33726d | ||
|
|
adfcd74f37 | ||
|
|
6408e17a5d | ||
|
|
3b96de2f8a | ||
|
|
091ae119ad | ||
|
|
dd83d899f5 | ||
|
|
6690b7360e | ||
|
|
b52a555a22 | ||
|
|
76f4e6db01 | ||
|
|
e0dc3d7e9e | ||
|
|
4fcc3ce6d9 | ||
|
|
443b4fd6a6 | ||
|
|
8e45336ea0 | ||
|
|
3bffa1bf6c | ||
|
|
07407b98f3 | ||
|
|
f3b9188ac1 |
14
.gitignore
vendored
@@ -9,28 +9,22 @@
|
||||
# prebuild target binarys to provide
|
||||
/target/
|
||||
|
||||
# scripts for getting and packing source packages
|
||||
/tools/mkpkg/*
|
||||
!/tools/mkpkg/mkpkg_*
|
||||
|
||||
# mkpkg temp
|
||||
mkpkg-temp
|
||||
|
||||
# options
|
||||
/.libreelec
|
||||
|
||||
# private working directory
|
||||
/.work/
|
||||
|
||||
# dedicated filesystem
|
||||
/lost+found/
|
||||
|
||||
# symlinks...
|
||||
/sources
|
||||
/.work
|
||||
|
||||
# ccache
|
||||
/.ccache/
|
||||
|
||||
# backup files
|
||||
*.orig
|
||||
|
||||
# crap
|
||||
.DS_Store
|
||||
.directory
|
||||
|
||||
3
.gitmodules
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
[submodule "packages/unofficial"]
|
||||
path = packages/unofficial
|
||||
url = https://github.com/OpenELEC/unofficial-addons.git
|
||||
@@ -1,13 +1,13 @@
|
||||
LibreELEC CHANGELOG
|
||||
OpenELEC CHANGELOG
|
||||
==================
|
||||
|
||||
To view recent changes/commits to the project (master branch) please visit:
|
||||
|
||||
https://github.com/LibreELEC/LibreELEC.tv/commits/master
|
||||
https://github.com/OpenELEC/OpenELEC.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
|
||||
https://github.com/OpenELEC/OpenELEC.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.
|
||||
OpenELEC website forums or IRC support channel.
|
||||
|
||||
@@ -1,20 +1,20 @@
|
||||
### Questions about LibreELEC?
|
||||
### Questions about OpenELEC?
|
||||
|
||||
To get your questions answered, please ask in the LibreELEC [Forum], on IRC:
|
||||
\#libreelec on freenode.net.
|
||||
To get your questions answered, please ask in the OpenELEC [Forum], on IRC:
|
||||
\#openelec on freenode.net, or [webchat].
|
||||
|
||||
Do not open an issue.
|
||||
|
||||
### Issue Reports
|
||||
|
||||
**BEFORE you report a bug make sure you got the latest testing version of
|
||||
LibreELEC. Your bug might be already fixed.**
|
||||
OpenELEC. Your bug might be already fixed.**
|
||||
|
||||
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
|
||||
If you are at all unsure whether it's a bug in OpenELEC or a problem with
|
||||
something else, post in the OpenELEC [Forum] instead. If it turns out that it is
|
||||
a bug, an issue can always be opened later.
|
||||
|
||||
If you are sure that it's a bug in LibreELEC and you have not found a [similar issue], open a new [issue]
|
||||
If you are sure that it's a bug in OpenELEC 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?
|
||||
@@ -23,21 +23,21 @@ and try to answer the following questions:
|
||||
**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.**
|
||||
|
||||
Make sure to specify which version of LibreELEC you are using.
|
||||
- LibreELEC version
|
||||
- LibreELEC build
|
||||
- LibreELEC arch
|
||||
Make sure to specify which version of OpenELEC you are using.
|
||||
- OpenELEC version
|
||||
- OpenELEC build
|
||||
- OpenELEC arch
|
||||
|
||||
Please don't paste log messages in the issue reports or issue comments - use
|
||||
[sprunge.us](http://sprunge.us) instead.
|
||||
|
||||
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.
|
||||
particular feature into OpenELEC.
|
||||
|
||||
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
|
||||
However, OpenELEC 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.
|
||||
|
||||
@@ -66,11 +66,11 @@ Please follow this process; it's the best way to get your work included in the p
|
||||
|
||||
```bash
|
||||
# clone your fork of the repo into the current directory in terminal
|
||||
git clone git@github.com:<your username>/LibreELEC.tv.git
|
||||
git clone git@github.com:<your username>/OpenELEC.tv.git
|
||||
# navigate to the newly cloned directory
|
||||
cd LibreELEC.tv
|
||||
cd OpenELEC.tv
|
||||
# assign the original repo to a remote called "upstream"
|
||||
git remote add upstream https://github.com/LibreELEC/LibreELEC.tv.git
|
||||
git remote add upstream https://github.com/OpenELEC/OpenELEC.tv.git
|
||||
```
|
||||
|
||||
- If you cloned a while ago, get the latest changes from upstream:
|
||||
@@ -104,7 +104,8 @@ Please follow this process; it's the best way to get your work included in the p
|
||||
- [Open a Pull Request](https://help.github.com/articles/using-pull-requests) with a
|
||||
clear title and description.
|
||||
|
||||
[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
|
||||
[Forum]: http://openelec.tv/forum
|
||||
[issue]: https://github.com/OpenELEC/OpenELEC.tv/issues
|
||||
[webchat]: http://openelec.tv/support/chat
|
||||
[logfiles]: http://wiki.openelec.tv/index.php?title=OpenELEC_FAQ#Support_Logs
|
||||
[similar issue]: https://github.com/OpenELEC/OpenELEC.tv/search?&ref=cmdform&type=Issues
|
||||
|
||||
8
Makefile
@@ -11,14 +11,14 @@ release:
|
||||
image:
|
||||
./scripts/image mkimage
|
||||
|
||||
image-efi:
|
||||
./scripts/image mkimage efi
|
||||
|
||||
noobs:
|
||||
./scripts/image noobs
|
||||
|
||||
clean:
|
||||
rm -rf $(BUILD_DIRS)/* $(BUILD_DIRS)/.stamps
|
||||
|
||||
distclean:
|
||||
rm -rf ./.ccache ./$(BUILD_DIRS)
|
||||
|
||||
src-pkg:
|
||||
tar cvJf sources.tar.xz sources .stamps
|
||||
tar cvjf sources.tar.bz2 sources .stamps
|
||||
|
||||
83
README.md
@@ -1,19 +1,86 @@
|
||||
# LibreELEC
|
||||
[OpenELEC](http://www.openelec.tv)
|
||||
|
||||
LibreELEC is a 'Just enough OS' Linux distribution for running the award-winning [Kodi](https://kodi.tv) software on popular mediacentre hardware. LibreELEC is a conservative fork of the popular [OpenELEC](http://openelec.tv) project with a stronger focus on pre-release testing and post-release change management. Further information on the project can be found on the [LibreELEC website](https://libreelec.tv).
|
||||
# OpenELEC - Open Embedded Linux Entertainment Center
|
||||
|
||||
**Issues & Support**
|
||||
OpenELEC runs [XBMC](http://xbmc.org), an award-winning free and open source (GPL) software media
|
||||
player and entertainment hub for digital media. For more info see http://xbmc.org .
|
||||
The base system has been designed and built from the ground up to be as
|
||||
efficient as possible – consuming only tiny disk and memory footprints and
|
||||
providing cutting edge hardware support to deliver a set-top box experience.
|
||||
|
||||
Please report issues via the [LibreELEC forum: Bug Reports](https://forum.libreelec.tv/forum-35.html). Please ask support 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 Freenode.
|
||||
**Source code**
|
||||
|
||||
**Donations**
|
||||
* https://github.com/OpenELEC/OpenELEC.tv
|
||||
|
||||
Contributions towards current project funding goals can be sent via PayPal to donations@libreelec.tv
|
||||
**Installation**
|
||||
|
||||
* Please read the instructions in our wiki (http://wiki.openelec.tv/index.php?title=Installation) on how to install.
|
||||
|
||||
**Known issues**
|
||||
|
||||
* Testing snapshot
|
||||
|
||||
**License**
|
||||
|
||||
LibreELEC original code is released under [GPLv2](https://www.gnu.org/licenses/gpl-2.0.html).
|
||||
* OpenELEC is released under [GPLv2](http://www.gnu.org/licenses/gpl-2.0.html). Please refer to the "licenses" folder and
|
||||
source code for clarification on upstream licensing.
|
||||
|
||||
**Copyright**
|
||||
|
||||
As LibreELEC includes code from many upstream projects it includes many copyright owners. 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 LibreELEC.tv. This approach allows the project to stay manageable in the long term by giving us freedom to maintain the code as part of the whole without the management overhead of preserving contact with every submitter, e.g. GPLv3. You are absolutely free to retain copyright. To retain copyright simply add a 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.
|
||||
* Since OpenELEC includes code from many up stream projects it includes many
|
||||
copyright owners. OpenELEC makes NO claim of copyright on any upstream code.
|
||||
However all OpenELEC authored code is copyright openelec.tv.
|
||||
For a complete copyright list checkout the source code to examine the headers.
|
||||
Unless expressly stated otherwise all code submitted DIRECTLY to the OpenELEC
|
||||
project (in any form) is licensed under [GPLv2](http://www.gnu.org/licenses/gpl-2.0.html) and the Copyright is donated to
|
||||
openelec.tv.
|
||||
This allows the project to stay manageable in the long term by giving us the
|
||||
freedom to maintain the code as part of the whole without the management
|
||||
overhead of preserving contact with every submitter ever e.g. move to GPLv3.
|
||||
You are absolutely free to retain copyright. To retain copyright simply add a
|
||||
copyright header to every submitted code page.
|
||||
If you are submitting code that is not your own work it is the submitters
|
||||
responsibility to place a header stating the copyright.
|
||||
|
||||
**Features**
|
||||
|
||||
* System size ~ 90 - 130MB
|
||||
* Minimal hardware requirements
|
||||
* Ultra fast boot
|
||||
* Optimized builds for platforms such as ION, Intel, Fusion
|
||||
* Simple configuration via XBMC itself
|
||||
* Plug and Play external storage
|
||||
|
||||
**Software**
|
||||
|
||||
* XBMC HTPC software – View/Manage all your media.
|
||||
* Samba server – File transfer from any PC client
|
||||
* SSH server – Remote console access for debugging
|
||||
* IR/Bluetooth Remote Control
|
||||
|
||||
**Notes**
|
||||
|
||||
* SSH login details are user: “root” password: “openelec”.
|
||||
SSH allows command line access to your openelec.tv machine for configuration
|
||||
and file transfer. Linux/Mac clients can natively use SSH, while Windows
|
||||
users might want to try PuTTY for their terminal access.
|
||||
* $HOME is mounted on /storage (the second ext4 partition on the drive).
|
||||
All data transfered to the machine will go here, the rest of the system is
|
||||
read-only with the exception of /var (containing runtime configuration data).
|
||||
* Manual update/downgrade procedure is as follows:
|
||||
Extract the snapshot and navigate to the 'target' directory.
|
||||
Copy KERNEL and SYSTEM along with KERNEL.md5 and SYSTEM.md5 to the 'Update' network share (or /storage/.update) on
|
||||
your openelec machine. Your system will automatically upgrade during the
|
||||
next reboot.
|
||||
* Automatic mounting of filesystems is supported. Devices such as USB Flash
|
||||
sticks can be plugged into a running machine and will be mounted to /media,
|
||||
showing up in xbmc’s GUI.
|
||||
* Comments and questions are more than welcome, help is even better and patches
|
||||
are absolutely perfect!!
|
||||
|
||||
**Questions/Support**
|
||||
|
||||
* Forums on [http://openelec.tv](http://openelec.tv)
|
||||
* IRC chatroom **#openelec** on Freenode
|
||||
|
||||
**Happy OpenELEC'ing**
|
||||
|
||||
8
TODO
Normal file
@@ -0,0 +1,8 @@
|
||||
ncurses-5.8/5.9:
|
||||
- segfaults in nano and dialog -> using ncurses-5.7
|
||||
|
||||
irserver:
|
||||
- rework irserver/init.d for systemd
|
||||
|
||||
settings addon:
|
||||
- remove ps3 sleep? should be fixed in bluez 5.13/5.14
|
||||
@@ -1,35 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<addon id="@PKG_ADDON_ID@"
|
||||
name="@ADDON_NAME@"
|
||||
version="@ADDON_VERSION@"
|
||||
provider-name="@PROVIDER_NAME@">
|
||||
<requires>
|
||||
<import addon="os.libreelec.tv" version="@OS_VERSION@"/>
|
||||
<import addon="xbmc.python" version="2.1.0"/>
|
||||
@REQUIRES@
|
||||
</requires>
|
||||
<extension point="xbmc.service" library="default.py">
|
||||
<provides>@PKG_ADDON_PROVIDES@</provides>
|
||||
</extension>
|
||||
<extension point="xbmc.addon.metadata">
|
||||
<summary>@PKG_SHORTDESC@</summary>
|
||||
<description>
|
||||
@PKG_LONGDESC@
|
||||
</description>
|
||||
<disclaimer>
|
||||
@PKG_DISCLAIMER@
|
||||
</disclaimer>
|
||||
<broken>
|
||||
@PKG_ADDON_BROKEN@
|
||||
</broken>
|
||||
<platform>all</platform>
|
||||
<news>
|
||||
@PKG_ADDON_NEWS@
|
||||
</news>
|
||||
<assets>
|
||||
<icon>resources/icon.png</icon>
|
||||
<fanart>resources/fanart.png</fanart>
|
||||
@PKG_ADDON_SCREENSHOT@
|
||||
</assets>
|
||||
</extension>
|
||||
</addon>
|
||||
@@ -4,11 +4,10 @@
|
||||
version="@ADDON_VERSION@"
|
||||
provider-name="@PROVIDER_NAME@">
|
||||
<requires>
|
||||
<import addon="os.libreelec.tv" version="@OS_VERSION@"/>
|
||||
<import addon="os.openelec.tv" version="@OS_VERSION@"/>
|
||||
<import addon="xbmc.python" version="2.1.0"/>
|
||||
@REQUIRES@
|
||||
</requires>
|
||||
<extension point="xbmc.python.script" library="default.py" />
|
||||
<extension point="xbmc.python.module" library="lib/">
|
||||
</extension>
|
||||
<extension point="xbmc.addon.metadata">
|
||||
@@ -20,13 +19,5 @@
|
||||
@PKG_DISCLAIMER@
|
||||
</disclaimer>
|
||||
<platform>all</platform>
|
||||
<news>
|
||||
@PKG_ADDON_NEWS@
|
||||
</news>
|
||||
<assets>
|
||||
<icon>resources/icon.png</icon>
|
||||
<fanart>resources/fanart.png</fanart>
|
||||
@PKG_ADDON_SCREENSHOT@
|
||||
</assets>
|
||||
</extension>
|
||||
</addon>
|
||||
|
||||
@@ -4,12 +4,12 @@
|
||||
version="@ADDON_VERSION@"
|
||||
provider-name="@PROVIDER_NAME@">
|
||||
<requires>
|
||||
<import addon="os.libreelec.tv" version="@OS_VERSION@"/>
|
||||
<import addon="os.openelec.tv" version="@OS_VERSION@"/>
|
||||
<import addon="xbmc.python" version="2.1.0"/>
|
||||
@REQUIRES@
|
||||
</requires>
|
||||
<extension point="xbmc.python.script" library="default.py">
|
||||
<provides>@PKG_ADDON_PROVIDES@</provides>
|
||||
<provides>executable</provides>
|
||||
</extension>
|
||||
<extension point="xbmc.addon.metadata">
|
||||
<summary>@PKG_SHORTDESC@</summary>
|
||||
@@ -20,13 +20,5 @@
|
||||
@PKG_DISCLAIMER@
|
||||
</disclaimer>
|
||||
<platform>all</platform>
|
||||
<news>
|
||||
@PKG_ADDON_NEWS@
|
||||
</news>
|
||||
<assets>
|
||||
<icon>resources/icon.png</icon>
|
||||
<fanart>resources/fanart.png</fanart>
|
||||
@PKG_ADDON_SCREENSHOT@
|
||||
</assets>
|
||||
</extension>
|
||||
</addon>
|
||||
|
||||
@@ -1,35 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<addon id="@PKG_ADDON_ID@"
|
||||
name="@ADDON_NAME@"
|
||||
version="@ADDON_VERSION@"
|
||||
provider-name="@PROVIDER_NAME@">
|
||||
<requires>
|
||||
<import addon="os.libreelec.tv" version="@OS_VERSION@"/>
|
||||
<import addon="xbmc.python" version="2.1.0"/>
|
||||
@REQUIRES@
|
||||
</requires>
|
||||
<extension point="xbmc.service" library="default.py">
|
||||
<provides>@PKG_ADDON_PROVIDES@</provides>
|
||||
</extension>
|
||||
<extension point="xbmc.python.library" library="addon.py">
|
||||
<provides></provides>
|
||||
</extension>
|
||||
<extension point="xbmc.addon.metadata">
|
||||
<summary>@PKG_SHORTDESC@</summary>
|
||||
<description>
|
||||
@PKG_LONGDESC@
|
||||
</description>
|
||||
<disclaimer>
|
||||
@PKG_DISCLAIMER@
|
||||
</disclaimer>
|
||||
<platform>all</platform>
|
||||
<news>
|
||||
@PKG_ADDON_NEWS@
|
||||
</news>
|
||||
<assets>
|
||||
<icon>resources/icon.png</icon>
|
||||
<fanart>resources/fanart.png</fanart>
|
||||
@PKG_ADDON_SCREENSHOT@
|
||||
</assets>
|
||||
</extension>
|
||||
</addon>
|
||||
@@ -1,34 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<addon id="@PKG_ADDON_ID@"
|
||||
name="@ADDON_NAME@"
|
||||
version="@ADDON_VERSION@"
|
||||
provider-name="@PROVIDER_NAME@">
|
||||
<requires>
|
||||
<import addon="os.libreelec.tv" version="@OS_VERSION@"/>
|
||||
<import addon="xbmc.python" version="2.1.0"/>
|
||||
@REQUIRES@
|
||||
</requires>
|
||||
<extension point="xbmc.python.pluginsource" library="addon.py">
|
||||
<provides>@PKG_ADDON_PROVIDES@</provides>
|
||||
</extension>
|
||||
<extension point="xbmc.service">
|
||||
</extension>
|
||||
<extension point="xbmc.addon.metadata">
|
||||
<summary>@PKG_SHORTDESC@</summary>
|
||||
<description>
|
||||
@PKG_LONGDESC@
|
||||
</description>
|
||||
<disclaimer>
|
||||
@PKG_DISCLAIMER@
|
||||
</disclaimer>
|
||||
<platform>all</platform>
|
||||
<news>
|
||||
@PKG_ADDON_NEWS@
|
||||
</news>
|
||||
<assets>
|
||||
<icon>resources/icon.png</icon>
|
||||
<fanart>resources/fanart.png</fanart>
|
||||
@PKG_ADDON_SCREENSHOT@
|
||||
</assets>
|
||||
</extension>
|
||||
</addon>
|
||||
@@ -4,12 +4,12 @@
|
||||
version="@ADDON_VERSION@"
|
||||
provider-name="@PROVIDER_NAME@">
|
||||
<requires>
|
||||
<import addon="os.libreelec.tv" version="@OS_VERSION@"/>
|
||||
<import addon="os.openelec.tv" version="@OS_VERSION@"/>
|
||||
<import addon="xbmc.python" version="2.1.0"/>
|
||||
@REQUIRES@
|
||||
</requires>
|
||||
<extension point="xbmc.service" library="default.py">
|
||||
<provides>@PKG_ADDON_PROVIDES@</provides>
|
||||
<provides>executable</provides>
|
||||
</extension>
|
||||
<extension point="xbmc.addon.metadata">
|
||||
<summary>@PKG_SHORTDESC@</summary>
|
||||
@@ -20,13 +20,5 @@
|
||||
@PKG_DISCLAIMER@
|
||||
</disclaimer>
|
||||
<platform>all</platform>
|
||||
<news>
|
||||
@PKG_ADDON_NEWS@
|
||||
</news>
|
||||
<assets>
|
||||
<icon>resources/icon.png</icon>
|
||||
<fanart>resources/fanart.png</fanart>
|
||||
@PKG_ADDON_SCREENSHOT@
|
||||
</assets>
|
||||
</extension>
|
||||
</addon>
|
||||
|
||||
@@ -1,28 +0,0 @@
|
||||
# determines TARGET_CPU, if not forced by user
|
||||
if [ -z "$TARGET_CPU" ]; then
|
||||
TARGET_CPU=cortex-a53
|
||||
fi
|
||||
|
||||
# TARGET_CPU:
|
||||
# generic cortex-a35 cortex-a53 cortex-a57 cortex-a72
|
||||
# exynos-m1 qdf24xx thunderx xgene1 cortex-a57.cortex-a53
|
||||
# cortex-a72.cortex-a53
|
||||
|
||||
# determine architecture's family
|
||||
case $TARGET_CPU in
|
||||
generic|cortex-a35|cortex-a53|cortex-a57|cortex-a72|exynos-m1|qdf24xx|thunderx|xgene1|cortex-a57.cortex-a53|cortex-a72.cortex-a53)
|
||||
TARGET_SUBARCH=aarch64
|
||||
TARGET_VARIANT=armv8-a
|
||||
TARGET_ABI=eabi
|
||||
TARGET_EXTRA_FLAGS="-mcpu=${TARGET_CPU}${TARGET_CPU_FLAGS}"
|
||||
TARGET_FEATURES+=" neon"
|
||||
;;
|
||||
esac
|
||||
|
||||
TARGET_GCC_ARCH=${TARGET_SUBARCH/-}
|
||||
TARGET_KERNEL_ARCH=arm64
|
||||
|
||||
# setup ARCH specific *FLAGS
|
||||
TARGET_CFLAGS="-march=${TARGET_VARIANT}${TARGET_CPU_FLAGS} -mabi=lp64 -Wno-psabi -mtune=$TARGET_CPU $TARGET_EXTRA_FLAGS"
|
||||
TARGET_LDFLAGS="-march=${TARGET_VARIANT}${TARGET_CPU_FLAGS} -mtune=$TARGET_CPU"
|
||||
GCC_OPTS="--with-abi=lp64 --with-arch=$TARGET_VARIANT"
|
||||
@@ -29,36 +29,29 @@
|
||||
TARGET_ABI=eabi
|
||||
TARGET_EXTRA_FLAGS="-mcpu=$TARGET_CPU"
|
||||
TARGET_FPU_FLAGS="-mfloat-abi=$TARGET_FLOAT -mfpu=$TARGET_FPU"
|
||||
SIMD_SUPPORT="no"
|
||||
;;
|
||||
cortex-a7|cortex-a15|cortex-a17|cortex-a15.cortex-a7|cortex-a17.cortex-a7)
|
||||
TARGET_SUBARCH=armv7ve
|
||||
cortex-a7|cortex-a15)
|
||||
TARGET_SUBARCH=armv7-a
|
||||
TARGET_ABI=eabi
|
||||
TARGET_EXTRA_FLAGS="-mcpu=$TARGET_CPU"
|
||||
# It's not currently possible to specify the exact architecture variant (-mcpu)
|
||||
# that A7/A15 supports in the command line so use -mtune here.
|
||||
# see http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57907
|
||||
TARGET_EXTRA_FLAGS="-mtune=$TARGET_CPU"
|
||||
TARGET_FPU_FLAGS="-mfloat-abi=$TARGET_FLOAT -mfpu=$TARGET_FPU"
|
||||
TARGET_FEATURES+=" neon"
|
||||
SIMD_SUPPORT="yes"
|
||||
;;
|
||||
cortex-a5|cortex-a8|cortex-a9)
|
||||
TARGET_SUBARCH=armv7-a
|
||||
TARGET_ABI=eabi
|
||||
TARGET_EXTRA_FLAGS="-mcpu=$TARGET_CPU"
|
||||
TARGET_FPU_FLAGS="-mfloat-abi=$TARGET_FLOAT -mfpu=$TARGET_FPU"
|
||||
TARGET_FEATURES+=" neon"
|
||||
;;
|
||||
cortex-a53|cortex-a72.cortex-a53)
|
||||
TARGET_SUBARCH=armv8-a
|
||||
TARGET_ABI=eabi
|
||||
TARGET_EXTRA_FLAGS="-mcpu=${TARGET_CPU}"
|
||||
TARGET_FPU_FLAGS="-mfloat-abi=$TARGET_FLOAT -mfpu=$TARGET_FPU"
|
||||
TARGET_FEATURES+=" neon"
|
||||
SIMD_SUPPORT="yes"
|
||||
;;
|
||||
esac
|
||||
|
||||
TARGET_VARIANT="${TARGET_SUBARCH}${TARGET_CPU_FLAGS}"
|
||||
TARGET_GCC_ARCH=${TARGET_SUBARCH/-}
|
||||
TARGET_KERNEL_ARCH=${TARGET_KERNEL_ARCH:-arm}
|
||||
|
||||
# setup ARCH specific *FLAGS
|
||||
TARGET_CFLAGS="-march=$TARGET_VARIANT -mtune=$TARGET_CPU -mabi=aapcs-linux -Wno-psabi -Wa,-mno-warn-deprecated $TARGET_EXTRA_FLAGS"
|
||||
TARGET_CFLAGS="-march=$TARGET_SUBARCH -mabi=aapcs-linux -Wno-psabi -Wa,-mno-warn-deprecated $TARGET_EXTRA_FLAGS"
|
||||
[ -n "$TARGET_FPU" ] && TARGET_CFLAGS="$TARGET_CFLAGS $TARGET_FPU_FLAGS"
|
||||
TARGET_LDFLAGS="-march=$TARGET_VARIANT -mtune=$TARGET_CPU"
|
||||
TARGET_LDFLAGS="-march=$TARGET_SUBARCH -mtune=$TARGET_CPU"
|
||||
GCC_OPTS="--with-abi=aapcs-linux --with-arch=$TARGET_SUBARCH --with-float=$TARGET_FLOAT --with-fpu=$TARGET_FPU"
|
||||
|
||||
14
config/arch.i386
Normal file
@@ -0,0 +1,14 @@
|
||||
# determines TARGET_CPU, if not forced by user
|
||||
if [ -z "$TARGET_CPU" ]; then
|
||||
TARGET_CPU=i686
|
||||
fi
|
||||
|
||||
# determine architecture's family
|
||||
TARGET_SUBARCH=i686
|
||||
|
||||
# setup ARCH specific *FLAGS
|
||||
TARGET_CFLAGS="-march=$TARGET_CPU -m32"
|
||||
TARGET_LDFLAGS="-march=$TARGET_CPU -m32"
|
||||
|
||||
# build with SIMD support ( yes / no )
|
||||
SIMD_SUPPORT="yes"
|
||||
@@ -6,12 +6,9 @@
|
||||
# determine architecture's family
|
||||
TARGET_SUBARCH=x86_64
|
||||
|
||||
TARGET_GCC_ARCH="${TARGET_SUBARCH/-/}"
|
||||
TARGET_KERNEL_ARCH=x86
|
||||
|
||||
# setup ARCH specific *FLAGS
|
||||
TARGET_CFLAGS="-march=$TARGET_CPU -m64 -mmmx -msse -msse2 -mfpmath=sse"
|
||||
TARGET_CFLAGS="-march=$TARGET_CPU -m64"
|
||||
TARGET_LDFLAGS="-march=$TARGET_CPU -m64"
|
||||
|
||||
# build with SIMD support ( yes / no )
|
||||
TARGET_FEATURES+=" mmx sse sse2"
|
||||
SIMD_SUPPORT="yes"
|
||||
|
||||
@@ -1,2 +0,0 @@
|
||||
100
|
||||
- Initial addon
|
||||
@@ -1,30 +0,0 @@
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv)
|
||||
|
||||
PKG_NAME="@NAME@"
|
||||
PKG_VERSION="@VERSION@" # Update bin/docker.@NAME@ accordingly
|
||||
PKG_REV="100"
|
||||
PKG_ARCH="@ARCH@"
|
||||
PKG_DEPENDS_TARGET="toolchain"
|
||||
PKG_SECTION="docker"
|
||||
PKG_SITE=""
|
||||
PKG_SHORTDESC=""
|
||||
PKG_LONGDESC=""
|
||||
|
||||
PKG_IS_ADDON="yes"
|
||||
PKG_ADDON_NAME=" (@IMAGE@:$PKG_VERSION)"
|
||||
PKG_ADDON_PROJECTS="@PROJECTS@"
|
||||
PKG_ADDON_REQUIRES="service.system.docker:0.0.0"
|
||||
PKG_ADDON_TYPE="xbmc.service"
|
||||
|
||||
make_target() {
|
||||
: #
|
||||
}
|
||||
|
||||
makeinstall_target() {
|
||||
: #
|
||||
}
|
||||
|
||||
addon() {
|
||||
: #
|
||||
}
|
||||
@@ -1,11 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv)
|
||||
|
||||
name="$(basename $0)"
|
||||
. /etc/profile
|
||||
oe_setup_addon "$name"
|
||||
|
||||
docker rm "$name" 2>/dev/null
|
||||
docker run --name="$name" \
|
||||
@@ -1,20 +0,0 @@
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv)
|
||||
|
||||
import subprocess
|
||||
import xbmc
|
||||
import xbmcaddon
|
||||
|
||||
|
||||
class Monitor(xbmc.Monitor):
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
xbmc.Monitor.__init__(self)
|
||||
self.id = xbmcaddon.Addon().getAddonInfo('id')
|
||||
|
||||
def onSettingsChanged(self):
|
||||
subprocess.call(['systemctl', 'restart', self.id])
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
Monitor().waitForAbort()
|
||||
@@ -1,10 +0,0 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
|
||||
msgctxt "#30000"
|
||||
msgid "Configuration"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "#30001"
|
||||
msgid "Note: Kodi remote sources can not be used as Docker volume host sources"
|
||||
msgstr ""
|
||||
@@ -1,6 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
|
||||
<settings>
|
||||
<category label="30000">
|
||||
<setting label="30001" type="lsep" />
|
||||
@SETTINGS@ </category>
|
||||
</settings>
|
||||
@@ -1,14 +0,0 @@
|
||||
[Unit]
|
||||
Description=%p container
|
||||
Requires=service.system.docker.service
|
||||
After=service.system.docker.service
|
||||
|
||||
[Service]
|
||||
Restart=always
|
||||
RestartSec=10s
|
||||
TimeoutStartSec=0
|
||||
ExecStart=/bin/sh /storage/.kodi/addons/%p/bin/%p
|
||||
ExecStop=/storage/.kodi/addons/service.system.docker/bin/docker kill %p
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
1684
config/functions
186
config/graphic
@@ -1,130 +1,104 @@
|
||||
if [ "${OPENGL}" = no ]; then
|
||||
if [ "$DISPLAYSERVER" = "x11" ]; then
|
||||
SDL_SUPPORT="yes"
|
||||
else
|
||||
SDL_SUPPORT="no"
|
||||
fi
|
||||
|
||||
if [ "$OPENGL" = no ]; then
|
||||
OPENGL_SUPPORT="no"
|
||||
else
|
||||
OPENGL_SUPPORT="yes"
|
||||
fi
|
||||
|
||||
if [ "${OPENGLES}" = no ]; then
|
||||
if [ "$OPENGLES" = no ]; then
|
||||
OPENGLES_SUPPORT="no"
|
||||
else
|
||||
OPENGLES_SUPPORT="yes"
|
||||
fi
|
||||
|
||||
if [ "$SDL_SUPPORT" = no ]; then
|
||||
JOYSTICK_SUPPORT="no"
|
||||
fi
|
||||
|
||||
if [ "$OPENGL_SUPPORT" = no ]; then
|
||||
KODI_SCR_RSXS="no"
|
||||
KODI_VIS_PROJECTM="no"
|
||||
KODI_VIS_GOOM="no"
|
||||
fi
|
||||
|
||||
get_graphicdrivers() {
|
||||
|
||||
# set defaults
|
||||
GALLIUM_DRIVERS=""
|
||||
DRI_DRIVERS=""
|
||||
XORG_DRIVERS=""
|
||||
LLVM_SUPPORT="no"
|
||||
COMPOSITE_SUPPORT="no"
|
||||
VDPAU_SUPPORT="no"
|
||||
VAAPI_SUPPORT="no"
|
||||
V4L2_SUPPORT="no"
|
||||
|
||||
if [ "${GRAPHIC_DRIVERS}" = "all" ]; then
|
||||
GRAPHIC_DRIVERS="i915 i965 r200 r300 r600 radeonsi nvidia nvidia-legacy vmware virtio vc4"
|
||||
if [ "$GRAPHIC_DRIVERS" = "all" ]; then
|
||||
GRAPHIC_DRIVERS="i915 i965 r200 r300 r600 nvidia"
|
||||
fi
|
||||
|
||||
if listcontains "${GRAPHIC_DRIVERS}" "etnaviv"; then
|
||||
GALLIUM_DRIVERS+=" etnaviv imx"
|
||||
V4L2_SUPPORT="yes"
|
||||
VAAPI_SUPPORT="no"
|
||||
VDPAU_SUPPORT="no"
|
||||
fi
|
||||
for drv in $GRAPHIC_DRIVERS; do
|
||||
if [ "$drv" = "dove" ]; then
|
||||
XORG_DRIVERS="$XORG_DRIVERS dove"
|
||||
fi
|
||||
|
||||
if listcontains "${GRAPHIC_DRIVERS}" "freedreno"; then
|
||||
GALLIUM_DRIVERS+=" freedreno"
|
||||
V4L2_SUPPORT="yes"
|
||||
VAAPI_SUPPORT="no"
|
||||
VDPAU_SUPPORT="no"
|
||||
fi
|
||||
if [ "$drv" = "i915" ]; then
|
||||
DRI_DRIVERS="$DRI_DRIVERS,i915"
|
||||
XORG_DRIVERS="$XORG_DRIVERS intel"
|
||||
COMPOSITE_SUPPORT="yes"
|
||||
VAAPI_SUPPORT="yes"
|
||||
fi
|
||||
|
||||
if listcontains "${GRAPHIC_DRIVERS}" "i915"; then
|
||||
DRI_DRIVERS+=" i915"
|
||||
XORG_DRIVERS+=" intel"
|
||||
COMPOSITE_SUPPORT="yes"
|
||||
VAAPI_SUPPORT="yes"
|
||||
fi
|
||||
if [ "$drv" = "i965" ]; then
|
||||
DRI_DRIVERS="$DRI_DRIVERS,i965"
|
||||
XORG_DRIVERS="$XORG_DRIVERS intel"
|
||||
COMPOSITE_SUPPORT="yes"
|
||||
VAAPI_SUPPORT="yes"
|
||||
fi
|
||||
|
||||
if listcontains "${GRAPHIC_DRIVERS}" "i965"; then
|
||||
DRI_DRIVERS+=" i965"
|
||||
XORG_DRIVERS+=" intel"
|
||||
COMPOSITE_SUPPORT="yes"
|
||||
VAAPI_SUPPORT="yes"
|
||||
fi
|
||||
if [ "$drv" = "nouveau" ]; then
|
||||
# DRI_DRIVERS are only used for NV04 - NV20 (which we dont want to support anymore)
|
||||
DRI_DRIVERS="$DRI_DRIVERS"
|
||||
# GALLIUM_DRIVERS are used for all cards from NV30 to nvc0
|
||||
# see also http://nouveau.freedesktop.org/wiki/MesaDrivers/
|
||||
GALLIUM_DRIVERS="$GALLIUM_DRIVERS,nouveau"
|
||||
XORG_DRIVERS="$XORG_DRIVERS nouveau"
|
||||
COMPOSITE_SUPPORT="yes"
|
||||
fi
|
||||
|
||||
if listcontains "${GRAPHIC_DRIVERS}" "lima"; then
|
||||
GALLIUM_DRIVERS+=" kmsro lima"
|
||||
V4L2_SUPPORT="yes"
|
||||
fi
|
||||
if [ "$drv" = "nvidia" ]; then
|
||||
XORG_DRIVERS="$XORG_DRIVERS nvidia"
|
||||
VDPAU_SUPPORT="yes"
|
||||
fi
|
||||
|
||||
if listcontains "${GRAPHIC_DRIVERS}" "nvidia"; then
|
||||
XORG_DRIVERS+=" nvidia"
|
||||
VDPAU_SUPPORT="yes"
|
||||
fi
|
||||
if [ "$drv" = "nvidia-legacy" ]; then
|
||||
XORG_DRIVERS="$XORG_DRIVERS nvidia-legacy"
|
||||
VDPAU_SUPPORT="yes"
|
||||
fi
|
||||
|
||||
if listcontains "${GRAPHIC_DRIVERS}" "nvidia-legacy"; then
|
||||
XORG_DRIVERS+=" nvidia-legacy"
|
||||
VDPAU_SUPPORT="yes"
|
||||
fi
|
||||
if [ "$drv" = "r200" ]; then
|
||||
DRI_DRIVERS="$DRI_DRIVERS,r200"
|
||||
XORG_DRIVERS="$XORG_DRIVERS ati"
|
||||
COMPOSITE_SUPPORT="yes"
|
||||
fi
|
||||
|
||||
if listcontains "${GRAPHIC_DRIVERS}" "panfrost"; then
|
||||
GALLIUM_DRIVERS+=" kmsro panfrost"
|
||||
V4L2_SUPPORT="yes"
|
||||
fi
|
||||
if [ "$drv" = "r300" ]; then
|
||||
GALLIUM_DRIVERS="$GALLIUM_DRIVERS,r300"
|
||||
XORG_DRIVERS="$XORG_DRIVERS ati"
|
||||
LLVM_SUPPORT="yes"
|
||||
COMPOSITE_SUPPORT="yes"
|
||||
VDPAU_SUPPORT="yes"
|
||||
fi
|
||||
|
||||
if listcontains "${GRAPHIC_DRIVERS}" "r200"; then
|
||||
DRI_DRIVERS+=" r200"
|
||||
XORG_DRIVERS+=" ati"
|
||||
COMPOSITE_SUPPORT="yes"
|
||||
fi
|
||||
if [ "$drv" = "r600" ]; then
|
||||
GALLIUM_DRIVERS="$GALLIUM_DRIVERS,r600"
|
||||
XORG_DRIVERS="$XORG_DRIVERS ati"
|
||||
LLVM_SUPPORT="yes"
|
||||
COMPOSITE_SUPPORT="yes"
|
||||
VDPAU_SUPPORT="yes"
|
||||
fi
|
||||
|
||||
if listcontains "${GRAPHIC_DRIVERS}" "r300"; then
|
||||
GALLIUM_DRIVERS+=" r300"
|
||||
XORG_DRIVERS+=" ati"
|
||||
LLVM_SUPPORT="yes"
|
||||
COMPOSITE_SUPPORT="yes"
|
||||
VDPAU_SUPPORT="yes"
|
||||
fi
|
||||
if [ "$drv" = "radeonsi" ]; then
|
||||
GALLIUM_DRIVERS="$GALLIUM_DRIVERS,radeonsi"
|
||||
XORG_DRIVERS="$XORG_DRIVERS ati"
|
||||
LLVM_SUPPORT="yes"
|
||||
COMPOSITE_SUPPORT="yes"
|
||||
VDPAU_SUPPORT="yes"
|
||||
fi
|
||||
|
||||
if listcontains "${GRAPHIC_DRIVERS}" "r600"; then
|
||||
GALLIUM_DRIVERS+=" r600"
|
||||
XORG_DRIVERS+=" ati"
|
||||
LLVM_SUPPORT="yes"
|
||||
COMPOSITE_SUPPORT="yes"
|
||||
VDPAU_SUPPORT="yes"
|
||||
VAAPI_SUPPORT="yes"
|
||||
fi
|
||||
|
||||
if listcontains "${GRAPHIC_DRIVERS}" "radeonsi"; then
|
||||
GALLIUM_DRIVERS+=" radeonsi"
|
||||
XORG_DRIVERS+=" ati amdgpu"
|
||||
LLVM_SUPPORT="yes"
|
||||
COMPOSITE_SUPPORT="yes"
|
||||
VDPAU_SUPPORT="yes"
|
||||
VAAPI_SUPPORT="yes"
|
||||
fi
|
||||
|
||||
if listcontains "${GRAPHIC_DRIVERS}" "vc4"; then
|
||||
GALLIUM_DRIVERS+=" vc4 v3d kmsro"
|
||||
V4L2_SUPPORT="yes"
|
||||
VAAPI_SUPPORT="no"
|
||||
VDPAU_SUPPORT="no"
|
||||
fi
|
||||
|
||||
if listcontains "${GRAPHIC_DRIVERS}" "virtio"; then
|
||||
GALLIUM_DRIVERS+=" virgl"
|
||||
fi
|
||||
|
||||
if listcontains "${GRAPHIC_DRIVERS}" "vmware"; then
|
||||
GALLIUM_DRIVERS+=" svga"
|
||||
XORG_DRIVERS+=" vmware"
|
||||
COMPOSITE_SUPPORT="yes"
|
||||
fi
|
||||
|
||||
# remove duplicate entries
|
||||
GALLIUM_DRIVERS="$(echo ${GALLIUM_DRIVERS} | xargs -n1 | sort -u | xargs)"
|
||||
XORG_DRIVERS="$(echo ${XORG_DRIVERS} | xargs -n1 | sort -u | xargs)"
|
||||
DRI_DRIVERS="$(echo ${DRI_DRIVERS} | xargs -n1 | sort -u | xargs)"
|
||||
done
|
||||
}
|
||||
|
||||
1
config/issue
Normal file
@@ -0,0 +1 @@
|
||||
Welcome to OpenELEC - the powerful Mediacenter4you
|
||||
@@ -1,165 +0,0 @@
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
# Copyright (C) 2019-present Team LibreELEC (https://libreelec.tv)
|
||||
|
||||
THREADCOUNT=${THREADCOUNT:-100%}
|
||||
|
||||
# This function is passed a list of package.mk paths to be processed.
|
||||
# Each package.mk is sourced with relevant variables output in JSON format.
|
||||
json_worker() {
|
||||
local packages="$@"
|
||||
local pkgpath hierarchy exited
|
||||
|
||||
exit() { exited=1; }
|
||||
|
||||
. config/options ""
|
||||
|
||||
for pkgpath in ${packages}; do
|
||||
pkgpath="${pkgpath%%@*}"
|
||||
|
||||
exited=0
|
||||
if ! source_package "${pkgpath}/package.mk" &>/dev/null; then
|
||||
unset -f exit
|
||||
die "$(print_color CLR_ERROR "FAILURE: sourcing package ${pkgpath}/package.mk")"
|
||||
fi
|
||||
|
||||
[ ${exited} -eq 1 ] && continue
|
||||
|
||||
[[ ${pkgpath} =~ ^${ROOT}/${PACKAGES}/ ]] && hierarchy="global" || hierarchy="local"
|
||||
|
||||
cat <<EOF
|
||||
{
|
||||
"name": "${PKG_NAME}",
|
||||
"hierarchy": "${hierarchy}",
|
||||
"section": "${PKG_SECTION}",
|
||||
"bootstrap": "${PKG_DEPENDS_BOOTSTRAP}",
|
||||
"init": "${PKG_DEPENDS_INIT}",
|
||||
"host": "${PKG_DEPENDS_HOST}",
|
||||
"target": "${PKG_DEPENDS_TARGET}"
|
||||
},
|
||||
EOF
|
||||
done
|
||||
}
|
||||
export -f json_worker
|
||||
|
||||
# This function is passed the build instruction for a single job.
|
||||
# The function will run either "build <package>" or "install <package>".
|
||||
# ${slot} is the job slot number, ie. 1-8 when THREADCOUNT=8.
|
||||
# ${job} is the sequence within the total number of ${jobs}.
|
||||
package_worker() {
|
||||
local slot=$1 job=$2 jobs=$3 args="$4"
|
||||
local task pkgname result status
|
||||
local addon istarget isaddon
|
||||
|
||||
export MTJOBID=${slot} MTMAXJOBS=${jobs}
|
||||
|
||||
read -r task pkgname <<< "${args}"
|
||||
|
||||
. config/options "${pkgname}"
|
||||
|
||||
[ ! -f "${THREAD_CONTROL}/parallel.pid" ] && echo "${PARALLEL_PID}" >"${THREAD_CONTROL}/parallel.pid"
|
||||
|
||||
${SCRIPTS}/${task} ${pkgname} 2>&1 && result=0 || result=1
|
||||
|
||||
[[ ${pkgname} =~ :target$ || "${pkgname//:/}" = "${pkgname}" ]] && istarget="yes" || istarget="no"
|
||||
|
||||
[[ "${MTADDONBUILD}" = "yes" && ( "${PKG_IS_ADDON}" = "yes" || "${PKG_IS_ADDON}" = "embedded" ) ]] && isaddon="yes" || isaddon="no"
|
||||
|
||||
if [ "${isaddon}" = "yes" -a "${istarget}" = "yes" ]; then
|
||||
if [ ${result} -eq 0 ]; then
|
||||
${SCRIPTS}/install_addon ${pkgname} 2>&1 && result=0 || result=1
|
||||
fi
|
||||
|
||||
if [ ${result} -ne 0 ]; then
|
||||
if [ -d "${THREAD_CONTROL}/logs" ]; then
|
||||
echo "${PKG_NAME} ${THREAD_CONTROL}/logs/${job}/stdout" >>"${THREAD_CONTROL}/addons.failed"
|
||||
else
|
||||
echo "${PKG_NAME}" >>"${THREAD_CONTROL}/addons.failed"
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
(
|
||||
flock --exclusive 95
|
||||
[ ${result} -eq 0 ] && status="DONE" || status="FAIL"
|
||||
num=$(< "${THREAD_CONTROL}/progress")
|
||||
mv "${THREAD_CONTROL}/progress" "${THREAD_CONTROL}/progress.prev"
|
||||
num=$((num + 1))
|
||||
echo ${num} >"${THREAD_CONTROL}/progress"
|
||||
printf "[%0*d/%0*d] [%-4s] %-7s %s\n" ${#jobs} ${num} ${#jobs} ${jobs} "${status}" "${task}" "${pkgname}" >&2
|
||||
) 95>"${THREAD_CONTROL}/locks/.progress"
|
||||
|
||||
if [ ${result} -eq 0 ]; then
|
||||
pkg_lock_status "IDLE"
|
||||
else
|
||||
pkg_lock_status "FAILED" "${pkgname}" "${task}"
|
||||
|
||||
print_color CLR_ERROR "FAILURE: $SCRIPTS/${task} ${pkgname} has failed!\n"
|
||||
|
||||
if [ -d "${THREAD_CONTROL}/logs" ]; then
|
||||
cat >&2 <<EOF
|
||||
|
||||
The following logs for this failure are available:
|
||||
stdout: ${THREAD_CONTROL}/logs/${job}/stdout
|
||||
stderr: ${THREAD_CONTROL}/logs/${job}/stderr
|
||||
|
||||
EOF
|
||||
fi
|
||||
fi
|
||||
|
||||
return ${result}
|
||||
}
|
||||
export -f package_worker
|
||||
|
||||
start_multithread_build() {
|
||||
local singlethread buildopts result=0
|
||||
|
||||
# init thread control folder
|
||||
rm -rf "${THREAD_CONTROL}"
|
||||
mkdir -p "${THREAD_CONTROL}/locks"
|
||||
echo -1 >"${THREAD_CONTROL}/progress.prev"
|
||||
echo 0 >"${THREAD_CONTROL}/progress"
|
||||
echo 0 >"${THREAD_CONTROL}/status.max"
|
||||
touch "${THREAD_CONTROL}/status"
|
||||
|
||||
# Increase file descriptors if building one thread/package
|
||||
[ "${THREADCOUNT}" = "0" ] && ulimit -n ${ULIMITN:-10240}
|
||||
|
||||
# Bootstrap GNU parallel
|
||||
MTWITHLOCKS=no $SCRIPTS/build parallel:host 2>&1 || die "Unable to bootstrap parallel package"
|
||||
|
||||
# determine number of available slots for the given THREADCOUNT - optimise logging for single threaded builds
|
||||
[ $(seq 1 32 | ${TOOLCHAIN}/bin/parallel --plain --no-notice --max-procs ${THREADCOUNT} echo {%} | sort -n | tail -1) -eq 1 ] && singlethread=yes || singlethread=no
|
||||
|
||||
# create a single log file by default for a single threaded build (or the builder is a masochist)
|
||||
if [ "${singlethread}" = "yes" -a "${ONELOG,,}" != "no" ] || [ "${ONELOG,,}" = "yes" ]; then
|
||||
buildopts+=" --ungroup"
|
||||
else
|
||||
mkdir -p "${THREAD_CONTROL}/logs"
|
||||
buildopts+=" --group --results ${THREAD_CONTROL}/logs/{#}/"
|
||||
fi
|
||||
|
||||
# When building addons, don't halt on error - keep building all packages/addons
|
||||
[ "${MTADDONBUILD}" = "yes" ] && buildopts+=" --halt never" || buildopts+=" --halt now,fail=1"
|
||||
|
||||
# pipefail: return value of a pipeline is the value of the last (rightmost) command to exit with a non-zero status
|
||||
set -o pipefail
|
||||
|
||||
cat ${_CACHE_PACKAGE_GLOBAL} ${_CACHE_PACKAGE_LOCAL} | \
|
||||
${TOOLCHAIN}/bin/parallel --plain --no-notice --max-args 30 --halt now,fail=1 json_worker | \
|
||||
${SCRIPTS}/genbuildplan.py --no-reorder --show-wants --build ${@} > "${THREAD_CONTROL}"/plan || result=1
|
||||
|
||||
if [ ${result} -eq 0 ]; then
|
||||
save_build_config
|
||||
|
||||
cat "${THREAD_CONTROL}"/plan | awk '{print $1 " " $2}' | \
|
||||
MTBUILDSTART=$(date +%s) MTWITHLOCKS=yes ${TOOLCHAIN}/bin/parallel \
|
||||
--plain --no-notice --max-procs ${THREADCOUNT} --joblog="${THREAD_CONTROL}/joblog" --plus ${buildopts} \
|
||||
package_worker {%} {#} {##} {} || result=1
|
||||
|
||||
rm -f "${THREAD_CONTROL}/parallel.pid"
|
||||
fi
|
||||
|
||||
set +o pipefail
|
||||
|
||||
return ${result}
|
||||
}
|
||||
BIN
config/noobs/OpenELEC.png
Normal file
|
After Width: | Height: | Size: 2.5 KiB |
|
Before Width: | Height: | Size: 31 KiB |
|
Before Width: | Height: | Size: 30 KiB |
|
Before Width: | Height: | Size: 36 KiB |
|
Before Width: | Height: | Size: 31 KiB |
|
Before Width: | Height: | Size: 32 KiB |
|
Before Width: | Height: | Size: 15 KiB |
|
Before Width: | Height: | Size: 15 KiB |
|
Before Width: | Height: | Size: 18 KiB |
|
Before Width: | Height: | Size: 15 KiB |
|
Before Width: | Height: | Size: 16 KiB |
@@ -1,11 +1,7 @@
|
||||
{
|
||||
"name": "@DISTRONAME@_@PROJECT@",
|
||||
"version": "@LIBREELEC_VERSION@",
|
||||
"name": "@DISTRONAME@",
|
||||
"version": "@OPENELEC_VERSION@",
|
||||
"release_date": "@RELEASE_DATE@",
|
||||
"kernel": "@KERNEL_VERSION@",
|
||||
"description": "@DESCRIPTION@",
|
||||
"username": "root",
|
||||
"password": "@ROOT_PASSWORD@",
|
||||
"supported_hex_revisions": "@NOOBS_HEX@",
|
||||
"supported_models": [@NOOBS_SUPPORTED_MODELS@]
|
||||
"description": "@DESCRIPTION@"
|
||||
}
|
||||
|
||||
@@ -1,30 +1,46 @@
|
||||
#!/bin/sh -x
|
||||
################################################################################
|
||||
# This file is part of OpenELEC - http://www.openelec.tv
|
||||
# Copyright (C) 2009-2013 Stephan Raue (stephan@openelec.tv)
|
||||
#
|
||||
# This Program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2, or (at your option)
|
||||
# any later version.
|
||||
#
|
||||
# This Program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with OpenELEC.tv; see the file COPYING. If not, write to
|
||||
# the Free Software Foundation, 51 Franklin Street, Suite 500, Boston, MA 02110, USA.
|
||||
# http://www.gnu.org/copyleft/gpl.html
|
||||
################################################################################
|
||||
|
||||
# SPDX-License-Identifier: GPL-2.0-or-later
|
||||
# Copyright (C) 2009-2016 Stephan Raue (stephan@openelec.tv)
|
||||
|
||||
MOUNTPOINT="/tmp/LibreELEC-System"
|
||||
MOUNTPOINT="/tmp/OpenELEC-System"
|
||||
|
||||
md5sumCheck() {
|
||||
( cd $MOUNTPOINT
|
||||
echo "checking MD5: $1"
|
||||
md5sum -c $1.md5
|
||||
if [ "$?" = "1" ]; then
|
||||
echo "#######################################################"
|
||||
echo "# #"
|
||||
echo "# LibreELEC failed md5 check - Installation will quit #"
|
||||
echo "# #"
|
||||
echo "# Your original download was probably corrupt. #"
|
||||
echo "# Please visit libreelec.tv and get another copy #"
|
||||
echo "# #"
|
||||
echo "#######################################################"
|
||||
echo "######################################################"
|
||||
echo "# #"
|
||||
echo "# OpenELEC failed md5 check - Installation will quit #"
|
||||
echo "# #"
|
||||
echo "# Your original download was probably corrupt. #"
|
||||
echo "# Please visit www.openelec.tv and get another copy #"
|
||||
echo "# #"
|
||||
echo "######################################################"
|
||||
exit 1
|
||||
fi
|
||||
rm -rf $1.md5
|
||||
)
|
||||
}
|
||||
|
||||
if [ -z $part1 -o -z $part2 -o -z $id1 -o -z $id2 ]; then
|
||||
if [ -z $part1 -o -z $part2 -o -z $id1 -o -z $id2]; then
|
||||
echo "error: part1, part2, id1 or id2 not specified"
|
||||
echo "actual values:"
|
||||
echo "part1:" $part1
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
{
|
||||
"label": "System",
|
||||
"filesystem_type": "FAT",
|
||||
"partition_size_nominal": @SYSTEM_SIZE@,
|
||||
"partition_size_nominal": 160,
|
||||
"want_maximised": false,
|
||||
"uncompressed_tarball_size": 120,
|
||||
"mkfs_options": ""
|
||||
@@ -11,7 +11,7 @@
|
||||
{
|
||||
"label": "Storage",
|
||||
"filesystem_type": "ext4",
|
||||
"partition_size_nominal": 512,
|
||||
"partition_size_nominal": 864,
|
||||
"want_maximised": true,
|
||||
"uncompressed_tarball_size": 10,
|
||||
"mkfs_options": ""
|
||||
|
||||
BIN
config/noobs/slides/A.png
Normal file
|
After Width: | Height: | Size: 51 KiB |
BIN
config/noobs/slides/B.png
Normal file
|
After Width: | Height: | Size: 53 KiB |
BIN
config/noobs/slides/C.png
Normal file
|
After Width: | Height: | Size: 55 KiB |
BIN
config/noobs/slides/D.png
Normal file
|
After Width: | Height: | Size: 46 KiB |
BIN
config/noobs/slides/E.png
Normal file
|
After Width: | Height: | Size: 52 KiB |
BIN
config/noobs/slides_vga/A.png
Normal file
|
After Width: | Height: | Size: 24 KiB |
BIN
config/noobs/slides_vga/B.png
Normal file
|
After Width: | Height: | Size: 28 KiB |
BIN
config/noobs/slides_vga/C.png
Normal file
|
After Width: | Height: | Size: 28 KiB |
BIN
config/noobs/slides_vga/D.png
Normal file
|
After Width: | Height: | Size: 23 KiB |
BIN
config/noobs/slides_vga/E.png
Normal file
|
After Width: | Height: | Size: 25 KiB |
121
config/optimize
@@ -1,95 +1,80 @@
|
||||
GCC_OPTIM="-Os"
|
||||
# Linker hash-style is set to gnu via gcc default
|
||||
LD_OPTIM="-Wl,--as-needed"
|
||||
if [ "$OPTIMIZATIONS" = normal ];then
|
||||
GCC_OPTIM="-O2"
|
||||
LD_OPTIM=""
|
||||
fi
|
||||
|
||||
if [ "${BUILD_WITH_DEBUG}" = "yes" ]; then
|
||||
if [ "$OPTIMIZATIONS" = size ];then
|
||||
GCC_OPTIM="-Os -fexcess-precision=fast"
|
||||
LD_OPTIM="-Wl,--as-needed"
|
||||
fi
|
||||
|
||||
if [ "$LTO_SUPPORT" = yes ];then
|
||||
GCC_OPTIM_LTO="-flto -ffat-lto-objects"
|
||||
LD_OPTIM_LTO="-fuse-linker-plugin -flto"
|
||||
fi
|
||||
|
||||
if [ "$GOLD_SUPPORT" = yes ];then
|
||||
LD_OPTIM_GOLD="-fuse-ld=gold"
|
||||
fi
|
||||
|
||||
if [ "$DEBUG" = yes ]; then
|
||||
TARGET_CFLAGS="$TARGET_CFLAGS -ggdb"
|
||||
TARGET_CXXFLAGS="$TARGET_CXXFLAGS -ggdb"
|
||||
TARGET_LDFLAGS="$TARGET_LDFLAGS -ggdb"
|
||||
else
|
||||
TARGET_CFLAGS="$TARGET_CFLAGS -fomit-frame-pointer"
|
||||
TARGET_CXXFLAGS="$TARGET_CXXFLAGS -fomit-frame-pointer"
|
||||
TARGET_LDFLAGS="$TARGET_LDFLAGS"
|
||||
TARGET_LDFLAGS="$TARGET_LDFLAGS -s"
|
||||
fi
|
||||
|
||||
NINJA_OPTS=""
|
||||
|
||||
TARGET_CPPFLAGS=""
|
||||
TARGET_CFLAGS="$TARGET_CFLAGS -Wall -pipe $GCC_OPTIM $PROJECT_CFLAGS"
|
||||
TARGET_CPPFLAGS=
|
||||
TARGET_CFLAGS="$TARGET_CFLAGS -Wall -pipe $GCC_OPTIM $GCC_OPTIM_LTO $PROJECT_CFLAGS"
|
||||
TARGET_CXXFLAGS="$TARGET_CFLAGS"
|
||||
TARGET_LDFLAGS="$TARGET_LDFLAGS $LD_OPTIM"
|
||||
TARGET_LDFLAGS="$TARGET_LDFLAGS $LD_OPTIM $LD_OPTIM_GOLD $LD_OPTIM_LTO"
|
||||
TARGET_LIBDIR="$SYSROOT_PREFIX/lib $SYSROOT_PREFIX/usr/lib"
|
||||
TARGET_INCDIR="$SYSROOT_PREFIX/include $SYSROOT_PREFIX/usr/include"
|
||||
|
||||
HOST_CPPFLAGS=""
|
||||
HOST_CFLAGS="-march=native -O2 -Wall -pipe -I$TOOLCHAIN/include"
|
||||
HOST_CFLAGS="-O2 -Wall -pipe -I$ROOT/$TOOLCHAIN/include"
|
||||
HOST_CXXFLAGS="$HOST_CFLAGS"
|
||||
HOST_LDFLAGS="-Wl,-rpath,$TOOLCHAIN/lib -L$TOOLCHAIN/lib"
|
||||
HOST_INCDIR="$TOOLCHAIN/include /usr/include"
|
||||
HOST_LDFLAGS="-Wl,-rpath,$ROOT/$TOOLCHAIN/lib -L$ROOT/$TOOLCHAIN/lib"
|
||||
HOST_LIBDIR="$ROOT/$TOOLCHAIN/lib"
|
||||
|
||||
# work around Ubuntu default C*FLAGS
|
||||
# see https://wiki.ubuntu.com/ToolChain/CompilerFlags#A-Wformat_-Wformat-security
|
||||
HOST_CFLAGS="$HOST_CFLAGS -Wno-format-security"
|
||||
HOST_CXXFLAGS="$HOST_CXXFLAGS -Wno-format-security"
|
||||
|
||||
# lto flags
|
||||
FLAGS_OPTIM_LTO_NO_PARALLEL="-flto"
|
||||
FLAGS_OPTIM_LTO_PARALLEL="-flto=${CONCURRENCY_MAKE_LEVEL}"
|
||||
FLAGS_OPTIM_LTO_NO_FAT="-fno-fat-lto-objects"
|
||||
FLAGS_OPTIM_LTO_FAT="-ffat-lto-objects"
|
||||
FLAGS_OPTIM_LTO_OFF="-fno-lto"
|
||||
LDFLAGS_OPTIM_LTO_COMMON="-fuse-linker-plugin"
|
||||
|
||||
# gold flags
|
||||
LDFLAGS_OPTIM_GOLD="-fuse-ld=gold"
|
||||
|
||||
# position-independent code
|
||||
CFLAGS_OPTIM_PIC="-fPIC -DPIC"
|
||||
CXXFLAGS_OPTIM_PIC="-fPIC -DPIC"
|
||||
LDFLAGS_OPTIM_PIC="-fPIC"
|
||||
|
||||
# hardening support
|
||||
# TODO: basiclly copied from debian 9, should adjust for LE
|
||||
CFLAGS_OPTIM_HARDENING="-fstack-protector-strong -Wformat -Werror=format-security -fPIE"
|
||||
CXXFLAGS_OPTIM_HARDENING="-fstack-protector-strong -Wformat -Werror=format-security -fPIE"
|
||||
CPPFLAGS_OPTIM_HARDENING="-D_FORTIFY_SOURCE=2"
|
||||
LDFLAGS_OPTIM_HARDENING="-Wl,-z,relro -Wl,-z,now"
|
||||
|
||||
# add distro specific library dirs
|
||||
if [ -z "$HOST_LIBDIR" ]; then
|
||||
HOST_LIBDIR="$TOOLCHAIN/lib"
|
||||
|
||||
# ubuntu/debian specific "multiarch support"
|
||||
export MACHINE_HARDWARE_NAME="$(uname -m)"
|
||||
export MACHINE_HARDWARE_PLATFORM="$(uname -i)"
|
||||
FAMILY_TRIPLET=${HOST_NAME/${MACHINE_HARDWARE_NAME}/${MACHINE_HARDWARE_PLATFORM}}
|
||||
if [ -d /lib/$FAMILY_TRIPLET ]; then
|
||||
HOST_LIBDIR="$HOST_LIBDIR /lib/$FAMILY_TRIPLET"
|
||||
fi
|
||||
if [ -d /usr/lib/$FAMILY_TRIPLET ]; then
|
||||
HOST_LIBDIR="$HOST_LIBDIR /usr/lib/$FAMILY_TRIPLET"
|
||||
fi
|
||||
FAMILY_TRIPLET=$(echo $HOST_NAME | sed -e "s,$(uname -m),$(uname -i),")
|
||||
if [ -d /lib/$FAMILY_TRIPLET ]; then
|
||||
HOST_LIBDIR="$HOST_LIBDIR /lib/$FAMILY_TRIPLET"
|
||||
fi
|
||||
if [ -d /usr/lib/$FAMILY_TRIPLET ]; then
|
||||
HOST_LIBDIR="$HOST_LIBDIR /usr/lib/$FAMILY_TRIPLET"
|
||||
fi
|
||||
|
||||
# default multiarch support
|
||||
case "${MACHINE_HARDWARE_NAME}" in
|
||||
i*86)
|
||||
if [ -d /lib32 ]; then
|
||||
HOST_LIBDIR="$HOST_LIBDIR /lib32"
|
||||
fi
|
||||
if [ -d /usr/lib32 ]; then
|
||||
HOST_LIBDIR="$HOST_LIBDIR /usr/lib32"
|
||||
fi
|
||||
;;
|
||||
x86_64)
|
||||
if [ -d /lib64 ]; then
|
||||
HOST_LIBDIR="$HOST_LIBDIR /lib64"
|
||||
fi
|
||||
if [ -d /usr/lib64 ]; then
|
||||
HOST_LIBDIR="$HOST_LIBDIR /usr/lib64"
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
case "`uname -m`" in
|
||||
i*86)
|
||||
if [ -d /lib32 ]; then
|
||||
HOST_LIBDIR="$HOST_LIBDIR /lib32"
|
||||
fi
|
||||
if [ -d /usr/lib32 ]; then
|
||||
HOST_LIBDIR="$HOST_LIBDIR /usr/lib32"
|
||||
fi
|
||||
;;
|
||||
x86_64)
|
||||
if [ -d /lib64 ]; then
|
||||
HOST_LIBDIR="$HOST_LIBDIR /lib64"
|
||||
fi
|
||||
if [ -d /usr/lib64 ]; then
|
||||
HOST_LIBDIR="$HOST_LIBDIR /usr/lib64"
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
|
||||
# default dirs
|
||||
export HOST_LIBDIR="$HOST_LIBDIR /lib /usr/lib"
|
||||
fi
|
||||
HOST_LIBDIR="$HOST_LIBDIR /lib /usr/lib"
|
||||
HOST_INCDIR="$ROOT/$TOOLCHAIN/include /usr/include"
|
||||
|
||||
154
config/options
@@ -1,115 +1,101 @@
|
||||
# Do not build as root. Ever.
|
||||
if [[ "${EUID}" -eq 0 ]]; then
|
||||
echo "Building as the root user is NOT supported. Use a regular user account for the build." 1>&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Spaces in paths are verboten
|
||||
if [[ ${PWD} =~ [[:space:]] ]]; then
|
||||
echo "Current PWD: \"${PWD}\"" 1>&2
|
||||
echo 1>&2
|
||||
echo "Building in a folder that includes spaces is NOT supported. Use a folder without spaces." 1>&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# set default language for buildsystem
|
||||
export LC_ALL=C
|
||||
|
||||
# set default independent variables
|
||||
ROOT="${PWD}"
|
||||
DISTRO_DIR="${ROOT}/distributions"
|
||||
PROJECT_DIR="${ROOT}/projects"
|
||||
export LC_ALL=C
|
||||
|
||||
# determines DISTRO, if not forced by user
|
||||
DISTRO="${DISTRO:-LibreELEC}"
|
||||
# default is OpenELEC
|
||||
if [ -z "$DISTRO" ]; then
|
||||
DISTRO="OpenELEC"
|
||||
else
|
||||
DISTRO="$DISTRO"
|
||||
fi
|
||||
|
||||
# determines PROJECT, if not forced by user
|
||||
PROJECT="${PROJECT:-Generic}"
|
||||
|
||||
# determines TARGET_ARCH, if not forced by user
|
||||
ARCH="${ARCH:-x86_64}"
|
||||
TARGET_ARCH="${ARCH}"
|
||||
|
||||
# include helper functions
|
||||
. config/functions
|
||||
|
||||
# read DISTRO version information
|
||||
. "${DISTRO_DIR}/${DISTRO}/version" || die "\nERROR: No distro version present\n"
|
||||
|
||||
# read DISTRO options if available
|
||||
if [ -f "${DISTRO_DIR}/${DISTRO}/options" ]; then
|
||||
. "${DISTRO_DIR}/${DISTRO}/options"
|
||||
# default is Generic
|
||||
if [ -z "$PROJECT" ]; then
|
||||
PROJECT="Generic"
|
||||
else
|
||||
PROJECT="$PROJECT"
|
||||
fi
|
||||
|
||||
# read PROJECT options if available
|
||||
if [ -f "${PROJECT_DIR}/${PROJECT}/options" ]; then
|
||||
. "${PROJECT_DIR}/${PROJECT}/options"
|
||||
# determines TARGET_ARCH, if not forced by user (i386 / x86_64 / arm)
|
||||
# default is i386
|
||||
if [ -z "$ARCH" ]; then
|
||||
TARGET_ARCH="i386"
|
||||
else
|
||||
TARGET_ARCH="$ARCH"
|
||||
fi
|
||||
|
||||
# read DEVICE options if available
|
||||
if [ -f "${PROJECT_DIR}/${PROJECT}/devices/${DEVICE}/options" ]; then
|
||||
. "${PROJECT_DIR}/${PROJECT}/devices/${DEVICE}/options"
|
||||
fi
|
||||
ROOT=`pwd`
|
||||
DISTRO_DIR="$ROOT/distributions"
|
||||
PROJECT_DIR="$ROOT/projects"
|
||||
LINUX_DEPENDS="$PROJECT_DIR/$PROJECT/linux/linux.$TARGET_ARCH.conf $ROOT/packages/linux/package.mk"
|
||||
|
||||
# projects can set KERNEL_NAME (kernel.img)
|
||||
KERNEL_NAME="${KERNEL_NAME:-KERNEL}"
|
||||
# include versioning
|
||||
. config/version
|
||||
|
||||
LINUX_DEPENDS="${PROJECT_DIR}/${PROJECT}/linux ${PROJECT_DIR}/${PROJECT}/patches/linux ${PROJECT_DIR}/${PROJECT}/packages/linux ${ROOT}/packages/linux"
|
||||
[ -n "${DEVICE}" ] && LINUX_DEPENDS+=" ${PROJECT_DIR}/${PROJECT}/devices/${DEVICE}/linux ${PROJECT_DIR}/${PROJECT}/devices/${DEVICE}/patches/linux ${PROJECT_DIR}/${PROJECT}/devices/${DEVICE}/packages/linux"
|
||||
[ "${TARGET_ARCH}" = "x86_64" ] && LINUX_DEPENDS+=" ${ROOT}/packages/linux-firmware/intel-ucode ${ROOT}/packages/linux-firmware/kernel-firmware"
|
||||
# read distro versioning if available
|
||||
if [ -f "$DISTRO_DIR/$DISTRO/version" ]; then
|
||||
. $DISTRO_DIR/$DISTRO/version
|
||||
fi
|
||||
|
||||
# read distro options if available
|
||||
if [ -f "$DISTRO_DIR/$DISTRO/options" ]; then
|
||||
. $DISTRO_DIR/$DISTRO/options
|
||||
fi
|
||||
|
||||
# read project options if available
|
||||
if [ -f "$PROJECT_DIR/$PROJECT/options" ]; then
|
||||
. $PROJECT_DIR/$PROJECT/options
|
||||
fi
|
||||
|
||||
# Need to point to your actual cc
|
||||
# If you have ccache installed, take care that LOCAL_CC does not point to it
|
||||
[ -z "${LOCAL_CC}" ] && export LOCAL_CC="$(command -v gcc)"
|
||||
|
||||
if [ -z "${LOCAL_CC}" ]; then
|
||||
die "***** Please install gcc *****" "127"
|
||||
fi
|
||||
# If you have ccache installed, take care that LOCAL_CC don't point to it
|
||||
LOCAL_CC=`which gcc`
|
||||
|
||||
# Need to point to your actual g++
|
||||
# If you have ccache installed, take care that LOCAL_CXX does not point to it
|
||||
[ -z "${LOCAL_CXX}" ] && export LOCAL_CXX="$(command -v g++)"
|
||||
# If you have ccache installed, take care that LOCAL_CXX don't point to it
|
||||
LOCAL_CXX=`which g++`
|
||||
|
||||
# Support C++ in toolchain
|
||||
TOOLCHAIN_CXX="yes"
|
||||
|
||||
# verbose compilation mode (yes/no)
|
||||
VERBOSE="${VERBOSE:-yes}"
|
||||
VERBOSE="yes"
|
||||
|
||||
# Concurrency make level (-j option)
|
||||
# Try values between 1 and number of processor cores present.
|
||||
# default: use all cores
|
||||
[ -z "${CONCURRENCY_MAKE_LEVEL}" ] && export CONCURRENCY_MAKE_LEVEL=$(nproc)
|
||||
# Try value 1 (default) to 4 on single CPU computer, or more on
|
||||
# multi-processor computer (like hyperthreading SMP CPU)
|
||||
if test -z "${CONCURRENCY_MAKE_LEVEL}"; then
|
||||
CONCURRENCY_MAKE_LEVEL=`cat /proc/cpuinfo | grep -c '^processor[[:cntrl:]]*:'`
|
||||
fi
|
||||
|
||||
# cache size for ccache
|
||||
# Set the maximum size of the files stored in the cache. You can specify a
|
||||
# value in gigabytes, megabytes or kilobytes by appending a G, M or K to the
|
||||
# value. The default is gigabytes. The actual value stored is rounded down to
|
||||
# the nearest multiple of 16 kilobytes. Keep in mind this per project .ccache
|
||||
# directory.
|
||||
CCACHE_CACHE_SIZE="10G"
|
||||
# the nearest multiple of 16 kilobytes.
|
||||
CCACHE_CACHE_SIZE="30G"
|
||||
|
||||
# read local persistent options from $ROOT if available
|
||||
if [ -f "${ROOT}/.libreelec/options" ]; then
|
||||
. "${ROOT}/.libreelec/options"
|
||||
fi
|
||||
# forcing install of all packages (yes/no)
|
||||
FORCE_INSTALL="no"
|
||||
|
||||
# read global persistent options from $HOME if available
|
||||
if [ -f "${HOME}/.libreelec/options" ]; then
|
||||
. "${HOME}/.libreelec/options"
|
||||
fi
|
||||
# install devtools on development builds
|
||||
if [ "$OPENELEC_VERSION" = "devel" ]; then
|
||||
DEVTOOLS=yes
|
||||
fi
|
||||
|
||||
# overwrite OEM_SUPPORT via commandline
|
||||
if [ "${OEM}" = "yes" -o "${OEM}" = "no" ]; then
|
||||
OEM_SUPPORT="${OEM}"
|
||||
fi
|
||||
# read options from $HOME if available
|
||||
if [ -f "$HOME/.openelec/options" ]; then
|
||||
. $HOME/.openelec/options
|
||||
fi
|
||||
if [ -f "$HOME/.openelec/$PROJECT/options" ]; then
|
||||
. $HOME/.openelec/$PROJECT/options
|
||||
fi
|
||||
|
||||
check_config
|
||||
# read distro options from $HOME if available
|
||||
if [ -f "$HOME/.openelec/options.$DISTRO" ]; then
|
||||
. $HOME/.openelec/options.$DISTRO
|
||||
fi
|
||||
|
||||
. config/graphic
|
||||
. config/path $1
|
||||
|
||||
## package processing
|
||||
|
||||
# If the package caches are unset, then populate them
|
||||
init_package_cache
|
||||
|
||||
# set package metadata
|
||||
source_package "${1}"
|
||||
|
||||
198
config/path
@@ -1,15 +1,14 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-or-later
|
||||
# Copyright (C) 2018-present Team LibreELEC (https://libreelec.tv)
|
||||
|
||||
set -e
|
||||
|
||||
. config/functions
|
||||
|
||||
# setup initial directorys (relative to root)
|
||||
CONFIG=config
|
||||
SCRIPTS=scripts
|
||||
PACKAGES=packages
|
||||
SOURCES=${SOURCES_DIR:-$ROOT/sources}
|
||||
SOURCES=sources
|
||||
BUILD_BASE=build
|
||||
TARGET_IMG=${TARGET_DIR:-$ROOT/target}
|
||||
TARGET=target
|
||||
ADDONS=addons
|
||||
|
||||
# include ARCH specific options
|
||||
@@ -17,20 +16,11 @@ set -e
|
||||
. config/arch.$TARGET_ARCH
|
||||
fi
|
||||
|
||||
[ -z "${HOST_NAME}" ] && export HOST_NAME="$($LOCAL_CC -dumpmachine)"
|
||||
TARGET_NAME=$TARGET_GCC_ARCH-libreelec-linux-gnu${TARGET_ABI}
|
||||
|
||||
BUILD=$ROOT/$BUILD_BASE.$DISTRONAME-${DEVICE:-$PROJECT}.$TARGET_ARCH-$LIBREELEC_VERSION
|
||||
if [ "$LIBREELEC_VERSION" = "devel" ] ; then
|
||||
BUILD=$ROOT/$BUILD_BASE.$DISTRONAME-${DEVICE:-$PROJECT}.$TARGET_ARCH-$OS_VERSION-$LIBREELEC_VERSION
|
||||
fi
|
||||
|
||||
if [ -n "$BUILD_SUFFIX" ]; then
|
||||
BUILD=$BUILD-$BUILD_SUFFIX
|
||||
fi
|
||||
|
||||
THREAD_CONTROL=${BUILD}/.threads
|
||||
HOST_NAME=`$LOCAL_CC -dumpmachine`
|
||||
TARGET_NAME=$(echo $TARGET_SUBARCH | sed -e "s,-,,")-openelec-linux-gnu${TARGET_ABI}
|
||||
|
||||
BUILD=$BUILD_BASE.$DISTRONAME-$PROJECT.$TARGET_ARCH-$OPENELEC_VERSION
|
||||
TARGET_IMG=$ROOT/$TARGET
|
||||
TARGET_ADDONS="$TARGET_IMG/$ADDONS/$ADDON_PATH"
|
||||
ADDON_BUILD="$BUILD/$ADDONS/$1"
|
||||
STAMPS_NOARCH=.stamps
|
||||
@@ -38,21 +28,11 @@ STAMPS=$BUILD/.stamps
|
||||
STAMPS_INSTALL=$BUILD/image/.stamps
|
||||
DOCS=DOCS
|
||||
TOOLCHAIN=$BUILD/toolchain
|
||||
SYSROOT_PREFIX=$TOOLCHAIN/$TARGET_NAME/sysroot
|
||||
SYSROOT_PREFIX=$ROOT/$TOOLCHAIN/$TARGET_NAME/sysroot
|
||||
LIB_PREFIX=$SYSROOT_PREFIX/usr
|
||||
TARGET_PREFIX=$TOOLCHAIN/bin/$TARGET_NAME-
|
||||
TARGET_PREFIX=$ROOT/$TOOLCHAIN/bin/$TARGET_NAME-
|
||||
|
||||
# use ARM toolchain on 64/32 split builds
|
||||
if [ -z "$KERNEL_TOOLCHAIN" -a "$TARGET_KERNEL_ARCH" = "arm64" -a "$TARGET_ARCH" = "arm" ]; then
|
||||
KERNEL_TOOLCHAIN="aarch64-linux-gnu"
|
||||
fi
|
||||
if [ -n "$KERNEL_TOOLCHAIN" ]; then
|
||||
TARGET_KERNEL_PREFIX=$TOOLCHAIN/lib/gcc-arm-$KERNEL_TOOLCHAIN/bin/$KERNEL_TOOLCHAIN-
|
||||
else
|
||||
TARGET_KERNEL_PREFIX=$TARGET_PREFIX
|
||||
fi
|
||||
|
||||
FAKEROOT_SCRIPT=$BUILD/.fakeroot
|
||||
FAKEROOT_SCRIPT=$ROOT/.fakeroot.$PROJECT.$TARGET_ARCH
|
||||
|
||||
if [ -z "$INSTALL" ]; then
|
||||
INSTALL=$BUILD/image/system
|
||||
@@ -61,7 +41,80 @@ INSTALL_INIT=$BUILD/image/initramfs/root-image
|
||||
|
||||
. config/sources
|
||||
|
||||
MAKE="$TOOLCHAIN/bin/make"
|
||||
MAKE="$ROOT/$TOOLCHAIN/bin/make"
|
||||
MAKEINSTALL="$ROOT/$TOOLCHAIN/bin/make -j1 DESTDIR=$SYSROOT_PREFIX install"
|
||||
SED="sed -i"
|
||||
|
||||
# set package metadata
|
||||
PKG_NAME="$1"
|
||||
PKG_VERSION="0.0invalid"
|
||||
PKG_REV="0"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="unknown"
|
||||
PKG_SITE=""
|
||||
PKG_URL=""
|
||||
PKG_DEPENDS_TARGET=""
|
||||
PKG_DEPENDS_HOST=""
|
||||
PKG_DEPENDS_INIT=""
|
||||
PKG_DEPENDS_BOOTSTRAP=""
|
||||
PKG_PRIORITY="optional"
|
||||
PKG_SECTION=""
|
||||
PKG_SHORTDESC="$1 (autogenerated)"
|
||||
PKG_LONGDESC=""
|
||||
PKG_IS_ADDON="no"
|
||||
|
||||
if [ -n "$1" ]; then
|
||||
_PKG_ROOT_NAME=$(echo $1 | cut -d: -f1)
|
||||
_ALL_DIRS=""
|
||||
_FOUND=0
|
||||
PKG_DIR=""
|
||||
|
||||
# first check project folder for a package
|
||||
for DIR in $(find $ROOT/projects/$PROJECT/packages -type d -name $_PKG_ROOT_NAME 2>/dev/null); do
|
||||
if [ -r "$DIR/package.mk" ]; then
|
||||
# found first, set $PKG_DIR
|
||||
PKG_DIR="$DIR"
|
||||
# keep track of dirs with package.mk for detecting multiple folders
|
||||
_ALL_DIRS="${_ALL_DIRS}${DIR}\\n"
|
||||
_FOUND=$((_FOUND+1))
|
||||
if [ $_FOUND -gt 1 ]; then
|
||||
# _FOUND more ? fail
|
||||
echo "Error - multiple package folders:"
|
||||
echo -e "$_ALL_DIRS"
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
done
|
||||
|
||||
# then check packages folder if not found already
|
||||
if [ $_FOUND -eq 0 ]; then
|
||||
for DIR in $(find $ROOT/$PACKAGES -type d -name $_PKG_ROOT_NAME 2>/dev/null); do
|
||||
if [ -r "$DIR/package.mk" ]; then
|
||||
# found first, set $PKG_DIR
|
||||
PKG_DIR="$DIR"
|
||||
# keep track of dirs with package.mk for detecting multiple folders
|
||||
_ALL_DIRS="${_ALL_DIRS}${DIR}\\n"
|
||||
_FOUND=$((_FOUND+1))
|
||||
if [ $_FOUND -gt 1 ]; then
|
||||
# found more ? fail
|
||||
echo "Error - multiple package folders:"
|
||||
echo -e "$_ALL_DIRS"
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
done
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ -r $PKG_DIR/package.mk ]; then
|
||||
. $PKG_DIR/package.mk
|
||||
fi
|
||||
|
||||
if [ "$PKG_IS_ADDON" = "yes" ] ; then
|
||||
[ -z $PKG_SECTION ] && PKG_ADDON_ID="$PKG_NAME" || PKG_ADDON_ID="`echo $PKG_SECTION | sed 's,/,.,g'`.$PKG_NAME"
|
||||
fi
|
||||
|
||||
PKG_BUILD="$BUILD/${PKG_NAME}-${PKG_VERSION}"
|
||||
|
||||
XORG_PATH_DRI=/usr/lib/dri
|
||||
XORG_PATH_XKB=/usr/share/X11/xkb
|
||||
@@ -70,32 +123,97 @@ XORG_PATH_RGB=/usr/lib/X11/rgb
|
||||
XORG_PATH_MODULES=/usr/lib/xorg/modules
|
||||
XORG_PATH_DRIVERS=/usr/lib/xorg/modules/drivers
|
||||
|
||||
SSL_CERTIFICATES="/etc/pki/tls"
|
||||
|
||||
TOOLCHAIN_LANGUAGES=c
|
||||
[ "$TOOLCHAIN_CXX" = yes ] && TOOLCHAIN_LANGUAGES=${TOOLCHAIN_LANGUAGES},c++
|
||||
|
||||
unset TARGET_CPP
|
||||
|
||||
TARGET_CC=${TARGET_PREFIX}gcc
|
||||
TARGET_CXX=${TARGET_PREFIX}g++
|
||||
TARGET_LD=${TARGET_PREFIX}ld
|
||||
TARGET_AS=${TARGET_PREFIX}as
|
||||
TARGET_AR=${TARGET_PREFIX}ar
|
||||
TARGET_NM=${TARGET_PREFIX}nm
|
||||
TARGET_RANLIB=${TARGET_PREFIX}ranlib
|
||||
TARGET_OBJCOPY=${TARGET_PREFIX}objcopy
|
||||
TARGET_OBJDUMP=${TARGET_PREFIX}objdump
|
||||
TARGET_STRIP=${TARGET_PREFIX}strip
|
||||
|
||||
. config/optimize
|
||||
|
||||
TARGET_PKG_CONFIG_PATH=""
|
||||
TARGET_PKG_CONFIG_LIBDIR="$SYSROOT_PREFIX/usr/lib/pkgconfig:$SYSROOT_PREFIX/usr/share/pkgconfig"
|
||||
TARGET_PKG_CONFIG_SYSROOT_DIR="$SYSROOT_PREFIX"
|
||||
|
||||
unset HOST_CPP
|
||||
|
||||
HOST_AWK=gawk
|
||||
HOST_CC=$ROOT/$TOOLCHAIN/bin/host-gcc
|
||||
HOST_CXX=$ROOT/$TOOLCHAIN/bin/host-g++
|
||||
HOST_LD=ld
|
||||
HOST_AS=as
|
||||
HOST_AR=ar
|
||||
HOST_NM=nm
|
||||
HOST_RANLIB=ranlib
|
||||
HOST_OBJCOPY=objcopy
|
||||
HOST_STRIP=strip
|
||||
|
||||
HOST_PKG_CONFIG_PATH=""
|
||||
HOST_PKG_CONFIG_LIBDIR="$ROOT/$TOOLCHAIN/lib/pkgconfig:$ROOT/$TOOLCHAIN/share/pkgconfig"
|
||||
HOST_PKG_CONFIG_SYSROOT_DIR=""
|
||||
|
||||
if [ -z "$CCACHE_DIR" ]; then
|
||||
export CCACHE_DIR=$BUILD/.ccache
|
||||
export CCACHE_DIR=$HOME/.ccache-openelec
|
||||
fi
|
||||
export MAKEFLAGS=-j$CONCURRENCY_MAKE_LEVEL
|
||||
export PKG_CONFIG=$ROOT/$TOOLCHAIN/bin/pkg-config
|
||||
|
||||
if [ -z "$PATH" -o "$PATH" = "${PATH#$ROOT/$TOOLCHAIN/bin:}" ]; then
|
||||
export PATH="$ROOT/$TOOLCHAIN/bin:$ROOT/$TOOLCHAIN/sbin:$PATH"
|
||||
fi
|
||||
|
||||
if [[ -z "$PATH" || ( "$PATH" != "$TOOLCHAIN/bin:$TOOLCHAIN/sbin" && "$PATH" = "${PATH#$TOOLCHAIN/bin:$TOOLCHAIN/sbin:}" ) ]]; then
|
||||
export PATH="$TOOLCHAIN/bin:$TOOLCHAIN/sbin${PATH:+":$PATH"}"
|
||||
if [ -z "$LD_LIBRARY_PATH" -o "$LD_LIBRARY_PATH" = "${LD_LIBRARY_PATH#$ROOT/$TOOLCHAIN/lib:}" ]; then
|
||||
export LD_LIBRARY_PATH="$ROOT/$TOOLCHAIN/lib:$LD_LIBRARY_PATH"
|
||||
fi
|
||||
|
||||
VERSION_SUFFIX=$TARGET_ARCH
|
||||
|
||||
# redirect formatted output
|
||||
export BUILD_INDENT_SIZE=4
|
||||
check_path
|
||||
check_config
|
||||
|
||||
setup_toolchain target
|
||||
|
||||
SILENT_OUT=3
|
||||
VERBOSE_OUT=4
|
||||
|
||||
if [ "$VERBOSE" = yes ]; then
|
||||
exec 3>&1
|
||||
exec 4>&1
|
||||
exec 4>&2
|
||||
else
|
||||
exec 3>&2
|
||||
exec 4>/dev/null
|
||||
fi
|
||||
BUILD_INDENT_SIZE=4
|
||||
|
||||
unset LD_LIBRARY_PATH
|
||||
# define colors
|
||||
black="\e[0;30m"
|
||||
boldblack="\e[1;30m"
|
||||
red="\e[0;31m"
|
||||
boldred="\e[1;31m"
|
||||
green="\e[0;32m"
|
||||
boldgreen="\e[1;32m"
|
||||
yellow="\e[0;33m"
|
||||
boldyellow="\e[1;33m"
|
||||
blue="\e[0;34m"
|
||||
boldblue="\e[1;34m"
|
||||
magenta="\e[0;35m"
|
||||
boldmagenta="\e[1;35m"
|
||||
cyan="\e[0;36m"
|
||||
boldcyan="\e[1;36m"
|
||||
white="\e[0;37m"
|
||||
boldwhite="\e[1;37m"
|
||||
endcolor="\e[0m"
|
||||
|
||||
# multilib? nah
|
||||
unset CONFIG_SITE
|
||||
|
||||
2
config/release/Autorun.inf
Normal file
@@ -0,0 +1,2 @@
|
||||
[autorun]
|
||||
icon=openelec.ico
|
||||
BIN
config/release/openelec.ico
Normal file
|
After Width: | Height: | Size: 32 KiB |
@@ -1,167 +0,0 @@
|
||||
show_config() {
|
||||
# load graphic configuration
|
||||
get_graphicdrivers
|
||||
|
||||
dashes="==========================="
|
||||
config_message="$config_message\n $dashes$dashes$dashes"
|
||||
config_message="$config_message\n Configuration for $DISTRONAME ($([ "$OFFICIAL" = "yes" ] && echo "official" || echo "community"))"
|
||||
config_message="$config_message\n $dashes$dashes$dashes"
|
||||
|
||||
# Build options
|
||||
|
||||
config_message="$config_message\n\n Buildoptions:"
|
||||
config_message="$config_message\n $dashes$dashes"
|
||||
|
||||
config_message="$config_message\n - CPU (ARCH):\t\t\t\t $TARGET_CPU ($TARGET_ARCH)"
|
||||
config_message="$config_message\n - FLOAT:\t\t\t\t $TARGET_FLOAT"
|
||||
config_message="$config_message\n - FPU:\t\t\t\t\t $TARGET_FPU"
|
||||
config_message="$config_message\n - CPU features:\t\t\t $TARGET_FEATURES"
|
||||
config_message="$config_message\n - LTO (Link Time Optimization) support: $LTO_SUPPORT"
|
||||
config_message="$config_message\n - GOLD (Google Linker) Support:\t $GOLD_SUPPORT"
|
||||
config_message="$config_message\n - LLVM support:\t\t\t $LLVM_SUPPORT"
|
||||
config_message="$config_message\n - DEBUG:\t\t\t\t ${DEBUG:-no}"
|
||||
|
||||
# config_message="$config_message\n - CFLAGS:\t $TARGET_CFLAGS"
|
||||
# config_message="$config_message\n - LDFLAGS:\t $TARGET_LDFLAGS"
|
||||
|
||||
# Graphic configuration
|
||||
|
||||
config_message="$config_message\n\n Graphic configuration:"
|
||||
config_message="$config_message\n $dashes$dashes"
|
||||
|
||||
if [ "$DISPLAYSERVER" = "x11" ] ; then
|
||||
config_message="$config_message\n - Xorg Graphic Drivers:\t\t $GRAPHIC_DRIVERS"
|
||||
config_message="$config_message\n - XORG Composite support:\t\t $COMPOSITE_SUPPORT"
|
||||
config_message="$config_message\n - WindowManager:\t\t\t $WINDOWMANAGER"
|
||||
fi
|
||||
config_message="$config_message\n - OpenGL (GLX) support (provider):\t $OPENGL_SUPPORT ($OPENGL)"
|
||||
config_message="$config_message\n - OpenGLES support (provider):\t\t $OPENGLES_SUPPORT ($OPENGLES)"
|
||||
config_message="$config_message\n - uvesafb support:\t\t\t $UVESAFB_SUPPORT"
|
||||
|
||||
# Hardware decoder support
|
||||
|
||||
config_message="$config_message\n\n Hardware decoder configuration:"
|
||||
config_message="$config_message\n $dashes$dashes"
|
||||
|
||||
config_message="$config_message\n - Kodi Player driver:\t\t\t $KODIPLAYER_DRIVER"
|
||||
config_message="$config_message\n - VAAPI Support:\t\t\t $VAAPI_SUPPORT"
|
||||
config_message="$config_message\n - VDPAU Support:\t\t\t $VDPAU_SUPPORT"
|
||||
|
||||
# Input device configuration
|
||||
|
||||
config_message="$config_message\n\n Input device configuration:"
|
||||
config_message="$config_message\n $dashes$dashes"
|
||||
|
||||
config_message="$config_message\n - Remote support:\t\t\t $REMOTE_SUPPORT"
|
||||
config_message="$config_message\n - CEC Adapter support:\t\t\t $CEC_SUPPORT"
|
||||
config_message="$config_message\n - CEC Framework support:\t\t $CEC_FRAMEWORK_SUPPORT"
|
||||
config_message="$config_message\n - Kodi Joystick support:\t\t $JOYSTICK_SUPPORT"
|
||||
|
||||
# Misc. hardware configuration
|
||||
|
||||
config_message="$config_message\n\n Misc. hardware configuration:"
|
||||
config_message="$config_message\n $dashes$dashes"
|
||||
|
||||
config_message="$config_message\n - ALSA support:\t\t\t $ALSA_SUPPORT"
|
||||
config_message="$config_message\n - Pulseaudio support:\t\t\t $PULSEAUDIO_SUPPORT"
|
||||
config_message="$config_message\n - Bluetooth support:\t\t\t $BLUETOOTH_SUPPORT"
|
||||
|
||||
for config_driver in $ADDITIONAL_DRIVERS; do
|
||||
config_message="$config_message\n - Include driver:\t\t\t $config_driver"
|
||||
done
|
||||
|
||||
if [ "$DRIVER_ADDONS_SUPPORT" = "yes" ]; then
|
||||
for config_driver_addons in $DRIVER_ADDONS; do
|
||||
config_message="$config_message\n - Include driver add-ons:\t\t $config_driver_addons"
|
||||
done
|
||||
fi
|
||||
|
||||
for config_firmware in $FIRMWARE; do
|
||||
config_message="$config_message\n - Include firmware:\t\t\t $config_firmware"
|
||||
done
|
||||
|
||||
for config_modules in $INITRAMFS_MODULES; do
|
||||
config_message="$config_message\n - Initramfs modules:\t\t\t $config_modules"
|
||||
done
|
||||
|
||||
# Network service configuration
|
||||
|
||||
config_message="$config_message\n\n Network service configuration:"
|
||||
config_message="$config_message\n $dashes$dashes"
|
||||
|
||||
config_message="$config_message\n - Avahi (Zeroconf) support:\t\t $AVAHI_DAEMON"
|
||||
config_message="$config_message\n - NFS mounting support:\t\t $NFS_SUPPORT"
|
||||
config_message="$config_message\n - SAMBA mounting support:\t\t $SAMBA_SUPPORT"
|
||||
config_message="$config_message\n - SAMBA server support:\t\t $SAMBA_SERVER"
|
||||
config_message="$config_message\n - SFTP server support:\t\t\t $SFTP_SERVER"
|
||||
config_message="$config_message\n - OpenVPN support:\t\t\t $OPENVPN_SUPPORT"
|
||||
config_message="$config_message\n - WireGuard support:\t\t\t $WIREGUARD_SUPPORT"
|
||||
|
||||
# OS configuration
|
||||
|
||||
config_message="$config_message\n\n OS configuration:"
|
||||
config_message="$config_message\n $dashes$dashes"
|
||||
|
||||
config_message="$config_message\n - OEM Support:\t\t\t\t $OEM_SUPPORT"
|
||||
config_message="$config_message\n - Default ROOT Password:\t\t $ROOT_PASSWORD"
|
||||
config_message="$config_message\n - Bootloader:\t\t\t\t $BOOTLOADER"
|
||||
config_message="$config_message\n - UDevil support:\t\t\t $UDEVIL"
|
||||
config_message="$config_message\n - Installer support:\t\t\t $INSTALLER_SUPPORT"
|
||||
for config_package in $ADDITIONAL_PACKAGES; do
|
||||
config_message="$config_message\n - Include package:\t\t\t $config_package"
|
||||
done
|
||||
|
||||
# Misc. Filesystems
|
||||
|
||||
config_message="$config_message\n\n Misc. Filesystems:"
|
||||
config_message="$config_message\n $dashes$dashes"
|
||||
|
||||
config_message="$config_message\n - Swap Support:\t\t\t $SWAP_SUPPORT"
|
||||
if [ "$SWAP_SUPPORT" = "yes" ]; then
|
||||
config_message="$config_message\n - Swapfile default size:\t\t $SWAPFILESIZE"
|
||||
fi
|
||||
config_message="$config_message\n - exFAT Support (via Fuse):\t\t $EXFAT"
|
||||
config_message="$config_message\n - NTFS Support (via Fuse):\t\t $NTFS3G"
|
||||
config_message="$config_message\n - Install HFS Tools:\t\t\t $HFSTOOLS"
|
||||
|
||||
# Kodi configuration
|
||||
if [ ! "$MEDIACENTER" = "no" ]; then
|
||||
config_message="$config_message\n\n Kodi configuration:"
|
||||
config_message="$config_message\n $dashes$dashes"
|
||||
|
||||
config_message="$config_message\n - Kodi version:\t\t\t $MEDIACENTER"
|
||||
config_message="$config_message\n - Kodi Blu-Ray support:\t\t $KODI_BLURAY_SUPPORT"
|
||||
if [ "$KODI_BLURAY_SUPPORT" = "yes" ] ; then
|
||||
config_message="$config_message\n - Bluray BD+ support:\t\t $BLURAY_BDPLUS_SUPPORT"
|
||||
config_message="$config_message\n - Bluray AACS support:\t\t $BLURAY_AACS_SUPPORT"
|
||||
fi
|
||||
config_message="$config_message\n - Kodi DVDCSS support:\t\t\t $KODI_DVDCSS_SUPPORT"
|
||||
config_message="$config_message\n - Kodi Airplay support:\t\t $KODI_AIRPLAY_SUPPORT"
|
||||
config_message="$config_message\n - Kodi Airtunes support:\t\t $KODI_AIRTUNES_SUPPORT"
|
||||
config_message="$config_message\n - Kodi NFS support:\t\t\t $KODI_NFS_SUPPORT"
|
||||
config_message="$config_message\n - Kodi MySQL support:\t\t\t $KODI_MYSQL_SUPPORT"
|
||||
config_message="$config_message\n - Kodi Optical Drive support:\t\t $KODI_OPTICAL_SUPPORT"
|
||||
config_message="$config_message\n - Kodi SAMBA client support:\t\t $KODI_SAMBA_SUPPORT"
|
||||
config_message="$config_message\n - Kodi UPNP support:\t\t\t $KODI_UPNP_SUPPORT"
|
||||
config_message="$config_message\n - Kodi Webserver support:\t\t $KODI_WEBSERVER_SUPPORT"
|
||||
|
||||
for config_skin in $SKINS; do
|
||||
config_message="$config_message\n - Include Skin:\t\t\t $config_skin"
|
||||
done
|
||||
|
||||
config_message="$config_message\n - Default Skin:\t\t\t $SKIN_DEFAULT"
|
||||
config_message="$config_message\n - Include extra fonts:\t\t\t $KODI_EXTRA_FONTS"
|
||||
fi
|
||||
|
||||
if [ "$(type -t show_distro_config)" = "function" ]; then
|
||||
show_distro_config
|
||||
fi
|
||||
|
||||
config_message="$config_message\n"
|
||||
config_message="$config_message\n $dashes$dashes$dashes"
|
||||
config_message="$config_message\n End Configuration for $DISTRONAME"
|
||||
config_message="$config_message\n $dashes$dashes$dashes"
|
||||
config_message="$config_message\n\n\n"
|
||||
|
||||
echo -e "$config_message"
|
||||
}
|
||||
@@ -1,2 +1,2 @@
|
||||
# Sourceforge download site
|
||||
SOURCEFORGE_SRC="https://prdownloads.sourceforge.net"
|
||||
SOURCEFORGE_SRC="http://prdownloads.sourceforge.net"
|
||||
9
config/version
Normal file
@@ -0,0 +1,9 @@
|
||||
# VERSION: set full version, use "devel" for development version
|
||||
OPENELEC_VERSION="5.0.0"
|
||||
|
||||
# OS_VERSION: OS Version
|
||||
OS_VERSION="5.0"
|
||||
|
||||
# ADDON_VERSION: Addon version
|
||||
ADDON_VERSION="4.3"
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
#!/bin/sh
|
||||
|
||||
git archive --format=tar --prefix=LibreELEC-source-$1/ tags/$1 | bzip2 > LibreELEC-source-$1.tar.bz2
|
||||
git archive --format=tar --prefix=OpenELEC-source-$1/ tags/$1 | bzip2 > OpenELEC-source-$1.tar.bz2
|
||||
|
||||
|
Before Width: | Height: | Size: 1.2 KiB |
|
Before Width: | Height: | Size: 840 B |
|
Before Width: | Height: | Size: 13 KiB |
@@ -1,229 +0,0 @@
|
||||
# LTO (Link Time Optimization) support
|
||||
LTO_SUPPORT="yes"
|
||||
|
||||
# GOLD (Google Linker) support
|
||||
GOLD_SUPPORT="yes"
|
||||
|
||||
# HARDENING (security relevant linker and compiler flags) support
|
||||
HARDENING_SUPPORT="no"
|
||||
|
||||
# Name of the Distro to build (full name, without special characters)
|
||||
DISTRONAME="LibreELEC"
|
||||
|
||||
# short project description
|
||||
DESCRIPTION="LibreELEC is a fast and user-friendly Kodi Entertainment Center distribution."
|
||||
|
||||
# Welcome Message for e.g. SSH Server (up to 5 Lines)
|
||||
GREETING0="##############################################"
|
||||
GREETING1="# LibreELEC #"
|
||||
GREETING2="# https://libreelec.tv #"
|
||||
GREETING3="##############################################"
|
||||
GREETING4=""
|
||||
|
||||
# Root password to integrate in the target system
|
||||
ROOT_PASSWORD="libreelec"
|
||||
|
||||
# Install glibc locales to the build (yes / no)
|
||||
GLIBC_LOCALES="yes"
|
||||
|
||||
# Mediacenter to use (kodi / no)
|
||||
MEDIACENTER="kodi"
|
||||
|
||||
# Skins to install (Estuary)
|
||||
# Space separated list is supported,
|
||||
# e.g. SKINS="Estuary"
|
||||
SKINS="Estuary"
|
||||
|
||||
# Default Skin (Estuary)
|
||||
SKIN_DEFAULT="Estuary"
|
||||
|
||||
# Select whether to use default (upstream xbmc/xbmc) repo, or specific vendor repo
|
||||
KODI_VENDOR="default"
|
||||
|
||||
# install extra subtitle Fonts for KODI (yes / no)
|
||||
KODI_EXTRA_FONTS="yes"
|
||||
|
||||
# build and install PulseAudio support (yes / no)
|
||||
PULSEAUDIO_SUPPORT="yes"
|
||||
|
||||
# build and install espeak support (yes / no)
|
||||
ESPEAK_SUPPORT="yes"
|
||||
|
||||
# build and install with BluRay support (yes / no)
|
||||
KODI_BLURAY_SUPPORT="yes"
|
||||
|
||||
# build and install with BD+ support
|
||||
# (BD+ decryption support in KODI) (yes / no)
|
||||
BLURAY_BDPLUS_SUPPORT="yes"
|
||||
|
||||
# build and install with AACS support
|
||||
# (BD decryption support in KODI) (yes / no)
|
||||
BLURAY_AACS_SUPPORT="yes"
|
||||
|
||||
# build and install with DVDCSS support
|
||||
# (DVD decryption support in KODI) (yes / no)
|
||||
KODI_DVDCSS_SUPPORT="yes"
|
||||
|
||||
# additional drivers to install:
|
||||
# for a list of additional drivers see packages/linux-drivers
|
||||
# Space separated list is supported,
|
||||
# e.g. ADDITIONAL_DRIVERS="DRIVER1 DRIVER2"
|
||||
ADDITIONAL_DRIVERS="RTL8192CU RTL8192DU RTL8192EU RTL8188EU RTL8812AU"
|
||||
|
||||
# build and install bluetooth support (yes / no)
|
||||
BLUETOOTH_SUPPORT="yes"
|
||||
|
||||
# build and install with KODI webfrontend (yes / no)
|
||||
KODI_WEBSERVER_SUPPORT="yes"
|
||||
|
||||
# build and install Avahi (Zeroconf) daemon (yes / no)
|
||||
AVAHI_DAEMON="yes"
|
||||
|
||||
# build with UPnP support (yes / no)
|
||||
KODI_UPNP_SUPPORT="yes"
|
||||
|
||||
# build with MySQL support (mysql / mariadb / none)
|
||||
KODI_MYSQL_SUPPORT="mariadb"
|
||||
|
||||
# build xbmc with optical drive support (yes / no)
|
||||
KODI_OPTICAL_SUPPORT="yes"
|
||||
|
||||
# build with AirPlay support (stream videos from iDevices to KODI) (yes / no)
|
||||
KODI_AIRPLAY_SUPPORT="yes"
|
||||
|
||||
# build with AirTunes support (stream music from iDevices to KODI) (yes / no)
|
||||
KODI_AIRTUNES_SUPPORT="yes"
|
||||
|
||||
# build with libnfs support (mounting nfs shares with KODI) (yes / no)
|
||||
KODI_NFS_SUPPORT="yes"
|
||||
|
||||
# build with Samba Client support (mounting SAMBA shares with KODI) (yes / no)
|
||||
KODI_SAMBA_SUPPORT="yes"
|
||||
|
||||
# build with NFS support (mounting nfs shares via the OS) (yes / no)
|
||||
NFS_SUPPORT="yes"
|
||||
|
||||
# build with Samba Client support (mounting samba shares via the OS) (yes / no)
|
||||
SAMBA_SUPPORT="yes"
|
||||
|
||||
# build and install Samba Server (yes / no)
|
||||
SAMBA_SERVER="yes"
|
||||
|
||||
# build and install SFTP Server (yes / no)
|
||||
SFTP_SERVER="yes"
|
||||
|
||||
# build and install OpenVPN support (yes / no)
|
||||
OPENVPN_SUPPORT="yes"
|
||||
|
||||
# build and install WireGuard support (yes / no)
|
||||
WIREGUARD_SUPPORT="yes"
|
||||
|
||||
# build and install diskmounter support (udevil)
|
||||
# this service provide auto mounting support for external drives in the
|
||||
# mediacenter also automount internally drives at boottime via udev (yes / no)
|
||||
UDEVIL="yes"
|
||||
|
||||
# build and install exFAT fuse support (yes / no)
|
||||
EXFAT="yes"
|
||||
|
||||
# build and install NTFS-3G fuse support (yes / no)
|
||||
NTFS3G="yes"
|
||||
|
||||
# build and install hfs filesystem utilities (yes / no)
|
||||
HFSTOOLS="yes"
|
||||
|
||||
# Windowmanager to use (fluxbox / none)
|
||||
WINDOWMANAGER="fluxbox"
|
||||
|
||||
# Xorg Graphic drivers to use (all / i915,i965,r200,r300,r600,nvidia)
|
||||
# Space separated list is supported,
|
||||
# e.g. GRAPHIC_DRIVERS="i915 i965 r300 r600 radeonsi nvidia"
|
||||
GRAPHIC_DRIVERS="r300 r600 radeonsi i915 i965 nvidia nvidia-legacy vmware virtio"
|
||||
|
||||
# build and install remote support (yes / no)
|
||||
REMOTE_SUPPORT="yes"
|
||||
|
||||
# build and install Joystick support (yes / no)
|
||||
JOYSTICK_SUPPORT="yes"
|
||||
|
||||
# build and install CEC adapter support (yes / no)
|
||||
CEC_SUPPORT="yes"
|
||||
|
||||
# build and install CEC framework support (yes / no)
|
||||
CEC_FRAMEWORK_SUPPORT="no"
|
||||
|
||||
# build and install iSCSI support - iscsistart (yes / no)
|
||||
ISCSI_SUPPORT="yes"
|
||||
|
||||
# Support for partitioning and formating disks in initramfs (yes / no)
|
||||
# This adds support for parted and mkfs.ext3/4 to initramfs for OEM usage
|
||||
INITRAMFS_PARTED_SUPPORT="no"
|
||||
|
||||
# build with swap support (yes / no)
|
||||
SWAP_SUPPORT="yes"
|
||||
|
||||
# swap support enabled per default (yes / no)
|
||||
SWAP_ENABLED_DEFAULT="no"
|
||||
|
||||
# swapfile size if SWAP_SUPPORT=yes in MB
|
||||
SWAPFILESIZE="128"
|
||||
|
||||
# additional packages to install:
|
||||
# Space separated list is supported,
|
||||
# e.g. ADDITIONAL_PACKAGES="PACKAGE1 PACKAGE2"
|
||||
ADDITIONAL_PACKAGES=""
|
||||
|
||||
# build with installer (yes / no)
|
||||
INSTALLER_SUPPORT="yes"
|
||||
|
||||
# Testpackages for development (yes / no)
|
||||
TESTING="no"
|
||||
|
||||
# OEM packages for OEM's (yes / no)
|
||||
OEM_SUPPORT="no"
|
||||
|
||||
# build and install nano text editor (yes / no)
|
||||
NANO_EDITOR="yes"
|
||||
|
||||
# cron support (yes / no)
|
||||
CRON_SUPPORT="yes"
|
||||
|
||||
# Distribution Specific source location
|
||||
DISTRO_MIRROR="http://sources.libreelec.tv/mirror"
|
||||
DISTRO_SRC="http://sources.libreelec.tv/$LIBREELEC_VERSION"
|
||||
|
||||
# Addon Server Url
|
||||
ADDON_SERVER_URL="https://addons.libreelec.tv"
|
||||
|
||||
# set the addon dirs
|
||||
ADDON_PATH="$ADDON_VERSION/${DEVICE:-$PROJECT}/$TARGET_ARCH"
|
||||
ADDON_URL="$ADDON_SERVER_URL/$ADDON_PATH"
|
||||
|
||||
# Default size of system partition, in MB, eg. 512
|
||||
SYSTEM_SIZE=512
|
||||
# Default system partition offset, in sectors, eg. 2048
|
||||
SYSTEM_PART_START=8192
|
||||
|
||||
# Configure debug groups (space delimited key=value pairs, with each value comma-delimited) and default group when DEBUG=yes
|
||||
# Use ! or - prefix to prevent a dependent package from being built with debug. Add + suffix to build dependenencies with debug.
|
||||
DEBUG_GROUPS="kodi+=kodi+,kodi-platform+,p8-platform+,!mesa"
|
||||
DEBUG_GROUP_YES="kodi+"
|
||||
|
||||
# Default supported get handlers (archive, git, file etc.)
|
||||
GET_HANDLER_SUPPORT="archive"
|
||||
|
||||
# Partition labels for USB/SD installation media
|
||||
DISTRO_BOOTLABEL="LIBREELEC"
|
||||
DISTRO_DISKLABEL="STORAGE"
|
||||
|
||||
# Settings package name - blank if not required
|
||||
DISTRO_PKG_SETTINGS="LibreELEC-settings"
|
||||
|
||||
# IR remote protocols supported in default config
|
||||
IR_REMOTE_PROTOCOLS="RC6 NEC"
|
||||
|
||||
# IR remote keymaps supported in default config
|
||||
IR_REMOTE_KEYMAPS="rc6_mce xbox_360 xbox_one"
|
||||
|
||||
# debug tty path
|
||||
DEBUG_TTY="/dev/tty3"
|
||||
|
Before Width: | Height: | Size: 9.1 KiB |
|
Before Width: | Height: | Size: 9.3 KiB |
|
Before Width: | Height: | Size: 23 KiB |
|
Before Width: | Height: | Size: 5.9 KiB |
|
Before Width: | Height: | Size: 5.8 KiB |
@@ -1,8 +0,0 @@
|
||||
# VERSION: set full version, use "devel" for development version
|
||||
LIBREELEC_VERSION="devel"
|
||||
|
||||
# OS_VERSION: OS Version
|
||||
OS_VERSION="9.2"
|
||||
|
||||
# ADDON_VERSION: Addon version
|
||||
ADDON_VERSION="9.2.0"
|
||||
239
distributions/OpenELEC/options
Normal file
@@ -0,0 +1,239 @@
|
||||
# Name of the Distro to build (full name, without special characters)
|
||||
DISTRONAME="OpenELEC"
|
||||
|
||||
# short project description
|
||||
DESCRIPTION="OpenELEC is a fast and userfriendly Kodi Entertainment Center distribution."
|
||||
|
||||
# Welcome Message for e.g. SSH Server (up to 5 Lines)
|
||||
GREETING0="##############################################"
|
||||
GREETING1="# OpenELEC - The living room PC for everyone #"
|
||||
GREETING2="# ...... visit http://www.openelec.tv ...... #"
|
||||
GREETING3="##############################################"
|
||||
GREETING4=""
|
||||
|
||||
# Root password to integrate in the target system
|
||||
ROOT_PASSWORD="openelec"
|
||||
|
||||
# Mediacenter to use (kodi / no)
|
||||
MEDIACENTER="kodi"
|
||||
|
||||
# Skins to install (Confluence)
|
||||
# Space separated list is supported,
|
||||
# e.g. SKINS="Confluence"
|
||||
SKINS="Confluence"
|
||||
|
||||
# Default Skin (Confluence)
|
||||
SKIN_DEFAULT="Confluence"
|
||||
|
||||
# install extra subtitle Fonts for KODI (yes / no)
|
||||
KODI_EXTRA_FONTS="yes"
|
||||
|
||||
# build and install 'RSXS' Screensaver (yes / no)
|
||||
KODI_SCR_RSXS="yes"
|
||||
|
||||
# build and install 'ProjectM' Visualization (yes / no)
|
||||
KODI_VIS_PROJECTM="yes"
|
||||
|
||||
# build and install 'GOOM' Visualization (yes / no)
|
||||
KODI_VIS_GOOM="yes"
|
||||
|
||||
# build and install 'Waveform' Visualization (yes / no)
|
||||
KODI_VIS_WAVEFORM="yes"
|
||||
|
||||
# build and install 'Spectrum' Visualization (yes / no)
|
||||
KODI_VIS_SPECTRUM="yes"
|
||||
|
||||
# build and install 'FishBMC' Visualization (yes / no)
|
||||
# does not work on RPi
|
||||
KODI_VIS_FISHBMC="yes"
|
||||
|
||||
# build and install PulseAudio support (yes / no)
|
||||
PULSEAUDIO_SUPPORT="no"
|
||||
|
||||
# build and install espeak support (yes / no)
|
||||
ESPEAK_SUPPORT="yes"
|
||||
|
||||
# build and install with non-free support
|
||||
# (RAR compression support in KODI) (yes / no)
|
||||
KODI_NONFREE_SUPPORT="yes"
|
||||
|
||||
# build and install with BluRay support (yes / no)
|
||||
KODI_BLURAY_SUPPORT="yes"
|
||||
|
||||
# build and install with BD+ support
|
||||
# (BD+ decryption support in KODI) (yes / no)
|
||||
BLURAY_BDPLUS_SUPPORT="yes"
|
||||
|
||||
# build and install with AACS support
|
||||
# (BD decryption support in KODI) (yes / no)
|
||||
BLURAY_AACS_SUPPORT="yes"
|
||||
|
||||
# build and install with DVDCSS support
|
||||
# (DVD decryption support in KODI) (yes / no)
|
||||
KODI_DVDCSS_SUPPORT="yes"
|
||||
|
||||
# additional drivers to install:
|
||||
# for a list of additinoal drivers see packages/linux-drivers
|
||||
# Space separated list is supported,
|
||||
# e.g. ADDITIONAL_DRIVERS="DRIVER1 DRIVER2"
|
||||
ADDITIONAL_DRIVERS="RTL8192CU RTL8192DU RTL8188EU RTL8812AU dvbhdhomerun"
|
||||
|
||||
# build and install bluetooth support (yes / no)
|
||||
BLUETOOTH_SUPPORT="yes"
|
||||
|
||||
# build and install with KODI webfrontend (yes / no)
|
||||
KODI_WEBSERVER_SUPPORT="yes"
|
||||
|
||||
# build and install Avahi (Zeroconf) daemon (yes / no)
|
||||
AVAHI_DAEMON="yes"
|
||||
|
||||
# build with UPnP support (yes / no)
|
||||
KODI_UPNP_SUPPORT="yes"
|
||||
|
||||
# build with MySQL support (yes / no)
|
||||
KODI_MYSQL_SUPPORT="yes"
|
||||
|
||||
# build xbmc with sshlib support (yes / no)
|
||||
KODI_SSHLIB_SUPPORT="yes"
|
||||
|
||||
# build xbmc with optical drive support (yes / no)
|
||||
KODI_OPTICAL_SUPPORT="yes"
|
||||
|
||||
# KODI Audio encoders for usage with optical drive support
|
||||
# Space separated list is supported,
|
||||
# e.g. KODI_AUDIOENCODER_ADDONS="ENCODER1 ENCODER2"
|
||||
KODI_AUDIOENCODER_ADDONS="flac lame vorbis wav"
|
||||
|
||||
# build with AirPlay support (stream videos from iDevices to KODI) (yes / no)
|
||||
KODI_AIRPLAY_SUPPORT="yes"
|
||||
|
||||
# build with AirTunes support (stream music from iDevices to KODI) (yes / no)
|
||||
KODI_AIRTUNES_SUPPORT="yes"
|
||||
|
||||
# build with libnfs support (mounting nfs shares with KODI) (yes / no)
|
||||
KODI_NFS_SUPPORT="yes"
|
||||
|
||||
# build with afpfs-ng support (mounting AFP shares with KODI) (yes / no)
|
||||
KODI_AFP_SUPPORT="no"
|
||||
|
||||
# build with Samba Client support (mounting SAMBA shares with KODI) (yes / no)
|
||||
KODI_SAMBA_SUPPORT="yes"
|
||||
|
||||
# build with NFS support (mounting nfs shares via the OS) (yes / no)
|
||||
NFS_SUPPORT="yes"
|
||||
|
||||
# build with Samba Client support (mounting samba shares via the OS) (yes / no)
|
||||
SAMBA_SUPPORT="yes"
|
||||
|
||||
# build and install Samba Server (yes / no)
|
||||
SAMBA_SERVER="yes"
|
||||
|
||||
# build and install SFTP Server (yes / no)
|
||||
SFTP_SERVER="yes"
|
||||
|
||||
# build and install PPP support (yes / no)
|
||||
PPTP_SUPPORT="yes"
|
||||
|
||||
# build and install OpenVPN support (yes / no)
|
||||
OPENVPN_SUPPORT="yes"
|
||||
|
||||
# build and install diskmounter support (udevil)
|
||||
# this service provide auto mounting support for external drives in the
|
||||
# mediacenter also automount internally drives at boottime via udev (yes / no)
|
||||
UDEVIL="yes"
|
||||
|
||||
# build and install exFAT fuse support (yes / no)
|
||||
EXFAT="yes"
|
||||
|
||||
# build and install NTFS-3G fuse support (yes / no)
|
||||
NTFS3G="yes"
|
||||
|
||||
# build and install hfs filesystem utilities (yes / no)
|
||||
HFSTOOLS="yes"
|
||||
|
||||
# Windowmanager to use (ratpoison / fluxbox / none)
|
||||
WINDOWMANAGER="fluxbox"
|
||||
|
||||
# Xorg Graphic drivers to use (all / i915,i965,r200,r300,r600,nvidia,nouveau)
|
||||
# Space separated list is supported,
|
||||
# e.g. GRAPHIC_DRIVERS="i915 i965 r300 r600 radeonsi nvidia nouveau"
|
||||
if [ "$TARGET_ARCH" = "i386" ]; then
|
||||
# TODO: create Legacy build with OpenELEC-4.2
|
||||
# install legacy drivers to i386 ARCH
|
||||
GRAPHIC_DRIVERS="r200 r300 r600 i915 i965 nvidia-legacy"
|
||||
elif [ "$TARGET_ARCH" = "x86_64" ]; then
|
||||
GRAPHIC_DRIVERS="r300 r600 radeonsi i915 i965 nvidia"
|
||||
fi
|
||||
|
||||
# build and install remote support (yes / no)
|
||||
REMOTE_SUPPORT="yes"
|
||||
|
||||
# build and install ATV IR remote support (yes / no)
|
||||
ATVCLIENT_SUPPORT="yes"
|
||||
|
||||
# build and install IRServer IR/LCD support (yes / no)
|
||||
IRSERVER_SUPPORT="yes"
|
||||
|
||||
# build and install Joystick support (yes / no)
|
||||
JOYSTICK_SUPPORT="yes"
|
||||
|
||||
# build and install CEC adapter support (yes / no)
|
||||
CEC_SUPPORT="yes"
|
||||
|
||||
# build and install iSCSI support - iscsistart (yes / no)
|
||||
ISCSI_SUPPORT="yes"
|
||||
|
||||
# LCD driver to Use - Possible drivers are ( Comma seperated:
|
||||
# bayrad,CFontz,CFontz633,CFontzPacket,curses,CwLnx,dm140,
|
||||
# ea65,EyeboxOne,g15,glcdlib,glk,hd44780,i2500vfd,
|
||||
# icp_a106,imon,imonlcd,IOWarrior,irman,irtrans,
|
||||
# joy,lb216,lcdm001,lcterm,lirc,lis,MD8800,mdm166a,
|
||||
# ms6931,mtc_s16209x,MtxOrb,mx5000,NoritakeVFD,
|
||||
# picolcd,pyramid,sed1330,sed1520,serialPOS,
|
||||
# serialVFD,shuttleVFD,sli,stv5730,SureElec,svga,vlsys_m428
|
||||
# 'all' compiles all drivers;
|
||||
# 'all,!xxx,!yyy' de-selects previously selected drivers
|
||||
# "none" for disable LCD support
|
||||
LCD_DRIVER="irtrans,imon,imonlcd,mdm166a,MtxOrb,lis,dm140,hd44780,CFontz,SureElec,vlsys_m428,serialVFD,shuttleVFD"
|
||||
|
||||
# Support for partitioning and formating disks in initramfs (yes / no)
|
||||
# This adds support for parted and mkfs.ext3/4 to initramfs for OEM usage
|
||||
INITRAMFS_PARTED_SUPPORT="no"
|
||||
|
||||
# build with swap support (yes / no)
|
||||
SWAP_SUPPORT="no"
|
||||
|
||||
# swap support enabled per default (yes / no)
|
||||
SWAP_ENABLED_DEFAULT="no"
|
||||
|
||||
# swapfile size if SWAP_SUPPORT=yes in MB
|
||||
SWAPFILESIZE="256"
|
||||
|
||||
# build with installer (yes / no)
|
||||
INSTALLER_SUPPORT="yes"
|
||||
|
||||
# Testpackages for development (yes / no)
|
||||
TESTING="no"
|
||||
|
||||
# OEM packages for OEM's (yes / no)
|
||||
OEM_SUPPORT="no"
|
||||
|
||||
# build and install nano text editor (yes / no)
|
||||
NANO_EDITOR="yes"
|
||||
|
||||
# cron support (yes / no)
|
||||
CRON_SUPPORT="yes"
|
||||
|
||||
# Perf support in development builds (yes / no)
|
||||
PERF_SUPPORT="yes"
|
||||
|
||||
# Distribution Specific source location
|
||||
DISTRO_MIRROR="http://sources.openelec.tv/mirror"
|
||||
DISTRO_SRC="http://sources.openelec.tv/$OPENELEC_VERSION"
|
||||
|
||||
# Addon Server Url
|
||||
ADDON_SERVER_URL="http://addons.openelec.tv"
|
||||
|
||||
# set the addon dirs
|
||||
ADDON_PATH="$ADDON_VERSION/$PROJECT/$TARGET_ARCH"
|
||||
ADDON_URL="$ADDON_SERVER_URL/$ADDON_PATH"
|
||||
BIN
distributions/OpenELEC/splash/splash-1024.png
Normal file
|
After Width: | Height: | Size: 207 KiB |
BIN
distributions/OpenELEC/splash/splash-full.png
Normal file
|
After Width: | Height: | Size: 439 KiB |
@@ -1,23 +0,0 @@
|
||||
Boost Software License - Version 1.0 - August 17th, 2003
|
||||
|
||||
Permission is hereby granted, free of charge, to any person or organization
|
||||
obtaining a copy of the software and accompanying documentation covered by
|
||||
this license (the "Software") to use, reproduce, display, distribute,
|
||||
execute, and transmit the Software, and to prepare derivative works of the
|
||||
Software, and to permit third-parties to whom the Software is furnished to
|
||||
do so, all subject to the following:
|
||||
|
||||
The copyright notices in the Software and this entire statement, including
|
||||
the above license grant, this restriction and the following disclaimer,
|
||||
must be included in all copies of the Software, in whole or in part, and
|
||||
all derivative works of the Software, unless such copies or derivative
|
||||
works are solely in the form of machine-executable object code generated by
|
||||
a source language processor.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
|
||||
SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
|
||||
FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
|
||||
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
|
||||
DEALINGS IN THE SOFTWARE.
|
||||
@@ -1,134 +0,0 @@
|
||||
COPYRIGHT NOTICE, DISCLAIMER, and LICENSE
|
||||
=========================================
|
||||
|
||||
PNG Reference Library License version 2
|
||||
---------------------------------------
|
||||
|
||||
* Copyright (c) 1995-2019 The PNG Reference Library Authors.
|
||||
* Copyright (c) 2018-2019 Cosmin Truta.
|
||||
* Copyright (c) 2000-2002, 2004, 2006-2018 Glenn Randers-Pehrson.
|
||||
* Copyright (c) 1996-1997 Andreas Dilger.
|
||||
* Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc.
|
||||
|
||||
The software is supplied "as is", without warranty of any kind,
|
||||
express or implied, including, without limitation, the warranties
|
||||
of merchantability, fitness for a particular purpose, title, and
|
||||
non-infringement. In no event shall the Copyright owners, or
|
||||
anyone distributing the software, be liable for any damages or
|
||||
other liability, whether in contract, tort or otherwise, arising
|
||||
from, out of, or in connection with the software, or the use or
|
||||
other dealings in the software, even if advised of the possibility
|
||||
of such damage.
|
||||
|
||||
Permission is hereby granted to use, copy, modify, and distribute
|
||||
this software, or portions hereof, for any purpose, without fee,
|
||||
subject to the following restrictions:
|
||||
|
||||
1. The origin of this software must not be misrepresented; you
|
||||
must not claim that you wrote the original software. If you
|
||||
use this software in a product, an acknowledgment in the product
|
||||
documentation would be appreciated, but is not required.
|
||||
|
||||
2. Altered source versions must be plainly marked as such, and must
|
||||
not be misrepresented as being the original software.
|
||||
|
||||
3. This Copyright notice may not be removed or altered from any
|
||||
source or altered source distribution.
|
||||
|
||||
|
||||
PNG Reference Library License version 1 (for libpng 0.5 through 1.6.35)
|
||||
-----------------------------------------------------------------------
|
||||
|
||||
libpng versions 1.0.7, July 1, 2000, through 1.6.35, July 15, 2018 are
|
||||
Copyright (c) 2000-2002, 2004, 2006-2018 Glenn Randers-Pehrson, are
|
||||
derived from libpng-1.0.6, and are distributed according to the same
|
||||
disclaimer and license as libpng-1.0.6 with the following individuals
|
||||
added to the list of Contributing Authors:
|
||||
|
||||
Simon-Pierre Cadieux
|
||||
Eric S. Raymond
|
||||
Mans Rullgard
|
||||
Cosmin Truta
|
||||
Gilles Vollant
|
||||
James Yu
|
||||
Mandar Sahastrabuddhe
|
||||
Google Inc.
|
||||
Vadim Barkov
|
||||
|
||||
and with the following additions to the disclaimer:
|
||||
|
||||
There is no warranty against interference with your enjoyment of
|
||||
the library or against infringement. There is no warranty that our
|
||||
efforts or the library will fulfill any of your particular purposes
|
||||
or needs. This library is provided with all faults, and the entire
|
||||
risk of satisfactory quality, performance, accuracy, and effort is
|
||||
with the user.
|
||||
|
||||
Some files in the "contrib" directory and some configure-generated
|
||||
files that are distributed with libpng have other copyright owners, and
|
||||
are released under other open source licenses.
|
||||
|
||||
libpng versions 0.97, January 1998, through 1.0.6, March 20, 2000, are
|
||||
Copyright (c) 1998-2000 Glenn Randers-Pehrson, are derived from
|
||||
libpng-0.96, and are distributed according to the same disclaimer and
|
||||
license as libpng-0.96, with the following individuals added to the
|
||||
list of Contributing Authors:
|
||||
|
||||
Tom Lane
|
||||
Glenn Randers-Pehrson
|
||||
Willem van Schaik
|
||||
|
||||
libpng versions 0.89, June 1996, through 0.96, May 1997, are
|
||||
Copyright (c) 1996-1997 Andreas Dilger, are derived from libpng-0.88,
|
||||
and are distributed according to the same disclaimer and license as
|
||||
libpng-0.88, with the following individuals added to the list of
|
||||
Contributing Authors:
|
||||
|
||||
John Bowler
|
||||
Kevin Bracey
|
||||
Sam Bushell
|
||||
Magnus Holmgren
|
||||
Greg Roelofs
|
||||
Tom Tanner
|
||||
|
||||
Some files in the "scripts" directory have other copyright owners,
|
||||
but are released under this license.
|
||||
|
||||
libpng versions 0.5, May 1995, through 0.88, January 1996, are
|
||||
Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc.
|
||||
|
||||
For the purposes of this copyright and license, "Contributing Authors"
|
||||
is defined as the following set of individuals:
|
||||
|
||||
Andreas Dilger
|
||||
Dave Martindale
|
||||
Guy Eric Schalnat
|
||||
Paul Schmidt
|
||||
Tim Wegner
|
||||
|
||||
The PNG Reference Library is supplied "AS IS". The Contributing
|
||||
Authors and Group 42, Inc. disclaim all warranties, expressed or
|
||||
implied, including, without limitation, the warranties of
|
||||
merchantability and of fitness for any purpose. The Contributing
|
||||
Authors and Group 42, Inc. assume no liability for direct, indirect,
|
||||
incidental, special, exemplary, or consequential damages, which may
|
||||
result from the use of the PNG Reference Library, even if advised of
|
||||
the possibility of such damage.
|
||||
|
||||
Permission is hereby granted to use, copy, modify, and distribute this
|
||||
source code, or portions hereof, for any purpose, without fee, subject
|
||||
to the following restrictions:
|
||||
|
||||
1. The origin of this source code must not be misrepresented.
|
||||
|
||||
2. Altered versions must be plainly marked as such and must not
|
||||
be misrepresented as being the original source.
|
||||
|
||||
3. This Copyright notice may not be removed or altered from any
|
||||
source or altered source distribution.
|
||||
|
||||
The Contributing Authors and Group 42, Inc. specifically permit,
|
||||
without fee, and encourage the use of this source code as a component
|
||||
to supporting the PNG file format in commercial products. If you use
|
||||
this source code in a product, acknowledgment is not required but would
|
||||
be appreciated.
|
||||
53
packages/3rdparty/lib/cxxtools/package.mk
vendored
Normal file
@@ -0,0 +1,53 @@
|
||||
################################################################################
|
||||
# This file is part of OpenELEC - http://www.openelec.tv
|
||||
# Copyright (C) 2009-2014 Stephan Raue (stephan@openelec.tv)
|
||||
#
|
||||
# OpenELEC is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation, either version 2 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# OpenELEC is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with OpenELEC. If not, see <http://www.gnu.org/licenses/>.
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="cxxtools"
|
||||
PKG_VERSION="2.2"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL-2"
|
||||
PKG_SITE="http://www.tntnet.org/cxxtools.html"
|
||||
PKG_URL="http://www.tntnet.org/download/${PKG_NAME}-${PKG_VERSION}.tar.gz"
|
||||
PKG_DEPENDS_HOST=""
|
||||
PKG_DEPENDS_TARGET="toolchain"
|
||||
PKG_PRIORITY="optional"
|
||||
PKG_SECTION="python/web"
|
||||
PKG_SHORTDESC="cxxtools: a collection of general-purpose C++ classes"
|
||||
PKG_LONGDESC="Cxxtools is a collection of general-purpose C++ classes"
|
||||
|
||||
PKG_IS_ADDON="no"
|
||||
PKG_AUTORECONF="no"
|
||||
|
||||
PKG_CONFIGURE_OPTS_HOST="--disable-demos --with-atomictype=pthread --disable-unittest"
|
||||
PKG_CONFIGURE_OPTS_TARGET="--enable-static --disable-shared --disable-demos --with-atomictype=pthread --disable-unittest"
|
||||
|
||||
pre_configure_target() {
|
||||
CFLAGS="$CFLAGS -fPIC"
|
||||
CXXFLAGS="$CXXFLAGS -fPIC"
|
||||
LDFLAGS="$LDFLAGS -fPIC"
|
||||
}
|
||||
|
||||
|
||||
post_makeinstall_host() {
|
||||
rm -rf $TOOLCHAIN/bin/cxxtools-config
|
||||
}
|
||||
|
||||
post_makeinstall_target() {
|
||||
rm -rf $SYSROOT_PREFIX/usr/bin/cxxtools-config
|
||||
rm -rf $INSTALL/usr/bin
|
||||
}
|
||||
10
packages/3rdparty/lib/cxxtools/patches/cxxtools-2.2-no_shared_flag.patch
vendored
Normal file
@@ -0,0 +1,10 @@
|
||||
Index: cxxtools-2.2/src/Makefile.am
|
||||
===================================================================
|
||||
--- cxxtools-2.2.orig/src/Makefile.am 2013-05-05 13:56:03.225204926 +0300
|
||||
+++ cxxtools-2.2/src/Makefile.am 2013-05-05 13:56:14.017219885 +0300
|
||||
@@ -215,4 +215,4 @@
|
||||
endif
|
||||
|
||||
libcxxtools_la_LIBADD = $(LIBICONV)
|
||||
-libcxxtools_la_LDFLAGS = -version-info @sonumber@ @SHARED_LIB_FLAG@
|
||||
+libcxxtools_la_LDFLAGS = -version-info @sonumber@
|
||||
39
packages/3rdparty/lib/libzip/package.mk
vendored
Normal file
@@ -0,0 +1,39 @@
|
||||
################################################################################
|
||||
# This file is part of OpenELEC - http://www.openelec.tv
|
||||
# Copyright (C) 2009-2014 Stephan Raue (stephan@openelec.tv)
|
||||
#
|
||||
# OpenELEC is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation, either version 2 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# OpenELEC is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with OpenELEC. If not, see <http://www.gnu.org/licenses/>.
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="libzip"
|
||||
PKG_VERSION="0.11.2"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
PKG_SITE="http://www.nih.at/libzip/"
|
||||
PKG_URL="http://www.nih.at/libzip/${PKG_NAME}-${PKG_VERSION}.tar.xz"
|
||||
PKG_DEPENDS_TARGET="toolchain"
|
||||
PKG_PRIORITY="optional"
|
||||
PKG_SHORTDESC="libzip"
|
||||
PKG_LONGDESC="libzip"
|
||||
|
||||
PKG_IS_ADDON="no"
|
||||
PKG_AUTORECONF="no"
|
||||
|
||||
PKG_CONFIGURE_OPTS_TARGET="--disable-shared --enable-static"
|
||||
|
||||
post_makeinstall_target() {
|
||||
rm -rf $INSTALL/usr/bin
|
||||
rm -rf $INSTALL/usr/lib
|
||||
}
|
||||
56
packages/3rdparty/web/tntnet/package.mk
vendored
Normal file
@@ -0,0 +1,56 @@
|
||||
################################################################################
|
||||
# This file is part of OpenELEC - http://www.openelec.tv
|
||||
# Copyright (C) 2009-2014 Stephan Raue (stephan@openelec.tv)
|
||||
#
|
||||
# OpenELEC is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation, either version 2 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# OpenELEC is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with OpenELEC. If not, see <http://www.gnu.org/licenses/>.
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="tntnet"
|
||||
PKG_VERSION="2.2"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL-2"
|
||||
PKG_SITE="http://www.tntnet.org/"
|
||||
PKG_URL="http://www.tntnet.org/download/${PKG_NAME}-${PKG_VERSION}.tar.gz"
|
||||
PKG_DEPENDS_HOST="cxxtools:host zlib:host"
|
||||
PKG_DEPENDS_TARGET="toolchain tntnet:host libtool cxxtools"
|
||||
PKG_PRIORITY="optional"
|
||||
PKG_SECTION="python/web"
|
||||
PKG_SHORTDESC="tntnet: C++ Dynamite for the Web"
|
||||
PKG_LONGDESC="Tntnet is a modular, multithreaded, high performance webapplicationserver for C++"
|
||||
|
||||
PKG_IS_ADDON="no"
|
||||
PKG_AUTORECONF="no"
|
||||
|
||||
PKG_CONFIGURE_OPTS_HOST="--disable-unittest \
|
||||
--with-server=no \
|
||||
--with-sdk=yes \
|
||||
--with-demos=no \
|
||||
--with-epoll=yes \
|
||||
--with-ssl=no \
|
||||
--with-stressjob=no"
|
||||
|
||||
PKG_CONFIGURE_OPTS_TARGET="--disable-unittest \
|
||||
--with-sysroot=$SYSROOT_PREFIX \
|
||||
--with-server=no \
|
||||
--with-sdk=no \
|
||||
--with-demos=no \
|
||||
--with-epoll=yes \
|
||||
--with-ssl=no \
|
||||
--with-stressjob=no"
|
||||
|
||||
post_makeinstall_target() {
|
||||
rm -rf $INSTALL/usr/bin
|
||||
rm -rf $INSTALL/usr/share
|
||||
}
|
||||
@@ -1,13 +0,0 @@
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv)
|
||||
|
||||
PKG_NAME="Adafruit_Python_ADS1x15"
|
||||
PKG_VERSION="a963cc0ee83e2ba6d671b02df5febf7250f626aa"
|
||||
PKG_SHA256="2f81a9a6b7b7f46b79faa5b01df0c25fa5f16af80842d74e35b5fbf01ab0c619"
|
||||
PKG_LICENSE="MIT"
|
||||
PKG_SITE="https://github.com/adafruit/${PKG_NAME}"
|
||||
PKG_URL="https://github.com/adafruit/${PKG_NAME}/archive/$PKG_VERSION.tar.gz"
|
||||
PKG_DEPENDS_TARGET="toolchain Python2 distutilscross:host"
|
||||
PKG_LONGDESC="Python code to use the ADS1015 and ADS1115 analog to digital converters with a Raspberry Pi."
|
||||
PKG_TOOLCHAIN="manual"
|
||||
|
||||
@@ -1,12 +0,0 @@
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv)
|
||||
|
||||
PKG_NAME="Adafruit_Python_ADXL345"
|
||||
PKG_VERSION="dca3d90b5477a304fa130f5cc90ea59e3968ce6f"
|
||||
PKG_SHA256="22ec0fc6679cc3e9b5f0aff5cfeef34cbbf13e59aecfb829c2f0dc2d90b5fb8b"
|
||||
PKG_LICENSE="MIT"
|
||||
PKG_SITE="https://github.com/adafruit/${PKG_NAME}"
|
||||
PKG_URL="https://github.com/adafruit/${PKG_NAME}/archive/$PKG_VERSION.tar.gz"
|
||||
PKG_DEPENDS_TARGET="toolchain Python2 distutilscross:host"
|
||||
PKG_LONGDESC="Python code to use the ADXL345 triple-axis accelerometer over I2C with a Raspberry Pi."
|
||||
PKG_TOOLCHAIN="manual"
|
||||
@@ -1,12 +0,0 @@
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv)
|
||||
|
||||
PKG_NAME="Adafruit_Python_BMP"
|
||||
PKG_VERSION="e8521e969afae3321d9789353d7e92ea9a5e9a56"
|
||||
PKG_SHA256="e5e140c34e312f6a00c62b1bd47ebe3f1857009b1c202c18c7b092ebb2e1eb9c"
|
||||
PKG_LICENSE="MIT"
|
||||
PKG_SITE="https://github.com/adafruit/${PKG_NAME}"
|
||||
PKG_URL="https://github.com/adafruit/${PKG_NAME}/archive/$PKG_VERSION.tar.gz"
|
||||
PKG_DEPENDS_TARGET="toolchain Python2 distutilscross:host"
|
||||
PKG_LONGDESC="Python library for accessing the BMP series pressure and temperature sensors like the BMP085/BMP180 on a Raspberry Pi."
|
||||
PKG_TOOLCHAIN="manual"
|
||||
@@ -1,12 +0,0 @@
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv)
|
||||
|
||||
PKG_NAME="Adafruit_Python_CharLCD"
|
||||
PKG_VERSION="bc75cad284766240424f29dc8e7b84d0caceb72e"
|
||||
PKG_SHA256="eae4b446162feb533a469a9dacf6e750250f925561c9f7983a11d340e1dd98d4"
|
||||
PKG_LICENSE="MIT"
|
||||
PKG_SITE="https://github.com/adafruit/${PKG_NAME}"
|
||||
PKG_URL="https://github.com/adafruit/${PKG_NAME}/archive/$PKG_VERSION.tar.gz"
|
||||
PKG_DEPENDS_TARGET="toolchain Python2 distutilscross:host"
|
||||
PKG_LONGDESC="Python library for accessing Adafruit character LCDs from a Raspberry Pi."
|
||||
PKG_TOOLCHAIN="manual"
|
||||
@@ -1,32 +0,0 @@
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv)
|
||||
|
||||
PKG_NAME="Adafruit_Python_DHT"
|
||||
PKG_VERSION="18846deec6a96572b3f2c4a9edfb5bac55b46f5b"
|
||||
PKG_SHA256="9125f8f42b4874db257a45184b866e8b424aa67230d2ffbc734b53686da7817f"
|
||||
PKG_LICENSE="MIT"
|
||||
PKG_SITE="https://github.com/adafruit/${PKG_NAME}"
|
||||
PKG_URL="https://github.com/adafruit/${PKG_NAME}/archive/$PKG_VERSION.tar.gz"
|
||||
PKG_DEPENDS_TARGET="toolchain Python2 distutilscross:host"
|
||||
PKG_LONGDESC="Python library to read the DHT series of humidity and temperature sensors on a Raspberry Pi."
|
||||
PKG_TOOLCHAIN="manual"
|
||||
|
||||
pre_make_target() {
|
||||
export PYTHONXCPREFIX="$SYSROOT_PREFIX/usr"
|
||||
export LDSHARED="$CC -shared"
|
||||
}
|
||||
|
||||
make_target() {
|
||||
case "$PROJECT:$DEVICE" in
|
||||
"RPi:RPi")
|
||||
PKG_RPI_VERSION="--force-pi"
|
||||
;;
|
||||
"RPi:RPi2")
|
||||
PKG_RPI_VERSION="--force-pi2"
|
||||
;;
|
||||
*)
|
||||
PKG_RPI_VERSION=""
|
||||
esac
|
||||
|
||||
python setup.py build $PKG_RPI_VERSION --cross-compile
|
||||
}
|
||||
@@ -1,12 +0,0 @@
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv)
|
||||
|
||||
PKG_NAME="Adafruit_Python_GPIO"
|
||||
PKG_VERSION="c543d1df9c0a71bafb9f0a1f9dceecd79a920e74"
|
||||
PKG_SHA256="d3cb74fd033ebe5aea1786a584d64ef5eb8082ef2bf0a568b01691612cd04e88"
|
||||
PKG_LICENSE="MIT"
|
||||
PKG_SITE="https://github.com/adafruit/${PKG_NAME}"
|
||||
PKG_URL="https://github.com/adafruit/${PKG_NAME}/archive/$PKG_VERSION.tar.gz"
|
||||
PKG_DEPENDS_TARGET="toolchain Python2 distutilscross:host"
|
||||
PKG_LONGDESC="Library to provide a cross-platform GPIO interface on the Raspberry Pi ."
|
||||
PKG_TOOLCHAIN="manual"
|
||||
@@ -1,12 +0,0 @@
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv)
|
||||
|
||||
PKG_NAME="Adafruit_Python_LED_Backpack"
|
||||
PKG_VERSION="e34b9548e86e63747563a94f02b65b2980fdefff"
|
||||
PKG_SHA256="244d2625cdaebdc68e299fedde276efa5c9f7c143681c4ee056fb8350a4f7167"
|
||||
PKG_LICENSE="MIT"
|
||||
PKG_SITE="https://github.com/adafruit/${PKG_NAME}"
|
||||
PKG_URL="https://github.com/adafruit/${PKG_NAME}/archive/$PKG_VERSION.tar.gz"
|
||||
PKG_DEPENDS_TARGET="toolchain Python2 distutilscross:host"
|
||||
PKG_LONGDESC="Python library for controlling LED backpack displays."
|
||||
PKG_TOOLCHAIN="manual"
|
||||
@@ -1,12 +0,0 @@
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv)
|
||||
|
||||
PKG_NAME="Adafruit_Python_LSM303"
|
||||
PKG_VERSION="37d288844515d7bb62a2329982eb033e92dceceb"
|
||||
PKG_SHA256="609591f2add15e849d3bba320417c705a50a3ed077632baf20c12c8b740d5331"
|
||||
PKG_LICENSE="MIT"
|
||||
PKG_SITE="https://github.com/adafruit/${PKG_NAME}"
|
||||
PKG_URL="https://github.com/adafruit/${PKG_NAME}/archive/$PKG_VERSION.tar.gz"
|
||||
PKG_DEPENDS_TARGET="toolchain Python2 distutilscross:host"
|
||||
PKG_LONGDESC="Python code to use the LSM303 accelerometer & magnetometer with Raspberry Pi."
|
||||
PKG_TOOLCHAIN="manual"
|
||||
@@ -1,12 +0,0 @@
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv)
|
||||
|
||||
PKG_NAME="Adafruit_Python_MCP3008"
|
||||
PKG_VERSION="e721d26e650c99b0f6d3efd4ec30444e1adf5ccd"
|
||||
PKG_SHA256="f5e4c847a87716c16f0209df95c281b5071549644a79a143a77b212f25c464dc"
|
||||
PKG_LICENSE="MIT"
|
||||
PKG_SITE="https://github.com/adafruit/${PKG_NAME}"
|
||||
PKG_URL="https://github.com/adafruit/${PKG_NAME}/archive/$PKG_VERSION.tar.gz"
|
||||
PKG_DEPENDS_TARGET="toolchain Python2 distutilscross:host"
|
||||
PKG_LONGDESC="Python code to use the MCP3008 analog to digital converter with a Raspberry Pi."
|
||||
PKG_TOOLCHAIN="manual"
|
||||
@@ -1,12 +0,0 @@
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv)
|
||||
|
||||
PKG_NAME="Adafruit_Python_MCP4725"
|
||||
PKG_VERSION="4d028bbcf58b011a8f14c5d95057b7e1dcc1064e"
|
||||
PKG_SHA256="6ebbd1f76807b01dc2b723064e52b0c82fc45388265b8ec867e0a42a46a6e926"
|
||||
PKG_LICENSE="MIT"
|
||||
PKG_SITE="https://github.com/adafruit/${PKG_NAME}"
|
||||
PKG_URL="https://github.com/adafruit/${PKG_NAME}/archive/$PKG_VERSION.tar.gz"
|
||||
PKG_DEPENDS_TARGET="toolchain Python2 distutilscross:host"
|
||||
PKG_LONGDESC="Python code to use the MCP4725 digital to analog converter with a Raspberry Pi."
|
||||
PKG_TOOLCHAIN="manual"
|
||||
@@ -1,12 +0,0 @@
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv)
|
||||
|
||||
PKG_NAME="Adafruit_Python_PCA9685"
|
||||
PKG_VERSION="f86db2ca5de379748afd71e379ce2155f47d21e7"
|
||||
PKG_SHA256="46e11dcfbfaab5756ddeb6ab31740cf8c7419ec1d32be2519f19882e7d86e426"
|
||||
PKG_LICENSE="MIT"
|
||||
PKG_SITE="https://github.com/adafruit/${PKG_NAME}"
|
||||
PKG_URL="https://github.com/adafruit/${PKG_NAME}/archive/$PKG_VERSION.tar.gz"
|
||||
PKG_DEPENDS_TARGET="toolchain Python2 distutilscross:host"
|
||||
PKG_LONGDESC="Python code to use the PCA9685 PWM servo/LED controller with a Raspberry Pi."
|
||||
PKG_TOOLCHAIN="manual"
|
||||
@@ -1,12 +0,0 @@
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv)
|
||||
|
||||
PKG_NAME="Adafruit_Python_PureIO"
|
||||
PKG_VERSION="6f4976d91c52d70b67b28bba75a429b5328a52c1"
|
||||
PKG_SHA256="891a4d077fe6610de6aa4b0dc5b9933a6c7db3492072df60c0383662f28c2ae9"
|
||||
PKG_LICENSE="MIT"
|
||||
PKG_SITE="https://github.com/adafruit/${PKG_NAME}"
|
||||
PKG_URL="https://github.com/adafruit/${PKG_NAME}/archive/$PKG_VERSION.tar.gz"
|
||||
PKG_DEPENDS_TARGET="toolchain Python2 distutilscross:host"
|
||||
PKG_LONGDESC="Pure python access to Linux IO including I2C and SPI."
|
||||
PKG_TOOLCHAIN="manual"
|
||||
@@ -1,12 +0,0 @@
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv)
|
||||
|
||||
PKG_NAME="Adafruit_Python_SI1145"
|
||||
PKG_VERSION="18c400643b39dbf29ab7ff8e74ab0c5c36ef5cf1"
|
||||
PKG_SHA256="0238b2c01cfbb2890ae78468d2fc19c815748fc94860a4eb92b649d074476264"
|
||||
PKG_LICENSE="MIT"
|
||||
PKG_SITE="https://github.com/THP-JOE/Python_SI1145"
|
||||
PKG_URL="https://github.com/THP-JOE/Python_SI1145/archive/$PKG_VERSION.tar.gz"
|
||||
PKG_DEPENDS_TARGET="toolchain Python2 distutilscross:host"
|
||||
PKG_LONGDESC="Python library for accessing the SI1145 temperature sensor on a Raspberry Pi"
|
||||
PKG_TOOLCHAIN="manual"
|
||||