buildsystem: add support for ~/.openelec/packages and ~/.openelec/$PROJECT/packages

Signed-off-by: Stephan Raue <stephan@openelec.tv>
This commit is contained in:
Stephan Raue 2016-02-21 12:00:57 +01:00
parent f52cc9517b
commit 695d5337e8
3 changed files with 59 additions and 3 deletions

View File

@ -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

View File

@ -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

View File

@ -178,6 +178,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 | \