mirror of
https://github.com/LibreELEC/LibreELEC.tv.git
synced 2025-07-24 11:16:51 +00:00
buildsystem: big rework & cleanup - PART-1: split functions from 'config/path' to an seperate file 'config/functions', rework and cleanup some build scripts, remove references to $TARGET_PLATFORM, add support for more then one downloadurl for $PKG_URL (partially done), remove support for: $PKG_DIR/arch, $PKG_DIR/platform, $PKG_DIR/url files, remove support for *.diff patches, create download-stampfiles in sources/$PKG_NAME, create md5 files after download, add support to download all sources at once with './scripts/get'
Signed-off-by: Stephan Raue <stephan@openelec.tv>
This commit is contained in:
parent
e258dca592
commit
d691d2b8f6
112
config/functions
Normal file
112
config/functions
Normal file
@ -0,0 +1,112 @@
|
||||
setup_toolchain() {
|
||||
if [ "$1" = "--optimize" ]; then
|
||||
OPTIMIZE=yes
|
||||
shift
|
||||
fi
|
||||
|
||||
if [ "$1" = target ]; then
|
||||
export CC=$TARGET_CC
|
||||
export CXX=$TARGET_CXX
|
||||
export LD=$TARGET_LD
|
||||
export AS=$TARGET_AS
|
||||
export AR=$TARGET_AR
|
||||
export NM=$TARGET_NM
|
||||
export RANLIB=$TARGET_RANLIB
|
||||
export OBJCOPY=$TARGET_OBJCOPY
|
||||
export STRIP=$TARGET_STRIP
|
||||
export CPPFLAGS="$TARGET_CPPFLAGS"
|
||||
export CFLAGS="$TARGET_CFLAGS"
|
||||
export CXXFLAGS="$TARGET_CXXFLAGS"
|
||||
export LDFLAGS="$TARGET_LDFLAGS"
|
||||
export PKG_CONFIG_PATH="$TARGET_PKG_CONFIG_PATH"
|
||||
export PKG_CONFIG_LIBDIR="$TARGET_PKG_CONFIG_LIBDIR"
|
||||
export PKG_CONFIG_SYSROOT_DIR="$TARGET_PKG_CONFIG_SYSROOT_DIR"
|
||||
|
||||
# set CMAKE configfile for target
|
||||
export CMAKE_CONF=$ROOT/$TOOLCHAIN/etc/cmake-$TARGET_NAME.conf
|
||||
|
||||
elif [ "$1" = host ]; then
|
||||
export AWK=$HOST_AWK
|
||||
export CC=$HOST_CC
|
||||
export CXX=$HOST_CXX
|
||||
export LD=$HOST_LD
|
||||
export AS=$HOST_AS
|
||||
export AR=$HOST_AR
|
||||
export NM=$HOST_NM
|
||||
export RANLIB=$HOST_RANLIB
|
||||
export OBJCOPY=$HOST_OBJCOPY
|
||||
export STRIP=$HOST_STRIP
|
||||
export CPPFLAGS="$HOST_CPPFLAGS"
|
||||
export CFLAGS="$HOST_CFLAGS"
|
||||
export CXXFLAGS="$HOST_CXXFLAGS"
|
||||
export LDFLAGS="$HOST_LDFLAGS"
|
||||
export PKG_CONFIG_PATH="$HOST_PKG_CONFIG_PATH"
|
||||
export PKG_CONFIG_LIBDIR="$HOST_PKG_CONFIG_LIBDIR"
|
||||
export PKG_CONFIG_SYSROOT_DIR="$HOST_PKG_CONFIG_SYSROOT_DIR"
|
||||
|
||||
# set CMAKE configfile for host
|
||||
export CMAKE_CONF=$ROOT/$TOOLCHAIN/etc/cmake-$HOST_NAME.conf
|
||||
|
||||
fi
|
||||
}
|
||||
|
||||
kernel_path() {
|
||||
ls -d $ROOT/$BUILD/linux-[0-9]*
|
||||
}
|
||||
|
||||
tolower(){
|
||||
echo "$@" | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz
|
||||
}
|
||||
|
||||
require_eglibc() {
|
||||
if [ "$TARGET_LIBC" != eglibc ]; then
|
||||
echo "$1 requires eglibc, aborting."
|
||||
exit 1
|
||||
fi
|
||||
}
|
||||
|
||||
require_cxx() {
|
||||
if [ "$TOOLCHAIN_CXX" != yes ]; then
|
||||
echo "$1 requires C++ toolchain support, aborting."
|
||||
exit 1
|
||||
fi
|
||||
}
|
||||
|
||||
xorg_drv_configure_prepend() {
|
||||
incdir=${SYSROOT_PREFIX}/usr/include/xorg
|
||||
for f in dri.h sarea.h dristruct.h exa.h damage.h xf86Module.h; do
|
||||
incfile="$incdir/$f"
|
||||
if [ -f "$incfile" ]; then
|
||||
p=`echo "$incfile" | sed 'y%*+%pp%;s%[^_[:alnum:]]%_%g'`
|
||||
eval "export ac_cv_file_$p=yes"
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
add_user() {
|
||||
# Usage: add_user "username" "password" "userid" "groupid" "description" "home" "shell"
|
||||
mkdir -p ${INSTALL}/etc
|
||||
touch ${INSTALL}/etc/passwd
|
||||
if [ -z "`grep "$1:" ${INSTALL}/etc/passwd`" ]; then
|
||||
echo "$1:$2:$3:$4:$5:$6:$7" >> ${INSTALL}/etc/passwd
|
||||
fi
|
||||
}
|
||||
|
||||
add_group() {
|
||||
# Usage: add_group "groupname" "groupid" ("members")
|
||||
mkdir -p ${INSTALL}/etc
|
||||
touch ${INSTALL}/etc/group
|
||||
if [ -z "`grep "$1:" ${INSTALL}/etc/group`" ]; then
|
||||
echo "$1:x:$2:$3" >> ${INSTALL}/etc/group
|
||||
fi
|
||||
}
|
||||
|
||||
get_version() {
|
||||
if [ "$OPENELEC_VERSION" = devel -o "$OPENELEC_VERSION" = debug ]; then
|
||||
BUILD_DATE=`date +%Y%m%d`
|
||||
GIT_BUILD=`git log --pretty=format:'' | wc -l`
|
||||
OPENELEC_VERSION=$OPENELEC_VERSION-$BUILD_DATE-r$GIT_BUILD
|
||||
fi
|
||||
|
||||
TARGET_VERSION="$PROJECT.$TARGET_ARCH-$OPENELEC_VERSION"
|
||||
}
|
145
config/path
145
config/path
@ -1,16 +1,5 @@
|
||||
set -e
|
||||
|
||||
# setup initial directorys
|
||||
CONFIG=config
|
||||
SCRIPTS=scripts
|
||||
PACKAGES=packages
|
||||
SOURCES=sources
|
||||
BUILD_BASE=build
|
||||
TARGET=target
|
||||
ADDONS=addons
|
||||
|
||||
test -f config/target-$TARGET_PLATFORM && . config/target-$TARGET_PLATFORM
|
||||
|
||||
# determine architecture's family
|
||||
case $TARGET_ARCH in
|
||||
i386)
|
||||
@ -35,12 +24,20 @@ if [ -z "$TARGET_CPU" ]; then
|
||||
esac
|
||||
fi
|
||||
|
||||
# setup initial directorys
|
||||
CONFIG=config
|
||||
SCRIPTS=scripts
|
||||
PACKAGES=packages
|
||||
SOURCES=sources
|
||||
BUILD_BASE=build
|
||||
TARGET=target
|
||||
ADDONS=addons
|
||||
|
||||
HOST_NAME=`$SCRIPTS/configtools/config.guess`
|
||||
TARGET_NAME=$TARGET_FAMILY-openelec-linux-gnu
|
||||
|
||||
OPENELEC_SRC=http://sources.openelec.tv/src/$OPENELEC_VERSION
|
||||
BUILD=$BUILD_BASE.OpenELEC-$PROJECT.$TARGET_ARCH.$OPENELEC_VERSION
|
||||
[ -n "$TARGET_PLATFORM" ] && BUILD=$BUILD.$TARGET_PLATFORM
|
||||
TARGET_IMG=$ROOT/$TARGET
|
||||
TARGET_ADDONS="$TARGET_IMG/$ADDONS/$ADDON_PATH"
|
||||
ADDON_BUILD="$BUILD/$ADDONS/$1"
|
||||
@ -212,57 +209,10 @@ if [ -f $ROOT/$TOOLCHAIN/bin/autoconf ]; then
|
||||
export AUTORECONF="$ROOT/$TOOLCHAIN/bin/autoreconf -v -f -i -I $ACLOCAL_DIR"
|
||||
fi
|
||||
|
||||
setup_toolchain() {
|
||||
if [ "$1" = "--optimize" ]; then
|
||||
OPTIMIZE=yes
|
||||
shift
|
||||
fi
|
||||
VERSION_SUFFIX=$TARGET_ARCH
|
||||
|
||||
if [ "$1" = target ]; then
|
||||
export CC=$TARGET_CC
|
||||
export CXX=$TARGET_CXX
|
||||
export LD=$TARGET_LD
|
||||
export AS=$TARGET_AS
|
||||
export AR=$TARGET_AR
|
||||
export NM=$TARGET_NM
|
||||
export RANLIB=$TARGET_RANLIB
|
||||
export OBJCOPY=$TARGET_OBJCOPY
|
||||
export STRIP=$TARGET_STRIP
|
||||
export CPPFLAGS="$TARGET_CPPFLAGS"
|
||||
export CFLAGS="$TARGET_CFLAGS"
|
||||
export CXXFLAGS="$TARGET_CXXFLAGS"
|
||||
export LDFLAGS="$TARGET_LDFLAGS"
|
||||
export PKG_CONFIG_PATH="$TARGET_PKG_CONFIG_PATH"
|
||||
export PKG_CONFIG_LIBDIR="$TARGET_PKG_CONFIG_LIBDIR"
|
||||
export PKG_CONFIG_SYSROOT_DIR="$TARGET_PKG_CONFIG_SYSROOT_DIR"
|
||||
. config/functions
|
||||
|
||||
# set CMAKE configfile for target
|
||||
export CMAKE_CONF=$ROOT/$TOOLCHAIN/etc/cmake-$TARGET_NAME.conf
|
||||
|
||||
elif [ "$1" = host ]; then
|
||||
export AWK=$HOST_AWK
|
||||
export CC=$HOST_CC
|
||||
export CXX=$HOST_CXX
|
||||
export LD=$HOST_LD
|
||||
export AS=$HOST_AS
|
||||
export AR=$HOST_AR
|
||||
export NM=$HOST_NM
|
||||
export RANLIB=$HOST_RANLIB
|
||||
export OBJCOPY=$HOST_OBJCOPY
|
||||
export STRIP=$HOST_STRIP
|
||||
export CPPFLAGS="$HOST_CPPFLAGS"
|
||||
export CFLAGS="$HOST_CFLAGS"
|
||||
export CXXFLAGS="$HOST_CXXFLAGS"
|
||||
export LDFLAGS="$HOST_LDFLAGS"
|
||||
export PKG_CONFIG_PATH="$HOST_PKG_CONFIG_PATH"
|
||||
export PKG_CONFIG_LIBDIR="$HOST_PKG_CONFIG_LIBDIR"
|
||||
export PKG_CONFIG_SYSROOT_DIR="$HOST_PKG_CONFIG_SYSROOT_DIR"
|
||||
|
||||
# set CMAKE configfile for host
|
||||
export CMAKE_CONF=$ROOT/$TOOLCHAIN/etc/cmake-$HOST_NAME.conf
|
||||
|
||||
fi
|
||||
}
|
||||
setup_toolchain target
|
||||
|
||||
SILENT_OUT=3
|
||||
@ -276,76 +226,3 @@ else
|
||||
fi
|
||||
INDENT_SIZE=4
|
||||
|
||||
VERSION_SUFFIX=$TARGET_ARCH
|
||||
[ -n "$TARGET_PLATFORM" ] && VERSION_SUFFIX=$TARGET_PLATFORM
|
||||
|
||||
# read generic personal options if available
|
||||
if [ -f ~/.openelec/options ]; then
|
||||
. ~/.openelec/options
|
||||
fi
|
||||
|
||||
# read project based personal options if available
|
||||
if [ -f ~/.openelec/$PROJECT/options ]; then
|
||||
. ~/.openelec/$PROJECT/options
|
||||
fi
|
||||
|
||||
kernel_path() {
|
||||
ls -d $ROOT/$BUILD/linux-[0-9]*
|
||||
}
|
||||
|
||||
tolower(){
|
||||
echo "$@" | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz
|
||||
}
|
||||
|
||||
require_eglibc() {
|
||||
if [ "$TARGET_LIBC" != eglibc ]; then
|
||||
echo "$1 requires eglibc, aborting."
|
||||
exit 1
|
||||
fi
|
||||
}
|
||||
|
||||
require_cxx() {
|
||||
if [ "$TOOLCHAIN_CXX" != yes ]; then
|
||||
echo "$1 requires C++ toolchain support, aborting."
|
||||
exit 1
|
||||
fi
|
||||
}
|
||||
|
||||
xorg_drv_configure_prepend() {
|
||||
incdir=${SYSROOT_PREFIX}/usr/include/xorg
|
||||
for f in dri.h sarea.h dristruct.h exa.h damage.h xf86Module.h; do
|
||||
incfile="$incdir/$f"
|
||||
if [ -f "$incfile" ]; then
|
||||
p=`echo "$incfile" | sed 'y%*+%pp%;s%[^_[:alnum:]]%_%g'`
|
||||
eval "export ac_cv_file_$p=yes"
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
add_user() {
|
||||
# Usage: add_user "username" "password" "userid" "groupid" "description" "home" "shell"
|
||||
mkdir -p ${INSTALL}/etc
|
||||
touch ${INSTALL}/etc/passwd
|
||||
if [ -z "`grep "$1:" ${INSTALL}/etc/passwd`" ]; then
|
||||
echo "$1:$2:$3:$4:$5:$6:$7" >> ${INSTALL}/etc/passwd
|
||||
fi
|
||||
}
|
||||
|
||||
add_group() {
|
||||
# Usage: add_group "groupname" "groupid" ("members")
|
||||
mkdir -p ${INSTALL}/etc
|
||||
touch ${INSTALL}/etc/group
|
||||
if [ -z "`grep "$1:" ${INSTALL}/etc/group`" ]; then
|
||||
echo "$1:x:$2:$3" >> ${INSTALL}/etc/group
|
||||
fi
|
||||
}
|
||||
|
||||
get_version() {
|
||||
if [ "$OPENELEC_VERSION" = devel -o "$OPENELEC_VERSION" = debug ]; then
|
||||
BUILD_DATE=`date +%Y%m%d`
|
||||
GIT_BUILD=`git log --pretty=format:'' | wc -l`
|
||||
OPENELEC_VERSION=$OPENELEC_VERSION-$BUILD_DATE-r$GIT_BUILD
|
||||
fi
|
||||
|
||||
TARGET_VERSION="$PROJECT.$TARGET_ARCH-$OPENELEC_VERSION"
|
||||
}
|
||||
|
@ -5,9 +5,7 @@
|
||||
STAMP=$STAMPS/$1/unpack
|
||||
|
||||
test $PKG_DIR/config/linux.$TARGET_ARCH.conf -nt $STAMP -o \
|
||||
$PKG_DIR/config/linux.$TARGET_PLATFORM.conf -nt $STAMP -o \
|
||||
$PROJECT_DIR/$PROJECT/linux/linux.$TARGET_ARCH.conf -nt $STAMP -o \
|
||||
$PROJECT_DIR/$PROJECT/linux/linux.$TARGET_PLATFORM.conf -nt $STAMP -o \
|
||||
$PKG_DIR/url -nt $STAMP -o \
|
||||
$PKG_DIR/meta -nt $STAMP && rm -f $STAMP
|
||||
|
||||
|
@ -5,6 +5,5 @@
|
||||
STAMP=$STAMPS/$1/unpack
|
||||
|
||||
test $PKG_DIR/config/$1.$TARGET_ARCH.conf -nt $STAMP && rm -f $STAMP
|
||||
test $PKG_DIR/config/$1.$TARGET_PLATFORM.conf -nt $STAMP && rm -f $STAMP
|
||||
|
||||
exit 0
|
||||
|
@ -5,9 +5,7 @@
|
||||
STAMP=$STAMPS/$1/unpack
|
||||
|
||||
test $PKG_DIR/config/linux.$TARGET_ARCH.conf -nt $STAMP -o \
|
||||
$PKG_DIR/config/linux.$TARGET_PLATFORM.conf -nt $STAMP -o \
|
||||
$PROJECT_DIR/$PROJECT/linux/linux.$TARGET_ARCH.conf -nt $STAMP -o \
|
||||
$PROJECT_DIR/$PROJECT/linux/linux.$TARGET_PLATFORM.conf -nt $STAMP -o \
|
||||
$PKG_DIR/url -nt $STAMP && rm -f $STAMP
|
||||
|
||||
exit 0
|
||||
|
@ -4,7 +4,7 @@ PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
PKG_SITE="http://ccache.samba.org/"
|
||||
PKG_URL="http://samba.org/ftp/ccache/$PKG_NAME-$PKG_VERSION.tar.bz2"
|
||||
PKG_URL="http://samba.org/ftp/ccache/$PKG_NAME-$PKG_VERSION.tar.bz2 http://www.eu.kernel.org/pub/linux/utils/kernel/hotplug/udev-164.tar.bz2 http://www.eu.kernel.org/pub/linux/utils/kernel/hotplug/udev-163.tar.bz2"
|
||||
PKG_DEPENDS=""
|
||||
PKG_BUILD_DEPENDS=""
|
||||
PKG_PRIORITY="optional"
|
||||
|
@ -5,9 +5,7 @@
|
||||
STAMP=$STAMPS/$1/unpack
|
||||
|
||||
test $PKG_DIR/config/linux.$TARGET_ARCH.conf -nt $STAMP -o \
|
||||
$PKG_DIR/config/linux.$TARGET_PLATFORM.conf -nt $STAMP -o \
|
||||
$PROJECT_DIR/$PROJECT/linux/linux.$TARGET_ARCH.conf -nt $STAMP -o \
|
||||
$PROJECT_DIR/$PROJECT/linux/linux.$TARGET_PLATFORM.conf -nt $STAMP -o \
|
||||
$PKG_DIR/url -nt $STAMP && rm -f $STAMP
|
||||
|
||||
exit 0
|
||||
|
@ -7,14 +7,9 @@ if [ -z "$1" ]; then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ -f $PKG_DIR/arch ]; then
|
||||
grep -q "$TARGET_ARCH" "$PKG_DIR/arch" || exit 0
|
||||
grep -q "\-$TARGET_ARCH" "$PKG_DIR/arch" && exit 0
|
||||
fi
|
||||
|
||||
if [ -f $PKG_DIR/platform ]; then
|
||||
grep -q "$TARGET_PLATFORM" "$PKG_DIR/platform" || exit 0
|
||||
grep -q "\-$TARGET_PLATFORM" "$PKG_DIR/platform" && exit 0
|
||||
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
|
||||
|
||||
unset INSTALL
|
||||
@ -23,9 +18,11 @@ mkdir -p $STAMPS/$1
|
||||
STAMP=$STAMPS/$1/build
|
||||
|
||||
$SCRIPTS/unpack $1
|
||||
|
||||
if [ -f $STAMP -a -f $PKG_DIR/need_build ]; then
|
||||
$PKG_DIR/need_build $@
|
||||
fi
|
||||
|
||||
if [ -f $STAMP -a $PKG_DIR/build -nt $STAMP ]; then
|
||||
rm -f $STAMP
|
||||
fi
|
||||
@ -62,7 +59,6 @@ if [ ! -f $STAMP ]; then
|
||||
make -C $PKG_BUILD $1 >&$VERBOSE_OUT
|
||||
fi
|
||||
|
||||
. $PROJECT_DIR/$PROJECT/options
|
||||
for i in `sed -n "s/^\([^#].*\)=\".*$/\1/p" $PROJECT_DIR/$PROJECT/options | grep -v "#"`; do
|
||||
eval val=\$$i
|
||||
echo "STAMP_$i=\"$val\"" >> $STAMP
|
||||
|
@ -7,14 +7,9 @@ if [ -z "$1" ]; then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ -f $PKG_DIR/arch ]; then
|
||||
grep -q "$TARGET_ARCH" "$PKG_DIR/arch" || exit 0
|
||||
grep -q "\-$TARGET_ARCH" "$PKG_DIR/arch" && exit 0
|
||||
fi
|
||||
|
||||
if [ -f $PKG_DIR/platform ]; then
|
||||
grep -q "$TARGET_PLATFORM" "$PKG_DIR/platform" || exit 0
|
||||
grep -q "\-$TARGET_PLATFORM" "$PKG_DIR/platform" && exit 0
|
||||
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
|
||||
|
||||
$SCRIPTS/build $@
|
||||
|
@ -10,19 +10,18 @@ fi
|
||||
[ -z "$PKG_URL" ] && exit 1
|
||||
[ ! -d "$SOURCES/$1" -o ! -d "$3" ] && exit 1
|
||||
|
||||
[ -n "$PKG_URL" ] && \
|
||||
FILES="$FILES `echo $PKG_URL | sed 's%.*/\(.*\)\$%\1%'`"
|
||||
for i in $PKG_URL; do
|
||||
FILE="`basename $i`"
|
||||
|
||||
for s in $FILES; do
|
||||
case $s in
|
||||
case $FILE in
|
||||
$2)
|
||||
f="$SOURCES/$1/$s"
|
||||
f="$SOURCES/$1/$FILE"
|
||||
if [ ! -f $f ]; then
|
||||
echo "error: File $s doesn't exists in package $1 sources directory"
|
||||
echo "error: File $FILE doesn't exists in package $1 sources directory"
|
||||
echo "have you called scripts/extract before scripts/get ?"
|
||||
exit 1
|
||||
fi
|
||||
case $s in
|
||||
case $FILE in
|
||||
*.tar)
|
||||
tar xf $f -C $3
|
||||
;;
|
||||
|
71
scripts/get
71
scripts/get
@ -1,5 +1,5 @@
|
||||
#!/bin/sh
|
||||
set -x
|
||||
|
||||
. config/options $1
|
||||
|
||||
if [ -z $1 ]; then
|
||||
@ -9,54 +9,47 @@ if [ -z $1 ]; then
|
||||
done
|
||||
fi
|
||||
|
||||
mkdir -p $STAMPS_NOARCH/$1
|
||||
STAMP=$STAMPS_NOARCH/$1/get
|
||||
|
||||
# if [ -n "$PKG_URL" ]; then
|
||||
# if [ -f $STAMP ]; then
|
||||
# [ ! $STAMP -ot $PKG_DIR/meta ] && exit 0
|
||||
# fi
|
||||
# DL="yes"
|
||||
# fi
|
||||
[ -z "$PKG_URL" ] && exit 0
|
||||
|
||||
if [ -n "$PKG_URL" ]; then
|
||||
if [ -f $STAMP ]; then
|
||||
[ `cat $STAMP` = "$PKG_URL" ] && exit 0
|
||||
fi
|
||||
DL="yes"
|
||||
fi
|
||||
|
||||
if [ "$DL" = yes ]; then
|
||||
$SCRIPTS/checkdeps get
|
||||
|
||||
rm -f $STAMP
|
||||
|
||||
printf "%${INDENT}c GET $1\n" >&$SILENT_OUT
|
||||
export INDENT=$((${INDENT:-1}+$INDENT_SIZE))
|
||||
|
||||
[ "$VERBOSE" != yes ] && WGET_OPT=-q
|
||||
|
||||
mkdir -p $SOURCES/$1
|
||||
|
||||
[ -n "$PKG_URL" ] && \
|
||||
URLS="$URLS `echo $PKG_URL | sed s%GEEXBOX_SRCS%$GEEXBOX_SRCS%`"
|
||||
URLS="$URLS `echo $PKG_URL | sed s%GEEXBOX_SRCS%$GEEXBOX_SRCS%`"
|
||||
|
||||
for i in $URLS; do
|
||||
PACKAGE="$SOURCES/$1/`basename $i`"
|
||||
STAMP="$PACKAGE.url"
|
||||
MD5SUM="$PACKAGE.md5"
|
||||
|
||||
mkdir -p $SOURCES/$1
|
||||
|
||||
if [ -f $STAMP ]; then
|
||||
[ `cat $STAMP` = "$i" ] && continue
|
||||
fi
|
||||
DL="yes"
|
||||
|
||||
$SCRIPTS/checkdeps get
|
||||
|
||||
rm -f $STAMP
|
||||
|
||||
printf "%${INDENT}c GET $1\n" >&$SILENT_OUT
|
||||
export INDENT=$((${INDENT:-1}+$INDENT_SIZE))
|
||||
|
||||
[ "$VERBOSE" != yes ] && WGET_OPT=-q
|
||||
|
||||
NBWGET=1
|
||||
until [ -f $STAMPS_NOARCH/$1/`basename $i`.ok ] || wget --passive-ftp -c $WGET_OPT -P $SOURCES/$1 $i; do
|
||||
until [ -f $STAMP ] || wget --passive-ftp -c $WGET_OPT -P $SOURCES/$1 $i; do
|
||||
NBWGET=$(($NBWGET+1))
|
||||
if [ $NBWGET -gt 10 ]; then
|
||||
echo -e "\nCant't get $1 sources : $i\n Try later !!"
|
||||
exit 1
|
||||
fi
|
||||
done
|
||||
touch $STAMPS_NOARCH/$1/`basename $i`.ok
|
||||
|
||||
echo $i > $STAMP
|
||||
md5sum -t $PACKAGE > $MD5SUM
|
||||
|
||||
rm -f $BUILD_BASE*/$STAMPS_NOARCH/$1/unpack
|
||||
rm -f $BUILD_BASE*/$STAMPS_NOARCH/$1/build
|
||||
|
||||
done
|
||||
|
||||
[ -n "$PKG_URL" ] && \
|
||||
echo $PKG_URL > $STAMP
|
||||
# cp -p $PKG_DIR/meta $STAMP
|
||||
|
||||
rm -f $BUILD_BASE*/$STAMPS_NOARCH/$1/unpack
|
||||
rm -f $BUILD_BASE*/$STAMPS_NOARCH/$1/build
|
||||
fi
|
||||
|
||||
|
@ -17,14 +17,9 @@ fi
|
||||
|
||||
[ -f $STAMP -a $FORCE_INSTALL = "no" ] && exit 0
|
||||
|
||||
if [ -f $PKG_DIR/arch ]; then
|
||||
grep -q "$TARGET_ARCH" "$PKG_DIR/arch" || exit 0
|
||||
grep -q "\-$TARGET_ARCH" "$PKG_DIR/arch" && exit 0
|
||||
fi
|
||||
|
||||
if [ -f $PKG_DIR/platform ]; then
|
||||
grep -q "$TARGET_PLATFORM" "$PKG_DIR/platform" || exit 0
|
||||
grep -q "\-$TARGET_PLATFORM" "$PKG_DIR/platform" && exit 0
|
||||
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
|
||||
|
||||
if [ -d $PKG_DIR/init.d ]; then
|
||||
@ -43,6 +38,7 @@ if [ -d $PKG_DIR/init.network ]; then
|
||||
fi
|
||||
|
||||
$SCRIPTS/build $@
|
||||
|
||||
printf "%${INDENT}c INSTALL $1\n" >&$SILENT_OUT
|
||||
export INDENT=$((${INDENT:-1}+$INDENT_SIZE))
|
||||
|
||||
|
@ -17,12 +17,14 @@ mkdir -p $STAMPS/$1
|
||||
STAMP=$STAMPS/$1/unpack
|
||||
|
||||
[ -f $STAMP -a -f $PKG_DIR/need_unpack ] && $PKG_DIR/need_unpack $@
|
||||
|
||||
for patch in $PKG_DIR/patches/*; do
|
||||
if [ $patch -nt $STAMP ]; then
|
||||
rm -f $STAMP
|
||||
break
|
||||
fi
|
||||
done
|
||||
|
||||
[ -f $STAMP ] && exit 0
|
||||
|
||||
printf "%${INDENT}c UNPACK $1\n" >&$SILENT_OUT
|
||||
@ -46,13 +48,11 @@ if [ -d $PKG_DIR/sources ]; then
|
||||
cp -PRf $PKG_DIR/sources/* $BUILD/$1*/
|
||||
fi
|
||||
|
||||
[ -f $PKG_DIR/after_unpack ] && $PKG_DIR/after_unpack $@ >&$VERBOSE_OUT
|
||||
|
||||
for i in $PKG_DIR/patches/*.diff $PKG_DIR/patches/$PKG_NAME-$PKG_VERSION*.patch ; do
|
||||
for i in $PKG_DIR/patches/$PKG_NAME-$PKG_VERSION*.patch ; do
|
||||
if [ -f $i ]; then
|
||||
PATCH=`basename $i`
|
||||
PT=`echo $PATCH | sed 's/.*\.\(.*\)$/\1/'`
|
||||
if [ "$PT" != patch -a "$PT" != diff -a "$PT" != "$TARGET_ARCH" -a "$PT" != "$TARGET_PLATFORM" ]; then
|
||||
if [ "$PT" != "patch" -a "$PT" != "$TARGET_ARCH" ]; then
|
||||
echo "## Skipping patch: $i"
|
||||
continue;
|
||||
else
|
||||
@ -67,7 +67,7 @@ $SCRIPTS/fixconfigtools $BUILD/$1*
|
||||
[ -f $PKG_DIR/unpack ] && $PKG_DIR/unpack $@ >&$VERBOSE_OUT
|
||||
|
||||
rm -f $STAMPS/$1/build
|
||||
. $PROJECT_DIR/$PROJECT/options
|
||||
|
||||
for i in `sed -n "s/^\([^#].*\)=\".*$/\1/p" $PROJECT_DIR/$PROJECT/options | grep -v "#"`; do
|
||||
eval val=\$$i
|
||||
echo "STAMP_$i=\"$val"\" >> $STAMP
|
||||
|
Loading…
x
Reference in New Issue
Block a user