From 40af3531322b723e9ec76204c6a65c19f01574dc Mon Sep 17 00:00:00 2001 From: Lukas Rusak Date: Fri, 11 Mar 2016 22:31:41 +0100 Subject: [PATCH] rebrand: LibreELEC --- CHANGELOG | 8 +- CONTRIBUTING.md | 42 +++++----- README.md | 34 ++++----- config/addon/xbmc.python.module.xml | 2 +- config/addon/xbmc.python.script.xml | 2 +- config/addon/xbmc.service.xml | 2 +- config/functions | 28 +++---- config/noobs/os.json | 2 +- config/noobs/partition_setup.sh | 18 ++--- config/options | 18 ++--- config/path | 14 ++-- config/version | 2 +- .../sources/addon.xml | 12 +-- .../mediacenter/OpenELEC-settings/package.mk | 62 --------------- .../OpenELEC-settings/scripts/backup-restore | 45 ----------- .../OpenELEC-settings/scripts/factory-reset | 72 ------------------ .../system.d/backup-restore.service | 10 --- .../system.d/backup-restore.target | 5 -- .../system.d/factory-reset.service | 10 --- .../system.d/factory-reset.target | 5 -- ...ce-001-add_oe_settings_to_homescreen.patch | 2 +- .../kodi/config/os.openelec.tv/addon.xml | 6 -- .../config/repository.openelec.tv/addon.xml | 17 ----- .../config/repository.openelec.tv/icon.png | Bin 46084 -> 0 bytes packages/mediacenter/kodi/package.mk | 12 +-- .../mediacenter/kodi/patches/README.patches | 4 +- ...kodi-100.02-add-openelec.tv-RSS-news.patch | 2 +- ...-a-wrapper-to-setup-systemd-services.patch | 2 +- .../kodi/system.d/kodi-cleanlogs.service | 2 +- .../kodi/system.d/kodi-waitonnetwork.service | 4 +- .../mediacenter/kodi/system.d/kodi.service | 4 +- .../avahi/system.d/avahi-daemon.service | 2 +- .../network/bluez/system.d/bluetooth.service | 2 +- packages/network/bluez/system.d/obex.service | 2 +- packages/network/connman/config/hosts.conf | 2 +- .../network/connman/system.d/connman.service | 2 +- packages/network/samba/default.d/samba.conf | 4 +- packages/sysutils/busybox/package.mk | 4 +- .../busybox/system.d/debug-shell.service | 2 +- .../busybox/system.d/fs-resize.service | 2 +- .../busybox/system.d/var-log-debug.service | 2 +- packages/sysutils/imx6-soc-fan/package.mk | 4 +- .../system.d/imx6-soc-fan-monitor.service | 2 +- packages/sysutils/imx6-status-led/package.mk | 4 +- .../system.d/imx6-status-led.service | 4 +- packages/sysutils/lcdproc/package.mk | 4 +- .../sysutils/lcdproc/system.d/lcdd.service | 2 +- packages/sysutils/lirc/package.mk | 4 +- .../sysutils/lirc/system.d/lircd@.service | 4 +- .../systemd/system.d/debugconfig.service | 4 +- packages/sysutils/util-linux/package.mk | 4 +- .../sysutils/util-linux/system.d/swap.service | 4 +- packages/virtual/mediacenter/package.mk | 2 +- packages/x11/other/fluxbox/config/keys | 2 +- packages/x11/xserver/xorg-server/package.mk | 2 +- .../xserver/xorg-server/system.d/xorg.service | 2 +- projects/WeTek_Core/install/updater-script | 2 +- projects/WeTek_Play/install/updater-script | 2 +- scripts/create_addon | 2 +- scripts/image | 42 +++++----- 60 files changed, 168 insertions(+), 400 deletions(-) delete mode 100644 packages/mediacenter/OpenELEC-settings/package.mk delete mode 100755 packages/mediacenter/OpenELEC-settings/scripts/backup-restore delete mode 100755 packages/mediacenter/OpenELEC-settings/scripts/factory-reset delete mode 100644 packages/mediacenter/OpenELEC-settings/system.d/backup-restore.service delete mode 100644 packages/mediacenter/OpenELEC-settings/system.d/backup-restore.target delete mode 100644 packages/mediacenter/OpenELEC-settings/system.d/factory-reset.service delete mode 100644 packages/mediacenter/OpenELEC-settings/system.d/factory-reset.target delete mode 100644 packages/mediacenter/kodi/config/os.openelec.tv/addon.xml delete mode 100644 packages/mediacenter/kodi/config/repository.openelec.tv/addon.xml delete mode 100644 packages/mediacenter/kodi/config/repository.openelec.tv/icon.png diff --git a/CHANGELOG b/CHANGELOG index 3dfe1cf988c..3b125f32485 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,13 +1,13 @@ -OpenELEC CHANGELOG +LibreELEC CHANGELOG ================== To view recent changes/commits to the project (master branch) please visit: -https://github.com/OpenELEC/OpenELEC.tv/commits/master +https://github.com/LibreELEC/LibreELEC.tv/commits/master To compare commits between versions use a formatted URL like: -https://github.com/OpenELEC/OpenELEC.tv/compare/3.2.3...3.2.4 +https://github.com/LibreELEC/LibreELEC.tv/compare/3.2.3...3.2.4 If you have questions on differences between releases please ask them in the -OpenELEC website forums or IRC support channel. +LibreELEC website forums or IRC support channel. diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 573c43fca2b..c11bda60944 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,20 +1,20 @@ -### Questions about OpenELEC? +### Questions about LibreELEC? -To get your questions answered, please ask in the OpenELEC [Forum], on IRC: -\#openelec on freenode.net, or [webchat]. +To get your questions answered, please ask in the LibreELEC [Forum], on IRC: +\#libreelec 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 -OpenELEC. Your bug might be already fixed.** +LibreELEC. Your bug might be already fixed.** -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 +If you are at all unsure whether it's a bug in LibreELEC or a problem with +something else, post in the LibreELEC [Forum] instead. If it turns out that it is a bug, an issue can always be opened later. -If you are sure that it's a bug in OpenELEC and you have not found a [similar issue], open a new [issue] +If you are sure that it's a bug in LibreELEC and you have not found a [similar issue], open a new [issue] and try to answer the following questions: - What did you do? - What did you expect to happen? @@ -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 OpenELEC you are using. -- OpenELEC version -- OpenELEC build -- OpenELEC arch +Make sure to specify which version of LibreELEC you are using. +- LibreELEC version +- LibreELEC build +- LibreELEC 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 OpenELEC. +particular feature into LibreELEC. 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, OpenELEC comes with minimal set of kernel drivers enabled, if you are sure that your hardware +However, LibreELEC comes with minimal set of kernel drivers enabled, if you are sure that your hardware is supported in mainline kernel, feel free to send us a Pull Request to enable it in our kernel defconfigs. We are always happy to support known-working hardware. @@ -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:/OpenELEC.tv.git + git clone git@github.com:/LibreELEC.tv.git # navigate to the newly cloned directory - cd OpenELEC.tv + cd LibreELEC.tv # assign the original repo to a remote called "upstream" - git remote add upstream https://github.com/OpenELEC/OpenELEC.tv.git + git remote add upstream https://github.com/Libre/LibreELEC.tv.git ``` - If you cloned a while ago, get the latest changes from upstream: @@ -104,8 +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]: 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 +[Forum]: http://libreelec.tv/forum +[issue]: https://github.com/LibreELEC/LibreELEC.tv/issues +[webchat]: http://libreelec.tv/support/chat +[logfiles]: http://wiki.libreelec.tv/index.php?title=LibreELEC_FAQ#Support_Logs +[similar issue]: https://github.com/LibreELEC/LibreELEC.tv/search?&ref=cmdform&type=Issues diff --git a/README.md b/README.md index 5dbd76c1a58..eab075d3053 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,8 @@ -[OpenELEC](http://www.openelec.tv) +[LibreELEC](http://www.libreelec.tv) -# OpenELEC - Open Embedded Linux Entertainment Center +# LibreELEC - Libre Embedded Linux Entertainment Center -OpenELEC runs [Kodi](http://kodi.tv), an award-winning free and open source (GPL) software media +LibreELEC runs [Kodi](http://kodi.tv), an award-winning free and open source (GPL) software media player and entertainment hub for digital media. For more info see http://kodi.tv . 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 @@ -10,26 +10,26 @@ providing cutting edge hardware support to deliver a set-top box experience. **Source code** -* https://github.com/OpenELEC/OpenELEC.tv +* https://github.com/LibreELEC/LibreELEC.tv **Installation** -* Please read the instructions in our wiki (http://wiki.openelec.tv/index.php?title=Installation) on how to install. +* Please read the instructions in our wiki (http://wiki.libreelec.tv/index.php?title=Installation) on how to install. **License** -* OpenELEC is released under [GPLv2](http://www.gnu.org/licenses/gpl-2.0.html). Please refer to the "licenses" folder and +* LibreELEC 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** -* 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. +* Since LibreELEC includes code from many up stream projects it includes many + copyright owners. LibreELEC makes NO claim of copyright on any upstream code. + However all LibreELEC authored code is copyright libreelec.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 + Unless expressly stated otherwise all code submitted DIRECTLY to the LibreELEC 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. + libreelec.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. @@ -55,8 +55,8 @@ providing cutting edge hardware support to deliver a set-top box experience. **Notes** -* SSH login details are user: “root” password: “openelec”. - SSH allows command line access to your openelec.tv machine for configuration +* SSH login details are user: “root” password: “libreelec”. + SSH allows command line access to your libreelec.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). @@ -64,7 +64,7 @@ providing cutting edge hardware support to deliver a set-top box experience. read-only with the exception of /var (containing runtime configuration data). * Manual update/downgrade procedure is as follows: Copy the snapshot (.tar) to the 'Update' network share (or /storage/.update) on - your openelec machine. Your system will automatically upgrade during the + your libreelec 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, @@ -74,7 +74,7 @@ providing cutting edge hardware support to deliver a set-top box experience. **Questions/Support** -* Forums on [http://openelec.tv](http://openelec.tv) -* IRC chatroom **#openelec** on Freenode +* Forums on [http://libreelec.tv](http://libreelec.tv) +* IRC chatroom **#libreelec** on Freenode -**Happy OpenELEC'ing** +**Happy LibreELEC'ing** diff --git a/config/addon/xbmc.python.module.xml b/config/addon/xbmc.python.module.xml index bf92c7d1c2d..9fb497c03c0 100644 --- a/config/addon/xbmc.python.module.xml +++ b/config/addon/xbmc.python.module.xml @@ -4,7 +4,7 @@ version="@ADDON_VERSION@" provider-name="@PROVIDER_NAME@"> - + @REQUIRES@ diff --git a/config/addon/xbmc.python.script.xml b/config/addon/xbmc.python.script.xml index 1e91c01f806..132e36d8874 100644 --- a/config/addon/xbmc.python.script.xml +++ b/config/addon/xbmc.python.script.xml @@ -4,7 +4,7 @@ version="@ADDON_VERSION@" provider-name="@PROVIDER_NAME@"> - + @REQUIRES@ diff --git a/config/addon/xbmc.service.xml b/config/addon/xbmc.service.xml index 73dc0db2d21..7e706f6af4a 100644 --- a/config/addon/xbmc.service.xml +++ b/config/addon/xbmc.service.xml @@ -4,7 +4,7 @@ version="@ADDON_VERSION@" provider-name="@PROVIDER_NAME@"> - + @REQUIRES@ diff --git a/config/functions b/config/functions index 3449d585909..27b8685e4eb 100644 --- a/config/functions +++ b/config/functions @@ -60,10 +60,10 @@ setup_toolchain() { } kernel_path() { - if [ -e $HOME/.openelec/projects/$PROJECT/packages/linux/package.mk ]; then - . $HOME/.openelec/projects/$PROJECT/packages/linux/package.mk - elif [ -e $HOME/.openelec/packages/linux/package.mk ]; then - . $HOME/.openelec/packages/linux/package.mk + if [ -e $HOME/.libreelec/projects/$PROJECT/packages/linux/package.mk ]; then + . $HOME/.libreelec/projects/$PROJECT/packages/linux/package.mk + elif [ -e $HOME/.libreelec/packages/linux/package.mk ]; then + . $HOME/.libreelec/packages/linux/package.mk elif [ -e $ROOT/projects/$PROJECT/packages/linux/package.mk ]; then . $ROOT/projects/$PROJECT/packages/linux/package.mk else @@ -74,10 +74,10 @@ kernel_path() { } kernel_version() { - if [ -e $HOME/.openelec/projects/$PROJECT/packages/linux/package.mk ]; then - . $HOME/.openelec/projects/$PROJECT/packages/linux/package.mk - elif [ -e $HOME/.openelec/packages/linux/package.mk ]; then - . $HOME/.openelec/packages/linux/package.mk + if [ -e $HOME/.libreelec/projects/$PROJECT/packages/linux/package.mk ]; then + . $HOME/.libreelec/projects/$PROJECT/packages/linux/package.mk + elif [ -e $HOME/.libreelec/packages/linux/package.mk ]; then + . $HOME/.libreelec/packages/linux/package.mk elif [ -e $ROOT/projects/$PROJECT/packages/linux/package.mk ]; then . $ROOT/projects/$PROJECT/packages/linux/package.mk else @@ -95,11 +95,11 @@ get_module_dir() { # get package's build dir get_build_dir() { if [ ! -z $1 ] ; then - local _PKG_DIR=$(find $HOME/.openelec/projects/$PROJECT/packages -name $1 2>/dev/null) + local _PKG_DIR=$(find $HOME/.libreelec/projects/$PROJECT/packages -name $1 2>/dev/null) if [ -d "$_PKG_DIR" -a -f $_PKG_DIR/package.mk ] ; then . $_PKG_DIR/package.mk else - local _PKG_DIR=$(find $HOME/.openelec/packages -name $1 2>/dev/null) + local _PKG_DIR=$(find $HOME/.libreelec/packages -name $1 2>/dev/null) if [ -d "$_PKG_DIR" -a -f $_PKG_DIR/package.mk ] ; then . $_PKG_DIR/package.mk else @@ -273,27 +273,27 @@ dashes="===========================" check_config() { dashes="===========================" - if [ ! -d $PROJECT_DIR/$PROJECT -a ! -d $HOME/.openelec/projects/$PROJECT ]; then + if [ ! -d $PROJECT_DIR/$PROJECT -a ! -d $HOME/.libreelec/projects/$PROJECT ]; then check_project="$check_project\n $dashes$dashes$dashes" check_project="$check_project\n ERROR: Project not found, use a valid project or create a new config" check_project="$check_project\n $dashes$dashes$dashes" check_project="$check_project\n\n Valid projects:" - for projects in $PROJECT_DIR/* $HOME/.openelec/projects/*; do + for projects in $PROJECT_DIR/* $HOME/.libreelec/projects/*; do check_project="$check_project\n - $(basename $projects)" done echo -e $check_project exit 1 fi - if [ ! -f $PROJECT_DIR/$PROJECT/linux/linux.$TARGET_ARCH.conf -a ! -f $HOME/.openelec/projects/$PROJECT/linux/linux.$TARGET_ARCH.conf ]; then + if [ ! -f $PROJECT_DIR/$PROJECT/linux/linux.$TARGET_ARCH.conf -a ! -f $HOME/.libreelec/projects/$PROJECT/linux/linux.$TARGET_ARCH.conf ]; then check_arch="$check_arch\n $dashes$dashes$dashes" check_arch="$check_arch\n ERROR: Architecture not found, use a valid Architecture" check_arch="$check_arch\n for your project or create a new config" check_arch="$check_arch\n $dashes$dashes$dashes" check_arch="$check_arch\n\n Valid Architectures for your project: $PROJECT" - for arch in $PROJECT_DIR/$PROJECT/linux/*.conf $HOME/.openelec/projects/$PROJECT/linux/*.conf; do + for arch in $PROJECT_DIR/$PROJECT/linux/*.conf $HOME/.libreelec/projects/$PROJECT/linux/*.conf; do check_arch="$check_arch\n - $(basename $arch | cut -f2 -d".")" done echo -e $check_arch diff --git a/config/noobs/os.json b/config/noobs/os.json index 321969778ec..fe3ebd04ace 100644 --- a/config/noobs/os.json +++ b/config/noobs/os.json @@ -1,6 +1,6 @@ { "name": "@DISTRONAME@_@PROJECT@", - "version": "@OPENELEC_VERSION@", + "version": "@LIBREELEC_VERSION@", "release_date": "@RELEASE_DATE@", "kernel": "@KERNEL_VERSION@", "description": "@DESCRIPTION@", diff --git a/config/noobs/partition_setup.sh b/config/noobs/partition_setup.sh index 3e9f465af15..d6b9c16c675 100755 --- a/config/noobs/partition_setup.sh +++ b/config/noobs/partition_setup.sh @@ -17,21 +17,21 @@ # along with OpenELEC. If not, see . ################################################################################ -MOUNTPOINT="/tmp/OpenELEC-System" +MOUNTPOINT="/tmp/LibreELEC-System" md5sumCheck() { ( cd $MOUNTPOINT echo "checking MD5: $1" md5sum -c $1.md5 if [ "$?" = "1" ]; then - 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 "######################################################" + echo "#######################################################" + echo "# #" + echo "# LibreELEC failed md5 check - Installation will quit #" + echo "# #" + echo "# Your original download was probably corrupt. #" + echo "# Please visit www.libreelec.tv and get another copy #" + echo "# #" + echo "#######################################################" exit 1 fi rm -rf $1.md5 diff --git a/config/options b/config/options index fcf47761f32..0dc30945475 100644 --- a/config/options +++ b/config/options @@ -2,9 +2,9 @@ export LC_ALL=C # determines DISTRO, if not forced by user -# default is OpenELEC +# default is LibreELEC if [ -z "$DISTRO" ]; then - DISTRO="OpenELEC" + DISTRO="LibreELEC" else DISTRO="$DISTRO" fi @@ -82,21 +82,21 @@ fi CCACHE_CACHE_SIZE="30G" # install devtools on development builds - if [ "$OPENELEC_VERSION" = "devel" ]; then + if [ "$LIBREELEC_VERSION" = "devel" ]; then DEVTOOLS=yes fi # read options from $HOME if available - if [ -f "$HOME/.openelec/options" ]; then - . $HOME/.openelec/options + if [ -f "$HOME/.libreelec/options" ]; then + . $HOME/.libreelec/options fi - if [ -f "$HOME/.openelec/projects/$PROJECT/options" ]; then - . $HOME/.openelec/projects/$PROJECT/options + if [ -f "$HOME/.libreelec/projects/$PROJECT/options" ]; then + . $HOME/.libreelec/projects/$PROJECT/options fi # read distro options from $HOME if available - if [ -f "$HOME/.openelec/options.$DISTRO" ]; then - . $HOME/.openelec/options.$DISTRO + if [ -f "$HOME/.libreelec/options.$DISTRO" ]; then + . $HOME/.libreelec/options.$DISTRO fi # overwrite OEM_SUPPORT via commandline diff --git a/config/path b/config/path index 59270310be3..a1e72428b28 100644 --- a/config/path +++ b/config/path @@ -17,11 +17,11 @@ set -e fi HOST_NAME=`$LOCAL_CC -dumpmachine` -TARGET_NAME=$TARGET_GCC_ARCH-openelec-linux-gnu${TARGET_ABI} +TARGET_NAME=$TARGET_GCC_ARCH-libreelec-linux-gnu${TARGET_ABI} -BUILD=$BUILD_BASE.$DISTRONAME-$PROJECT.$TARGET_ARCH-$OPENELEC_VERSION -if [ "$OPENELEC_VERSION" = "devel" ] ; then - BUILD=$BUILD_BASE.$DISTRONAME-$PROJECT.$TARGET_ARCH-$OS_VERSION-$OPENELEC_VERSION +BUILD=$BUILD_BASE.$DISTRONAME-$PROJECT.$TARGET_ARCH-$LIBREELEC_VERSION +if [ "$LIBREELEC_VERSION" = "devel" ] ; then + BUILD=$BUILD_BASE.$DISTRONAME-$PROJECT.$TARGET_ARCH-$OS_VERSION-$LIBREELEC_VERSION fi if [ -n "$BUILD_SUFFIX" ]; then @@ -78,7 +78,7 @@ SED="sed -i" PKG_DIR="" # check project folder for a package in home dir - for DIR in $(find $HOME/.openelec/projects/$PROJECT/packages -type d -name $_PKG_ROOT_NAME 2>/dev/null); do + for DIR in $(find $HOME/.libreelec/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" @@ -95,7 +95,7 @@ SED="sed -i" done # check for a package in home dir if not found already - for DIR in $(find $HOME/.openelec/packages -type d -name $_PKG_ROOT_NAME 2>/dev/null); do + for DIR in $(find $HOME/.libreelec/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" @@ -207,7 +207,7 @@ HOST_PKG_CONFIG_LIBDIR="$ROOT/$TOOLCHAIN/lib/pkgconfig:$ROOT/$TOOLCHAIN/share/pk HOST_PKG_CONFIG_SYSROOT_DIR="" if [ -z "$CCACHE_DIR" ]; then - export CCACHE_DIR=$HOME/.ccache-openelec + export CCACHE_DIR=$HOME/.ccache-libreelec fi export MAKEFLAGS=-j$CONCURRENCY_MAKE_LEVEL export PKG_CONFIG=$ROOT/$TOOLCHAIN/bin/pkg-config diff --git a/config/version b/config/version index f7d24d96c7a..95c096944c5 100644 --- a/config/version +++ b/config/version @@ -1,5 +1,5 @@ # VERSION: set full version, use "devel" for development version - OPENELEC_VERSION="devel" + LIBREELEC_VERSION="devel" # OS_VERSION: OS Version OS_VERSION="7.0" diff --git a/packages/addons/repository/repository.unofficial.addon.pro/sources/addon.xml b/packages/addons/repository/repository.unofficial.addon.pro/sources/addon.xml index 4b2661642e3..11d1cce5fcb 100644 --- a/packages/addons/repository/repository.unofficial.addon.pro/sources/addon.xml +++ b/packages/addons/repository/repository.unofficial.addon.pro/sources/addon.xml @@ -1,10 +1,10 @@ + provider-name="LibreELEC Community"> + name="LibreELEC Add-ons (unofficial)"> http://unofficial.addon.pro/addons/7.0/@PROJECT@/@ARCH@/addons.xml http://unofficial.addon.pro/addons/7.0/@PROJECT@/@ARCH@/addons.xml.md5 @@ -12,9 +12,9 @@ - OpenELEC Add-ons (unofficial) - The OpenELEC unofficial repository contains community provided add-ons. These add-ons are not supported by OpenELEC staff. Please check the OpenELEC or Kodi forums for community support threads and ask the add-on author to submit fixes via GitHub. - Add-ons in this repository are not maintained or supported by OpenELEC staff. + LibreELEC Add-ons (unofficial) + The LibreELEC unofficial repository contains community provided add-ons. These add-ons are not supported by LibreELEC staff. Please check the LibreELEC or Kodi forums for community support threads and ask the add-on author to submit fixes via GitHub. + Add-ons in this repository are not maintained or supported by LibreELEC staff. all diff --git a/packages/mediacenter/OpenELEC-settings/package.mk b/packages/mediacenter/OpenELEC-settings/package.mk deleted file mode 100644 index 4b7937bb605..00000000000 --- a/packages/mediacenter/OpenELEC-settings/package.mk +++ /dev/null @@ -1,62 +0,0 @@ -################################################################################ -# This file is part of OpenELEC - http://www.openelec.tv -# Copyright (C) 2009-2016 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 . -################################################################################ - -PKG_NAME="OpenELEC-settings" -PKG_VERSION="0.6.12" -PKG_REV="1" -PKG_ARCH="any" -PKG_LICENSE="prop." -PKG_SITE="http://www.openelec.tv" -PKG_URL="$DISTRO_SRC/$PKG_NAME-$PKG_VERSION.tar.gz" -PKG_DEPENDS_TARGET="toolchain Python connman pygobject dbus-python" -PKG_PRIORITY="optional" -PKG_SECTION="" -PKG_SHORTDESC="OpenELEC-settings: Settings dialog for OpenELEC" -PKG_LONGDESC="OpenELEC-settings: is a settings dialog for OpenELEC" - -PKG_IS_ADDON="no" -PKG_AUTORECONF="no" - -PKG_MAKE_OPTS_TARGET="DISTRONAME=$DISTRONAME ROOT_PASSWORD=$ROOT_PASSWORD" - -if [ "$DISPLAYSERVER" = "x11" ]; then - PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET setxkbmap" -else - PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET bkeymaps" -fi - -post_makeinstall_target() { - mkdir -p $INSTALL/usr/lib/openelec - cp $PKG_DIR/scripts/* $INSTALL/usr/lib/openelec - -# # bluetooth is optional -# if [ ! "$BLUETOOTH_SUPPORT" = yes ]; then -# rm -f resources/lib/modules/bluetooth.py -# fi - - python -Wi -t -B $ROOT/$TOOLCHAIN/lib/python2.7/compileall.py $INSTALL/usr/share/kodi/addons/service.openelec.settings/resources/lib/ -f - rm -rf `find $INSTALL/usr/share/kodi/addons/service.openelec.settings/resources/lib/ -name "*.py"` - - python -Wi -t -B $ROOT/$TOOLCHAIN/lib/python2.7/compileall.py $INSTALL/usr/share/kodi/addons/service.openelec.settings/oe.py -f - rm -rf $INSTALL/usr/share/kodi/addons/service.openelec.settings/oe.py -} - -post_install() { - enable_service backup-restore.service - enable_service factory-reset.service -} diff --git a/packages/mediacenter/OpenELEC-settings/scripts/backup-restore b/packages/mediacenter/OpenELEC-settings/scripts/backup-restore deleted file mode 100755 index 788b6082e6b..00000000000 --- a/packages/mediacenter/OpenELEC-settings/scripts/backup-restore +++ /dev/null @@ -1,45 +0,0 @@ -#!/bin/sh -################################################################################ -# 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 . -################################################################################ - -BACKUP_FILE=`ls -1 /storage/.restore/??????????????.tar 2>/dev/null | tail -1` - -if [ -f "$BACKUP_FILE" ] ; then - echo -en "please wait.. checking backup file: " - tar tf $BACKUP_FILE &>/dev/null - ret=$? - if [ $ret -eq 0 ] ; then - echo OK - echo -en "restoring.. this may take long time to complete, please wait.. " - rm -rf /storage/.kodi &>/dev/null - rm -rf /storage/.cache &>/dev/null - rm -rf /storage/.config &>/dev/null - tar xf $BACKUP_FILE -C / &>/dev/null - rm -f $BACKUP_FILE &>/dev/null - echo done - echo "rebooting in 5s..." - sleep 5 - else - echo FAILED - rm -f $BACKUP_FILE &>/dev/null - echo "rebooting in 30s..." - sleep 30 - fi -fi -sync -reboot -f diff --git a/packages/mediacenter/OpenELEC-settings/scripts/factory-reset b/packages/mediacenter/OpenELEC-settings/scripts/factory-reset deleted file mode 100755 index b9667902209..00000000000 --- a/packages/mediacenter/OpenELEC-settings/scripts/factory-reset +++ /dev/null @@ -1,72 +0,0 @@ -#!/bin/sh -################################################################################ -# 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 . -################################################################################ - -get_target() { - for arg in $(cat /proc/cmdline); do - case $arg in - disk=*) - disk="${arg#*=}" - case $disk in - LABEL=*) - label="${disk#*=}" - target=`blkid -L $label` - ;; - UUID=*) - uuid="${disk#*=}" - target=`blkid -U $uuid` - ;; - /*) - target=$disk - ;; - esac - ;; - esac - done -} - -if [ -f /storage/.cache/reset_oe ] ; then - # hard reset - rm -f /storage/.cache/reset_oe - get_target - if [ ! -z $target ] ; then - echo "hard resetting..." - umount /storage - mke2fs -t ext4 -m 0 $target 2>&1 >/dev/null - if [ ! -z $label ] ; then - tune2fs -U random -L $label $target - fi - if [ ! -z $uuid ] ; then - tune2fs -U $uuid $target - fi - echo "done" - sleep 5 - fi -elif [ -f /storage/.cache/reset_xbmc ] ; then - # soft reset - rm -f /storage/.cache/reset_xbmc - get_target - if [ ! -z $target ] ; then - echo "soft resetting..." - rm -rf /storage/.??* 2>&1 >/dev/null - echo "done" - sleep 5 - fi -fi -sync -reboot -f diff --git a/packages/mediacenter/OpenELEC-settings/system.d/backup-restore.service b/packages/mediacenter/OpenELEC-settings/system.d/backup-restore.service deleted file mode 100644 index abc385d2453..00000000000 --- a/packages/mediacenter/OpenELEC-settings/system.d/backup-restore.service +++ /dev/null @@ -1,10 +0,0 @@ -[Unit] -Description=Restoring Backup -DefaultDependencies=no - -[Service] -Type=idle -ExecStart=/usr/lib/openelec/backup-restore -StandardInput=tty-force -StandardOutput=inherit -StandardError=inherit diff --git a/packages/mediacenter/OpenELEC-settings/system.d/backup-restore.target b/packages/mediacenter/OpenELEC-settings/system.d/backup-restore.target deleted file mode 100644 index 8ade350df26..00000000000 --- a/packages/mediacenter/OpenELEC-settings/system.d/backup-restore.target +++ /dev/null @@ -1,5 +0,0 @@ -[Unit] -Description=Restoring Backup target -Requires=backup-restore.service -After=backup-restore.service -AllowIsolate=yes diff --git a/packages/mediacenter/OpenELEC-settings/system.d/factory-reset.service b/packages/mediacenter/OpenELEC-settings/system.d/factory-reset.service deleted file mode 100644 index 70aa5e2bd81..00000000000 --- a/packages/mediacenter/OpenELEC-settings/system.d/factory-reset.service +++ /dev/null @@ -1,10 +0,0 @@ -[Unit] -Description=Factory reset -DefaultDependencies=no - -[Service] -Type=idle -ExecStart=/usr/lib/openelec/factory-reset -StandardInput=tty-force -StandardOutput=inherit -StandardError=inherit diff --git a/packages/mediacenter/OpenELEC-settings/system.d/factory-reset.target b/packages/mediacenter/OpenELEC-settings/system.d/factory-reset.target deleted file mode 100644 index 28c5aa4f20c..00000000000 --- a/packages/mediacenter/OpenELEC-settings/system.d/factory-reset.target +++ /dev/null @@ -1,5 +0,0 @@ -[Unit] -Description=Factory reset target -Requires=factory-reset.service -After=factory-reset.service -AllowIsolate=yes diff --git a/packages/mediacenter/kodi-theme-Confluence/patches/kodi-theme-Confluence-001-add_oe_settings_to_homescreen.patch b/packages/mediacenter/kodi-theme-Confluence/patches/kodi-theme-Confluence-001-add_oe_settings_to_homescreen.patch index f12d512b075..3a01defe63f 100644 --- a/packages/mediacenter/kodi-theme-Confluence/patches/kodi-theme-Confluence-001-add_oe_settings_to_homescreen.patch +++ b/packages/mediacenter/kodi-theme-Confluence/patches/kodi-theme-Confluence-001-add_oe_settings_to_homescreen.patch @@ -7,7 +7,7 @@ + + ButtonHomeSubCommonValues + -+ RunAddon(service.openelec.settings) ++ RunAddon(service.libreelec.settings) + ButtonHomeSubCommonValues diff --git a/packages/mediacenter/kodi/config/os.openelec.tv/addon.xml b/packages/mediacenter/kodi/config/os.openelec.tv/addon.xml deleted file mode 100644 index 206659f9da4..00000000000 --- a/packages/mediacenter/kodi/config/os.openelec.tv/addon.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/packages/mediacenter/kodi/config/repository.openelec.tv/addon.xml b/packages/mediacenter/kodi/config/repository.openelec.tv/addon.xml deleted file mode 100644 index d5437d03931..00000000000 --- a/packages/mediacenter/kodi/config/repository.openelec.tv/addon.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - @ADDON_URL@/addons.xml - @ADDON_URL@/addons.xml.md5 - @ADDON_URL@ - - - OpenELEC Add-ons (official) - The OpenELEC official repository contains Kodi PVR Clients, Screensavers, Visualisations, the unofficial repo installer, and more. Add-ons in this repository are maintained and supported by OpenELEC staff and sponsors. If you find a broken or non-working add-on please report it via the forums. - all - - diff --git a/packages/mediacenter/kodi/config/repository.openelec.tv/icon.png b/packages/mediacenter/kodi/config/repository.openelec.tv/icon.png deleted file mode 100644 index 1147ae1d37ac9a88b4e0c23b1b79229455dfc8e8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 46084 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 diff --git a/packages/mediacenter/kodi/package.mk b/packages/mediacenter/kodi/package.mk index c7b54079dae..7d439aeae04 100644 --- a/packages/mediacenter/kodi/package.mk +++ b/packages/mediacenter/kodi/package.mk @@ -349,8 +349,8 @@ post_makeinstall_target() { cp $PKG_DIR/scripts/kodi-config $INSTALL/usr/lib/kodi cp $PKG_DIR/scripts/kodi.sh $INSTALL/usr/lib/kodi - mkdir -p $INSTALL/usr/lib/openelec - cp $PKG_DIR/scripts/systemd-addon-wrapper $INSTALL/usr/lib/openelec + mkdir -p $INSTALL/usr/lib/libreelec + cp $PKG_DIR/scripts/systemd-addon-wrapper $INSTALL/usr/lib/libreelec mkdir -p $INSTALL/usr/bin cp $PKG_DIR/scripts/cputemp $INSTALL/usr/bin @@ -369,10 +369,10 @@ post_makeinstall_target() { rm -rf $INSTALL/usr/share/xsessions mkdir -p $INSTALL/usr/share/kodi/addons - cp -R $PKG_DIR/config/os.openelec.tv $INSTALL/usr/share/kodi/addons - $SED "s|@OS_VERSION@|$OS_VERSION|g" -i $INSTALL/usr/share/kodi/addons/os.openelec.tv/addon.xml - cp -R $PKG_DIR/config/repository.openelec.tv $INSTALL/usr/share/kodi/addons - $SED "s|@ADDON_URL@|$ADDON_URL|g" -i $INSTALL/usr/share/kodi/addons/repository.openelec.tv/addon.xml + cp -R $PKG_DIR/config/os.libreelec.tv $INSTALL/usr/share/kodi/addons + $SED "s|@OS_VERSION@|$OS_VERSION|g" -i $INSTALL/usr/share/kodi/addons/os.libreelec.tv/addon.xml + cp -R $PKG_DIR/config/repository.libreelec.tv $INSTALL/usr/share/kodi/addons + $SED "s|@ADDON_URL@|$ADDON_URL|g" -i $INSTALL/usr/share/kodi/addons/repository.libreelec.tv/addon.xml mkdir -p $INSTALL/usr/lib/python"$PYTHON_VERSION"/site-packages/kodi cp -R tools/EventClients/lib/python/* $INSTALL/usr/lib/python"$PYTHON_VERSION"/site-packages/kodi diff --git a/packages/mediacenter/kodi/patches/README.patches b/packages/mediacenter/kodi/patches/README.patches index 08eb3a447f1..e6d39e25ade 100644 --- a/packages/mediacenter/kodi/patches/README.patches +++ b/packages/mediacenter/kodi/patches/README.patches @@ -1,3 +1,3 @@ -100.* - OpenELEC specific patches that wont go upstream -995.* - OpenELEC specific patches that should be send upstream +100.* - LibreELEC specific patches that wont go upstream +995.* - LibreELEC specific patches that should be send upstream 999.* - patches backported from upstream diff --git a/packages/mediacenter/kodi/patches/kodi-100.02-add-openelec.tv-RSS-news.patch b/packages/mediacenter/kodi/patches/kodi-100.02-add-openelec.tv-RSS-news.patch index a976ab3dde9..0148449750a 100644 --- a/packages/mediacenter/kodi/patches/kodi-100.02-add-openelec.tv-RSS-news.patch +++ b/packages/mediacenter/kodi/patches/kodi-100.02-add-openelec.tv-RSS-news.patch @@ -6,7 +6,7 @@ index 48b99e8..856bf1e 100644 -+ http://feeds.openelec.tv/news ++ http://feeds.libreelec.tv/news http://feeds.kodi.tv/xbmc http://feeds.kodi.tv/latest_xbmc_addons http://feeds.kodi.tv/updated_xbmc_addons diff --git a/packages/mediacenter/kodi/patches/kodi-100.09-use-a-wrapper-to-setup-systemd-services.patch b/packages/mediacenter/kodi/patches/kodi-100.09-use-a-wrapper-to-setup-systemd-services.patch index 48918646b54..375e4aaec81 100644 --- a/packages/mediacenter/kodi/patches/kodi-100.09-use-a-wrapper-to-setup-systemd-services.patch +++ b/packages/mediacenter/kodi/patches/kodi-100.09-use-a-wrapper-to-setup-systemd-services.patch @@ -19,7 +19,7 @@ index 377a49c..2fda194 100644 +void CallOEWrapper(const std::string& ID, bool disable) +{ + char cmd[255]; -+ snprintf(cmd, sizeof(cmd), "/usr/lib/openelec/systemd-addon-wrapper %s %d %d", ID.c_str(), disable); ++ snprintf(cmd, sizeof(cmd), "/usr/lib/libreelec/systemd-addon-wrapper %s %d %d", ID.c_str(), disable); + system(cmd); +} + diff --git a/packages/mediacenter/kodi/system.d/kodi-cleanlogs.service b/packages/mediacenter/kodi/system.d/kodi-cleanlogs.service index 6f1ae9c683c..0b32a887426 100644 --- a/packages/mediacenter/kodi/system.d/kodi-cleanlogs.service +++ b/packages/mediacenter/kodi/system.d/kodi-cleanlogs.service @@ -1,7 +1,7 @@ [Unit] Description=Kodi clean debug logs ConditionKernelCommandLine=!debugging -ConditionPathExists=!/storage/.cache/debug.openelec +ConditionPathExists=!/storage/.cache/debug.libreelec Before=kodi.service [Service] diff --git a/packages/mediacenter/kodi/system.d/kodi-waitonnetwork.service b/packages/mediacenter/kodi/system.d/kodi-waitonnetwork.service index 9785da7fdc5..555b8108a05 100644 --- a/packages/mediacenter/kodi/system.d/kodi-waitonnetwork.service +++ b/packages/mediacenter/kodi/system.d/kodi-waitonnetwork.service @@ -5,11 +5,11 @@ After=connman.service Before=network-online.target DefaultDependencies=no Conflicts=shutdown.target -ConditionPathExists=/storage/.cache/openelec/network_wait +ConditionPathExists=/storage/.cache/libreelec/network_wait [Service] Type=oneshot -EnvironmentFile=/storage/.cache/openelec/network_wait +EnvironmentFile=/storage/.cache/libreelec/network_wait ExecStartPre=/bin/sh -c 'echo "waiting on Network to come online ... (max. $WAIT_NETWORK_TIME sec.)"' ExecStart=/usr/sbin/connmand-wait-online --timeout=${WAIT_NETWORK_TIME} StandardOutput=tty diff --git a/packages/mediacenter/kodi/system.d/kodi.service b/packages/mediacenter/kodi/system.d/kodi.service index 0c170b15d3d..f946b273c8e 100644 --- a/packages/mediacenter/kodi/system.d/kodi.service +++ b/packages/mediacenter/kodi/system.d/kodi.service @@ -8,8 +8,8 @@ Wants=network-online.target Environment=DISPLAY=:0.0 Environment=SDL_MOUSE_RELATIVE=0 Environment=HOME=/storage -EnvironmentFile=-/run/openelec/kodi.conf -EnvironmentFile=-/run/openelec/debug/kodi.conf +EnvironmentFile=-/run/libreelec/kodi.conf +EnvironmentFile=-/run/libreelec/debug/kodi.conf ExecStartPre=-/usr/lib/kodi/kodi-config ExecStart=/usr/lib/kodi/kodi.sh --standalone -fs $KODI_ARGS $KODI_DEBUG ExecStop=/bin/kill -TERM $MAINPID diff --git a/packages/network/avahi/system.d/avahi-daemon.service b/packages/network/avahi/system.d/avahi-daemon.service index ef4478669a9..63cd640cb8a 100644 --- a/packages/network/avahi/system.d/avahi-daemon.service +++ b/packages/network/avahi/system.d/avahi-daemon.service @@ -6,7 +6,7 @@ ConditionPathExists=/storage/.cache/services/avahi.conf [Service] Restart=on-failure -EnvironmentFile=-/run/openelec/debug/avahi.conf +EnvironmentFile=-/run/libreelec/debug/avahi.conf ExecStart=/usr/sbin/avahi-daemon -s $AVAHI_DEBUG ExecReload=/usr/sbin/avahi-daemon -r TimeoutStopSec=1s diff --git a/packages/network/bluez/system.d/bluetooth.service b/packages/network/bluez/system.d/bluetooth.service index 316b33b8a79..b4a0798cb45 100644 --- a/packages/network/bluez/system.d/bluetooth.service +++ b/packages/network/bluez/system.d/bluetooth.service @@ -7,7 +7,7 @@ ConditionPathExists=/storage/.cache/services/bluez.conf [Service] NotifyAccess=main EnvironmentFile=/storage/.cache/services/bluez.conf -EnvironmentFile=-/run/openelec/debug/bluez.conf +EnvironmentFile=-/run/libreelec/debug/bluez.conf ExecStart=/usr/lib/bluetooth/bluetoothd $BLUEZ_ARGS $BLUEZ_DEBUG CapabilityBoundingSet=CAP_NET_ADMIN CAP_NET_BIND_SERVICE CAP_NET_RAW LimitNPROC=1 diff --git a/packages/network/bluez/system.d/obex.service b/packages/network/bluez/system.d/obex.service index 1a42d44f604..919d75babd4 100644 --- a/packages/network/bluez/system.d/obex.service +++ b/packages/network/bluez/system.d/obex.service @@ -8,7 +8,7 @@ ConditionPathExists=/storage/.cache/services/bluez.conf [Service] EnvironmentFile=/storage/.cache/services/obexd.conf -EnvironmentFile=-/run/openelec/debug/obexd.conf +EnvironmentFile=-/run/libreelec/debug/obexd.conf ExecStartPre=/bin/sh -c 'mkdir -p $OBEXD_ROOT' ExecStart=/usr/lib/bluetooth/obexd -r $OBEXD_ROOT $OBEXD_DEBUG TimeoutStopSec=1s diff --git a/packages/network/connman/config/hosts.conf b/packages/network/connman/config/hosts.conf index 4ceb01e50c0..82ec2eea77d 100644 --- a/packages/network/connman/config/hosts.conf +++ b/packages/network/connman/config/hosts.conf @@ -4,7 +4,7 @@ # IP addresses # Format: -# Example: 192.168.0.3 openelec openelec.mynetwork +# Example: 192.168.0.3 libreelec libreelec.mynetwork # NOTE: do not edit /etc/hosts directly # edit /storage/.config/hosts.conf then reboot diff --git a/packages/network/connman/system.d/connman.service b/packages/network/connman/system.d/connman.service index 47610ce0445..f65dfa8e983 100644 --- a/packages/network/connman/system.d/connman.service +++ b/packages/network/connman/system.d/connman.service @@ -10,7 +10,7 @@ Wants=network.target Type=dbus BusName=net.connman Restart=on-failure -EnvironmentFile=-/run/openelec/debug/connman.conf +EnvironmentFile=-/run/libreelec/debug/connman.conf ExecStartPre=-/bin/sh -c "echo -e 'nameserver 8.8.8.8\nnameserver 8.8.4.4' > /etc/resolv.conf" ExecStartPre=-/bin/sh -c "cat /storage/.cache/hostname > /proc/sys/kernel/hostname" ExecStartPre=-/bin/sh -c "cat /storage/.config/hosts.conf > /etc/hosts" diff --git a/packages/network/samba/default.d/samba.conf b/packages/network/samba/default.d/samba.conf index bdb07b1ff19..d77b5bca248 100644 --- a/packages/network/samba/default.d/samba.conf +++ b/packages/network/samba/default.d/samba.conf @@ -1,4 +1,4 @@ SAMBA_AUTOSHARE="true" -SAMBA_USERNAME="openelec" -SAMBA_PASSWORD="openelec" +SAMBA_USERNAME="libreelec" +SAMBA_PASSWORD="libreelec" SAMBA_SECURE="false" diff --git a/packages/sysutils/busybox/package.mk b/packages/sysutils/busybox/package.mk index 23f6b756495..9e41f75e95c 100644 --- a/packages/sysutils/busybox/package.mk +++ b/packages/sysutils/busybox/package.mk @@ -165,8 +165,8 @@ makeinstall_target() { cp $PKG_DIR/scripts/pastebinit $INSTALL/usr/bin/ ln -sf pastebinit $INSTALL/usr/bin/paste - mkdir -p $INSTALL/usr/lib/openelec - cp $PKG_DIR/scripts/fs-resize $INSTALL/usr/lib/openelec + mkdir -p $INSTALL/usr/lib/libreelec + cp $PKG_DIR/scripts/fs-resize $INSTALL/usr/lib/libreelec mkdir -p $INSTALL/etc cp $PKG_DIR/config/profile $INSTALL/etc diff --git a/packages/sysutils/busybox/system.d/debug-shell.service b/packages/sysutils/busybox/system.d/debug-shell.service index f1469bd9c41..ce7cfc45b3a 100644 --- a/packages/sysutils/busybox/system.d/debug-shell.service +++ b/packages/sysutils/busybox/system.d/debug-shell.service @@ -4,7 +4,7 @@ Description=Debug Shell DefaultDependencies=no ConditionKernelCommandLine=|tty ConditionKernelCommandLine=|debugging -ConditionPathExists=|/storage/.cache/debug.openelec +ConditionPathExists=|/storage/.cache/debug.libreelec [Service] Environment=TTY=3 diff --git a/packages/sysutils/busybox/system.d/fs-resize.service b/packages/sysutils/busybox/system.d/fs-resize.service index 2f2aaa4ab56..b3a85d6460f 100644 --- a/packages/sysutils/busybox/system.d/fs-resize.service +++ b/packages/sysutils/busybox/system.d/fs-resize.service @@ -4,7 +4,7 @@ DefaultDependencies=no [Service] Type=idle -ExecStart=/usr/lib/openelec/fs-resize +ExecStart=/usr/lib/libreelec/fs-resize StandardInput=tty-force StandardOutput=inherit StandardError=inherit diff --git a/packages/sysutils/busybox/system.d/var-log-debug.service b/packages/sysutils/busybox/system.d/var-log-debug.service index 9bf55bebc53..a8e9efc0fdd 100644 --- a/packages/sysutils/busybox/system.d/var-log-debug.service +++ b/packages/sysutils/busybox/system.d/var-log-debug.service @@ -5,7 +5,7 @@ After=var.mount Before=systemd-journal-flush.service ConditionKernelCommandLine=!installer ConditionKernelCommandLine=|debugging -ConditionPathExists=|/storage/.cache/debug.openelec +ConditionPathExists=|/storage/.cache/debug.libreelec [Service] Type=oneshot diff --git a/packages/sysutils/imx6-soc-fan/package.mk b/packages/sysutils/imx6-soc-fan/package.mk index 7904e67f0d9..25f92fc06cd 100644 --- a/packages/sysutils/imx6-soc-fan/package.mk +++ b/packages/sysutils/imx6-soc-fan/package.mk @@ -42,8 +42,8 @@ makeinstall_target() { mkdir -p $INSTALL/usr/bin cp $PKG_DIR/bin/* $INSTALL/usr/bin - mkdir -p $INSTALL/usr/lib/openelec - cp $PKG_DIR/scripts/* $INSTALL/usr/lib/openelec + mkdir -p $INSTALL/usr/lib/libreelec + cp $PKG_DIR/scripts/* $INSTALL/usr/lib/libreelec } post_install() { diff --git a/packages/sysutils/imx6-soc-fan/system.d/imx6-soc-fan-monitor.service b/packages/sysutils/imx6-soc-fan/system.d/imx6-soc-fan-monitor.service index 5311b9ab5f0..33053c75d9a 100644 --- a/packages/sysutils/imx6-soc-fan/system.d/imx6-soc-fan-monitor.service +++ b/packages/sysutils/imx6-soc-fan/system.d/imx6-soc-fan-monitor.service @@ -2,7 +2,7 @@ Description=i.MX6 SoC fan monitor service [Service] -ExecStart=/bin/sh -c "exec /bin/sh /usr/lib/openelec/imx6-soc-fan-monitor" +ExecStart=/bin/sh -c "exec /bin/sh /usr/lib/libreelec/imx6-soc-fan-monitor" RestartPreventExitStatus=12 TimeoutStopSec=5 Restart=always diff --git a/packages/sysutils/imx6-status-led/package.mk b/packages/sysutils/imx6-status-led/package.mk index 497ded225ca..0b0f2a216c6 100644 --- a/packages/sysutils/imx6-status-led/package.mk +++ b/packages/sysutils/imx6-status-led/package.mk @@ -36,8 +36,8 @@ make_target() { } makeinstall_target() { - mkdir -p $INSTALL/usr/lib/openelec - cp $PKG_DIR/scripts/* $INSTALL/usr/lib/openelec + mkdir -p $INSTALL/usr/lib/libreelec + cp $PKG_DIR/scripts/* $INSTALL/usr/lib/libreelec } post_install() { diff --git a/packages/sysutils/imx6-status-led/system.d/imx6-status-led.service b/packages/sysutils/imx6-status-led/system.d/imx6-status-led.service index f04bd3eafe7..464739f6656 100644 --- a/packages/sysutils/imx6-status-led/system.d/imx6-status-led.service +++ b/packages/sysutils/imx6-status-led/system.d/imx6-status-led.service @@ -4,8 +4,8 @@ After=kodi.service [Service] Type=oneshot -ExecStart=-/bin/sh -c "/usr/lib/openelec/imx6-status-led on" -ExecStop=-/bin/sh -c "/usr/lib/openelec/imx6-status-led heartbeat" +ExecStart=-/bin/sh -c "/usr/lib/libreelec/imx6-status-led on" +ExecStop=-/bin/sh -c "/usr/lib/libreelec/imx6-status-led heartbeat" RemainAfterExit=yes [Install] diff --git a/packages/sysutils/lcdproc/package.mk b/packages/sysutils/lcdproc/package.mk index efc8b1cb904..27a99a87b33 100644 --- a/packages/sysutils/lcdproc/package.mk +++ b/packages/sysutils/lcdproc/package.mk @@ -72,8 +72,8 @@ post_makeinstall_target() { -e "s|^#normal_font=.*$|normal_font=/usr/share/fonts/liberation/LiberationMono-Bold.ttf|" \ -i $INSTALL/etc/LCDd.conf - mkdir -p $INSTALL/usr/lib/openelec - cp $PKG_DIR/scripts/lcd-wrapper $INSTALL/usr/lib/openelec + mkdir -p $INSTALL/usr/lib/libreelec + cp $PKG_DIR/scripts/lcd-wrapper $INSTALL/usr/lib/libreelec } diff --git a/packages/sysutils/lcdproc/system.d/lcdd.service b/packages/sysutils/lcdproc/system.d/lcdd.service index 3cc45cdf66f..83dadf65960 100644 --- a/packages/sysutils/lcdproc/system.d/lcdd.service +++ b/packages/sysutils/lcdproc/system.d/lcdd.service @@ -5,7 +5,7 @@ After=multi-user.target [Service] EnvironmentFile=-/storage/.cache/services/lcdd.conf -ExecStart=/bin/sh -c 'exec /usr/lib/openelec/lcd-wrapper' +ExecStart=/bin/sh -c 'exec /usr/lib/libreelec/lcd-wrapper' TimeoutStopSec=1s Restart=always RestartSec=5 diff --git a/packages/sysutils/lirc/package.mk b/packages/sysutils/lirc/package.mk index 0b097de711b..8a2be7e81a5 100644 --- a/packages/sysutils/lirc/package.mk +++ b/packages/sysutils/lirc/package.mk @@ -59,8 +59,8 @@ post_makeinstall_target() { cp $PKG_DIR/config/lircd.conf.xbox $INSTALL/etc/lirc cp $PKG_DIR/config/lircd.conf.rpi $INSTALL/etc/lirc - mkdir -p $INSTALL/usr/lib/openelec - cp $PKG_DIR/scripts/lircd_helper $INSTALL/usr/lib/openelec + mkdir -p $INSTALL/usr/lib/libreelec + cp $PKG_DIR/scripts/lircd_helper $INSTALL/usr/lib/libreelec mkdir -p $INSTALL/usr/lib/udev cp $PKG_DIR/scripts/lircd_wakeup_enable $INSTALL/usr/lib/udev diff --git a/packages/sysutils/lirc/system.d/lircd@.service b/packages/sysutils/lirc/system.d/lircd@.service index ff293c7bffa..60d9c010eac 100644 --- a/packages/sysutils/lirc/system.d/lircd@.service +++ b/packages/sysutils/lirc/system.d/lircd@.service @@ -3,8 +3,8 @@ Description=Lirc with %I [Service] Type=oneshot -ExecStart=/usr/lib/openelec/lircd_helper add %I -ExecStop=/usr/lib/openelec/lircd_helper remove %I +ExecStart=/usr/lib/libreelec/lircd_helper add %I +ExecStop=/usr/lib/libreelec/lircd_helper remove %I TimeoutStopSec=1 RemainAfterExit=yes diff --git a/packages/sysutils/systemd/system.d/debugconfig.service b/packages/sysutils/systemd/system.d/debugconfig.service index e77759b5e9b..4261d0cf44a 100644 --- a/packages/sysutils/systemd/system.d/debugconfig.service +++ b/packages/sysutils/systemd/system.d/debugconfig.service @@ -3,11 +3,11 @@ Description=Setup debug config DefaultDependencies=no After=systemd-tmpfiles-setup.service ConditionKernelCommandLine=|debugging -ConditionPathExists=|/storage/.cache/debug.openelec +ConditionPathExists=|/storage/.cache/debug.libreelec [Service] Type=oneshot -ExecStart=/bin/sh -c 'cp /usr/share/debugconf/*.conf /run/openelec/debug' +ExecStart=/bin/sh -c 'cp /usr/share/debugconf/*.conf /run/libreelec/debug' RemainAfterExit=yes [Install] diff --git a/packages/sysutils/util-linux/package.mk b/packages/sysutils/util-linux/package.mk index 0327e211b14..60b7e269488 100644 --- a/packages/sysutils/util-linux/package.mk +++ b/packages/sysutils/util-linux/package.mk @@ -100,8 +100,8 @@ fi post_makeinstall_target() { if [ "$SWAP_SUPPORT" = "yes" ]; then - mkdir -p $INSTALL/usr/lib/openelec - cp -PR $PKG_DIR/scripts/mount-swap $INSTALL/usr/lib/openelec + mkdir -p $INSTALL/usr/lib/libreelec + cp -PR $PKG_DIR/scripts/mount-swap $INSTALL/usr/lib/libreelec mkdir -p $INSTALL/etc cat $PKG_DIR/config/swap.conf | \ diff --git a/packages/sysutils/util-linux/system.d/swap.service b/packages/sysutils/util-linux/system.d/swap.service index ba56099aaa4..4bf0f8fb0b8 100644 --- a/packages/sysutils/util-linux/system.d/swap.service +++ b/packages/sysutils/util-linux/system.d/swap.service @@ -13,8 +13,8 @@ ConditionKernelCommandLine=!installer [Service] Environment=HOME=/storage Type=oneshot -ExecStartPre=/usr/lib/openelec/mount-swap create -ExecStart=/usr/lib/openelec/mount-swap mount +ExecStartPre=/usr/lib/libreelec/mount-swap create +ExecStart=/usr/lib/libreelec/mount-swap mount RemainAfterExit=yes [Install] diff --git a/packages/virtual/mediacenter/package.mk b/packages/virtual/mediacenter/package.mk index 45ce5964f0b..1f38482861f 100644 --- a/packages/virtual/mediacenter/package.mk +++ b/packages/virtual/mediacenter/package.mk @@ -43,7 +43,7 @@ if [ "$MEDIACENTER" = "kodi" ]; then PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET pycrypto" # other packages - PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET OpenELEC-settings" + PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET LibreELEC-settings" if [ "$KODI_LANGUAGE_ADDONS" = "yes" ]; then PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET kodi-language-addons" diff --git a/packages/x11/other/fluxbox/config/keys b/packages/x11/other/fluxbox/config/keys index 10dc635a300..7a4a523a550 100644 --- a/packages/x11/other/fluxbox/config/keys +++ b/packages/x11/other/fluxbox/config/keys @@ -1,4 +1,4 @@ -# This is all we need in OpenELEC +# This is all we need # alt-tab Mod1 Tab :NextWindow {groups} (workspace=[current]) Mod1 Shift Tab :PrevWindow {groups} (workspace=[current]) diff --git a/packages/x11/xserver/xorg-server/package.mk b/packages/x11/xserver/xorg-server/package.mk index d1f8a617fe6..3e392f4b4eb 100644 --- a/packages/x11/xserver/xorg-server/package.mk +++ b/packages/x11/xserver/xorg-server/package.mk @@ -126,7 +126,7 @@ PKG_CONFIGURE_OPTS_TARGET="--disable-debug \ --with-gnu-ld \ --with-sha1=libcrypto \ --without-systemd-daemon \ - --with-os-vendor=OpenELEC.tv \ + --with-os-vendor=LibreELEC.tv \ --with-module-dir=$XORG_PATH_MODULES \ --with-xkb-path=$XORG_PATH_XKB \ --with-xkb-output=/var/cache/xkb \ diff --git a/packages/x11/xserver/xorg-server/system.d/xorg.service b/packages/x11/xserver/xorg-server/system.d/xorg.service index 683e36ebea5..a9dbde6893a 100644 --- a/packages/x11/xserver/xorg-server/system.d/xorg.service +++ b/packages/x11/xserver/xorg-server/system.d/xorg.service @@ -6,7 +6,7 @@ ConditionKernelCommandLine=!installer [Service] Type=notify -EnvironmentFile=-/run/openelec/debug/xorg.conf +EnvironmentFile=-/run/libreelec/debug/xorg.conf ExecStart=/usr/bin/xorg-launch -nolisten tcp vt01 $XORG_DEBUG Restart=always RestartSec=2 diff --git a/projects/WeTek_Core/install/updater-script b/projects/WeTek_Core/install/updater-script index 954414988db..05cbc972870 100644 --- a/projects/WeTek_Core/install/updater-script +++ b/projects/WeTek_Core/install/updater-script @@ -33,4 +33,4 @@ write_raw_image(package_extract_file("logo.img"), "logo"); set_bootloader_env("upgrade_step", "1"); show_progress(0.100000, 0); -ui_print("OpenELEC Installed Successfully"); +ui_print("LibreELEC Installed Successfully"); diff --git a/projects/WeTek_Play/install/updater-script b/projects/WeTek_Play/install/updater-script index 97e9e9166f0..87b5bb47e9e 100644 --- a/projects/WeTek_Play/install/updater-script +++ b/projects/WeTek_Play/install/updater-script @@ -29,4 +29,4 @@ write_raw_image(package_extract_file("logo.img"), "logo"); set_bootloader_env("upgrade_step", "1"); show_progress(0.100000, 0); -ui_print("OpenELEC Installed Successfully"); +ui_print("LibreELEC Installed Successfully"); diff --git a/scripts/create_addon b/scripts/create_addon index afae5f87da0..0c491da7997 100755 --- a/scripts/create_addon +++ b/scripts/create_addon @@ -83,7 +83,7 @@ pack_addon() { cp $PKG_DIR/changelog.txt $ADDON_BUILD/$PKG_ADDON_ID fi - PROVIDER_NAME="openelec.tv" + PROVIDER_NAME="libreelec.tv" if [ ! -z "$PKG_MAINTAINER" ] ; then PROVIDER_NAME="$PKG_MAINTAINER" fi diff --git a/scripts/image b/scripts/image index a8d5eff183f..2c4951dd1d7 100755 --- a/scripts/image +++ b/scripts/image @@ -33,21 +33,21 @@ $SCRIPTS/build populatefs:host BUILD_DATE=`date +%Y%m%d%H%M%S` -if [ "$OPENELEC_VERSION" = devel ]; then +if [ "$LIBREELEC_VERSION" = devel ]; then if ! GIT_BUILD=$(git rev-list --count HEAD 2>/dev/null) then GIT_BUILD=$(git rev-list HEAD | wc -l) fi GIT_HASH=$(git rev-parse HEAD) GIT_ABBREV=$(git log -1 --pretty=format:%h) - DEVEL_VERSION=$OPENELEC_VERSION - OPENELEC_VERSION=$OPENELEC_VERSION-$BUILD_DATE-r$GIT_BUILD-g$GIT_ABBREV + DEVEL_VERSION=$LIBREELEC_VERSION + LIBREELEC_VERSION=$LIBREELEC_VERSION-$BUILD_DATE-r$GIT_BUILD-g$GIT_ABBREV fi -TARGET_VERSION="$PROJECT.$TARGET_ARCH-$OPENELEC_VERSION" +TARGET_VERSION="$PROJECT.$TARGET_ARCH-$LIBREELEC_VERSION" IMAGE_NAME="$DISTRONAME-$TARGET_VERSION" if [ "$DEVEL_VERSION" = "devel" ] ; then - IMAGE_NAME="$DISTRONAME-$PROJECT.$TARGET_ARCH-$OS_VERSION-$OPENELEC_VERSION" + IMAGE_NAME="$DISTRONAME-$PROJECT.$TARGET_ARCH-$OS_VERSION-$LIBREELEC_VERSION" fi if [ "$PROJECT" == "imx6" -a -n "$SYSTEM" ]; then @@ -94,20 +94,20 @@ fi # create /etc/os-release echo -e "NAME=\"$DISTRONAME\"" > $INSTALL/etc/os-release - echo -e "VERSION=\"$OPENELEC_VERSION\"" >> $INSTALL/etc/os-release - echo -e "ID=\"openelec\"" >> $INSTALL/etc/os-release + echo -e "VERSION=\"$LIBREELEC_VERSION\"" >> $INSTALL/etc/os-release + echo -e "ID=\"libreelec\"" >> $INSTALL/etc/os-release echo -e "VERSION_ID=\"$OS_VERSION\"" >> $INSTALL/etc/os-release - echo -e "PRETTY_NAME=\"$DISTRONAME ($([ "$OFFICIAL" = "yes" ] && echo "official" || echo "community")) - Version: $OPENELEC_VERSION\"" >> $INSTALL/etc/os-release - echo -e "HOME_URL=\"http://www.openelec.tv\"" >> $INSTALL/etc/os-release - echo -e "BUG_REPORT_URL=\"https://github.com/OpenELEC/OpenELEC.tv\"" >> $INSTALL/etc/os-release + echo -e "PRETTY_NAME=\"$DISTRONAME ($([ "$OFFICIAL" = "yes" ] && echo "official" || echo "community")) - Version: $LIBREELEC_VERSION\"" >> $INSTALL/etc/os-release + echo -e "HOME_URL=\"http://www.libreelec.tv\"" >> $INSTALL/etc/os-release + echo -e "BUG_REPORT_URL=\"https://github.com/LibreELEC/LibreELEC.tv\"" >> $INSTALL/etc/os-release if [ -n "$GIT_HASH" ]; then echo -e "BUILD_ID=\"$GIT_HASH\"" >> $INSTALL/etc/os-release fi - echo -e "OPENELEC_ARCH=\"$PROJECT.$TARGET_ARCH\"" >> $INSTALL/etc/os-release + echo -e "LIBREELEC_ARCH=\"$PROJECT.$TARGET_ARCH\"" >> $INSTALL/etc/os-release if [ "$OFFICIAL" = "yes" ]; then - echo -e "OPENELEC_BUILD=\"official\"" >> $INSTALL/etc/os-release + echo -e "LIBREELEC_BUILD=\"official\"" >> $INSTALL/etc/os-release else - echo -e "OPENELEC_BUILD=\"community\"" >> $INSTALL/etc/os-release + echo -e "LIBREELEC_BUILD=\"community\"" >> $INSTALL/etc/os-release fi # create /etc/issue @@ -116,7 +116,7 @@ fi echo "$GREETING2" >> $INSTALL/etc/issue echo "$GREETING3" >> $INSTALL/etc/issue echo "$GREETING4" >> $INSTALL/etc/issue - echo "$DISTRONAME ($([ "$OFFICIAL" = "yes" ] && echo "official" || echo "community")) Version: $OPENELEC_VERSION" >> $INSTALL/etc/issue + echo "$DISTRONAME ($([ "$OFFICIAL" = "yes" ] && echo "official" || echo "community")) Version: $LIBREELEC_VERSION" >> $INSTALL/etc/issue if [ -n "$GIT_HASH" ]; then echo "$DISTRONAME git: $GIT_HASH" >> $INSTALL/etc/issue fi @@ -181,10 +181,10 @@ fi fi # copy vendor related files to filesystem - if [ -d "$HOME/.openelec/filesystem" ]; then - cp -PR $HOME/.openelec/filesystem/* $INSTALL + if [ -d "$HOME/.libreelec/filesystem" ]; then + cp -PR $HOME/.libreelec/filesystem/* $INSTALL # install project specific systemd services - for service in $HOME/.openelec/filesystem/usr/lib/systemd/system/*.service ; do + for service in $HOME/.libreelec/filesystem/usr/lib/systemd/system/*.service ; do if [ -f "$service" ] ; then enable_service $(basename $service) fi @@ -192,10 +192,10 @@ fi fi # copy vendor project related files to filesystem - if [ -d "$HOME/.openelec/projects/$PROJECT/filesystem" ]; then - cp -PR $HOME/.openelec/projects/$PROJECT/filesystem/* $INSTALL + if [ -d "$HOME/.libreelec/projects/$PROJECT/filesystem" ]; then + cp -PR $HOME/.libreelec/projects/$PROJECT/filesystem/* $INSTALL # install project specific systemd services - for service in $HOME/.openelec/projects/$PROJECT/filesystem/usr/lib/systemd/system/*.service ; do + for service in $HOME/.libreelec/projects/$PROJECT/filesystem/usr/lib/systemd/system/*.service ; do if [ -f "$service" ] ; then enable_service $(basename $service) fi @@ -441,7 +441,7 @@ fi sed -e "s%@DISTRONAME@%$DISTRONAME%g" \ -e "s%@PROJECT@%$PROJECT%g" \ - -e "s%@OPENELEC_VERSION@%$OPENELEC_VERSION%g" \ + -e "s%@LIBREELEC_VERSION@%$LIBREELEC_VERSION%g" \ -e "s%@RELEASE_DATE@%$(date +%F)%g" \ -e "s%@KERNEL_VERSION@%$(kernel_version)%g" \ -e "s%@DESCRIPTION@%$DESCRIPTION%g" \