diff --git a/config/options b/config/options index 4aed88c5f3..fcf47761f3 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 @@ -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 diff --git a/config/path b/config/path index cfd26cffa0..275174044a 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/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 + + # 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 diff --git a/scripts/image b/scripts/image index 55dc329c68..59505e3555 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/projects/$PROJECT/filesystem" ]; then + cp -PR $HOME/.openelec/projects/$PROJECT/filesystem/* $INSTALL + # install project specific systemd services + for service in $HOME/.openelec/projects/$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 | \