X-Git-Url: http://git.ipfire.org/?p=people%2Fteissler%2Fipfire-2.x.git;a=blobdiff_plain;f=make.sh;fp=make.sh;h=55684d5742aaa0011feaed6e3e160378f9ddecb1;hp=f52f9e8b3b59829090db6360fb886ca35ed897c5;hb=534fb55f9d0a212c5d857eb3eccabe5c08df1ba1;hpb=eead8d2e01061b462f1758e06e7082ca5d18e523 diff --git a/make.sh b/make.sh index f52f9e8b3..55684d574 100755 --- a/make.sh +++ b/make.sh @@ -24,7 +24,7 @@ NAME="IPFire" # Software name SNAME="ipfire" # Short name -VERSION="2.11" # Version number +VERSION="2.13" # Version number CORE="64" # Core Level (Filename) PAKFIRE_CORE="63" # Core Level (PAKFIRE) GIT_BRANCH=`git status | head -n1 | cut -d" " -f4` # Git Branch @@ -37,12 +37,11 @@ KVER=`grep --max-count=1 VER lfs/linux | awk '{ print $3 }'` 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=5 BUILDMACHINE=$MACHINE if [ "$MACHINE" = "x86_64" ]; then BUILDMACHINE="i686"; - linux32="linux32"; fi @@ -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 @@ -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:*) @@ -240,7 +234,7 @@ buildtoolchain() { ;; # ARM - armv5tel:armv5tel|armv5tel:armv5tejl|armv5tel:armv7l) + armv5tel:armv5tel|armv5tel:armv5tejl|armv5tel:armv6l|armv5tel:armv7l) # These are working. ;; armv5tel:*) @@ -251,34 +245,28 @@ buildtoolchain() { ${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 linux2 TOOLS=1 HEADERS=1 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 @@ -290,15 +278,15 @@ buildtoolchain() { 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 } @@ -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 linux2 HEADERS=1 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 @@ -324,11 +314,12 @@ buildbase() { 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 @@ -336,7 +327,6 @@ buildbase() { lfsmake2 diffutils lfsmake2 e2fsprogs lfsmake2 ed - lfsmake2 file lfsmake2 findutils lfsmake2 flex lfsmake2 gawk @@ -348,7 +338,6 @@ buildbase() { lfsmake2 iproute2 lfsmake2 kbd lfsmake2 less - lfsmake2 libaal lfsmake2 make lfsmake2 man lfsmake2 mktemp @@ -356,7 +345,6 @@ buildbase() { lfsmake2 net-tools lfsmake2 patch lfsmake2 psmisc - lfsmake2 reiser4progs lfsmake2 shadow lfsmake2 sysklogd lfsmake2 sysvinit @@ -365,6 +353,7 @@ buildbase() { lfsmake2 udev lfsmake2 util-linux lfsmake2 vim + lfsmake2 xz lfsmake2 grub } @@ -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" @@ -404,71 +391,62 @@ buildipfire() { 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 v4l-dvb KCFG="" ipfiremake alsa KCFG="" KMOD=1 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 @@ -476,7 +454,6 @@ buildipfire() { ipfiremake dracut ipfiremake expat ipfiremake gdbm - ipfiremake gmp ipfiremake pam ipfiremake openssl ipfiremake curl @@ -537,13 +514,11 @@ buildipfire() { ipfiremake iptables 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 @@ -579,12 +554,19 @@ buildipfire() { 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 @@ -599,7 +581,6 @@ buildipfire() { ipfiremake traceroute ipfiremake vlan ipfiremake wireless - ipfiremake libsafe ipfiremake pakfire ipfiremake spandsp ipfiremake lzo @@ -615,7 +596,6 @@ buildipfire() { ipfiremake wget ipfiremake bridge-utils ipfiremake screen - ipfiremake hddtemp ipfiremake smartmontools ipfiremake htop ipfiremake postfix @@ -642,7 +622,6 @@ buildipfire() { ipfiremake cmake ipfiremake gnump3d ipfiremake libsigc++ - ipfiremake applejuice ipfiremake libtorrent ipfiremake rtorrent ipfiremake ipfireseeder @@ -661,7 +640,6 @@ buildipfire() { ipfiremake vsftpd ipfiremake strongswan ipfiremake lsof - ipfiremake centerim ipfiremake br2684ctl ipfiremake pcmciautils ipfiremake lm_sensors @@ -673,7 +651,6 @@ buildipfire() { ipfiremake fbset ipfiremake sdl ipfiremake qemu - ipfiremake qemu-kqemu ipfiremake sane ipfiremake netpbm ipfiremake phpSANE @@ -681,8 +658,6 @@ buildipfire() { ipfiremake nagios ipfiremake nagios_nrpe ipfiremake ebtables - ipfiremake fontconfig - ipfiremake freefont ipfiremake directfb ipfiremake dfb++ ipfiremake faad2 @@ -703,6 +678,7 @@ buildipfire() { ipfiremake iw ipfiremake wpa_supplicant ipfiremake hostapd + ipfiremake pycurl ipfiremake urlgrabber ipfiremake syslinux ipfiremake tftpd @@ -715,7 +691,6 @@ buildipfire() { ipfiremake netcat ipfiremake 7zip ipfiremake lynis - ipfiremake splix ipfiremake streamripper ipfiremake sshfs ipfiremake taglib @@ -737,7 +712,6 @@ buildipfire() { ipfiremake nut ipfiremake watchdog ipfiremake libpri - ipfiremake dahdi ipfiremake asterisk ipfiremake lcr ipfiremake usb_modeswitch @@ -763,15 +737,20 @@ buildipfire() { 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 echo Build on $HOSTNAME > $BASEDIR/build/var/ipfire/firebuild cat /proc/version >> $BASEDIR/build/var/ipfire/firebuild echo >> $BASEDIR/build/var/ipfire/firebuild @@ -781,11 +760,14 @@ 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" -o "$GIT_BRANCH" = "next" ]; then - echo "$NAME $VERSION ($MACHINE) - Development Build: $GIT_LASTCOMMIT" > $BASEDIR/build/etc/system-release - else - echo "$NAME $VERSION ($MACHINE) - $GIT_BRANCH" > $BASEDIR/build/etc/system-release - fi + case "$GIT_BRANCH" in + core*) + echo "$NAME $VERSION ($MACHINE) - $GIT_BRANCH" > $BASEDIR/build/etc/system-release + ;; + *) + echo "$NAME $VERSION ($MACHINE) - Development Build: $GIT_BRANCH/$GIT_LASTCOMMIT" > $BASEDIR/build/etc/system-release + ;; + esac } buildinstaller() { @@ -796,7 +778,6 @@ buildinstaller() { ipfiremake mbr ipfiremake memtest ipfiremake installer - cp -f $BASEDIR/doc/COPYING $BASEDIR/build/install/initrd/ installmake strip ipfiremake initrd } @@ -847,6 +828,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 @@ -883,7 +866,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 @@ -1038,9 +1021,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