X-Git-Url: http://git.ipfire.org/?p=people%2Fteissler%2Fipfire-2.x.git;a=blobdiff_plain;f=make.sh;h=b827b6fdbb386a6fde002562c18d60e83f8e039b;hp=dbe34514a95eb29395df3de06d59af72396442bd;hb=bc259fdcc14bb766173c7bd0b82a92cc0e33c79b;hpb=686329769e2a88a09d5e7420687d9c07d11fdb40 diff --git a/make.sh b/make.sh index dbe34514a..b827b6fdb 100755 --- a/make.sh +++ b/make.sh @@ -17,16 +17,16 @@ # along with IPFire; if not, write to the Free Software # # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA # # # -# Copyright (C) 2007-2011 IPFire-Team . # +# Copyright (C) 2007-2012 IPFire Team . # # # ############################################################################ # 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="62" # Core Level (Filename) +PAKFIRE_CORE="61" # 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,13 +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=1 -IPFVER="full" # Which versions should be compiled? (full|devel) +TOOLCHAINVER=5 BUILDMACHINE=$MACHINE if [ "$MACHINE" = "x86_64" ]; then BUILDMACHINE="i686"; - linux32="linux32"; fi @@ -72,14 +70,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 @@ -223,51 +213,60 @@ 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 } buildtoolchain() { - if [ "$(uname -m)" = "x86_64" ]; then - exiterror "Cannot build toolchain on x86_64. Please use the download." - fi - if [ "$(uname -r | grep ipfire)" ]; then - exiterror "Cannot build toolchain on ipfire. Please use the download." + local error=false + case "${MACHINE}:$(uname -m)" in + # x86 + i586:i586|i586:i686|i586:x86_64) + # These are working. + ;; + i586:*) + error=true + ;; + + # ARM + armv5tel:armv5tel|armv5tel:armv5tejl|armv5tel:armv6l|armv5tel:armv7l) + # These are working. + ;; + armv5tel:*) + error=true + ;; + esac + + ${error} && \ + exiterror "Cannot build ${MACHINE} toolchain on $(uname -m). Please use the download if any." + + 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 - export PATH=$BASEDIR/build/usr/local/bin:$BASEDIR/build/tools/bin:$PATH - lfsmake1 ccache PASS=1 - lfsmake1 make PASS=1 - lfsmake1 binutils PASS=1 - lfsmake1 gcc PASS=1 - if [ "${MACHINE}" = "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 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 @@ -279,14 +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 cleanup-toolchain PASS=2 + lfsmake1 xz + lfsmake1 fake-environ + lfsmake1 cleanup-toolchain PASS=2 export PATH=$ORG_PATH } @@ -294,16 +294,19 @@ buildbase() { LOGFILE="$BASEDIR/log/_build.base.log" export LOGFILE lfsmake2 stage2 - if [ "${MACHINE}" = "arm" ]; then - lfsmake2 linux HEADERS=1 - else - lfsmake2 linux-libc-header - fi + lfsmake2 linux2 HEADERS=1 lfsmake2 man-pages lfsmake2 glibc - lfsmake2 cleanup-toolchain PASS=3 + lfsmake2 tzdata + 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 @@ -311,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 @@ -323,7 +327,6 @@ buildbase() { lfsmake2 diffutils lfsmake2 e2fsprogs lfsmake2 ed - lfsmake2 file lfsmake2 findutils lfsmake2 flex lfsmake2 gawk @@ -335,7 +338,6 @@ buildbase() { lfsmake2 iproute2 lfsmake2 kbd lfsmake2 less - lfsmake2 libaal lfsmake2 make lfsmake2 man lfsmake2 mktemp @@ -343,7 +345,6 @@ buildbase() { lfsmake2 net-tools lfsmake2 patch lfsmake2 psmisc - lfsmake2 reiser4progs lfsmake2 shadow lfsmake2 sysklogd lfsmake2 sysvinit @@ -352,11 +353,8 @@ buildbase() { lfsmake2 udev lfsmake2 util-linux lfsmake2 vim - - # ARM cannot use grub. - if [ "${MACHINE}" != "arm" ]; then - lfsmake2 grub - fi + lfsmake2 xz + lfsmake2 grub } buildipfire() { @@ -372,78 +370,108 @@ buildipfire() { ipfiremake pptp ipfiremake unzip ipfiremake which - ipfiremake xz ipfiremake linux-firmware ipfiremake zd1211-firmware + ipfiremake rpi-firmware + ipfiremake fw_ath9k_htc + ipfiremake u-boot # The xen and PAE kernels are only available for x86 - if [ "${MACHINE}" != "arm" ]; then - ipfiremake linux XEN=1 - ipfiremake kqemu XEN=1 - ipfiremake v4l-dvb XEN=1 - ipfiremake madwifi XEN=1 - ipfiremake mISDN XEN=1 - ipfiremake dahdi XEN=1 KMOD=1 - ipfiremake cryptodev XEN=1 - ipfiremake compat-wireless XEN=1 - ipfiremake r8169 XEN=1 - ipfiremake r8168 XEN=1 - ipfiremake r8101 XEN=1 - ipfiremake e1000 XEN=1 - ipfiremake e1000e XEN=1 - ipfiremake igb XEN=1 - ipfiremake linux PAE=1 - ipfiremake kqemu PAE=1 - ipfiremake kvm-kmod PAE=1 - ipfiremake v4l-dvb PAE=1 - ipfiremake madwifi PAE=1 - ipfiremake alsa PAE=1 KMOD=1 - ipfiremake mISDN PAE=1 - ipfiremake dahdi PAE=1 KMOD=1 - ipfiremake cryptodev PAE=1 - ipfiremake compat-wireless PAE=1 -# ipfiremake r8169 PAE=1 -# ipfiremake r8168 PAE=1 -# ipfiremake r8101 PAE=1 - ipfiremake e1000 PAE=1 - ipfiremake e1000e PAE=1 - ipfiremake igb PAE=1 - fi + if [ "${MACHINE_TYPE}" != "arm" ]; then +# ipfiremake linux2 KCFG="-xen" +# ipfiremake v4l-dvb 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 r8168 KCFG="-xen" +# ipfiremake r8101 KCFG="-xen" +# ipfiremake e1000 KCFG="-xen" +# ipfiremake e1000e KCFG="-xen" +# ipfiremake igb KCFG="-xen" - # Default kernel build - ipfiremake linux - ipfiremake v4l-dvb - - if [ "${MACHINE}" != "arm" ]; then - # Virtualization helpers are only available for x86. - ipfiremake kqemu - ipfiremake kvm-kmod - #unsupported arch (armv5) - ipfiremake madwifi - #todo enable alsa driver in kernel config - ipfiremake alsa KMOD=1 - #undefined declaration in echo canceler try to fix later - ipfiremake mISDN + ipfiremake linux KCFG="-pae" +# ipfiremake kvm-kmod KCFG="-pae" +# ipfiremake v4l-dvb 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 e1000e KCFG="-pae" +# ipfiremake igb KCFG="-pae" + + ipfiremake linux KCFG="" +# ipfiremake kvm-kmod 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 e1000e KCFG="" +# ipfiremake igb KCFG="" + + else + # arm-omap kernel build + ipfiremake linux KCFG="-rpi" +# ipfiremake v4l-dvb KCFG="-rpi" +# ipfiremake kvm-kmod KCFG="-rpi" +# ipfiremake mISDN KCFG="-rpi" +# ipfiremake dahdi KCFG="-rpi" KMOD=1 + ipfiremake cryptodev KCFG="-rpi" + ipfiremake compat-wireless KCFG="-rpi" +# ipfiremake r8169 KCFG="-rpi" +# ipfiremake r8168 KCFG="-rpi" +# ipfiremake r8101 KCFG="-rpi" +# ipfiremake e1000 KCFG="-rpi" +# ipfiremake e1000e KCFG="-rpi" +# ipfiremake igb KCFG="-rpi" + + ipfiremake linux KCFG="-omap" +# ipfiremake v4l-dvb KCFG="-omap" +# ipfiremake kvm-kmod KCFG="-omap" +# ipfiremake mISDN KCFG="-omap" +# ipfiremake dahdi KCFG="-omap" KMOD=1 + ipfiremake cryptodev KCFG="-omap" + ipfiremake compat-wireless KCFG="-omap" +# ipfiremake r8169 KCFG="-omap" +# ipfiremake r8168 KCFG="-omap" +# ipfiremake r8101 KCFG="-omap" +# ipfiremake e1000 KCFG="-omap" +# ipfiremake e1000e KCFG="-omap" +# ipfiremake igb KCFG="-omap" + + # arm-kirkwood kernel build + ipfiremake linux KCFG="-kirkwood" +# ipfiremake v4l-dvb KCFG="-kirkwood" +# ipfiremake kvm-kmod 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 e1000e KCFG="-kirkwood" +# ipfiremake igb KCFG="-kirkwood" fi - ipfiremake dahdi KMOD=1 - ipfiremake cryptodev - ipfiremake compat-wireless -# ipfiremake r8169 -# ipfiremake r8168 -# ipfiremake r8101 - ipfiremake e1000 - ipfiremake e1000e - ipfiremake igb ipfiremake pkg-config ipfiremake linux-atm ipfiremake cpio - - installmake strip - ipfiremake dracut ipfiremake expat ipfiremake gdbm - ipfiremake gmp ipfiremake pam ipfiremake openssl ipfiremake curl @@ -481,7 +509,7 @@ buildipfire() { ipfiremake arping ipfiremake beep ipfiremake bind - ipfiremake cdrtools + ipfiremake dvdrtools ipfiremake dnsmasq ipfiremake dosfstools ipfiremake reiserfsprogs @@ -504,7 +532,6 @@ buildipfire() { ipfiremake iptables ipfiremake libupnp ipfiremake ipaddr - ipfiremake iptstate ipfiremake iputils ipfiremake l7-protocols ipfiremake mISDNuser @@ -539,6 +566,8 @@ buildipfire() { ipfiremake Text-Tabs+Wrap ipfiremake Locale-Country ipfiremake XML-Parser + ipfiremake Crypt-PasswdMD5 + ipfiremake Net-Telnet ipfiremake python-setuptools ipfiremake python-clientform ipfiremake python-mechanize @@ -564,9 +593,7 @@ buildipfire() { ipfiremake traceroute ipfiremake vlan ipfiremake wireless - ipfiremake libsafe ipfiremake pakfire - ipfiremake java ipfiremake spandsp ipfiremake lzo ipfiremake openvpn @@ -581,10 +608,9 @@ buildipfire() { ipfiremake wget ipfiremake bridge-utils ipfiremake screen - ipfiremake hddtemp ipfiremake smartmontools ipfiremake htop - ipfiremake postfix +# ipfiremake postfix # unknown system type linux 3.2.x ipfiremake fetchmail ipfiremake cyrus-imapd ipfiremake openmailadmin @@ -607,13 +633,13 @@ buildipfire() { ipfiremake cmake ipfiremake gnump3d ipfiremake libsigc++ - ipfiremake applejuice ipfiremake libtorrent ipfiremake rtorrent ipfiremake ipfireseeder ipfiremake rsync ipfiremake tcpwrapper ipfiremake libevent + ipfiremake libevent2 ipfiremake portmap ipfiremake nfs ipfiremake nmap @@ -625,24 +651,21 @@ buildipfire() { ipfiremake vsftpd ipfiremake strongswan ipfiremake lsof - ipfiremake centerim - #ipfiremake br2684ctl + ipfiremake br2684ctl ipfiremake pcmciautils ipfiremake lm_sensors ipfiremake liboping ipfiremake collectd - ipfiremake lcd4linux ipfiremake teamspeak ipfiremake elinks ipfiremake igmpproxy ipfiremake fbset ipfiremake sdl - #ipfiremake qemu - #ipfiremake qemu-kqemu + ipfiremake qemu ipfiremake sane ipfiremake netpbm ipfiremake phpSANE - #ipfiremake tunctl + ipfiremake tunctl ipfiremake nagios ipfiremake nagios_nrpe ipfiremake ebtables @@ -653,7 +676,7 @@ buildipfire() { ipfiremake faad2 ipfiremake ffmpeg ipfiremake videolan - #ipfiremake vdr + ipfiremake vdr ipfiremake w_scan ipfiremake icecast ipfiremake icegenerator @@ -666,14 +689,12 @@ 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 cpufrequtils ipfiremake dbus ipfiremake bluetooth ipfiremake gutenprint @@ -682,7 +703,6 @@ buildipfire() { ipfiremake netcat ipfiremake 7zip ipfiremake lynis - ipfiremake splix ipfiremake streamripper ipfiremake sshfs ipfiremake taglib @@ -696,9 +716,7 @@ buildipfire() { ipfiremake perl-DBD-mysql ipfiremake cacti ipfiremake icecc - if [ "${MACHINE:0:3}" != "arm" ]; then - ipfiremake openvmtools - fi + ipfiremake openvmtools ipfiremake nagiosql ipfiremake iftop ipfiremake motion @@ -706,9 +724,9 @@ buildipfire() { ipfiremake nut ipfiremake watchdog ipfiremake libpri - ipfiremake dahdi - #ipfiremake asterisk - #ipfiremake lcr +# ipfiremake dahdi # update needed for 3.2.x +# ipfiremake asterisk +# ipfiremake lcr ipfiremake usb_modeswitch ipfiremake usb_modeswitch_data ipfiremake zerofree @@ -718,7 +736,7 @@ buildipfire() { ipfiremake minicom ipfiremake ddrescue ipfiremake imspector - ipfiremake miniupnpd +# ipfiremake miniupnpd # will not build ipfiremake client175 ipfiremake powertop ipfiremake parted @@ -726,14 +744,18 @@ 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 + ipfiremake dpfhack + ipfiremake lcd4linux + ipfiremake mtr + ipfiremake tcpick echo Build on $HOSTNAME > $BASEDIR/build/var/ipfire/firebuild cat /proc/version >> $BASEDIR/build/var/ipfire/firebuild echo >> $BASEDIR/build/var/ipfire/firebuild @@ -743,10 +765,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" = "master" -o "$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 } @@ -754,13 +776,10 @@ buildinstaller() { # Run installer scripts one by one LOGFILE="$BASEDIR/log/_build.installer.log" export LOGFILE - if [ "${MACHINE:0:3}" != "arm" ]; then - ipfiremake as86 - ipfiremake mbr - ipfiremake memtest - fi + ipfiremake as86 + ipfiremake mbr + ipfiremake memtest ipfiremake installer - cp -f $BASEDIR/doc/COPYING $BASEDIR/build/install/initrd/ installmake strip ipfiremake initrd } @@ -788,15 +807,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 @@ -804,10 +827,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 @@ -841,7 +864,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 @@ -858,7 +884,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 @@ -949,7 +975,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 @@ -967,6 +994,7 @@ downloadsrc) ERROR=0 for i in *; do if [ -f "$i" -a "$i" != "Config" ]; then + lfsmakecommoncheck ${i} > /dev/null || continue make -s -f $i LFS_BASEDIR=$BASEDIR MACHINE=$MACHINE \ MESSAGE="$i\t " md5 >> $LOGFILE 2>&1 if [ $? -ne 0 ]; then @@ -990,27 +1018,25 @@ 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 \ - 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 + cd $BASEDIR && tar -zc --exclude='log/_build.*.log' -f cache/toolchains/$SNAME-$VERSION-toolchain-$TOOLCHAINVER-$MACHINE.tar.gz \ + 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 ;; 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 @@ -1038,54 +1064,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 @@ -1107,83 +1085,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