X-Git-Url: http://git.ipfire.org/?a=blobdiff_plain;f=tools%2Fmake-functions;h=e6333a3838b3675401b0177f6242b0cbe465aa07;hb=846e756e16f9f08e0d797473e40d836d747923f1;hp=c41f4c69a5cd1f428659742b205a537ab3048456;hpb=b3ffe3d85c710ef8d77900917e80fda830cc8ddf;p=people%2Fteissler%2Fipfire-2.x.git diff --git a/tools/make-functions b/tools/make-functions index c41f4c69a..e6333a383 100644 --- a/tools/make-functions +++ b/tools/make-functions @@ -2,7 +2,7 @@ ############################################################################### # # # IPFire.org - A linux based firewall # -# Copyright (C) 2007 Michael Tremer & Christian Schmidt # +# Copyright (C) 2010 IPFire Team # # # # This program is free software: you can redistribute it and/or modify # # it under the terms of the GNU General Public License as published by # @@ -185,7 +185,6 @@ beautify() echo -ne "${SET_RESULT_COL}[${FAIL} FAIL ${NORMAL}]\n" ;; SKIP) - echo -ne "${SET_TIME_COL}[ ${BOLD}${SET_TIME_COL_REAL}$PKG_TIME${NORMAL} ]" echo -ne "${SET_RESULT_COL}[${SKIP} SKIP ${NORMAL}]\n" ;; esac @@ -224,6 +223,15 @@ if [ 'x86_64' = $MACHINE -o 'i686' = $MACHINE -o 'i586' = $MACHINE ]; then CXXFLAGS="-O2 -march=i586 -pipe -fomit-frame-pointer" C2FLAGS="-O2 -march=i586 -mtune=i586 -pipe -fomit-frame-pointer" CXX2FLAGS="-O2 -march=i586 -mtune=i586 -pipe -fomit-frame-pointer" +elif [ 'armv5tejl' = $MACHINE -o 'armv5tel' = $MACHINE ]; then + echo "`date -u '+%b %e %T'`: Machine is ARM (or equivalent)" >> $LOGFILE + MACHINE=armv5tel + MACHINE_TYPE=arm + BUILDTARGET=${MACHINE}-unknown-linux-gnueabi + CFLAGS="-O2 -march=armv5te -fomit-frame-pointer -pipe" + CXXFLAGS="$CFLAGS" + C2FLAGS="$CFLAGS" + CXX2FLAGS="$CXXFLAGS" else echo "`date -u '+%b %e %T'`: Can't determine your architecture - $MACHINE" >> $LOGFILE exit 1 @@ -265,15 +273,18 @@ entershell() { exiterror "No such file or directory: $BASEDIR/build/usr/src/lfs/" fi echo "Entering to a shell inside LFS chroot, go out with exit" - chroot $LFS /tools/bin/env -i HOME=/root TERM=$TERM PS1='\u:\w\$ ' \ + $linux32 chroot $LFS /tools/bin/env -i HOME=/root TERM=$TERM PS1='\u:\w\$ ' \ PATH=/usr/local/bin:/bin:/usr/bin:/sbin:/usr/sbin:/tools/bin \ VERSION=$VERSION CONFIG_ROOT=$CONFIG_ROOT \ NAME="$NAME" SNAME="$SNAME" SLOGAN="$SLOGAN" \ CFLAGS="$CF2LAGS" CXXFLAGS="$CXX2FLAGS" \ CCACHE_DIR=/usr/src/ccache \ + CCACHE_COMPRESS=1 \ CCACHE_HASHDIR=1 \ KVER=$KVER \ - BUILDTARGET="$BUILDTARGET" MACHINE="$MACHINE" \ + BUILDTARGET="$BUILDTARGET" \ + MACHINE="$MACHINE" \ + MACHINE_TYPE="$MACHINE_TYPE" \ KGCC="ccache /usr/bin/gcc" \ /tools/bin/bash if [ $? -ne 0 ]; then @@ -306,6 +317,16 @@ lfsmakecommoncheck() local PKG_VER=`get_pkg_ver $BASEDIR/lfs/$1` beautify make_pkg "$PKG_VER $*" + # Check if this package is supported by our architecture. + # If no SUP_ARCH is found, we assume the package can be built for all. + if grep "^SUP_ARCH" ${BASEDIR}/lfs/${1} >/dev/null; then + # Check if package supports ${MACHINE} or all architectures. + if ! grep -E "^SUP_ARCH.*${MACHINE}|^SUP_ARCH.*all" ${BASEDIR}/lfs/${1} >/dev/null; then + beautify result SKIP + return 1 + fi + fi + # Script slipped? local i for i in $SKIP_PACKAGE_LIST @@ -318,12 +339,16 @@ lfsmakecommoncheck() echo -ne "`date -u '+%b %e %T'`: Building $* " >> $LOGFILE - cd $BASEDIR/lfs && make -s -f $* LFS_BASEDIR=$BASEDIR MESSAGE="$1\t " download >> $LOGFILE 2>&1 + cd $BASEDIR/lfs && make -s -f $* LFS_BASEDIR=$BASEDIR MACHINE=$MACHINE \ + MACHINE_TYPE="$MACHINE_TYPE" \ + MESSAGE="$1\t " download >> $LOGFILE 2>&1 if [ $? -ne 0 ]; then exiterror "Download error in $1" fi - cd $BASEDIR/lfs && make -s -f $* LFS_BASEDIR=$BASEDIR MESSAGE="$1\t md5sum" md5 >> $LOGFILE 2>&1 + cd $BASEDIR/lfs && make -s -f $* LFS_BASEDIR=$BASEDIR MACHINE=$MACHINE \ + MACHINE_TYPE="$MACHINE_TYPE" \ + MESSAGE="$1\t md5sum" md5 >> $LOGFILE 2>&1 if [ $? -ne 0 ]; then exiterror "md5sum error in $1, check file in cache or signature" fi @@ -339,6 +364,7 @@ lfsmake1() { cd $BASEDIR/lfs && make -f $* BUILDTARGET=$BUILDTARGET \ MACHINE=$MACHINE \ + MACHINE_TYPE=$MACHINE_TYPE \ LFS_BASEDIR=$BASEDIR \ ROOT=$LFS \ KVER=$KVER \ @@ -362,16 +388,17 @@ lfsmake2() { [ $? == 1 ] && return 0 local PKG_TIME_START=`date +%s` - chroot $LFS /tools/bin/env -i HOME=/root \ + $linux32 chroot $LFS /tools/bin/env -i HOME=/root \ TERM=$TERM PS1='\u:\w\$ ' \ PATH=/usr/local/bin:/bin:/usr/bin:/sbin:/usr/sbin:/tools/bin \ VERSION=$VERSION \ CONFIG_ROOT=$CONFIG_ROOT \ NAME="$NAME" SNAME="$SNAME" SLOGAN="$SLOGAN" \ CFLAGS="$C2FLAGS" CXXFLAGS="$CXX2FLAGS" \ - CCACHE_DIR=/usr/src/ccache CCACHE_HASHDIR=1 \ + CCACHE_DIR=/usr/src/ccache CCACHE_COMPRESS=1 CCACHE_HASHDIR=1 \ KVER=$KVER MAKETUNING=$MAKETUNING \ BUILDTARGET="$BUILDTARGET" MACHINE="$MACHINE" \ + MACHINE_TYPE="$MACHINE_TYPE" \ IPFVER="$IPFVER" \ /tools/bin/bash -x -c "cd /usr/src/lfs && \ make -f $* LFS_BASEDIR=/usr/src install" >>$LOGFILE 2>&1 @@ -393,16 +420,18 @@ ipfiremake() { [ $? == 1 ] && return 0 local PKG_TIME_START=`date +%s` - chroot $LFS /tools/bin/env -i HOME=/root \ + $linux32 chroot $LFS /tools/bin/env -i HOME=/root \ TERM=$TERM PS1='\u:\w\$ ' \ PATH=/usr/local/bin:/bin:/usr/bin:/sbin:/usr/sbin \ VERSION=$VERSION \ + CORE=$CORE \ CONFIG_ROOT=$CONFIG_ROOT \ NAME="$NAME" SNAME="$SNAME" SLOGAN="$SLOGAN" \ CFLAGS="$C2FLAGS" CXXFLAGS="$CXX2FLAGS" \ - CCACHE_DIR=/usr/src/ccache CCACHE_HASHDIR=1 \ + CCACHE_DIR=/usr/src/ccache CCACHE_COMPRESS=1 CCACHE_HASHDIR=1 \ KVER=$KVER MAKETUNING=$MAKETUNING \ BUILDTARGET="$BUILDTARGET" MACHINE="$MACHINE" \ + MACHINE_TYPE="$MACHINE_TYPE" \ IPFVER="$IPFVER" \ /bin/bash -x -c "cd /usr/src/lfs && \ make -f $* LFS_BASEDIR=/usr/src install" >>$LOGFILE 2>&1 @@ -431,9 +460,10 @@ ipfiredist() { CONFIG_ROOT=$CONFIG_ROOT \ NAME="$NAME" SNAME="$SNAME" SLOGAN="$SLOGAN" \ CFLAGS="$C2FLAGS" CXXFLAGS="$CXX2FLAGS" \ - CCACHE_DIR=/usr/src/ccache CCACHE_HASHDIR=1 \ + CCACHE_DIR=/usr/src/ccache CCACHE_COMPRESS=1 CCACHE_HASHDIR=1 \ KVER=$KVER IPFVER="$IPFVER" \ BUILDTARGET="$BUILDTARGET" MACHINE="$MACHINE" \ + MACHINE_TYPE="$MACHINE_TYPE" \ /bin/bash -x -c "cd /usr/src/lfs && \ make -f $1 LFS_BASEDIR=/usr/src dist" >>$LOGFILE 2>&1 @@ -454,7 +484,7 @@ installmake() { [ $? == 1 ] && return 0 local PKG_TIME_START=`date +%s` - chroot $LFS /tools/bin/env -i HOME=/root \ + $linux32 chroot $LFS /tools/bin/env -i HOME=/root \ TERM=$TERM PS1='\u:\w\$ ' \ PATH=/opt/i586-uClibc/i586-linux-uclibc/bin:/opt/i586-uClibc/bin:/usr/local/bin:/bin:/usr/bin:/sbin:/usr/sbin \ VERSION=$VERSION \ @@ -462,9 +492,10 @@ installmake() { LFS_PASS="install" \ NAME="$NAME" SNAME="$SNAME" SLOGAN="$SLOGAN" \ CFLAGS="-Os" CXXFLAGS="-Os" \ - CCACHE_DIR=/usr/src/ccache CCACHE_HASHDIR=1 \ + CCACHE_DIR=/usr/src/ccache CCACHE_COMPRESS=1 CCACHE_HASHDIR=1 \ KVER=$KVER IPFVER="$IPFVER" \ BUILDTARGET="$BUILDTARGET" MACHINE="$MACHINE" \ + MACHINE_TYPE="$MACHINE_TYPE" \ /bin/bash -x -c "cd /usr/src/lfs && \ make -f $* LFS_BASEDIR=/usr/src install" >>$LOGFILE 2>&1 @@ -492,9 +523,11 @@ batch_script() { if [ "$IPFIRE_REBUILD" -eq "0" ]; then export IPFIRE_START_TIME=`date` + + $0 clean evaluate 1 - $0 git update + $0 git update --force evaluate 1 mail_me UPDATE echo "### EXPORT SOURCES" @@ -507,12 +540,12 @@ batch_script() { evaluate 1 mail_me ERROR echo "### UPLOADING ISO" - #$0 upload iso - #evaluate 1 mail_me ISO + $0 upload iso + evaluate 1 mail_me ISO echo -ne "### UPLOADING PAKS" - #$0 upload paks - #evaluate 1 mail_me PAKS + $0 upload paks + evaluate 1 mail_me PAKS echo -ne "${BOLD}***SUCCESS!${NORMAL}" mail_me success @@ -724,8 +757,16 @@ update_langs() { chmod 755 $BASEDIR/tools/{check_strings.pl,sort_strings.pl,check_langs.sh} $BASEDIR/tools/sort_strings.pl en $BASEDIR/tools/sort_strings.pl de + $BASEDIR/tools/sort_strings.pl fr + $BASEDIR/tools/sort_strings.pl es + $BASEDIR/tools/sort_strings.pl pl + $BASEDIR/tools/sort_strings.pl ru $BASEDIR/tools/check_strings.pl en > $BASEDIR/doc/language_issues.en $BASEDIR/tools/check_strings.pl de > $BASEDIR/doc/language_issues.de + $BASEDIR/tools/check_strings.pl fr > $BASEDIR/doc/language_issues.fr + $BASEDIR/tools/check_strings.pl es > $BASEDIR/doc/language_issues.es + $BASEDIR/tools/check_strings.pl es > $BASEDIR/doc/language_issues.pl + $BASEDIR/tools/check_strings.pl ru > $BASEDIR/doc/language_issues.ru $BASEDIR/tools/check_langs.sh > $BASEDIR/doc/language_missings beautify message DONE }