mirror of
https://github.com/LibreELEC/LibreELEC.tv.git
synced 2025-07-24 11:16:51 +00:00
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:
parent
a048519131
commit
7139ce0d21
650
scripts/build
650
scripts/build
@ -48,120 +48,88 @@ STAMP=$STAMPS/$PACKAGE_NAME/build_$TARGET
|
||||
|
||||
$SCRIPTS/unpack $PACKAGE_NAME
|
||||
|
||||
if [ -f $PKG_DIR/package.mk ]; then
|
||||
if [ -f $STAMP -a $PKG_DIR/package.mk -nt $STAMP ]; then
|
||||
rm -f $STAMP
|
||||
fi
|
||||
elif [ -f $PKG_DIR/build ]; then
|
||||
if [ -f $STAMP -a $PKG_DIR/build -nt $STAMP ]; then
|
||||
rm -f $STAMP
|
||||
fi
|
||||
if [ ! -f $PKG_DIR/package.mk ]; 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
|
||||
fi
|
||||
|
||||
if [ ! -f $STAMP ]; then
|
||||
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
|
||||
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
|
||||
printf "%${BUILD_INDENT}c ${boldyellow}BUILD${endcolor} $PACKAGE_NAME ${boldwhite}($TARGET)${endcolor}\n" ' '>&$SILENT_OUT
|
||||
export BUILD_INDENT=$((${BUILD_INDENT:-1}+$BUILD_INDENT_SIZE))
|
||||
|
||||
if [ -f $PKG_DIR/package.mk ]; then
|
||||
if [ "$TARGET" = "bootstrap" -o "$TARGET" = "init" ]; then
|
||||
setup_toolchain target
|
||||
elif [ "$TARGET" = "hosttools" ]; then
|
||||
setup_toolchain host
|
||||
else
|
||||
setup_toolchain $TARGET
|
||||
fi
|
||||
if [ "$TARGET" = "bootstrap" -o "$TARGET" = "init" ]; then
|
||||
setup_toolchain target
|
||||
elif [ "$TARGET" = "hosttools" ]; then
|
||||
setup_toolchain host
|
||||
else
|
||||
setup_toolchain $TARGET
|
||||
fi
|
||||
|
||||
# unset functions
|
||||
unset -f pre_build_target
|
||||
unset -f pre_configure_target
|
||||
unset -f configure_target
|
||||
unset -f post_configure_target
|
||||
unset -f pre_make_target
|
||||
unset -f make_target
|
||||
unset -f post_make_target
|
||||
unset -f pre_makeinstall_target
|
||||
unset -f makeinstall_target
|
||||
unset -f post_makeinstall_target
|
||||
# unset functions
|
||||
unset -f pre_build_target
|
||||
unset -f pre_configure_target
|
||||
unset -f configure_target
|
||||
unset -f post_configure_target
|
||||
unset -f pre_make_target
|
||||
unset -f make_target
|
||||
unset -f post_make_target
|
||||
unset -f pre_makeinstall_target
|
||||
unset -f makeinstall_target
|
||||
unset -f post_makeinstall_target
|
||||
|
||||
unset -f pre_build_host
|
||||
unset -f pre_configure_host
|
||||
unset -f configure_host
|
||||
unset -f post_configure_host
|
||||
unset -f pre_make_host
|
||||
unset -f make_host
|
||||
unset -f post_make_host
|
||||
unset -f pre_makeinstall_host
|
||||
unset -f makeinstall_host
|
||||
unset -f post_makeinstall_host
|
||||
unset -f pre_build_host
|
||||
unset -f pre_configure_host
|
||||
unset -f configure_host
|
||||
unset -f post_configure_host
|
||||
unset -f pre_make_host
|
||||
unset -f make_host
|
||||
unset -f post_make_host
|
||||
unset -f pre_makeinstall_host
|
||||
unset -f makeinstall_host
|
||||
unset -f post_makeinstall_host
|
||||
|
||||
unset -f pre_build_init
|
||||
unset -f pre_configure_init
|
||||
unset -f configure_init
|
||||
unset -f post_configure_init
|
||||
unset -f pre_make_init
|
||||
unset -f make_init
|
||||
unset -f post_make_init
|
||||
unset -f pre_makeinstall_init
|
||||
unset -f makeinstall_init
|
||||
unset -f post_makeinstall_init
|
||||
unset -f pre_build_init
|
||||
unset -f pre_configure_init
|
||||
unset -f configure_init
|
||||
unset -f post_configure_init
|
||||
unset -f pre_make_init
|
||||
unset -f make_init
|
||||
unset -f post_make_init
|
||||
unset -f pre_makeinstall_init
|
||||
unset -f makeinstall_init
|
||||
unset -f post_makeinstall_init
|
||||
|
||||
unset -f pre_build_bootstrap
|
||||
unset -f pre_configure_bootstrap
|
||||
unset -f configure_bootstrap
|
||||
unset -f post_configure_bootstrap
|
||||
unset -f pre_make_bootstrap
|
||||
unset -f make_bootstrap
|
||||
unset -f post_make_bootstrap
|
||||
unset -f pre_makeinstall_bootstrap
|
||||
unset -f makeinstall_bootstrap
|
||||
unset -f post_makeinstall_bootstrap
|
||||
unset -f pre_build_bootstrap
|
||||
unset -f pre_configure_bootstrap
|
||||
unset -f configure_bootstrap
|
||||
unset -f post_configure_bootstrap
|
||||
unset -f pre_make_bootstrap
|
||||
unset -f make_bootstrap
|
||||
unset -f post_make_bootstrap
|
||||
unset -f pre_makeinstall_bootstrap
|
||||
unset -f makeinstall_bootstrap
|
||||
unset -f post_makeinstall_bootstrap
|
||||
|
||||
unset -f pre_build_hosttools
|
||||
unset -f pre_configure_hosttools
|
||||
unset -f configure_hosttools
|
||||
unset -f post_configure_hosttools
|
||||
unset -f pre_make_hosttools
|
||||
unset -f make_hosttools
|
||||
unset -f post_make_hosttools
|
||||
unset -f pre_makeinstall_hosttools
|
||||
unset -f makeinstall_hosttools
|
||||
unset -f post_makeinstall_hosttools
|
||||
unset -f pre_build_hosttools
|
||||
unset -f pre_configure_hosttools
|
||||
unset -f configure_hosttools
|
||||
unset -f post_configure_hosttools
|
||||
unset -f pre_make_hosttools
|
||||
unset -f make_hosttools
|
||||
unset -f post_make_hosttools
|
||||
unset -f pre_makeinstall_hosttools
|
||||
unset -f makeinstall_hosttools
|
||||
unset -f post_makeinstall_hosttools
|
||||
|
||||
# configure TARGET build defaults
|
||||
unset -v TARGET_CONFIGURE_OPTS
|
||||
TARGET_CONFIGURE_OPTS="--host=$TARGET_NAME \
|
||||
--build=$HOST_NAME \
|
||||
--prefix=/usr \
|
||||
--bindir=/usr/bin \
|
||||
--sbindir=/usr/sbin \
|
||||
--sysconfdir=/etc \
|
||||
--libexecdir=/usr/lib \
|
||||
--localstatedir=/var \
|
||||
--disable-static \
|
||||
--enable-shared"
|
||||
|
||||
# configure HOST build defaults
|
||||
unset -v HOST_CONFIGURE_OPTS
|
||||
HOST_CONFIGURE_OPTS="--host=$HOST_NAME \
|
||||
--build=$HOST_NAME \
|
||||
--prefix=$ROOT/$TOOLCHAIN \
|
||||
--bindir=$ROOT/$TOOLCHAIN/bin \
|
||||
--sbindir=$ROOT/$TOOLCHAIN/sbin \
|
||||
--sysconfdir=$ROOT/$TOOLCHAIN/etc \
|
||||
--libexecdir=$ROOT/$TOOLCHAIN/lib \
|
||||
--localstatedir=$ROOT/$TOOLCHAIN/var \
|
||||
--disable-static \
|
||||
--enable-shared"
|
||||
|
||||
# configure INIT build defaults
|
||||
unset -v INIT_CONFIGURE_OPTS
|
||||
INIT_CONFIGURE_OPTS="--host=$TARGET_NAME \
|
||||
# configure TARGET build defaults
|
||||
unset -v TARGET_CONFIGURE_OPTS
|
||||
TARGET_CONFIGURE_OPTS="--host=$TARGET_NAME \
|
||||
--build=$HOST_NAME \
|
||||
--prefix=/usr \
|
||||
--bindir=/usr/bin \
|
||||
@ -172,70 +140,96 @@ if [ ! -f $STAMP ]; then
|
||||
--disable-static \
|
||||
--enable-shared"
|
||||
|
||||
# configure BOOTSTRAP build defaults
|
||||
unset -v BOOTSTRAP_CONFIGURE_OPTS
|
||||
BOOTSTRAP_CONFIGURE_OPTS="--host=$TARGET_NAME \
|
||||
--build=$HOST_NAME \
|
||||
--prefix=/usr \
|
||||
--bindir=/usr/bin \
|
||||
--sbindir=/usr/sbin \
|
||||
--sysconfdir=/etc \
|
||||
--libexecdir=/usr/lib \
|
||||
--localstatedir=/var \
|
||||
--disable-static \
|
||||
--enable-shared"
|
||||
# configure HOST build defaults
|
||||
unset -v HOST_CONFIGURE_OPTS
|
||||
HOST_CONFIGURE_OPTS="--host=$HOST_NAME \
|
||||
--build=$HOST_NAME \
|
||||
--prefix=$ROOT/$TOOLCHAIN \
|
||||
--bindir=$ROOT/$TOOLCHAIN/bin \
|
||||
--sbindir=$ROOT/$TOOLCHAIN/sbin \
|
||||
--sysconfdir=$ROOT/$TOOLCHAIN/etc \
|
||||
--libexecdir=$ROOT/$TOOLCHAIN/lib \
|
||||
--localstatedir=$ROOT/$TOOLCHAIN/var \
|
||||
--disable-static \
|
||||
--enable-shared"
|
||||
|
||||
# configure HOSTTOOLS build defaults
|
||||
unset -v HOSTTOOLS_CONFIGURE_OPTS
|
||||
HOSTTOOLS_CONFIGURE_OPTS="--host=$HOST_NAME \
|
||||
--build=$HOST_NAME \
|
||||
--prefix=$ROOT/$TOOLCHAIN \
|
||||
--bindir=$ROOT/$TOOLCHAIN/bin \
|
||||
--sbindir=$ROOT/$TOOLCHAIN/sbin \
|
||||
--sysconfdir=$ROOT/$TOOLCHAIN/etc \
|
||||
--libexecdir=$ROOT/$TOOLCHAIN/lib \
|
||||
--localstatedir=$ROOT/$TOOLCHAIN/var \
|
||||
--disable-static \
|
||||
--enable-shared"
|
||||
# configure INIT build defaults
|
||||
unset -v INIT_CONFIGURE_OPTS
|
||||
INIT_CONFIGURE_OPTS="--host=$TARGET_NAME \
|
||||
--build=$HOST_NAME \
|
||||
--prefix=/usr \
|
||||
--bindir=/usr/bin \
|
||||
--sbindir=/usr/sbin \
|
||||
--sysconfdir=/etc \
|
||||
--libexecdir=/usr/lib \
|
||||
--localstatedir=/var \
|
||||
--disable-static \
|
||||
--enable-shared"
|
||||
|
||||
# include buildfile
|
||||
. $PKG_DIR/package.mk
|
||||
# configure BOOTSTRAP build defaults
|
||||
unset -v BOOTSTRAP_CONFIGURE_OPTS
|
||||
BOOTSTRAP_CONFIGURE_OPTS="--host=$TARGET_NAME \
|
||||
--build=$HOST_NAME \
|
||||
--prefix=/usr \
|
||||
--bindir=/usr/bin \
|
||||
--sbindir=/usr/sbin \
|
||||
--sysconfdir=/etc \
|
||||
--libexecdir=/usr/lib \
|
||||
--localstatedir=/var \
|
||||
--disable-static \
|
||||
--enable-shared"
|
||||
|
||||
if [ "$TARGET" = "target" ]; then
|
||||
for p in $PKG_BUILD_DEPENDS_TARGET; do
|
||||
$SCRIPTS/build $p
|
||||
done
|
||||
elif [ "$TARGET" = "host" ]; then
|
||||
for p in $PKG_BUILD_DEPENDS_HOST; do
|
||||
$SCRIPTS/build $p
|
||||
done
|
||||
elif [ "$TARGET" = "init" ]; then
|
||||
for p in $PKG_BUILD_DEPENDS_INIT; do
|
||||
$SCRIPTS/build $p
|
||||
done
|
||||
elif [ "$TARGET" = "bootstrap" ]; then
|
||||
for p in $PKG_BUILD_DEPENDS_BOOTSTRAP; do
|
||||
$SCRIPTS/build $p
|
||||
done
|
||||
elif [ "$TARGET" = "hosttools" ]; then
|
||||
for p in $PKG_BUILD_DEPENDS_HOSTTOOLS; do
|
||||
$SCRIPTS/build $p
|
||||
done
|
||||
fi
|
||||
# configure HOSTTOOLS build defaults
|
||||
unset -v HOSTTOOLS_CONFIGURE_OPTS
|
||||
HOSTTOOLS_CONFIGURE_OPTS="--host=$HOST_NAME \
|
||||
--build=$HOST_NAME \
|
||||
--prefix=$ROOT/$TOOLCHAIN \
|
||||
--bindir=$ROOT/$TOOLCHAIN/bin \
|
||||
--sbindir=$ROOT/$TOOLCHAIN/sbin \
|
||||
--sysconfdir=$ROOT/$TOOLCHAIN/etc \
|
||||
--libexecdir=$ROOT/$TOOLCHAIN/lib \
|
||||
--localstatedir=$ROOT/$TOOLCHAIN/var \
|
||||
--disable-static \
|
||||
--enable-shared"
|
||||
|
||||
if [ "$PKG_AUTORECONF" = yes ]; then
|
||||
$SCRIPTS/autoreconf $PACKAGE_NAME
|
||||
fi
|
||||
# include buildfile
|
||||
. $PKG_DIR/package.mk
|
||||
|
||||
# virtual packages dont must be build, they only contains dependencies, so dont go further here
|
||||
if [ ! "$PKG_SECTION" = "virtual" ]; then
|
||||
if [ "$TARGET" = "target" ]; then
|
||||
for p in $PKG_BUILD_DEPENDS_TARGET; do
|
||||
$SCRIPTS/build $p
|
||||
done
|
||||
elif [ "$TARGET" = "host" ]; then
|
||||
for p in $PKG_BUILD_DEPENDS_HOST; do
|
||||
$SCRIPTS/build $p
|
||||
done
|
||||
elif [ "$TARGET" = "init" ]; then
|
||||
for p in $PKG_BUILD_DEPENDS_INIT; do
|
||||
$SCRIPTS/build $p
|
||||
done
|
||||
elif [ "$TARGET" = "bootstrap" ]; then
|
||||
for p in $PKG_BUILD_DEPENDS_BOOTSTRAP; do
|
||||
$SCRIPTS/build $p
|
||||
done
|
||||
elif [ "$TARGET" = "hosttools" ]; then
|
||||
for p in $PKG_BUILD_DEPENDS_HOSTTOOLS; do
|
||||
$SCRIPTS/build $p
|
||||
done
|
||||
fi
|
||||
|
||||
if [ "$PKG_AUTORECONF" = yes ]; then
|
||||
$SCRIPTS/autoreconf $PACKAGE_NAME
|
||||
fi
|
||||
|
||||
# virtual packages dont must be build, they only contains dependencies, so dont go further here
|
||||
if [ ! "$PKG_SECTION" = "virtual" ]; then
|
||||
|
||||
# configure other variables
|
||||
if [ "$TARGET" = "target" ]; then
|
||||
INSTALL=$ROOT/$PKG_BUILD/.install_pkg
|
||||
elif [ "$TARGET" = "init" ]; then
|
||||
INSTALL=$ROOT/$PKG_BUILD/.install_init
|
||||
fi
|
||||
if [ "$TARGET" = "target" ]; then
|
||||
INSTALL=$ROOT/$PKG_BUILD/.install_pkg
|
||||
elif [ "$TARGET" = "init" ]; then
|
||||
INSTALL=$ROOT/$PKG_BUILD/.install_init
|
||||
fi
|
||||
|
||||
# clean up
|
||||
if [ ! -z "$INSTALL" ] ; then
|
||||
@ -245,196 +239,164 @@ if [ ! -f $STAMP ]; then
|
||||
fi
|
||||
|
||||
# setup configure script
|
||||
if [ -z "$PKG_CONFIGURE_SCRIPT" ]; then
|
||||
PKG_CONFIGURE_SCRIPT="$ROOT/$PKG_BUILD/configure"
|
||||
else
|
||||
PKG_CONFIGURE_SCRIPT="$ROOT/$PKG_BUILD/$PKG_CONFIGURE_SCRIPT"
|
||||
fi
|
||||
if [ -z "$PKG_CMAKE_SCRIPT" ]; then
|
||||
PKG_CMAKE_SCRIPT="$ROOT/$PKG_BUILD/CMakeLists.txt"
|
||||
else
|
||||
PKG_CMAKE_SCRIPT="$ROOT/$PKG_BUILD/$PKG_CMAKE_SCRIPT"
|
||||
fi
|
||||
|
||||
# include build template and build
|
||||
if [ "$(type -t pre_build_$TARGET)" = "function" ]; then
|
||||
pre_build_$TARGET
|
||||
fi
|
||||
|
||||
# ensure $PKG_BUILD is there. (installer? PKG_URL="")
|
||||
if [ ! -d $PKG_BUILD ] ; then
|
||||
mkdir -p $PKG_BUILD
|
||||
fi
|
||||
|
||||
cd $PKG_BUILD
|
||||
|
||||
if [ "$TARGET" = "target" ]; then
|
||||
if [ -f "$PKG_CONFIGURE_SCRIPT" -o -f "$PKG_CMAKE_SCRIPT" ]; then
|
||||
mkdir -p .$TARGET_NAME
|
||||
cd .$TARGET_NAME
|
||||
fi
|
||||
elif [ "$TARGET" = "host" ]; then
|
||||
if [ -f "$PKG_CONFIGURE_SCRIPT" -o -f "$PKG_CMAKE_SCRIPT" ]; then
|
||||
mkdir -p .$HOST_NAME
|
||||
cd .$HOST_NAME
|
||||
fi
|
||||
elif [ "$TARGET" = "init" ]; then
|
||||
if [ -f "$PKG_CONFIGURE_SCRIPT" -o -f "$PKG_CMAKE_SCRIPT" ]; then
|
||||
mkdir -p .$TARGET_NAME-init
|
||||
cd .$TARGET_NAME-init
|
||||
fi
|
||||
elif [ "$TARGET" = "bootstrap" ]; then
|
||||
if [ -f "$PKG_CONFIGURE_SCRIPT" -o -f "$PKG_CMAKE_SCRIPT" ]; then
|
||||
mkdir -p .$TARGET_NAME-bootstrap
|
||||
cd .$TARGET_NAME-bootstrap
|
||||
fi
|
||||
elif [ "$TARGET" = "hosttools" ]; then
|
||||
if [ -f "$PKG_CONFIGURE_SCRIPT" -o -f "$PKG_CMAKE_SCRIPT" ]; then
|
||||
mkdir -p .$TARGET_NAME-hosttools
|
||||
cd .$TARGET_NAME-hosttools
|
||||
fi
|
||||
fi
|
||||
|
||||
# configure
|
||||
if [ "$(type -t pre_configure_$TARGET)" = "function" ]; then
|
||||
pre_configure_$TARGET
|
||||
fi
|
||||
if [ "$(type -t configure_$TARGET)" = "function" ]; then
|
||||
configure_$TARGET
|
||||
elif [ -f "$PKG_CONFIGURE_SCRIPT" ]; then
|
||||
if [ "$TARGET" = "target" ]; then
|
||||
$PKG_CONFIGURE_SCRIPT $TARGET_CONFIGURE_OPTS $PKG_CONFIGURE_OPTS_TARGET
|
||||
elif [ "$TARGET" = "host" ]; then
|
||||
$PKG_CONFIGURE_SCRIPT $HOST_CONFIGURE_OPTS $PKG_CONFIGURE_OPTS_HOST
|
||||
elif [ "$TARGET" = "init" ]; then
|
||||
$PKG_CONFIGURE_SCRIPT $INIT_CONFIGURE_OPTS $PKG_CONFIGURE_OPTS_INIT
|
||||
elif [ "$TARGET" = "bootstrap" ]; then
|
||||
$PKG_CONFIGURE_SCRIPT $BOOTSTRAP_CONFIGURE_OPTS $PKG_CONFIGURE_OPTS_BOOTSTRAP
|
||||
elif [ "$TARGET" = "hosttools" ]; then
|
||||
$PKG_CONFIGURE_SCRIPT $HOSTTOOLS_CONFIGURE_OPTS $PKG_CONFIGURE_OPTS_HOSTTOOLS
|
||||
fi
|
||||
fi
|
||||
if [ "$(type -t post_configure_$TARGET)" = "function" ]; then
|
||||
post_configure_$TARGET
|
||||
fi
|
||||
|
||||
# make
|
||||
if [ "$(type -t pre_make_$TARGET)" = "function" ]; then
|
||||
pre_make_$TARGET
|
||||
fi
|
||||
if [ "$(type -t make_$TARGET)" = "function" ]; then
|
||||
make_$TARGET
|
||||
else
|
||||
if [ "$TARGET" = "target" ]; then
|
||||
make $PKG_MAKE_OPTS_TARGET
|
||||
elif [ "$TARGET" = "host" ]; then
|
||||
make $PKG_MAKE_OPTS_HOST
|
||||
elif [ "$TARGET" = "init" ]; then
|
||||
make $PKG_MAKE_OPTS_INIT
|
||||
elif [ "$TARGET" = "bootstrap" ]; then
|
||||
make $PKG_MAKE_OPTS_BOOTSTRAP
|
||||
elif [ "$TARGET" = "hosttools" ]; then
|
||||
make $PKG_MAKE_OPTS_HOSTTOOLS
|
||||
fi
|
||||
fi
|
||||
if [ "$(type -t post_make_$TARGET)" = "function" ]; then
|
||||
post_make_$TARGET
|
||||
fi
|
||||
|
||||
# make install
|
||||
if [ "$(type -t pre_makeinstall_$TARGET)" = "function" ]; then
|
||||
pre_makeinstall_$TARGET
|
||||
fi
|
||||
if [ "$(type -t makeinstall_$TARGET)" = "function" ]; then
|
||||
makeinstall_$TARGET
|
||||
else
|
||||
if [ "$TARGET" = "target" ]; then
|
||||
$MAKEINSTALL $PKG_MAKEINSTALL_OPTS_TARGET
|
||||
make install DESTDIR=$INSTALL $PKG_MAKEINSTALL_OPTS_TARGET
|
||||
elif [ "$TARGET" = "host" ]; then
|
||||
make install $PKG_MAKEINSTALL_OPTS_HOST
|
||||
elif [ "$TARGET" = "init" ]; then
|
||||
make install DESTDIR=$INSTALL $PKG_MAKEINSTALL_OPTS_INIT
|
||||
elif [ "$TARGET" = "bootstrap" ]; then
|
||||
$MAKEINSTALL $PKG_MAKEINSTALL_OPTS_BOOTSTRAP
|
||||
elif [ "$TARGET" = "hosttools" ]; then
|
||||
make install $PKG_MAKEINSTALL_OPTS_HOSTTOOLS
|
||||
fi
|
||||
fi
|
||||
if [ "$(type -t post_makeinstall_$TARGET)" = "function" ]; then
|
||||
post_makeinstall_$TARGET
|
||||
fi
|
||||
|
||||
if [ "$TARGET" = "target" -o "$TARGET" = "init" ]; then
|
||||
if [ -d $INSTALL ] ; then
|
||||
for i in $INSTALL $INSTALL/usr; do
|
||||
rm -rf $i/include
|
||||
rm -rf $i/lib/pkgconfig
|
||||
rm -rf $i/man
|
||||
rm -rf $i/share/aclocal
|
||||
rm -rf $i/share/bash-completion
|
||||
rm -rf $i/share/doc
|
||||
rm -rf $i/share/gtk-doc
|
||||
rm -rf $i/share/info
|
||||
rm -rf $i/share/locale
|
||||
rm -rf $i/share/man
|
||||
rm -rf $i/share/pkgconfig
|
||||
find $i -name "*.la" -exec rm -rf "{}" ";" 2>/dev/null || true
|
||||
find $i -name "*.a" -exec rm -rf "{}" ";" 2>/dev/null || true
|
||||
find $i -name "*.so*T" -exec rm -rf "{}" ";" 2>/dev/null || true
|
||||
done
|
||||
|
||||
find $INSTALL -type d -exec rmdir -p "{}" ";" 2>/dev/null || true
|
||||
|
||||
if [ ! "$DEBUG" = yes ]; then
|
||||
$STRIP `find $INSTALL -name "*.so"` 2>/dev/null || echo "Information: no *.so libs found"
|
||||
$STRIP `find $INSTALL -name "*.so.[0-9]*"` 2>/dev/null || echo "Information: no *.so.[0-9]* libs found"
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
cd $ROOT
|
||||
|
||||
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"
|
||||
if [ -z "$PKG_CONFIGURE_SCRIPT" ]; then
|
||||
PKG_CONFIGURE_SCRIPT="$ROOT/$PKG_BUILD/configure"
|
||||
else
|
||||
PKG_CONFIGURE_SCRIPT="$ROOT/$PKG_BUILD/$PKG_CONFIGURE_SCRIPT"
|
||||
fi
|
||||
if [ -z "$PKG_CMAKE_SCRIPT" ]; then
|
||||
PKG_CMAKE_SCRIPT="$ROOT/$PKG_BUILD/CMakeLists.txt"
|
||||
else
|
||||
PKG_CMAKE_SCRIPT="$ROOT/$PKG_BUILD/$PKG_CMAKE_SCRIPT"
|
||||
fi
|
||||
|
||||
elif [ -f $PKG_BUILD/Makefile ]; then
|
||||
$SCRIPTS/build toolchain
|
||||
make -C $PKG_BUILD >&$VERBOSE_OUT
|
||||
# include build template and build
|
||||
if [ "$(type -t pre_build_$TARGET)" = "function" ]; then
|
||||
pre_build_$TARGET
|
||||
fi
|
||||
|
||||
elif [ -f $PKG_BUILD/$PACKAGE_NAME.c ]; then
|
||||
$SCRIPTS/build toolchain
|
||||
make -C $PKG_BUILD $PACKAGE_NAME >&$VERBOSE_OUT
|
||||
# ensure $PKG_BUILD is there. (installer? PKG_URL="")
|
||||
if [ ! -d $PKG_BUILD ] ; then
|
||||
mkdir -p $PKG_BUILD
|
||||
fi
|
||||
|
||||
fi # -f $PKG_DIR/build
|
||||
fi # -f $PKG_DIR/meta
|
||||
cd $PKG_BUILD
|
||||
|
||||
# TODO: slow...
|
||||
for i in `find $SYSROOT_PREFIX/usr/lib/ -name "*.la" 2>/dev/null`; do \
|
||||
$SED "s:\(['= ]\)/usr:\\1$SYSROOT_PREFIX/usr:g" $i; \
|
||||
done
|
||||
if [ "$TARGET" = "target" ]; then
|
||||
if [ -f "$PKG_CONFIGURE_SCRIPT" -o -f "$PKG_CMAKE_SCRIPT" ]; then
|
||||
mkdir -p .$TARGET_NAME
|
||||
cd .$TARGET_NAME
|
||||
fi
|
||||
elif [ "$TARGET" = "host" ]; then
|
||||
if [ -f "$PKG_CONFIGURE_SCRIPT" -o -f "$PKG_CMAKE_SCRIPT" ]; then
|
||||
mkdir -p .$HOST_NAME
|
||||
cd .$HOST_NAME
|
||||
fi
|
||||
elif [ "$TARGET" = "init" ]; then
|
||||
if [ -f "$PKG_CONFIGURE_SCRIPT" -o -f "$PKG_CMAKE_SCRIPT" ]; then
|
||||
mkdir -p .$TARGET_NAME-init
|
||||
cd .$TARGET_NAME-init
|
||||
fi
|
||||
elif [ "$TARGET" = "bootstrap" ]; then
|
||||
if [ -f "$PKG_CONFIGURE_SCRIPT" -o -f "$PKG_CMAKE_SCRIPT" ]; then
|
||||
mkdir -p .$TARGET_NAME-bootstrap
|
||||
cd .$TARGET_NAME-bootstrap
|
||||
fi
|
||||
elif [ "$TARGET" = "hosttools" ]; then
|
||||
if [ -f "$PKG_CONFIGURE_SCRIPT" -o -f "$PKG_CMAKE_SCRIPT" ]; then
|
||||
mkdir -p .$TARGET_NAME-hosttools
|
||||
cd .$TARGET_NAME-hosttools
|
||||
fi
|
||||
fi
|
||||
|
||||
for i in `sed -n "s/^\([^#].*\)=\".*$/\1/p" $PROJECT_DIR/$PROJECT/options | grep -v "#"`; do
|
||||
eval val=\$$i
|
||||
echo "STAMP_$i=\"$val\"" >> $STAMP
|
||||
done
|
||||
# configure
|
||||
if [ "$(type -t pre_configure_$TARGET)" = "function" ]; then
|
||||
pre_configure_$TARGET
|
||||
fi
|
||||
if [ "$(type -t configure_$TARGET)" = "function" ]; then
|
||||
configure_$TARGET
|
||||
elif [ -f "$PKG_CONFIGURE_SCRIPT" ]; then
|
||||
if [ "$TARGET" = "target" ]; then
|
||||
$PKG_CONFIGURE_SCRIPT $TARGET_CONFIGURE_OPTS $PKG_CONFIGURE_OPTS_TARGET
|
||||
elif [ "$TARGET" = "host" ]; then
|
||||
$PKG_CONFIGURE_SCRIPT $HOST_CONFIGURE_OPTS $PKG_CONFIGURE_OPTS_HOST
|
||||
elif [ "$TARGET" = "init" ]; then
|
||||
$PKG_CONFIGURE_SCRIPT $INIT_CONFIGURE_OPTS $PKG_CONFIGURE_OPTS_INIT
|
||||
elif [ "$TARGET" = "bootstrap" ]; then
|
||||
$PKG_CONFIGURE_SCRIPT $BOOTSTRAP_CONFIGURE_OPTS $PKG_CONFIGURE_OPTS_BOOTSTRAP
|
||||
elif [ "$TARGET" = "hosttools" ]; then
|
||||
$PKG_CONFIGURE_SCRIPT $HOSTTOOLS_CONFIGURE_OPTS $PKG_CONFIGURE_OPTS_HOSTTOOLS
|
||||
fi
|
||||
fi
|
||||
if [ "$(type -t post_configure_$TARGET)" = "function" ]; then
|
||||
post_configure_$TARGET
|
||||
fi
|
||||
|
||||
# make
|
||||
if [ "$(type -t pre_make_$TARGET)" = "function" ]; then
|
||||
pre_make_$TARGET
|
||||
fi
|
||||
if [ "$(type -t make_$TARGET)" = "function" ]; then
|
||||
make_$TARGET
|
||||
else
|
||||
if [ "$TARGET" = "target" ]; then
|
||||
make $PKG_MAKE_OPTS_TARGET
|
||||
elif [ "$TARGET" = "host" ]; then
|
||||
make $PKG_MAKE_OPTS_HOST
|
||||
elif [ "$TARGET" = "init" ]; then
|
||||
make $PKG_MAKE_OPTS_INIT
|
||||
elif [ "$TARGET" = "bootstrap" ]; then
|
||||
make $PKG_MAKE_OPTS_BOOTSTRAP
|
||||
elif [ "$TARGET" = "hosttools" ]; then
|
||||
make $PKG_MAKE_OPTS_HOSTTOOLS
|
||||
fi
|
||||
fi
|
||||
if [ "$(type -t post_make_$TARGET)" = "function" ]; then
|
||||
post_make_$TARGET
|
||||
fi
|
||||
|
||||
# make install
|
||||
if [ "$(type -t pre_makeinstall_$TARGET)" = "function" ]; then
|
||||
pre_makeinstall_$TARGET
|
||||
fi
|
||||
if [ "$(type -t makeinstall_$TARGET)" = "function" ]; then
|
||||
makeinstall_$TARGET
|
||||
else
|
||||
if [ "$TARGET" = "target" ]; then
|
||||
$MAKEINSTALL $PKG_MAKEINSTALL_OPTS_TARGET
|
||||
make install DESTDIR=$INSTALL $PKG_MAKEINSTALL_OPTS_TARGET
|
||||
elif [ "$TARGET" = "host" ]; then
|
||||
make install $PKG_MAKEINSTALL_OPTS_HOST
|
||||
elif [ "$TARGET" = "init" ]; then
|
||||
make install DESTDIR=$INSTALL $PKG_MAKEINSTALL_OPTS_INIT
|
||||
elif [ "$TARGET" = "bootstrap" ]; then
|
||||
$MAKEINSTALL $PKG_MAKEINSTALL_OPTS_BOOTSTRAP
|
||||
elif [ "$TARGET" = "hosttools" ]; then
|
||||
make install $PKG_MAKEINSTALL_OPTS_HOSTTOOLS
|
||||
fi
|
||||
fi
|
||||
if [ "$(type -t post_makeinstall_$TARGET)" = "function" ]; then
|
||||
post_makeinstall_$TARGET
|
||||
fi
|
||||
|
||||
if [ "$TARGET" = "target" -o "$TARGET" = "init" ]; then
|
||||
if [ -d $INSTALL ] ; then
|
||||
for i in $INSTALL $INSTALL/usr; do
|
||||
rm -rf $i/include
|
||||
rm -rf $i/lib/pkgconfig
|
||||
rm -rf $i/man
|
||||
rm -rf $i/share/aclocal
|
||||
rm -rf $i/share/bash-completion
|
||||
rm -rf $i/share/doc
|
||||
rm -rf $i/share/gtk-doc
|
||||
rm -rf $i/share/info
|
||||
rm -rf $i/share/locale
|
||||
rm -rf $i/share/man
|
||||
rm -rf $i/share/pkgconfig
|
||||
find $i -name "*.la" -exec rm -rf "{}" ";" 2>/dev/null || true
|
||||
find $i -name "*.a" -exec rm -rf "{}" ";" 2>/dev/null || true
|
||||
find $i -name "*.so*T" -exec rm -rf "{}" ";" 2>/dev/null || true
|
||||
done
|
||||
|
||||
find $INSTALL -type d -exec rmdir -p "{}" ";" 2>/dev/null || true
|
||||
|
||||
if [ ! "$DEBUG" = yes ]; then
|
||||
$STRIP `find $INSTALL -name "*.so"` 2>/dev/null || echo "Information: no *.so libs found"
|
||||
$STRIP `find $INSTALL -name "*.so.[0-9]*"` 2>/dev/null || echo "Information: no *.so.[0-9]* libs found"
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
cd $ROOT
|
||||
fi # ! "$PKG_SECTION" = "virtual"
|
||||
|
||||
# TODO: slow...
|
||||
for i in `find $SYSROOT_PREFIX/usr/lib/ -name "*.la" 2>/dev/null`; do \
|
||||
$SED "s:\(['= ]\)/usr:\\1$SYSROOT_PREFIX/usr:g" $i; \
|
||||
done
|
||||
|
||||
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
|
||||
|
@ -25,10 +25,6 @@ if [ -z "$1" ]; then
|
||||
GET_PKG=`grep ^PKG_NAME= $i | sed -e "s,\",,g" -e "s,PKG_NAME=,,"`
|
||||
$SCRIPTS/get $GET_PKG
|
||||
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
|
||||
|
||||
[ -z "$PKG_URL" ] && exit 0
|
||||
|
@ -52,13 +52,14 @@ if [ -n "$PKG_ARCH" -a ! "$PKG_ARCH" = "any" ]; then
|
||||
echo "$PKG_ARCH" | grep -q "\-$TARGET_ARCH" && exit 0
|
||||
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 $@
|
||||
|
||||
if [ -f $PKG_DIR/package.mk ]; then
|
||||
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
|
||||
printf "%${BUILD_INDENT}c ${boldgreen}INSTALL${endcolor} $PACKAGE_NAME ${boldwhite}($TARGET)${endcolor}\n" ' '>&$SILENT_OUT
|
||||
export BUILD_INDENT=$((${BUILD_INDENT:-1}+$BUILD_INDENT_SIZE))
|
||||
|
||||
if [ "$TARGET" = target ] ; then
|
||||
@ -126,35 +127,33 @@ if [ "$TARGET" = target ] ; then
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ -f $PKG_DIR/package.mk ]; then
|
||||
# unset functions
|
||||
unset -f pre_install
|
||||
unset -f post_install
|
||||
# unset functions
|
||||
unset -f pre_install
|
||||
unset -f post_install
|
||||
|
||||
# include buildfile
|
||||
. $PKG_DIR/package.mk
|
||||
# include buildfile
|
||||
. $PKG_DIR/package.mk
|
||||
|
||||
# install
|
||||
if [ "$TARGET" = target ] ; then
|
||||
if [ "$(type -t pre_install)" = "function" ]; then
|
||||
pre_install
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ "$TARGET" = "target" -a -d $PKG_BUILD/.install_pkg ]; then
|
||||
mkdir -p $INSTALL
|
||||
cp -PR $PKG_BUILD/.install_pkg/* $INSTALL
|
||||
elif [ "$TARGET" = "init" -a -d $PKG_BUILD/.install_init ]; then
|
||||
mkdir -p $INSTALL
|
||||
cp -PR $PKG_BUILD/.install_init/* $INSTALL
|
||||
fi
|
||||
|
||||
if [ "$TARGET" = target ] ; then
|
||||
# install
|
||||
if [ "$(type -t pre_install)" = "function" ]; then
|
||||
pre_install
|
||||
fi
|
||||
if [ "$(type -t post_install)" = "function" ]; then
|
||||
post_install
|
||||
fi
|
||||
fi
|
||||
if [ "$TARGET" = "target" -a -d $PKG_BUILD/.install_pkg ]; then
|
||||
mkdir -p $INSTALL
|
||||
cp -PR $PKG_BUILD/.install_pkg/* $INSTALL
|
||||
elif [ "$TARGET" = "init" -a -d $PKG_BUILD/.install_init ]; then
|
||||
mkdir -p $INSTALL
|
||||
cp -PR $PKG_BUILD/.install_init/* $INSTALL
|
||||
fi
|
||||
if [ "$TARGET" = target ] ; then
|
||||
if [ "$(type -t post_install)" = "function" ]; then
|
||||
post_install
|
||||
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
|
||||
eval val=\$$i
|
||||
|
@ -29,6 +29,11 @@ $SCRIPTS/get $1
|
||||
|
||||
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
|
||||
|
||||
[ ! -d "$SOURCES/$1" -a ! -d "$PKG_DIR/sources" ] && exit 0
|
||||
@ -38,11 +43,7 @@ for i in $BUILD/$1-*; do
|
||||
. "$i/.openelec-unpack"
|
||||
if [ "$STAMP_PKG_NAME" = "$1" ]; then
|
||||
# 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
|
||||
CLEAN_SOURCE=yes
|
||||
break
|
||||
# TODO: remove after converting ALL packages
|
||||
elif [ -f $PKG_DIR/meta -a $PKG_DIR/meta -nt "$i/.openelec-unpack" ]; then
|
||||
if [ $PKG_DIR/package.mk -nt "$i/.openelec-unpack" ]; then
|
||||
CLEAN_SOURCE=yes
|
||||
break
|
||||
fi
|
||||
@ -74,8 +75,7 @@ fi
|
||||
printf "%${BUILD_INDENT}c ${boldcyan}UNPACK${endcolor} $1\n" ' '>&$SILENT_OUT
|
||||
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 unpack
|
||||
unset -f post_unpack
|
||||
@ -114,36 +114,9 @@ if [ -f $PKG_DIR/package.mk ]; then
|
||||
if [ "$(type -t post_unpack)" = "function" ]; then
|
||||
post_unpack
|
||||
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
|
||||
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
|
||||
fi
|
||||
if [ "$(type -t pre_patch)" = "function" ]; then
|
||||
pre_patch
|
||||
fi
|
||||
|
||||
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
|
||||
done
|
||||
|
||||
if [ -f $PKG_DIR/package.mk ]; then
|
||||
if [ "$(type -t post_patch)" = "function" ]; then
|
||||
post_patch
|
||||
fi
|
||||
if [ "$(type -t post_patch)" = "function" ]; then
|
||||
post_patch
|
||||
fi
|
||||
|
||||
for config in `find $BUILD/$1* -name config.guess | sed 's/config.guess//'`; do
|
||||
@ -205,23 +176,7 @@ done
|
||||
|
||||
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
|
||||
eval val=\$$i
|
||||
echo "STAMP_$i=\"$val"\" >> $STAMP
|
||||
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
|
||||
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
|
||||
|
Loading…
x
Reference in New Issue
Block a user