scripts: remove packageformat v1 and v2 support, major buildsystem cleanup. now every package needs a 'package.mk' script

Signed-off-by: Stephan Raue <stephan@openelec.tv>
This commit is contained in:
Stephan Raue 2014-01-27 03:34:44 +01:00
parent 113849caab
commit 9fde5c056b
4 changed files with 350 additions and 438 deletions

View File

@ -48,27 +48,21 @@ STAMP=$STAMPS/$PACKAGE_NAME/build_$TARGET
$SCRIPTS/unpack $PACKAGE_NAME $SCRIPTS/unpack $PACKAGE_NAME
if [ -f $PKG_DIR/package.mk ]; then if [ ! -f $PKG_DIR/package.mk ]; then
if [ -f $STAMP -a $PKG_DIR/package.mk -nt $STAMP ]; then printf "${boldred} no package.mk file found in $PKG_DIR${endcolor}\n"
exit 1
fi
if [ -f $STAMP -a $PKG_DIR/package.mk -nt $STAMP ]; then
rm -f $STAMP rm -f $STAMP
fi
elif [ -f $PKG_DIR/build ]; then
if [ -f $STAMP -a $PKG_DIR/build -nt $STAMP ]; then
rm -f $STAMP
fi
fi fi
if [ ! -f $STAMP ]; then if [ ! -f $STAMP ]; then
rm -f $STAMP rm -f $STAMP
if [ -f $PKG_DIR/package.mk ]; then
printf "%${BUILD_INDENT}c ${boldyellow}BUILD${endcolor} $PACKAGE_NAME ${boldwhite}($TARGET)${endcolor}\n" ' '>&$SILENT_OUT printf "%${BUILD_INDENT}c ${boldyellow}BUILD${endcolor} $PACKAGE_NAME ${boldwhite}($TARGET)${endcolor}\n" ' '>&$SILENT_OUT
elif [ -f $PKG_DIR/install ]; then
printf "%${BUILD_INDENT}c ${boldyellow}BUILD${endcolor} $PACKAGE_NAME ${boldred}(deprecated packageformat, please convert soon!)${endcolor}\n" ' '>&$SILENT_OUT
fi
export BUILD_INDENT=$((${BUILD_INDENT:-1}+$BUILD_INDENT_SIZE)) export BUILD_INDENT=$((${BUILD_INDENT:-1}+$BUILD_INDENT_SIZE))
if [ -f $PKG_DIR/package.mk ]; then
if [ "$TARGET" = "bootstrap" -o "$TARGET" = "init" ]; then if [ "$TARGET" = "bootstrap" -o "$TARGET" = "init" ]; then
setup_toolchain target setup_toolchain target
elif [ "$TARGET" = "hosttools" ]; then elif [ "$TARGET" = "hosttools" ]; then
@ -394,40 +388,8 @@ if [ ! -f $STAMP ]; then
fi fi
cd $ROOT cd $ROOT
fi # ! "$PKG_SECTION" = "virtual" fi # ! "$PKG_SECTION" = "virtual"
elif [ -f $PKG_DIR/meta ]; then
for p in $PKG_BUILD_DEPENDS; do
$SCRIPTS/build $p
done
if [ "$PKG_AUTORECONF" = yes ]; then
$SCRIPTS/autoreconf $PACKAGE_NAME
fi
if [ -f $PKG_DIR/build ]; then
$PKG_DIR/build $@ >&$VERBOSE_OUT
if [ ! "$DEBUG" = yes ]; then
$STRIP `find $BUILD/$PACKAGE_NAME* -name "*.so"` 2>/dev/null || \
echo "Information: no *.so libs found"
$STRIP `find $BUILD/$PACKAGE_NAME* -name "*.so.[0-9]*"` 2>/dev/null ||\
echo "Information: no *.so.[0-9]* libs found"
fi
elif [ -f $PKG_BUILD/Makefile ]; then
$SCRIPTS/build toolchain
make -C $PKG_BUILD >&$VERBOSE_OUT
elif [ -f $PKG_BUILD/$PACKAGE_NAME.c ]; then
$SCRIPTS/build toolchain
make -C $PKG_BUILD $PACKAGE_NAME >&$VERBOSE_OUT
fi # -f $PKG_DIR/build
fi # -f $PKG_DIR/meta
# TODO: slow... # TODO: slow...
for i in `find $SYSROOT_PREFIX/usr/lib/ -name "*.la" 2>/dev/null`; do \ for i in `find $SYSROOT_PREFIX/usr/lib/ -name "*.la" 2>/dev/null`; do \
$SED "s:\(['= ]\)/usr:\\1$SYSROOT_PREFIX/usr:g" $i; \ $SED "s:\(['= ]\)/usr:\\1$SYSROOT_PREFIX/usr:g" $i; \

