Merge remote-tracking branch 'erik/sendEmail' into core67-merge
authorStefan Schantl <stefan.schantl@ipfire.org>
Sun, 3 Mar 2013 12:42:22 +0000 (13:42 +0100)
committerStefan Schantl <stefan.schantl@ipfire.org>
Sun, 3 Mar 2013 12:42:22 +0000 (13:42 +0100)
Conflicts:
make.sh

1  2 
make.sh

diff --combined make.sh
+++ b/make.sh
@@@ -24,9 -24,9 +24,9 @@@
  
  NAME="IPFire"                                                 # Software name
  SNAME="ipfire"                                                        # Short name
 -VERSION="2.11"                                                        # Version number
 -CORE="65"                                                     # Core Level (Filename)
 -PAKFIRE_CORE="65"                                             # Core Level (PAKFIRE)
 +VERSION="2.13"                                                        # Version number
 +CORE="66"                                                     # Core Level (Filename)
 +PAKFIRE_CORE="66"                                             # 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
@@@ -37,11 -37,12 +37,11 @@@ KVER=`grep --max-count=1 VER lfs/linux 
  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=3
 +TOOLCHAINVER=6
  
  BUILDMACHINE=$MACHINE
      if [ "$MACHINE" = "x86_64" ]; then
          BUILDMACHINE="i686";
 -        linux32="linux32";
      fi
  
  
@@@ -213,10 -214,15 +213,10 @@@ prepareenv() 
      mount --bind $BASEDIR/log    $BASEDIR/build/usr/src/log
      mount --bind $BASEDIR/src    $BASEDIR/build/usr/src/src
  
 -    # This is a temporary hack!!!
 -    if [ ! -f /tools/bin/hostname ]; then
 -      cp -f /bin/hostname /tools/bin/hostname 2>/dev/null
 -    fi
 -
      # Run LFS static binary creation scripts one by one
      export CCACHE_DIR=$BASEDIR/ccache
      export CCACHE_COMPRESS=1
 -    export CCACHE_HASHDIR=1
 +    export CCACHE_COMPILERCHECK="none"
  
      # Remove pre-install list of installed files in case user erase some files before rebuild
      rm -f $BASEDIR/build/usr/src/lsalr 2>/dev/null
@@@ -226,7 -232,7 +226,7 @@@ buildtoolchain() 
      local error=false
      case "${MACHINE}:$(uname -m)" in
          # x86
 -        i586:i586|i586:i686)
 +        i586:i586|i586:i686|i586:x86_64)
              # These are working.
              ;;
          i586:*)
              ;;
  
          # ARM
 -        armv5tel:armv5tel|armv5tel:armv5tejl|armv5tel:armv7l)
 +        armv5tel:armv5tel|armv5tel:armv5tejl|armv5tel:armv6l|armv5tel:armv7l)
              # These are working.
              ;;
          armv5tel:*)
      ${error} && \
          exiterror "Cannot build ${MACHINE} toolchain on $(uname -m). Please use the download if any."
  
 -    if [ "$(uname -r | grep ipfire)" ]; then
 -        exiterror "Cannot build toolchain on ipfire. Please use the download."
 +    local gcc=$(type -p gcc)
 +    if [ -z "${gcc}" ]; then
 +        exiterror "Could not find GCC. You will need a working build enviroment in order to build the toolchain."
      fi
  
      LOGFILE="$BASEDIR/log/_build.toolchain.log"
      export LOGFILE
 -    NATIVEGCC=`gcc --version | grep GCC | awk {'print $3'}`
 -    export NATIVEGCC GCCmajor=${NATIVEGCC:0:1} GCCminor=${NATIVEGCC:2:1} GCCrelease=${NATIVEGCC:4:1}
 -    ORG_PATH=$PATH
 -    lfsmake1 ccache   PASS=1
 -    lfsmake1 make     PASS=1
 -    lfsmake1 binutils PASS=1
 -    lfsmake1 gcc              PASS=1
 -    export PATH=$BASEDIR/build/usr/local/bin:$BASEDIR/build/tools/bin:$PATH
 -    if [ "${MACHINE_TYPE}" = "arm" ]; then
 -        lfsmake1 linux TOOLS=1 HEADERS=1
 -    else
 -        lfsmake1 linux-libc-header
 -    fi
 +
 +    local ORG_PATH=$PATH
 +    export PATH="/tools/ccache/bin:/tools/bin:$PATH"
 +    lfsmake1 ccache                   PASS=1
 +    lfsmake1 binutils                 PASS=1
 +    lfsmake1 gcc                      PASS=1
 +    lfsmake1 linux                    TOOLS=1 KCFG="-headers"
      lfsmake1 glibc
 -    lfsmake1 cleanup-toolchain PASS=1
 -    lfsmake1 fake-environ
 +    lfsmake1 cleanup-toolchain                PASS=1
 +    lfsmake1 binutils                 PASS=2
 +    lfsmake1 gcc                      PASS=2
 +    lfsmake1 ccache                   PASS=2
      lfsmake1 tcl
      lfsmake1 expect
      lfsmake1 dejagnu
 -    lfsmake1 gcc              PASS=2
 -    lfsmake1 binutils PASS=2
 -    lfsmake1 ccache   PASS=2
      lfsmake1 ncurses
      lfsmake1 bash
      lfsmake1 bzip2
      lfsmake1 grep
      lfsmake1 gzip
      lfsmake1 m4
 -    lfsmake1 make     PASS=2
 +    lfsmake1 make
      lfsmake1 patch
      lfsmake1 perl
      lfsmake1 sed
      lfsmake1 tar
      lfsmake1 texinfo
 -    lfsmake1 util-linux
 -    lfsmake1 strip
 -    lfsmake1 cleanup-toolchain        PASS=2
 +    lfsmake1 xz
 +    lfsmake1 fake-environ
 +    lfsmake1 cleanup-toolchain                PASS=2
      export PATH=$ORG_PATH
  }
  
@@@ -294,19 -306,17 +294,19 @@@ buildbase() 
      LOGFILE="$BASEDIR/log/_build.base.log"
      export LOGFILE
      lfsmake2 stage2
 -    if [ "${MACHINE_TYPE}" = "arm" ]; then
 -        lfsmake2 linux HEADERS=1
 -    else
 -        lfsmake2 linux-libc-header
 -    fi
 +    lfsmake2 linux                    KCFG="-headers"
      lfsmake2 man-pages
      lfsmake2 glibc
      lfsmake2 tzdata
 -    lfsmake2 cleanup-toolchain        PASS=3
 +    lfsmake2 cleanup-toolchain                PASS=3
 +    lfsmake2 zlib
      lfsmake2 binutils
 +    lfsmake2 gmp
 +    lfsmake2 gmp-compat
 +    lfsmake2 mpfr
 +    lfsmake2 file
      lfsmake2 gcc
 +    lfsmake2 sed
      lfsmake2 berkeley
      lfsmake2 coreutils
      lfsmake2 iana-etc
      lfsmake2 bison
      lfsmake2 ncurses
      lfsmake2 procps
 -    lfsmake2 sed
      lfsmake2 libtool
      lfsmake2 perl
      lfsmake2 readline
 -    lfsmake2 zlib
 +    lfsmake2 readline-compat
 +    lfsmake2 pcre
 +    lfsmake2 pcre-compat
      lfsmake2 autoconf
      lfsmake2 automake
      lfsmake2 bash
      lfsmake2 diffutils
      lfsmake2 e2fsprogs
      lfsmake2 ed
 -    lfsmake2 file
      lfsmake2 findutils
      lfsmake2 flex
      lfsmake2 gawk
      lfsmake2 iproute2
      lfsmake2 kbd
      lfsmake2 less
 -    lfsmake2 libaal
      lfsmake2 make
      lfsmake2 man
      lfsmake2 mktemp
      lfsmake2 net-tools
      lfsmake2 patch
      lfsmake2 psmisc
 -    lfsmake2 reiser4progs
      lfsmake2 shadow
      lfsmake2 sysklogd
      lfsmake2 sysvinit
      lfsmake2 udev
      lfsmake2 util-linux
      lfsmake2 vim
 +    lfsmake2 xz
      lfsmake2 grub
  }
  
@@@ -371,18 -382,20 +371,18 @@@ buildipfire() 
    ipfiremake pptp
    ipfiremake unzip
    ipfiremake which
 -  ipfiremake xz
    ipfiremake linux-firmware
 +  ipfiremake dvb-firmwares
    ipfiremake zd1211-firmware
 -  ipfiremake fw_ath9k_htc
 +  ipfiremake rpi-firmware
    ipfiremake u-boot
  
 -  # The xen and PAE kernels are only available for x86
    if [ "${MACHINE_TYPE}" != "arm" ]; then
 -    ipfiremake linux                  KCFG="-xen"
 -    ipfiremake kqemu                  KCFG="-xen"
 +
 +    # x86-xen (Legacy XEN) kernel build
 +    ipfiremake linux2                 KCFG="-xen"
      ipfiremake v4l-dvb                        KCFG="-xen"
 -    ipfiremake madwifi                        KCFG="-xen"
      ipfiremake mISDN                  KCFG="-xen"
 -    ipfiremake dahdi                  KCFG="-xen" KMOD=1
      ipfiremake cryptodev              KCFG="-xen"
      ipfiremake compat-wireless                KCFG="-xen"
      ipfiremake r8169                  KCFG="-xen"
      ipfiremake e1000                  KCFG="-xen"
      ipfiremake e1000e                 KCFG="-xen"
      ipfiremake igb                    KCFG="-xen"
 +
 +    # x86-pae (Native and new XEN) kernel build
      ipfiremake linux                  KCFG="-pae"
 -    ipfiremake kqemu                  KCFG="-pae"
      ipfiremake kvm-kmod                       KCFG="-pae"
      ipfiremake v4l-dvb                        KCFG="-pae"
 -    ipfiremake madwifi                        KCFG="-pae"
 -    ipfiremake alsa                   KCFG="-pae" KMOD=1
      ipfiremake mISDN                  KCFG="-pae"
 -    ipfiremake dahdi                  KCFG="-pae" KMOD=1
      ipfiremake cryptodev              KCFG="-pae"
      ipfiremake compat-wireless                KCFG="-pae"
 -#    ipfiremake r8169                 KCFG="-pae"
 -#    ipfiremake r8168                 KCFG="-pae"
 -#    ipfiremake r8101                 KCFG="-pae"
 -    ipfiremake e1000                  KCFG="-pae"
 +    ipfiremake r8169                  KCFG="-pae"
 +    ipfiremake r8168                  KCFG="-pae"
 +    ipfiremake r8101                  KCFG="-pae"
      ipfiremake e1000e                 KCFG="-pae"
      ipfiremake igb                    KCFG="-pae"
 +
 +    # x86 kernel build
      ipfiremake linux                  KCFG=""
 -    ipfiremake v4l-dvb                        KCFG=""
 -    ipfiremake kqemu                  KCFG=""
      ipfiremake kvm-kmod                       KCFG=""
 -    ipfiremake madwifi                        KCFG=""
 -    ipfiremake alsa                   KCFG="" KMOD=1
 +    ipfiremake v4l-dvb                        KCFG=""
      ipfiremake mISDN                  KCFG=""
 -    ipfiremake dahdi                  KCFG="" KMOD=1
      ipfiremake cryptodev              KCFG=""
      ipfiremake compat-wireless                KCFG=""
 -#    ipfiremake r8169                 KCFG=""
 -#    ipfiremake r8168                 KCFG=""
 -#    ipfiremake r8101                 KCFG=""
 -    ipfiremake e1000                  KCFG=""
 +    ipfiremake r8169                  KCFG=""
 +    ipfiremake r8168                  KCFG=""
 +    ipfiremake r8101                  KCFG=""
      ipfiremake e1000e                 KCFG=""
      ipfiremake igb                    KCFG=""
 +
    else
 -    # arm-versatile kernel build
 -    ipfiremake linux                  KCFG="-versatile"
 -    ipfiremake v4l-dvb                        KCFG="-versatile"
 -    ipfiremake kqemu                  KCFG="-versatile"
 -    ipfiremake kvm-kmod                       KCFG="-versatile"
 -    ipfiremake madwifi                        KCFG="-versatile"
 -    ipfiremake mISDN                  KCFG="-versatile"
 -    ipfiremake dahdi                  KCFG="-versatile" KMOD=1
 -    ipfiremake cryptodev              KCFG="-versatile"
 -    ipfiremake compat-wireless                KCFG="-versatile"
 -#  ipfiremake r8169                   KCFG="-versatile"
 -#  ipfiremake r8168                   KCFG="-versatile"
 -#  ipfiremake r8101                   KCFG="-versatile"
 -    ipfiremake e1000                  KCFG="-versatile"
 -    ipfiremake e1000e                 KCFG="-versatile"
 -    ipfiremake igb                    KCFG="-versatile"
 -    # arm-kirkwood kernel build
 +    # arm-rpi (Raspberry Pi) kernel build
 +    ipfiremake linux                  KCFG="-rpi"
 +    ipfiremake v4l-dvb                        KCFG="-rpi"
 +    ipfiremake mISDN                  KCFG="-rpi" NOPCI=1
 +    ipfiremake cryptodev              KCFG="-rpi"
 +    ipfiremake compat-wireless                KCFG="-rpi"
 +
 +    # arm-omap (Panda Board) kernel build
 +    ipfiremake linux                  KCFG="-omap"
 +    ipfiremake v4l-dvb                        KCFG="-omap"
 +    ipfiremake mISDN                  KCFG="-omap" NOPCI=1
 +    ipfiremake cryptodev              KCFG="-omap"
 +    ipfiremake compat-wireless                KCFG="-omap"
 +
 +    # arm-kirkwood (Dreamplug, ICY-Box ...) kernel build
      ipfiremake linux                  KCFG="-kirkwood"
      ipfiremake v4l-dvb                        KCFG="-kirkwood"
 -    ipfiremake kqemu                  KCFG="-kirkwood"
 -    ipfiremake kvm-kmod                       KCFG="-kirkwood"
 -    ipfiremake madwifi                        KCFG="-kirkwood"
      ipfiremake mISDN                  KCFG="-kirkwood"
 -    ipfiremake dahdi                  KCFG="-kirkwood" KMOD=1
      ipfiremake cryptodev              KCFG="-kirkwood"
      ipfiremake compat-wireless                KCFG="-kirkwood"
 -#  ipfiremake r8169                   KCFG="-kirkwood"
 -#  ipfiremake r8168                   KCFG="-kirkwood"
 -#  ipfiremake r8101                   KCFG="-kirkwood"
 -    ipfiremake e1000                  KCFG="-kirkwood"
 +    ipfiremake r8169                  KCFG="-kirkwood"
 +    ipfiremake r8168                  KCFG="-kirkwood"
 +    ipfiremake r8101                  KCFG="-kirkwood"
      ipfiremake e1000e                 KCFG="-kirkwood"
      ipfiremake igb                    KCFG="-kirkwood"
 +
    fi
    ipfiremake pkg-config
    ipfiremake linux-atm
    ipfiremake dracut
    ipfiremake expat
    ipfiremake gdbm
 -  ipfiremake gmp
    ipfiremake pam
    ipfiremake openssl
    ipfiremake curl
    ipfiremake mtools
    ipfiremake initscripts
    ipfiremake whatmask
 +  ipfiremake libmnl
    ipfiremake iptables
 +  ipfiremake conntrack-tools
    ipfiremake libupnp
    ipfiremake ipaddr
 -  ipfiremake iptstate
    ipfiremake iputils
    ipfiremake l7-protocols
    ipfiremake mISDNuser
    ipfiremake capi4k-utils
    ipfiremake hwdata
 -  ipfiremake kudzu
    ipfiremake logrotate
    ipfiremake logwatch
    ipfiremake misc-progs
    ipfiremake Net-IPv4Addr
    ipfiremake Net_SSLeay
    ipfiremake IO-Stringy
+   ipfiremake IO-Socket-SSL
    ipfiremake Unix-Syslog
    ipfiremake Mail-Tools
    ipfiremake MIME-Tools
    ipfiremake python-mechanize
    ipfiremake python-feedparser
    ipfiremake python-rssdler
 +  ipfiremake libffi
    ipfiremake glib
    ipfiremake GeoIP
    ipfiremake fwhits
    ipfiremake noip_updater
    ipfiremake ntp
    ipfiremake openssh
 +  ipfiremake fontconfig
 +  ipfiremake dejavu-fonts-ttf
 +  ipfiremake freefont
 +  ipfiremake pixman
 +  ipfiremake cairo
 +  ipfiremake pango
    ipfiremake rrdtool
    ipfiremake setserial
    ipfiremake setup
    ipfiremake traceroute
    ipfiremake vlan
    ipfiremake wireless
 -  ipfiremake libsafe
    ipfiremake pakfire
    ipfiremake spandsp
    ipfiremake lzo
    ipfiremake ghostscript
    ipfiremake foomatic
    ipfiremake hplip
 +  ipfiremake cifs-utils
    ipfiremake samba
    ipfiremake sudo
    ipfiremake mc
    ipfiremake wget
    ipfiremake bridge-utils
    ipfiremake screen
 -  ipfiremake hddtemp
    ipfiremake smartmontools
    ipfiremake htop
    ipfiremake postfix
    ipfiremake cmake
    ipfiremake gnump3d
    ipfiremake libsigc++
 -  ipfiremake applejuice
    ipfiremake libtorrent
    ipfiremake rtorrent
 -  ipfiremake ipfireseeder
    ipfiremake rsync
    ipfiremake tcpwrapper
    ipfiremake libevent
    ipfiremake vsftpd
    ipfiremake strongswan
    ipfiremake lsof
 -  ipfiremake centerim
    ipfiremake br2684ctl
    ipfiremake pcmciautils
    ipfiremake lm_sensors
    ipfiremake fbset
    ipfiremake sdl
    ipfiremake qemu
 -  ipfiremake qemu-kqemu
    ipfiremake sane
    ipfiremake netpbm
    ipfiremake phpSANE
    ipfiremake nagios
    ipfiremake nagios_nrpe
    ipfiremake ebtables
 -  ipfiremake fontconfig
 -  ipfiremake freefont
    ipfiremake directfb
    ipfiremake dfb++
    ipfiremake faad2
    ipfiremake ffmpeg
 -  ipfiremake videolan
    ipfiremake vdr
    ipfiremake w_scan
    ipfiremake icecast
    ipfiremake iw
    ipfiremake wpa_supplicant
    ipfiremake hostapd
 +  ipfiremake pycurl
    ipfiremake urlgrabber
    ipfiremake syslinux
    ipfiremake tftpd
    ipfiremake netcat
    ipfiremake 7zip
    ipfiremake lynis
 -  ipfiremake splix
    ipfiremake streamripper
    ipfiremake sshfs
    ipfiremake taglib
    ipfiremake nut
    ipfiremake watchdog
    ipfiremake libpri
 -  ipfiremake dahdi
    ipfiremake asterisk
    ipfiremake lcr
    ipfiremake usb_modeswitch
    ipfiremake python-progressbar
    ipfiremake python-xattr
    ipfiremake intltool
 -  ipfiremake pakfire3-deps
    ipfiremake transmission
    ipfiremake dpfhack
    ipfiremake lcd4linux
    ipfiremake mtr
    ipfiremake tcpick
    ipfiremake minidlna
 +  ipfiremake acpid
    ipfiremake fping
    ipfiremake telnet
 +  ipfiremake libgpg-error
 +  ipfiremake libassuan
 +  ipfiremake gpgme
 +  ipfiremake pygpgme
 +  ipfiremake pakfire3
    ipfiremake stress
    ipfiremake libstatgrab
    ipfiremake sarg
 +  ipfiremake fstrim
+   ipfiremake sendEmail
    echo Build on $HOSTNAME > $BASEDIR/build/var/ipfire/firebuild
    cat /proc/version >> $BASEDIR/build/var/ipfire/firebuild
    echo >> $BASEDIR/build/var/ipfire/firebuild
    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" -o "$GIT_BRANCH" = "next" ]; then
 -      echo "$NAME $VERSION ($MACHINE) - Development Build: $GIT_LASTCOMMIT" > $BASEDIR/build/etc/system-release
 +  if [ "$(git status -s | wc -l)" == "0" ]; then
 +      GIT_STATUS=""
    else
 -      echo "$NAME $VERSION ($MACHINE) - $GIT_BRANCH" > $BASEDIR/build/etc/system-release
 +      GIT_STATUS="-dirty"
    fi
 +  case "$GIT_BRANCH" in
 +      core*|beta?|rc?)
 +          echo "$NAME $VERSION ($MACHINE) - $GIT_BRANCH$GIT_STATUS" > $BASEDIR/build/etc/system-release
 +          ;;
 +      *)
 +          echo "$NAME $VERSION ($MACHINE) - Development Build: $GIT_BRANCH/$GIT_LASTCOMMIT$GIT_STATUS" > $BASEDIR/build/etc/system-release
 +          ;;
 +  esac
  }
  
  buildinstaller() {
    ipfiremake mbr
    ipfiremake memtest
    ipfiremake installer
 -  cp -f $BASEDIR/doc/COPYING $BASEDIR/build/install/initrd/
    installmake strip
    ipfiremake initrd
  }
@@@ -836,8 -852,6 +838,8 @@@ buildpackages() 
    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/
 +        cp -f $BASEDIR/packages/linux-pae-*.ipfire $LFS/install/packages/
 +        cp -f $BASEDIR/packages/meta-linux-pae $LFS/install/packages/
        ipfiremake xen-image
        rm -rf $LFS/install/packages/linux-xen-*.ipfire
        rm -rf $LFS/install/packages/meta-linux-xen
@@@ -874,7 -888,7 +876,7 @@@ ipfirepackages() 
        ipfiremake core-updates
  
        local i
 -      for i in $(find $BASEDIR/config/rootfiles/packages{${machine},} -maxdepth 1 -type f); do
 +      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
@@@ -1029,7 -1043,9 +1031,7 @@@ toolchain
        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-$MACHINE.tar.gz \
 -              build/{bin,etc,usr/bin,usr/local} \
 -              build/tools/{bin,etc,*-linux-gnu*,include,lib,libexec,sbin,share,var} \
 -              log >> $LOGFILE
 +              build/tools build/bin/sh log >> $LOGFILE
        md5sum cache/toolchains/$SNAME-$VERSION-toolchain-$TOOLCHAINVER-$MACHINE.tar.gz \
                > cache/toolchains/$SNAME-$VERSION-toolchain-$TOOLCHAINVER-$MACHINE.md5
        stdumount