X-Git-Url: http://git.ipfire.org/?p=people%2Fteissler%2Fipfire-2.x.git;a=blobdiff_plain;f=make.sh;h=e39fe41f2f3a7fb740574f43ad0e05f21ff9b5b7;hp=3c53e4a76b682886d66c6e6142c07d1cd58a392e;hb=84aed1ea54ea5e482d3e7dcd7075188062ae85b1;hpb=4ec6c3f69fe6359579f211a425c77072fa58e42b diff --git a/make.sh b/make.sh index 3c53e4a76..e39fe41f2 100755 --- a/make.sh +++ b/make.sh @@ -24,9 +24,9 @@ NAME="IPFire" # Software name SNAME="ipfire" # Short name -VERSION="2.9" # Version number -CORE="52" # Core Level (Filename) -PAKFIRE_CORE="51" # Core Level (PAKFIRE) +VERSION="2.11" # Version number +CORE="53" # Core Level (Filename) +PAKFIRE_CORE="53" # Core Level (PAKFIRE) GIT_BRANCH=`git status | head -n1 | cut -d" " -f4` # Git Branch SLOGAN="www.ipfire.org" # Software slogan CONFIG_ROOT=/var/ipfire # Configuration rootdir @@ -38,7 +38,6 @@ MACHINE=`uname -m` GIT_TAG=$(git tag | tail -1) # Git Tag GIT_LASTCOMMIT=$(git log | head -n1 | cut -d" " -f2 |head -c8) # Last commit TOOLCHAINVER=1 -IPFVER="full" # Which versions should be compiled? (full|devel) BUILDMACHINE=$MACHINE if [ "$MACHINE" = "x86_64" ]; then @@ -72,14 +71,6 @@ mkdir $BASEDIR/log/ 2>/dev/null if [ -f .config ]; then . .config -else - echo -e "${BOLD}No configuration found!${NORMAL}" - echo -ne "Do you want to create one (y/N)?" - read CREATE_CONFIG - echo "" - if [ "$CREATE_CONFIG" == "y" ]; then - make_config - fi fi if [ -z $EDITOR ]; then @@ -255,7 +246,7 @@ buildtoolchain() { lfsmake1 make PASS=1 lfsmake1 binutils PASS=1 lfsmake1 gcc PASS=1 - if [ "${MACHINE}" = "arm" ]; then + if [ "${MACHINE_TYPE}" = "arm" ]; then lfsmake1 linux TOOLS=1 HEADERS=1 else lfsmake1 linux-libc-header @@ -286,6 +277,7 @@ buildtoolchain() { lfsmake1 tar lfsmake1 texinfo lfsmake1 util-linux + lfsmake1 strip lfsmake1 cleanup-toolchain PASS=2 export PATH=$ORG_PATH } @@ -294,13 +286,14 @@ buildbase() { LOGFILE="$BASEDIR/log/_build.base.log" export LOGFILE lfsmake2 stage2 - if [ "${MACHINE}" = "arm" ]; then + if [ "${MACHINE_TYPE}" = "arm" ]; then lfsmake2 linux HEADERS=1 else lfsmake2 linux-libc-header fi lfsmake2 man-pages lfsmake2 glibc + lfsmake2 tzdata lfsmake2 cleanup-toolchain PASS=3 lfsmake2 binutils lfsmake2 gcc @@ -352,11 +345,7 @@ buildbase() { lfsmake2 udev lfsmake2 util-linux lfsmake2 vim - - # ARM cannot use grub. - if [ "${MACHINE}" != "arm" ]; then - lfsmake2 grub - fi + lfsmake2 grub } buildipfire() { @@ -375,9 +364,10 @@ buildipfire() { ipfiremake xz ipfiremake linux-firmware ipfiremake zd1211-firmware + ipfiremake u-boot # The xen and PAE kernels are only available for x86 - if [ "${MACHINE}" != "arm" ]; then + if [ "${MACHINE_TYPE}" != "arm" ]; then ipfiremake linux XEN=1 ipfiremake kqemu XEN=1 ipfiremake v4l-dvb XEN=1 @@ -411,32 +401,29 @@ buildipfire() { fi # Default kernel build - #ipfiremake linux + ipfiremake linux ipfiremake v4l-dvb - - # Virtualization helpers are only available for x86. - if [ "${MACHINE}" != "arm" ]; then - ipfiremake kqemu - ipfiremake kvm-kmod + ipfiremake kqemu + ipfiremake kvm-kmod + ipfiremake madwifi + if [ "${MACHINE_TYPE}" != "arm" ]; then + #todo enable alsa driver in kernel config + ipfiremake alsa KMOD=1 fi - #ipfiremake madwifi - #ipfiremake alsa KMOD=1 - #ipfiremake mISDN + #undefined declaration in echo canceler try to fix later + ipfiremake mISDN ipfiremake dahdi KMOD=1 ipfiremake cryptodev - #ipfiremake compat-wireless + ipfiremake compat-wireless # ipfiremake r8169 # ipfiremake r8168 # ipfiremake r8101 - #ipfiremake e1000 - #ipfiremake e1000e - #ipfiremake igb + ipfiremake e1000 + ipfiremake e1000e + ipfiremake igb ipfiremake pkg-config - #ipfiremake linux-atm + ipfiremake linux-atm ipfiremake cpio - - installmake strip - ipfiremake dracut ipfiremake expat ipfiremake gdbm @@ -478,7 +465,7 @@ buildipfire() { ipfiremake arping ipfiremake beep ipfiremake bind - ipfiremake cdrtools + ipfiremake dvdrtools ipfiremake dnsmasq ipfiremake dosfstools ipfiremake reiserfsprogs @@ -563,7 +550,6 @@ buildipfire() { ipfiremake wireless ipfiremake libsafe ipfiremake pakfire - ipfiremake java ipfiremake spandsp ipfiremake lzo ipfiremake openvpn @@ -611,6 +597,7 @@ buildipfire() { ipfiremake rsync ipfiremake tcpwrapper ipfiremake libevent + ipfiremake libevent2 ipfiremake portmap ipfiremake nfs ipfiremake nmap @@ -623,7 +610,7 @@ buildipfire() { ipfiremake strongswan ipfiremake lsof ipfiremake centerim - #ipfiremake br2684ctl + ipfiremake br2684ctl ipfiremake pcmciautils ipfiremake lm_sensors ipfiremake liboping @@ -634,12 +621,12 @@ buildipfire() { ipfiremake igmpproxy ipfiremake fbset ipfiremake sdl - #ipfiremake qemu - #ipfiremake qemu-kqemu + ipfiremake qemu + ipfiremake qemu-kqemu ipfiremake sane ipfiremake netpbm ipfiremake phpSANE - #ipfiremake tunctl + ipfiremake tunctl ipfiremake nagios ipfiremake nagios_nrpe ipfiremake ebtables @@ -650,7 +637,7 @@ buildipfire() { ipfiremake faad2 ipfiremake ffmpeg ipfiremake videolan - #ipfiremake vdr + ipfiremake vdr ipfiremake w_scan ipfiremake icecast ipfiremake icegenerator @@ -663,12 +650,10 @@ buildipfire() { ipfiremake vnstat ipfiremake vnstati ipfiremake iw - #ipfiremake wpa_supplicant - #ipfiremake hostapd + ipfiremake wpa_supplicant + ipfiremake hostapd ipfiremake urlgrabber - if [ "${MACHINE:0:3}" != "arm" ]; then - ipfiremake syslinux - fi + ipfiremake syslinux ipfiremake tftpd ipfiremake cpufrequtils ipfiremake dbus @@ -721,14 +706,14 @@ buildipfire() { ipfiremake python-m2crypto ipfiremake wireless-regdb ipfiremake crda - ipfiremake libsatsolver - ipfiremake python-satsolver + ipfiremake libsolv ipfiremake python-distutils-extra ipfiremake python-lzma ipfiremake python-progressbar ipfiremake python-xattr ipfiremake intltool ipfiremake pakfire3-deps + ipfiremake transmission echo Build on $HOSTNAME > $BASEDIR/build/var/ipfire/firebuild cat /proc/version >> $BASEDIR/build/var/ipfire/firebuild echo >> $BASEDIR/build/var/ipfire/firebuild @@ -738,10 +723,10 @@ buildipfire() { echo >> $BASEDIR/build/var/ipfire/firebuild cat /proc/cpuinfo >> $BASEDIR/build/var/ipfire/firebuild echo $PAKFIRE_CORE > $BASEDIR/build/opt/pakfire/db/core/mine - if [ "$GIT_BRANCH" = "master" ]; then - echo "$NAME $VERSION - (Development Build: $GIT_LASTCOMMIT)" > $BASEDIR/build/etc/system-release + if [ "$GIT_BRANCH" = "next" ]; then + echo "$NAME $VERSION ($MACHINE) - Development Build: $GIT_LASTCOMMIT" > $BASEDIR/build/etc/system-release else - echo "$NAME $VERSION - $GIT_BRANCH" > $BASEDIR/build/etc/system-release + echo "$NAME $VERSION ($MACHINE) - $GIT_BRANCH" > $BASEDIR/build/etc/system-release fi } @@ -781,15 +766,19 @@ buildpackages() { # Update changelog cd $BASEDIR - $0 git log + [ -z $GIT_TAG ] || LAST_TAG=$GIT_TAG + [ -z $LAST_TAG ] || EXT="$LAST_TAG..HEAD" + git log -n 500 --no-merges --pretty=medium --shortstat $EXT > $BASEDIR/doc/ChangeLog # Create images for install - ipfiremake cdrom ED=$IPFVER + ipfiremake cdrom # Check if there is a loop device for building in virtual environments - if [ $BUILD_IMAGES == 1 ] && ([ -e /dev/loop/0 ] || [ -e /dev/loop0 ]); then - ipfiremake usb-stick ED=$IPFVER - ipfiremake flash-images ED=$IPFVER + if [ $BUILD_IMAGES == 1 ] && ([ -e /dev/loop/0 ] || [ -e /dev/loop0 ]); then + if [ "${MACHINE_TYPE}" != "arm" ]; then + ipfiremake usb-stick + fi + ipfiremake flash-images fi mv $LFS/install/images/{*.iso,*.tgz,*.img.gz,*.bz2} $BASEDIR >> $LOGFILE 2>&1 @@ -797,10 +786,10 @@ buildpackages() { ipfirepackages # Check if there is a loop device for building in virtual environments - if [ $BUILD_IMAGES == 1 ] && ([ -e /dev/loop/0 ] || [ -e /dev/loop0 ]); then + if [ $BUILD_IMAGES == 1 ] && ([ -e /dev/loop/0 ] || [ -e /dev/loop0 ]) && [ "${MACHINE_TYPE}" != "arm" ]; then cp -f $BASEDIR/packages/linux-xen-*.ipfire $LFS/install/packages/ cp -f $BASEDIR/packages/meta-linux-xen $LFS/install/packages/ - ipfiremake xen-image ED=$IPFVER + ipfiremake xen-image rm -rf $LFS/install/packages/linux-xen-*.ipfire rm -rf $LFS/install/packages/meta-linux-xen fi @@ -834,7 +823,10 @@ buildpackages() { ipfirepackages() { ipfiremake core-updates - for i in $(ls -1 $BASEDIR/config/rootfiles/packages); do + + local i + for i in $(find $BASEDIR/config/rootfiles/packages{${machine},} -maxdepth 1 -type f); do + i=$(basename ${i}) if [ -e $BASEDIR/lfs/$i ]; then ipfiredist $i else @@ -851,7 +843,7 @@ ipfirepackages() { case "$1" in build) clear - PACKAGE=`ls -v -r $BASEDIR/cache/toolchains/$SNAME-$VERSION-toolchain-$TOOLCHAINVER-$BUILDMACHINE.tar.gz 2> /dev/null | head -n 1` + PACKAGE=`ls -v -r $BASEDIR/cache/toolchains/$SNAME-$VERSION-toolchain-$TOOLCHAINVER-$MACHINE.tar.gz 2> /dev/null | head -n 1` #only restore on a clean disk if [ ! -f log/cleanup-toolchain-2-tools ]; then if [ ! -n "$PACKAGE" ]; then @@ -942,7 +934,8 @@ downloadsrc) cd $BASEDIR/lfs for i in *; do if [ -f "$i" -a "$i" != "Config" ]; then - echo -ne "Loading $i" + lfsmakecommoncheck ${i} || continue + make -s -f $i LFS_BASEDIR=$BASEDIR MACHINE=$MACHINE \ MESSAGE="$i\t ($c/$MAX_RETRIES)" download >> $LOGFILE 2>&1 if [ $? -ne 0 ]; then @@ -983,27 +976,27 @@ toolchain) prepareenv beautify build_stage "Toolchain compilation - Native GCC: `gcc --version | grep GCC | awk {'print $3'}`" buildtoolchain - echo "`date -u '+%b %e %T'`: Create toolchain tar.gz for $BUILDMACHINE" | tee -a $LOGFILE + echo "`date -u '+%b %e %T'`: Create toolchain tar.gz for $MACHINE" | tee -a $LOGFILE test -d $BASEDIR/cache/toolchains || mkdir -p $BASEDIR/cache/toolchains - cd $BASEDIR && tar -zc --exclude='log/_build.*.log' -f cache/toolchains/$SNAME-$VERSION-toolchain-$TOOLCHAINVER-$BUILDMACHINE.tar.gz \ + cd $BASEDIR && tar -zc --exclude='log/_build.*.log' -f cache/toolchains/$SNAME-$VERSION-toolchain-$TOOLCHAINVER-$MACHINE.tar.gz \ build/{bin,etc,usr/bin,usr/local} \ build/tools/{bin,etc,*-linux-gnu*,include,lib,libexec,sbin,share,var} \ log >> $LOGFILE - md5sum cache/toolchains/$SNAME-$VERSION-toolchain-$TOOLCHAINVER-$BUILDMACHINE.tar.gz \ - > cache/toolchains/$SNAME-$VERSION-toolchain-$TOOLCHAINVER-$BUILDMACHINE.md5 + md5sum cache/toolchains/$SNAME-$VERSION-toolchain-$TOOLCHAINVER-$MACHINE.tar.gz \ + > cache/toolchains/$SNAME-$VERSION-toolchain-$TOOLCHAINVER-$MACHINE.md5 stdumount ;; gettoolchain) # arbitrary name to be updated in case of new toolchain package upload - PACKAGE=$SNAME-$VERSION-toolchain-$TOOLCHAINVER-$BUILDMACHINE + PACKAGE=$SNAME-$VERSION-toolchain-$TOOLCHAINVER-$MACHINE if [ ! -f $BASEDIR/cache/toolchains/$PACKAGE.tar.gz ]; then URL_TOOLCHAIN=`grep URL_TOOLCHAIN lfs/Config | awk '{ print $3 }'` test -d $BASEDIR/cache/toolchains || mkdir -p $BASEDIR/cache/toolchains - echo "`date -u '+%b %e %T'`: Load toolchain tar.gz for $BUILDMACHINE" | tee -a $LOGFILE + echo "`date -u '+%b %e %T'`: Load toolchain tar.gz for $MACHINE" | tee -a $LOGFILE cd $BASEDIR/cache/toolchains wget -U "IPFireSourceGrabber/2.x" $URL_TOOLCHAIN/$PACKAGE.tar.gz $URL_TOOLCHAIN/$PACKAGE.md5 >& /dev/null if [ $? -ne 0 ]; then - echo "`date -u '+%b %e %T'`: error downloading $PACKAGE toolchain for $BUILDMACHINE machine" | tee -a $LOGFILE + echo "`date -u '+%b %e %T'`: error downloading $PACKAGE toolchain for $MACHINE machine" | tee -a $LOGFILE else if [ "`md5sum $PACKAGE.tar.gz | awk '{print $1}'`" = "`cat $PACKAGE.md5 | awk '{print $1}'`" ]; then echo "`date -u '+%b %e %T'`: toolchain md5 ok" | tee -a $LOGFILE @@ -1031,54 +1024,6 @@ othersrc) fi stdumount ;; -git) - case "$2" in - update|up) - ## REMOVES ALL UNCOMMITTED CHANGES! - [ "$3" == "--force" ] && git checkout -f - git pull - ;; - commit|ci) - shift 2 - git commit $* - - [ "$?" -eq "0" ] || exiterror "git commit $* failed." - - echo -e "${BOLD}Do you want to push, too? [y/N]${NORMAL}" - read - [ -z $REPLY ] && exit 0 - for i in y Y j J; do - if [ "$i" == "$REPLY" ]; then - $0 git push - exit $? - fi - done - exiterror "\"$REPLY\" is not a valid answer." - ;; - dist) - git archive HEAD | gzip -9 > ${SNAME}-${VERSION}.tar.gz - ;; - diff|di) - echo -ne "Make a local diff to last revision" - git diff HEAD > ipfire-diff-$(date +'%Y-%m-%d-%H:%M').diff - evaluate 1 - echo "Diff was successfully saved to ipfire-diff-$(date +'%Y-%m-%d-%H:%M').diff" - git diff --stat - ;; - push) - [ -z $GIT_USER ] && exiterror "You have to setup GIT_USER first." - GIT_URL="ssh://${GIT_USER}@git.ipfire.org/pub/git/ipfire-2.x" - - git push ${GIT_URL} $3 - ;; - log) - [ -z $GIT_TAG ] || LAST_TAG=$GIT_TAG - [ -z $LAST_TAG ] || EXT="$LAST_TAG..HEAD" - - git log -n 500 --no-merges --pretty=medium --shortstat $EXT > $BASEDIR/doc/ChangeLog - ;; - esac - ;; uploadsrc) PWD=`pwd` if [ -z $IPFIRE_USER ]; then @@ -1100,83 +1045,9 @@ uploadsrc) cd $PWD exit 0 ;; -batch) - if [ "$2" = "--background" ]; then - batch_script - exit $? - fi - if [ `screen -ls | grep -q ipfire` ]; then - echo "Build is already running, sorry!" - exit 1 - else - if [ "$2" = "--rebuild" ]; then - export IPFIRE_REBUILD=1 - echo "REBUILD!" - else - export IPFIRE_REBUILD=0 - fi - echo -en "${BOLD}***IPFire-Batch-Build is starting...${NORMAL}" - screen -dmS ipfire $0 batch --background - evaluate 1 - exit 0 - fi - ;; -watch) - watch_screen - ;; -pxe) - case "$2" in - start) - start_tftpd - ;; - stop) - stop_tftpd - ;; - reload|restart) - reload_tftpd - ;; - esac - exit 0 - ;; lang) update_langs ;; -"") - clear - select name in "Exit" "IPFIRE: Downloadsrc" "IPFIRE: Build (silent)" "IPFIRE: Watch Build" "IPFIRE: Batch" "IPFIRE: Clean" "LOG: Tail" "Help" - do - case $name in - "IPFIRE: Downloadsrc") - $0 downloadsrc - ;; - "IPFIRE: Build (silent)") - $0 build-silent - ;; - "IPFIRE: Watch Build") - $0 watch - ;; - "IPFIRE: Batch") - $0 batch - ;; - "IPFIRE: Clean") - $0 clean - ;; - "Help") - echo "Usage: $0 {build|changelog|clean|gettoolchain|downloadsrc|shell|sync|toolchain}" - cat doc/make.sh-usage - ;; - "LOG: Tail") - tail -f log/_* - ;; - "Exit") - break - ;; - esac - done - ;; -config) - make_config - ;; *) echo "Usage: $0 {build|changelog|clean|gettoolchain|downloadsrc|shell|sync|toolchain}" cat doc/make.sh-usage