diff --git a/scripts/create_addon b/scripts/create_addon
index 15ca3de1e2..ae13495256 100755
--- a/scripts/create_addon
+++ b/scripts/create_addon
@@ -20,15 +20,6 @@
. config/options $1
-IFS=" "
-for i in $PKG_ADDON_REQUIRES; do
- REQUIRES_ADDONNAME=`echo $i | cut -f1 -d ":"`
- REQUIRES_ADDONVERSION=`echo $i | cut -f2 -d ":"`
- REQUIRES="$REQUIRES\n "
-done
-
-unset IFS
-
if [ -z "$1" ]; then
echo "usage: $0 package_name"
exit 1
@@ -39,104 +30,101 @@ if [ -n "$PKG_ARCH" -a ! "$PKG_ARCH" = "any" ]; then
echo "$PKG_ARCH" | grep -q "\-$TARGET_ARCH" && exit 0
fi
-$SCRIPTS/build $@
-
-printf "%${BUILD_INDENT}c CREATE ADDON $1\n" ' '>&$SILENT_OUT
-export BUILD_INDENT=$((${BUILD_INDENT:-1}+$BUILD_INDENT_SIZE))
-
-if [ -f $PKG_DIR/package.mk ]; then
- # unset functions
- unset -f addon
-
- # include buildfile
- . $PKG_DIR/package.mk
-elif [ -f $PKG_DIR/meta ] ; then
- # include buildfile
- . $PKG_DIR/meta
-fi
-
if [ "$PKG_IS_ADDON" = "yes" ] ; then
+ $SCRIPTS/build $@
+
+ printf "%${BUILD_INDENT}c CREATE ADDON $1\n" ' '>&$SILENT_OUT
+ export BUILD_INDENT=$((${BUILD_INDENT:-1}+$BUILD_INDENT_SIZE))
+
rm -rf $ADDON_BUILD
if [ "$(type -t addon)" = "function" ]; then
addon
+ else
+ echo "*** unsupported package format. please convert your package ***"
+ exit 1
fi
- if [ -f $PKG_DIR/addon ]; then
- $PKG_DIR/addon $@ >&$VERBOSE_OUT
- fi
+ IFS=" "
+ for i in $PKG_ADDON_REQUIRES; do
+ REQUIRES_ADDONNAME=`echo $i | cut -f1 -d ":"`
+ REQUIRES_ADDONVERSION=`echo $i | cut -f2 -d ":"`
+ REQUIRES="$REQUIRES\n "
+ done
+
+ unset IFS
mkdir -p $ADDON_BUILD/$PKG_ADDON_ID
- if [ ! -f $ADDON_BUILD/$PKG_ADDON_ID/addon.xml ]; then
- cp config/addon/addon.xml $ADDON_BUILD/$PKG_ADDON_ID
- CUST_ADDON_VERSION="$ADDON_VERSION.$PKG_REV"
- PROVIDER_NAME="openelec.tv"
- if [ ! -z "$PKG_MAINTAINER" ] ; then
- PROVIDER_NAME="$PKG_MAINTAINER"
- fi
- $SED -e "s|@PKG_ADDON_ID@|$PKG_ADDON_ID|g" \
- -e "s|@PKG_NAME@|$PKG_NAME|g" \
- -e "s|@ADDON_VERSION@|$CUST_ADDON_VERSION|g" \
- -e "s|@PKG_ADDON_TYPE@|$PKG_ADDON_TYPE|g" \
- -e "s|@REQUIRES@|$REQUIRES|g" \
- -e "s|@PKG_SHORTDESC@|$PKG_SHORTDESC|g" \
- -e "s|@OS_VERSION@|$OS_VERSION|g" \
- -e "s|@PKG_LONGDESC@|$PKG_LONGDESC|g" \
- -e "s|@PKG_DISCLAIMER@|$PKG_DISCLAIMER|g" \
- -e "s|@PROVIDER_NAME@|$PROVIDER_NAME|g" \
- -i $ADDON_BUILD/$PKG_ADDON_ID/addon.xml
- else
- CUST_ADDON_VERSION="$PKG_VERSION"
- fi
- if [ ! -z "$PKG_CUSTOM_ADDON_VERSION" ] ; then
- CUST_ADDON_VERSION="$PKG_CUSTOM_ADDON_VERSION"
+ if [ ! -f $ADDON_BUILD/$PKG_ADDON_ID/addon.xml ]; then
+ cp config/addon/addon.xml $ADDON_BUILD/$PKG_ADDON_ID
+ CUST_ADDON_VERSION="$ADDON_VERSION.$PKG_REV"
+ PROVIDER_NAME="openelec.tv"
+ if [ ! -z "$PKG_MAINTAINER" ] ; then
+ PROVIDER_NAME="$PKG_MAINTAINER"
fi
+ $SED -e "s|@PKG_ADDON_ID@|$PKG_ADDON_ID|g" \
+ -e "s|@PKG_NAME@|$PKG_NAME|g" \
+ -e "s|@ADDON_VERSION@|$CUST_ADDON_VERSION|g" \
+ -e "s|@PKG_ADDON_TYPE@|$PKG_ADDON_TYPE|g" \
+ -e "s|@REQUIRES@|$REQUIRES|g" \
+ -e "s|@PKG_SHORTDESC@|$PKG_SHORTDESC|g" \
+ -e "s|@OS_VERSION@|$OS_VERSION|g" \
+ -e "s|@PKG_LONGDESC@|$PKG_LONGDESC|g" \
+ -e "s|@PKG_DISCLAIMER@|$PKG_DISCLAIMER|g" \
+ -e "s|@PROVIDER_NAME@|$PROVIDER_NAME|g" \
+ -i $ADDON_BUILD/$PKG_ADDON_ID/addon.xml
+ else
+ CUST_ADDON_VERSION="$PKG_VERSION"
+ fi
+ if [ ! -z "$PKG_CUSTOM_ADDON_VERSION" ] ; then
+ CUST_ADDON_VERSION="$PKG_CUSTOM_ADDON_VERSION"
+ fi
- if [ -f $PKG_DIR/source/default.py ]; then
- cp -R $PKG_DIR/source/* $ADDON_BUILD/$PKG_ADDON_ID
- else
- echo "*** WARNING: You *probably* need at least $PKG_DIR/source/default.py to make your addon work ***"
- fi
+ if [ -f $PKG_DIR/source/default.py ]; then
+ cp -R $PKG_DIR/source/* $ADDON_BUILD/$PKG_ADDON_ID
+ else
+ echo "*** WARNING: You *probably* need at least $PKG_DIR/source/default.py to make your addon work ***"
+ fi
- if [ -f $PKG_DIR/icon/icon.png ]; then
- cp $PKG_DIR/icon/icon.png $ADDON_BUILD/$PKG_ADDON_ID
- elif [ -f $PKG_BUILD/icon/icon.png ]; then
- cp $PKG_BUILD/icon/icon.png $ADDON_BUILD/$PKG_ADDON_ID
- elif [ -f $PKG_BUILD/icon.png ]; then
- cp $PKG_BUILD/icon.png $ADDON_BUILD/$PKG_ADDON_ID
- else
- echo "*** WARNING: It's recommended to have a $PKG_DIR/icon/icon.png file ***"
- fi
+ if [ -f $PKG_DIR/icon/icon.png ]; then
+ cp $PKG_DIR/icon/icon.png $ADDON_BUILD/$PKG_ADDON_ID
+ elif [ -f $PKG_BUILD/icon/icon.png ]; then
+ cp $PKG_BUILD/icon/icon.png $ADDON_BUILD/$PKG_ADDON_ID
+ elif [ -f $PKG_BUILD/icon.png ]; then
+ cp $PKG_BUILD/icon.png $ADDON_BUILD/$PKG_ADDON_ID
+ else
+ echo "*** WARNING: It's recommended to have a $PKG_DIR/icon/icon.png file ***"
+ fi
- if [ -f $PKG_DIR/changelog.txt ]; then
- cp $PKG_DIR/changelog.txt $ADDON_BUILD/$PKG_ADDON_ID
- elif [ -f $PKG_BUILD/changelog.txt ]; then
- cp $PKG_BUILD/changelog.txt $ADDON_BUILD/$PKG_ADDON_ID
- else
- echo "*** WARNING: It's recommended to have a $PKG_DIR/changelog.txt file ***"
- fi
+ if [ -f $PKG_DIR/changelog.txt ]; then
+ cp $PKG_DIR/changelog.txt $ADDON_BUILD/$PKG_ADDON_ID
+ elif [ -f $PKG_BUILD/changelog.txt ]; then
+ cp $PKG_BUILD/changelog.txt $ADDON_BUILD/$PKG_ADDON_ID
+ else
+ echo "*** WARNING: It's recommended to have a $PKG_DIR/changelog.txt file ***"
+ fi
- if [ -d $ADDON_BUILD/mkimage ]; then
- $ROOT/$TOOLCHAIN/bin/mksquashfs $ADDON_BUILD/mkimage $ADDON_BUILD/$PKG_ADDON_ID/$1.img -noappend -comp lzma
- fi
+ if [ -d $ADDON_BUILD/mkimage ]; then
+ $ROOT/$TOOLCHAIN/bin/mksquashfs $ADDON_BUILD/mkimage $ADDON_BUILD/$PKG_ADDON_ID/$1.img -noappend -comp lzma
+ fi
cd $ADDON_BUILD
- echo "*** compressing Addon $PKG_ADDON_ID ... ***"
- zip -rq $PKG_ADDON_ID-$CUST_ADDON_VERSION.zip $PKG_ADDON_ID;
+ echo "*** compressing Addon $PKG_ADDON_ID ... ***"
+ zip -rq $PKG_ADDON_ID-$CUST_ADDON_VERSION.zip $PKG_ADDON_ID;
cd -
mkdir -p $TARGET/$ADDONS/$ADDON_VERSION/$PROJECT/$TARGET_ARCH/$PKG_ADDON_ID
- cp $ADDON_BUILD/$PKG_ADDON_ID-$CUST_ADDON_VERSION.zip $TARGET/$ADDONS/$ADDON_VERSION/$PROJECT/$TARGET_ARCH/$PKG_ADDON_ID
- if [ -f $PKG_DIR/changelog.txt ]; then
- cp $PKG_DIR/changelog.txt $TARGET/$ADDONS/$ADDON_VERSION/$PROJECT/$TARGET_ARCH/$PKG_ADDON_ID/changelog-$CUST_ADDON_VERSION.txt
- elif [ -f $PKG_BUILD/changelog.txt ]; then
- cp $PKG_BUILD/changelog.txt $TARGET/$ADDONS/$ADDON_VERSION/$PROJECT/$TARGET_ARCH/$PKG_ADDON_ID/changelog-$CUST_ADDON_VERSION.txt
- fi
- if [ -f $PKG_DIR/icon/icon.png ]; then
- cp $PKG_DIR/icon/icon.png $TARGET/$ADDONS/$ADDON_VERSION/$PROJECT/$TARGET_ARCH/$PKG_ADDON_ID/icon.png
- elif [ -f $PKG_BUILD/icon/icon.png ]; then
- cp $PKG_BUILD/icon/icon.png $TARGET/$ADDONS/$ADDON_VERSION/$PROJECT/$TARGET_ARCH/$PKG_ADDON_ID/icon.png
- elif [ -f $PKG_BUILD/icon.png ]; then
- cp $PKG_BUILD/icon.png $TARGET/$ADDONS/$ADDON_VERSION/$PROJECT/$TARGET_ARCH/$PKG_ADDON_ID/icon.png
- fi
+ cp $ADDON_BUILD/$PKG_ADDON_ID-$CUST_ADDON_VERSION.zip $TARGET/$ADDONS/$ADDON_VERSION/$PROJECT/$TARGET_ARCH/$PKG_ADDON_ID
+ if [ -f $PKG_DIR/changelog.txt ]; then
+ cp $PKG_DIR/changelog.txt $TARGET/$ADDONS/$ADDON_VERSION/$PROJECT/$TARGET_ARCH/$PKG_ADDON_ID/changelog-$CUST_ADDON_VERSION.txt
+ elif [ -f $PKG_BUILD/changelog.txt ]; then
+ cp $PKG_BUILD/changelog.txt $TARGET/$ADDONS/$ADDON_VERSION/$PROJECT/$TARGET_ARCH/$PKG_ADDON_ID/changelog-$CUST_ADDON_VERSION.txt
+ fi
+ if [ -f $PKG_DIR/icon/icon.png ]; then
+ cp $PKG_DIR/icon/icon.png $TARGET/$ADDONS/$ADDON_VERSION/$PROJECT/$TARGET_ARCH/$PKG_ADDON_ID/icon.png
+ elif [ -f $PKG_BUILD/icon/icon.png ]; then
+ cp $PKG_BUILD/icon/icon.png $TARGET/$ADDONS/$ADDON_VERSION/$PROJECT/$TARGET_ARCH/$PKG_ADDON_ID/icon.png
+ elif [ -f $PKG_BUILD/icon.png ]; then
+ cp $PKG_BUILD/icon.png $TARGET/$ADDONS/$ADDON_VERSION/$PROJECT/$TARGET_ARCH/$PKG_ADDON_ID/icon.png
+ fi
fi