View File

@ -25,10 +25,6 @@ if [ -z "$1" ]; then
GET_PKG=`grep ^PKG_NAME= $i | sed -e "s,\",,g" -e "s,PKG_NAME=,,"` GET_PKG=`grep ^PKG_NAME= $i | sed -e "s,\",,g" -e "s,PKG_NAME=,,"`
$SCRIPTS/get $GET_PKG $SCRIPTS/get $GET_PKG
done done
for i in `find packages/ -type f -name meta`; do
GET_PKG=`grep ^PKG_NAME= $i | sed -e "s,\",,g" -e "s,PKG_NAME=,,"`
$SCRIPTS/get $GET_PKG
done
fi fi
[ -z "$PKG_URL" ] && exit 0 [ -z "$PKG_URL" ] && exit 0

View File

@ -52,13 +52,14 @@ if [ -n "$PKG_ARCH" -a ! "$PKG_ARCH" = "any" ]; then
echo "$PKG_ARCH" | grep -q "\-$TARGET_ARCH" && exit 0 echo "$PKG_ARCH" | grep -q "\-$TARGET_ARCH" && exit 0
fi fi
if [ ! -f $PKG_DIR/package.mk ]; then
printf "${boldred} no package.mk file found in $PKG_DIR${endcolor}\n"
exit 1
fi
$SCRIPTS/build $@ $SCRIPTS/build $@
if [ -f $PKG_DIR/package.mk ]; then printf "%${BUILD_INDENT}c ${boldgreen}INSTALL${endcolor} $PACKAGE_NAME ${boldwhite}($TARGET)${endcolor}\n" ' '>&$SILENT_OUT
printf "%${BUILD_INDENT}c ${boldgreen}INSTALL${endcolor} $PACKAGE_NAME ${boldwhite}($TARGET)${endcolor}\n" ' '>&$SILENT_OUT
elif [ -f $PKG_DIR/install ]; then
printf "%${BUILD_INDENT}c ${boldgreen}INSTALL${endcolor} $PACKAGE_NAME ${boldred}(deprecated packageformat, please convert soon!)${endcolor}\n" ' '>&$SILENT_OUT
fi
export BUILD_INDENT=$((${BUILD_INDENT:-1}+$BUILD_INDENT_SIZE)) export BUILD_INDENT=$((${BUILD_INDENT:-1}+$BUILD_INDENT_SIZE))
if [ "$TARGET" = target ] ; then if [ "$TARGET" = target ] ; then
@ -126,20 +127,20 @@ if [ "$TARGET" = target ] ; then
fi fi
fi fi
if [ -f $PKG_DIR/package.mk ]; then # unset functions
# unset functions
unset -f pre_install unset -f pre_install
unset -f post_install unset -f post_install
# include buildfile # include buildfile
. $PKG_DIR/package.mk . $PKG_DIR/package.mk
# install
if [ "$TARGET" = target ] ; then if [ "$TARGET" = target ] ; then
# install
if [ "$(type -t pre_install)" = "function" ]; then if [ "$(type -t pre_install)" = "function" ]; then
pre_install pre_install
fi fi
fi fi
if [ "$TARGET" = "target" -a -d $PKG_BUILD/.install_pkg ]; then if [ "$TARGET" = "target" -a -d $PKG_BUILD/.install_pkg ]; then
mkdir -p $INSTALL mkdir -p $INSTALL
cp -PR $PKG_BUILD/.install_pkg/* $INSTALL cp -PR $PKG_BUILD/.install_pkg/* $INSTALL
@ -147,14 +148,12 @@ if [ -f $PKG_DIR/package.mk ]; then
mkdir -p $INSTALL mkdir -p $INSTALL
cp -PR $PKG_BUILD/.install_init/* $INSTALL cp -PR $PKG_BUILD/.install_init/* $INSTALL
fi fi
if [ "$TARGET" = target ] ; then if [ "$TARGET" = target ] ; then
if [ "$(type -t post_install)" = "function" ]; then if [ "$(type -t post_install)" = "function" ]; then
post_install post_install
fi fi
fi fi
elif [ -f $PKG_DIR/install ]; then
$PKG_DIR/install $@ >&$VERBOSE_OUT
fi
for i in `sed -n "s/^\([^#].*\)=\".*$/\1/p" $PROJECT_DIR/$PROJECT/options | grep -v "#"`; do for i in `sed -n "s/^\([^#].*\)=\".*$/\1/p" $PROJECT_DIR/$PROJECT/options | grep -v "#"`; do
eval val=\$$i eval val=\$$i

View File

@ -29,6 +29,11 @@ $SCRIPTS/get $1
STAMP=$PKG_BUILD/.openelec-unpack STAMP=$PKG_BUILD/.openelec-unpack
if [ ! -f $PKG_DIR/package.mk ]; then
printf "${boldred} no package.mk file found in $PKG_DIR${endcolor}\n"
exit 1
fi
mkdir -p $BUILD mkdir -p $BUILD
[ ! -d "$SOURCES/$1" -a ! -d "$PKG_DIR/sources" ] && exit 0 [ ! -d "$SOURCES/$1" -a ! -d "$PKG_DIR/sources" ] && exit 0
@ -38,11 +43,7 @@ for i in $BUILD/$1-*; do
. "$i/.openelec-unpack" . "$i/.openelec-unpack"
if [ "$STAMP_PKG_NAME" = "$1" ]; then if [ "$STAMP_PKG_NAME" = "$1" ]; then
# trigger unpack / full rebuild on any package.mk change # trigger unpack / full rebuild on any package.mk change
if [ -f $PKG_DIR/package.mk -a $PKG_DIR/package.mk -nt "$i/.openelec-unpack" ]; then if [ $PKG_DIR/package.mk -nt "$i/.openelec-unpack" ]; then
CLEAN_SOURCE=yes
break
# TODO: remove after converting ALL packages
elif [ -f $PKG_DIR/meta -a $PKG_DIR/meta -nt "$i/.openelec-unpack" ]; then
CLEAN_SOURCE=yes CLEAN_SOURCE=yes
break break
fi fi
@ -74,8 +75,7 @@ fi
printf "%${BUILD_INDENT}c ${boldcyan}UNPACK${endcolor} $1\n" ' '>&$SILENT_OUT printf "%${BUILD_INDENT}c ${boldcyan}UNPACK${endcolor} $1\n" ' '>&$SILENT_OUT
export BUILD_INDENT=$((${BUILD_INDENT:-1}+$BUILD_INDENT_SIZE)) export BUILD_INDENT=$((${BUILD_INDENT:-1}+$BUILD_INDENT_SIZE))
if [ -f $PKG_DIR/package.mk ]; then # unset functions
# unset functions
unset -f pre_unpack unset -f pre_unpack
unset -f unpack unset -f unpack
unset -f post_unpack unset -f post_unpack
@ -114,36 +114,9 @@ if [ -f $PKG_DIR/package.mk ]; then
if [ "$(type -t post_unpack)" = "function" ]; then if [ "$(type -t post_unpack)" = "function" ]; then
post_unpack post_unpack
fi fi
else
if [ -n "$PKG_URL" ]; then
$SCRIPTS/extract $1 "$1*.tar.bz2" $BUILD
$SCRIPTS/extract $1 "$1*.tbz" $BUILD
$SCRIPTS/extract $1 "$1*.tar.gz" $BUILD
$SCRIPTS/extract $1 "$1*.tar.xz" $BUILD
$SCRIPTS/extract $1 "$1*.txz" $BUILD
$SCRIPTS/extract $1 "$1*.tgz" $BUILD
$SCRIPTS/extract $1 "$1*.7z" $BUILD
$SCRIPTS/extract $1 "$1*.zip" $BUILD
fi
if [ -n "$PKG_SOURCE_DIR" ]; then if [ "$(type -t pre_patch)" = "function" ]; then
mv $BUILD/$PKG_SOURCE_DIR $BUILD/$PKG_NAME-$PKG_VERSION
fi
if [ -d "$PKG_DIR/sources" ]; then
[ ! -d "$BUILD/${PKG_NAME}-${PKG_VERSION}" ] && mkdir -p $BUILD/${PKG_NAME}-${PKG_VERSION}
cp -PRf $PKG_DIR/sources/* $BUILD/${PKG_NAME}-${PKG_VERSION}
fi
# todo: deprecated
if [ -f "$PKG_DIR/unpack" ]; then
$PKG_DIR/unpack $@ >&$VERBOSE_OUT
fi
fi
if [ -f $PKG_DIR/package.mk ]; then
if [ "$(type -t pre_patch)" = "function" ]; then
pre_patch pre_patch
fi
fi fi
for i in $PKG_DIR/patches/$PKG_NAME-*.patch ; do for i in $PKG_DIR/patches/$PKG_NAME-*.patch ; do
@ -188,10 +161,8 @@ for i in $PROJECT_DIR/$PROJECT/patches/$PKG_NAME/*.patch ; do
fi fi
done done
if [ -f $PKG_DIR/package.mk ]; then if [ "$(type -t post_patch)" = "function" ]; then
if [ "$(type -t post_patch)" = "function" ]; then
post_patch post_patch
fi
fi fi
for config in `find $BUILD/$1* -name config.guess | sed 's/config.guess//'`; do for config in `find $BUILD/$1* -name config.guess | sed 's/config.guess//'`; do
@ -205,23 +176,7 @@ done
rm -f $STAMPS/$1/build_* rm -f $STAMPS/$1/build_*
if [ -f "$PKG_DIR/package.mk" ]; then for i in PKG_NAME PKG_VERSION PKG_REV PKG_SHORTDESC PKG_LONGDESC PKG_SITE PKG_URL PKG_SECTION; do
for i in PKG_NAME PKG_VERSION PKG_REV PKG_SHORTDESC PKG_LONGDESC PKG_SITE PKG_URL PKG_SECTION; do
eval val=\$$i eval val=\$$i
echo "STAMP_$i=\"$val"\" >> $STAMP echo "STAMP_$i=\"$val"\" >> $STAMP
done done
elif [ -f "$PKG_DIR/meta" ]; then
# Deprecated
. $PKG_DIR/meta
for i in PKG_NAME PKG_VERSION PKG_REV PKG_SHORTDESC PKG_LONGDESC PKG_SITE PKG_URL PKG_SECTION; do
eval val=\$$i
echo "STAMP_$i=\"$val"\" >> $STAMP
done
else
# Deprecated
for i in `sed -n "s/^\([^#].*\)=\".*$/\1/p" $PROJECT_DIR/$PROJECT/options | grep -v "#"`; do
eval val=\$$i
echo "STAMP_$i=\"$val"\" >> $STAMP
done
fi