X-Git-Url: http://git.ipfire.org/?p=people%2Fpmueller%2Fipfire-2.x.git;a=blobdiff_plain;f=make.sh;h=9817aaba7d930664c7789b44e1c45f1f877eae7e;hp=8b6d8ea4de12cadf9bdd656b2ce05c7824ef518a;hb=a56df4eede029cb13aa66eb0d9aa35dd45e2a5f7;hpb=f98761dc0649216dacf8091e8fe7121a5e391bf5 diff --git a/make.sh b/make.sh index 8b6d8ea4de..9817aaba7d 100755 --- a/make.sh +++ b/make.sh @@ -22,21 +22,31 @@ ############################################################################ # -NAME="IPFire" # Software name -SNAME="ipfire" # Short name -VERSION="2.5" -CORE="31" -GIT_BRANCH=master:master # Version number -SLOGAN="www.ipfire.org" # Software slogan -CONFIG_ROOT=/var/ipfire # Configuration rootdir -NICE=10 # Nice level -MAX_RETRIES=1 # prefetch/check loop +NAME="IPFire" # Software name +SNAME="ipfire" # Short name +VERSION="2.9beta2" # Version number +CORE="43" # Core Level (Filename) +PAKFIRE_CORE="43" # 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 +NICE=10 # Nice level +MAX_RETRIES=1 # prefetch/check loop +BUILD_IMAGES=1 # Build USB, Flash and Xen Images KVER=`grep --max-count=1 VER lfs/linux | awk '{ print $3 }'` MACHINE=`uname -m` -GIT_TAG=$(git tag | tail -1) +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 + BUILDMACHINE="i686"; + linux32="linux32"; + fi + + # Debian specific settings if [ ! -e /etc/debian_version ]; then FULLPATH=`which $0` @@ -216,6 +226,7 @@ prepareenv() { # Run LFS static binary creation scripts one by one export CCACHE_DIR=$BASEDIR/ccache + export CCACHE_COMPRESS=1 export CCACHE_HASHDIR=1 # Remove pre-install list of installed files in case user erase some files before rebuild @@ -223,12 +234,19 @@ prepareenv() { } 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." + fi + LOGFILE="$BASEDIR/log/_build.toolchain.log" export LOGFILE ORG_PATH=$PATH NATIVEGCC=`gcc --version | grep GCC | awk {'print $3'}` export NATIVEGCC GCCmajor=${NATIVEGCC:0:1} GCCminor=${NATIVEGCC:2:1} GCCrelease=${NATIVEGCC:4:1} - lfsmake1 ccache + lfsmake1 ccache PASS=1 lfsmake1 binutils PASS=1 lfsmake1 gcc PASS=1 export PATH=$BASEDIR/build/usr/local/bin:$BASEDIR/build/tools/bin:$PATH @@ -240,6 +258,7 @@ buildtoolchain() { lfsmake1 dejagnu lfsmake1 gcc PASS=2 lfsmake1 binutils PASS=2 + lfsmake1 ccache PASS=2 lfsmake1 ncurses lfsmake1 bash lfsmake1 bzip2 @@ -308,7 +327,6 @@ buildbase() { lfsmake2 man lfsmake2 mktemp lfsmake2 module-init-tools - lfsmake2 mtd lfsmake2 net-tools lfsmake2 patch lfsmake2 psmisc @@ -334,38 +352,64 @@ buildipfire() { ipfiremake libusb ipfiremake libpcap ipfiremake ppp - ipfiremake rp-pppoe ipfiremake pptp ipfiremake unzip ipfiremake which + ipfiremake xz + ipfiremake linux-firmware ipfiremake linux XEN=1 - ipfiremake atl2 XEN=1 - ipfiremake hso XEN=1 - ipfiremake e1000e XEN=1 ipfiremake kqemu XEN=1 ipfiremake v4l-dvb XEN=1 ipfiremake madwifi XEN=1 -# ipfiremake alsa XEN=1 KMOD=1 - ipfiremake openswan XEN=1 KMOD=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 ipfiremake linux - ipfiremake atl2 - ipfiremake hso - ipfiremake e1000e ipfiremake kqemu + ipfiremake kvm-kmod ipfiremake v4l-dvb ipfiremake madwifi ipfiremake alsa KMOD=1 - ipfiremake openswan KMOD=1 ipfiremake mISDN + 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 - ipfiremake klibc - ipfiremake mkinitcpio - ipfiremake udev KLIBC=1 + + installmake strip + + ipfiremake dracut ipfiremake expat ipfiremake gdbm ipfiremake gmp @@ -373,6 +417,7 @@ buildipfire() { ipfiremake openssl ipfiremake curl ipfiremake python + ipfiremake fireinfo ipfiremake libnet ipfiremake libnl ipfiremake libidn @@ -386,6 +431,8 @@ buildipfire() { ipfiremake pcre ipfiremake slang ipfiremake newt + ipfiremake attr + ipfiremake acl ipfiremake libcap ipfiremake pciutils ipfiremake usbutils @@ -404,7 +451,6 @@ buildipfire() { ipfiremake cdrtools ipfiremake dnsmasq ipfiremake dosfstools - ipfiremake squashfstools ipfiremake reiserfsprogs ipfiremake xfsprogs ipfiremake sysfsutils @@ -474,6 +520,8 @@ buildipfire() { ipfiremake rrdtool ipfiremake setserial ipfiremake setup + ipfiremake libdnet + ipfiremake daq ipfiremake snort ipfiremake oinkmaster ipfiremake squid @@ -524,18 +572,15 @@ buildipfire() { ipfiremake xvid ipfiremake libmpeg2 ipfiremake cmake - ipfiremake libpri - ipfiremake asterisk ipfiremake gnump3d ipfiremake libsigc++ ipfiremake applejuice - ipfiremake ocaml - ipfiremake mldonkey ipfiremake libtorrent ipfiremake rtorrent ipfiremake ipfireseeder ipfiremake rsync ipfiremake tcpwrapper + ipfiremake libevent ipfiremake portmap ipfiremake nfs ipfiremake nmap @@ -545,21 +590,22 @@ buildipfire() { ipfiremake tripwire ipfiremake sysstat ipfiremake vsftpd - ipfiremake openswan + ipfiremake strongswan ipfiremake lsof ipfiremake centerim ipfiremake br2684ctl ipfiremake pcmciautils ipfiremake lm_sensors + ipfiremake liboping ipfiremake collectd ipfiremake lcd4linux - ipfiremake tcptrack ipfiremake teamspeak ipfiremake elinks ipfiremake igmpproxy ipfiremake fbset ipfiremake sdl ipfiremake qemu + ipfiremake qemu-kqemu ipfiremake sane ipfiremake netpbm ipfiremake phpSANE @@ -570,6 +616,7 @@ buildipfire() { ipfiremake freefont ipfiremake directfb ipfiremake dfb++ + ipfiremake faad2 ipfiremake ffmpeg ipfiremake videolan ipfiremake vdr @@ -577,11 +624,11 @@ buildipfire() { ipfiremake icecast ipfiremake icegenerator ipfiremake mpd + ipfiremake libmpdclient ipfiremake mpc ipfiremake git ipfiremake squidclamav ipfiremake bc - ipfiremake esniper ipfiremake vnstat ipfiremake vnstati ipfiremake iw @@ -599,7 +646,6 @@ buildipfire() { ipfiremake netcat ipfiremake 7zip ipfiremake lynis - #ipfiremake cryptsetup ipfiremake splix ipfiremake streamripper ipfiremake sshfs @@ -609,20 +655,36 @@ buildipfire() { ipfiremake sslh ipfiremake perl-gettext ipfiremake vdradmin -# ipfiremake x11libs -# ipfiremake xen ipfiremake miau ipfiremake netsnmpd ipfiremake perl-DBI ipfiremake perl-DBD-mysql - ipfiremake lcr ipfiremake cacti ipfiremake icecc - ipfiremake open-vm-tools + ipfiremake openvmtools ipfiremake nagiosql ipfiremake iftop ipfiremake motion ipfiremake joe + ipfiremake nut + ipfiremake watchdog + ipfiremake libpri + ipfiremake dahdi + ipfiremake asterisk + ipfiremake lcr + ipfiremake usb_modeswitch + ipfiremake usb_modeswitch_data + ipfiremake zerofree + ipfiremake mdadm + ipfiremake eject + ipfiremake pound + ipfiremake minicom + ipfiremake ddrescue + ipfiremake tcl + ipfiremake imspector + ipfiremake miniupnpd + ipfiremake client175 + ipfiremake powertop echo Build on $HOSTNAME > $BASEDIR/build/var/ipfire/firebuild cat /proc/version >> $BASEDIR/build/var/ipfire/firebuild echo >> $BASEDIR/build/var/ipfire/firebuild @@ -631,8 +693,12 @@ buildipfire() { git status >> $BASEDIR/build/var/ipfire/firebuild echo >> $BASEDIR/build/var/ipfire/firebuild cat /proc/cpuinfo >> $BASEDIR/build/var/ipfire/firebuild - echo $CORE > $BASEDIR/build/opt/pakfire/db/core/mine - echo $NAME $VERSION - Core$CORE > $BASEDIR/build/etc/system-release + 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 + else + echo "$NAME $VERSION - $GIT_BRANCH" > $BASEDIR/build/etc/system-release + fi } buildinstaller() { @@ -642,36 +708,10 @@ buildinstaller() { ipfiremake as86 ipfiremake mbr ipfiremake memtest - installmake linux-libc-header - installmake binutils - ipfiremake uClibc PASS=1 - ipfiremake gcc INST=1 - installmake uClibc PASS=2 - installmake gcc INST=2 - installmake uClibc PASS=3 - installmake busybox - installmake udev - installmake slang - installmake newt - installmake gettext - installmake kbd - installmake popt - installmake sysvinit - installmake misc-progs - installmake libaal - installmake reiser4progs - installmake reiserfsprogs - installmake sysfsutils - installmake util-linux - installmake pciutils - installmake zlib - installmake mtd - installmake wget - installmake hwdata - installmake kudzu - installmake pcmciautils - installmake installer - installmake initrd + ipfiremake installer + cp -f $BASEDIR/doc/COPYING $BASEDIR/build/install/initrd/ + installmake strip + ipfiremake initrd } buildpackages() { @@ -679,7 +719,6 @@ buildpackages() { export LOGFILE echo "... see detailed log in _build.*.log files" >> $LOGFILE - installmake strip # Generating list of packages used echo -n "Generating packages list from logs" | tee -a $LOGFILE @@ -704,7 +743,7 @@ buildpackages() { ipfiremake cdrom ED=$IPFVER # Check if there is a loop device for building in virtual environments - if [ -e /dev/loop/0 ] || [ -e /dev/loop0 ]; then + if [ $BUILD_IMAGES == 1 ] && ([ -e /dev/loop/0 ] || [ -e /dev/loop0 ]); then ipfiremake usb-stick ED=$IPFVER ipfiremake flash-images ED=$IPFVER fi @@ -714,7 +753,7 @@ buildpackages() { ipfirepackages # Check if there is a loop device for building in virtual environments - if [ -e /dev/loop/0 ] || [ -e /dev/loop0 ]; then + if [ $BUILD_IMAGES == 1 ] && ([ -e /dev/loop/0 ] || [ -e /dev/loop0 ]); 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 @@ -762,7 +801,6 @@ ipfirepackages() { case "$1" in build) clear - BUILDMACHINE=`uname -m` PACKAGE=`ls -v -r $BASEDIR/cache/toolchains/$SNAME-$VERSION-toolchain-$TOOLCHAINVER-$BUILDMACHINE.tar.gz 2> /dev/null | head -n 1` #only restore on a clean disk if [ ! -f log/cleanup-toolchain-2-tools ]; then @@ -890,9 +928,8 @@ toolchain) prepareenv beautify build_stage "Toolchain compilation - Native GCC: `gcc --version | grep GCC | awk {'print $3'}`" buildtoolchain - BUILDMACHINE=`uname -m` echo "`date -u '+%b %e %T'`: Create toolchain tar.gz for $BUILDMACHINE" | tee -a $LOGFILE - test -d $BASEDIR/cache/toolchains || mkdir $BASEDIR/cache/toolchains + 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} \ @@ -902,12 +939,11 @@ toolchain) stdumount ;; gettoolchain) - BUILDMACHINE=`uname -m` # arbitrary name to be updated in case of new toolchain package upload PACKAGE=$SNAME-$VERSION-toolchain-$TOOLCHAINVER-$BUILDMACHINE 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 $BASEDIR/cache/toolchains + 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 cd $BASEDIR/cache/toolchains wget -U "IPFireSourceGrabber/2.x" $URL_TOOLCHAIN/$PACKAGE.tar.gz $URL_TOOLCHAIN/$PACKAGE.md5 >& /dev/null @@ -978,7 +1014,7 @@ git) [ -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} ${GIT_BRANCH} $3 + git push ${GIT_URL} $3 ;; log) [ -z $GIT_TAG ] || LAST_TAG=$GIT_TAG @@ -995,11 +1031,12 @@ uploadsrc) beautify message FAIL exit 1 fi + URL_SOURCE=$(grep URL_SOURCE lfs/Config | awk '{ print $3 }') - REMOTE_FILES=$(echo "ls -1" | sftp -C ${IPFIRE_USER}@${URL_SOURCE}) + REMOTE_FILES=$(echo "ls -1 --ignore=toolchains" | sftp -C ${IPFIRE_USER}@${URL_SOURCE}) cd $BASEDIR/cache/ - for file in $(ls -1); do + for file in $(ls -1 --ignore=toolchains); do grep -q "$file" <<<$REMOTE_FILES && continue NEW_FILES="$NEW_FILES $file" done