From 8dd001d54eb3c754dc20445ef79703994590cc71 Mon Sep 17 00:00:00 2001 From: Stephan Raue Date: Sun, 21 Feb 2016 12:00:57 +0100 Subject: [PATCH 1/4] buildsystem: add support for ~/.openelec/packages and ~/.openelec/$PROJECT/packages Signed-off-by: Stephan Raue --- config/path | 36 +++++++++++++++++++++++++++++++++++- 1 file changed, 35 insertions(+), 1 deletion(-) diff --git a/config/path b/config/path index cfd26cffa0..dbf24cd084 100644 --- a/config/path +++ b/config/path @@ -77,7 +77,41 @@ SED="sed -i" _FOUND=0 PKG_DIR="" - # first check project folder for a package + # check project folder for a package in home dir + for DIR in $(find $HOME/.openelec/$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 + + # 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 + 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 + + # check project folder for a package if not found already 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 From b0aa92889fb262b8bdaa4f575186fff2126fba77 Mon Sep 17 00:00:00 2001 From: Stephan Raue Date: Mon, 22 Feb 2016 00:47:31 +0100 Subject: [PATCH 2/4] buildsystem: install vendor and project related files to image Signed-off-by: Stephan Raue --- scripts/image | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/scripts/image b/scripts/image index 55dc329c68..9d6f35b826 100755 --- a/scripts/image +++ b/scripts/image @@ -180,6 +180,28 @@ fi done fi +# copy vendor related files to filesystem + if [ -d "$HOME/.openelec/filesystem" ]; then + cp -PR $HOME/.openelec/filesystem/* $INSTALL + # install project specific systemd services + for service in $HOME/.openelec/filesystem/usr/lib/systemd/system/*.service ; do + if [ -f "$service" ] ; then + enable_service $(basename $service) + fi + done + fi + +# copy vendor project related files to filesystem + if [ -d "$HOME/.openelec/$PROJECT/filesystem" ]; then + cp -PR $HOME/.openelec/$PROJECT/filesystem/* $INSTALL + # install project specific systemd services + for service in $HOME/.openelec/$PROJECT/filesystem/usr/lib/systemd/system/*.service ; do + if [ -f "$service" ] ; then + enable_service $(basename $service) + fi + done + fi + # run depmod MODVER=$(basename $(ls -d $INSTALL/lib/modules/*)) find $INSTALL/lib/modules/$MODVER/ -name *.ko | \ From 3d4caa6b6da0630272741ad16db1b52bf4af3031 Mon Sep 17 00:00:00 2001 From: Stephan Raue Date: Mon, 22 Feb 2016 07:52:45 +0100 Subject: [PATCH 3/4] buildsystem: move $HOME/.openelec/$PROJECT to $HOME/.openelec/projects/$PROJECT Signed-off-by: Stephan Raue --- config/options | 4 ++-- config/path | 2 +- scripts/image | 6 +++--- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/config/options b/config/options index 4aed88c5f3..e00d0e4446 100644 --- a/config/options +++ b/config/options @@ -90,8 +90,8 @@ fi if [ -f "$HOME/.openelec/options" ]; then . $HOME/.openelec/options fi - if [ -f "$HOME/.openelec/$PROJECT/options" ]; then - . $HOME/.openelec/$PROJECT/options + if [ -f "$HOME/.openelec/projects/$PROJECT/options" ]; then + . $HOME/.openelec/projects/$PROJECT/options fi # read distro options from $HOME if available diff --git a/config/path b/config/path index dbf24cd084..275174044a 100644 --- a/config/path +++ b/config/path @@ -78,7 +78,7 @@ SED="sed -i" PKG_DIR="" # check project folder for a package in home dir - for DIR in $(find $HOME/.openelec/$PROJECT/packages -type d -name $_PKG_ROOT_NAME 2>/dev/null); do + for DIR in $(find $HOME/.openelec/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" diff --git a/scripts/image b/scripts/image index 9d6f35b826..59505e3555 100755 --- a/scripts/image +++ b/scripts/image @@ -192,10 +192,10 @@ fi fi # copy vendor project related files to filesystem - if [ -d "$HOME/.openelec/$PROJECT/filesystem" ]; then - cp -PR $HOME/.openelec/$PROJECT/filesystem/* $INSTALL + if [ -d "$HOME/.openelec/projects/$PROJECT/filesystem" ]; then + cp -PR $HOME/.openelec/projects/$PROJECT/filesystem/* $INSTALL # install project specific systemd services - for service in $HOME/.openelec/$PROJECT/filesystem/usr/lib/systemd/system/*.service ; do + for service in $HOME/.openelec/projects/$PROJECT/filesystem/usr/lib/systemd/system/*.service ; do if [ -f "$service" ] ; then enable_service $(basename $service) fi From d6cc927b0e5b518b30f075400f7d6619119b905a Mon Sep 17 00:00:00 2001 From: Stephan Raue Date: Mon, 22 Feb 2016 08:20:15 +0100 Subject: [PATCH 4/4] buildsystem: add support to select building OEM support via commandline (OEM=yes|no) Signed-off-by: Stephan Raue --- config/options | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/config/options b/config/options index e00d0e4446..fcf47761f3 100644 --- a/config/options +++ b/config/options @@ -99,5 +99,10 @@ fi . $HOME/.openelec/options.$DISTRO fi +# overwrite OEM_SUPPORT via commandline +if [ "$OEM" = yes -o "$OEM" = no ]; then + OEM_SUPPORT=$OEM +fi + . config/graphic . config/path $1