#!/bin/sh set -eux die () { exit 1; } usage () { die Usage $0 [+-]e builddir; } case $# in 2) ;; *) usage ;; esac case $1 in +e) target_flags='-s -r' ;; -e) target_flags='-s -r -e' ;; *) usage ;; esac shift test -d $1 || die $1: not a directory. cd `dirname $1` eval `sed -n 's/^madde_version=/ver=/p; /^qemu_fileprefix=/p; ' \ installer/create-installer.sh` berlin=berlin-madde-$ver berlin_maemo_dir=Maemo/4.6.2 mkdir $berlin cd `basename $1` linux=../$berlin/linux/$berlin_maemo_dir w32=../$berlin/w32/$berlin_maemo_dir linux64=../$berlin/linux64/$berlin_maemo_dir darwin=../$berlin/darwin/$berlin_maemo_dir mkdir -p $linux $linux64 $w32 $darwin test -f work-linux-i686/madde.tar.gz && build_linux=true || build_linux=false test -f work-linux-x86_64/madde.tar.gz && build_linux64=true || build_linux64=false test -f work-w32-i686/madde.tar.gz && build_w32=true || build_w32=false # To build darwin 7z package on Linux machine, copy madde.tar.gz and cache_files # from Mac-machine from madde/_build/work-darwin-i686 to Linux-machine # madde/_build/work-darwin-i686 directory test -f work-darwin-i686/madde.tar.gz -a -f work-darwin-i686/cache_files && build_darwin=true || build_darwin=false x_madde_tgz () { tar -xzf $1/madde.tar.gz -C $2 # mangle postinstall.sh ... :/ perl -i -e 'while (<>) { last if /^case\s/; print $_; }; while (<>) { last if /^esac/; }; print q"usr_path=`pwd`; var_path=$usr_path", "\n"; print $_ while (<>);' $2/postinstall/postinstall.sh } #$build_linux && tar -xzf work-linux-i686/madde.tar.gz -C $linux #$build_linux64 && tar -xzf work-linux-x86_64/madde.tar.gz -C $linux64 #$build_darwin && tar -xzf work-darwin-i686/madde.tar.gz -C $darwin $build_linux && x_madde_tgz work-linux-i686 $linux $build_linux64 && x_madde_tgz work-linux-x86_64 $linux64 $build_darwin && x_madde_tgz work-darwin-i686 $darwin # windows stuff, from installer.nsi for f in `sed -n 's/"//g; s/.*define.*TARBALL //p' work-w32-i686/installer.nsi` do case $f in madde*|madide*|*qemu*) continue ;; esac case $f in *tar.gz) tar -xzf ../_distfiles/$f -C $w32 ;; *tar.lzma) tar --lzma -xf ../_distfiles/$f -C $w32 ;; esac done $build_w32 && tar -xzf work-w32-i686/madde.tar.gz -C $w32 cachefiles () { mkdir -p $2/cache for f in `cat $1/cache_files` do case $f in *DIABLO*) continue ;; esac test -f $2/cache/$f || ln ../_distfiles/$f $2/cache done } $build_linux && cachefiles work-linux-i686 $linux $build_linux64 && cachefiles work-linux-x86_64 $linux64 $build_w32 && cachefiles work-w32-i686 $w32 $build_darwin && cachefiles work-darwin-i686 $darwin #$build_darwin || { # mac stuff, madde.tar from mac compilation ... # touch $mac/,,,mac-missing-madde-tar-gz,,, # mac_tc=arm-2007q3-51sb6-gdb701-arm-none-linux-gnueabi_darwin.tar.bz2 # mac_qt=qt-tools-4.6.2-darwin.tar.gz # mkdir $mac/cache # ln /data/distfiles/$mac_tc $mac/cache # ln /data/distfiles/$mac_qt $mac/cache #} pats_postinstall() { echo # sed -i '/^#*create_target/ { s|^#*||; s/$/ '"$target_flags/; }" $1 } $build_linux && pats_postinstall $linux/postinstall/postinstall.sh $build_linux64 && pats_postinstall $linux64/postinstall/postinstall.sh $build_w32 && pats_postinstall $w32/postinstall/postinstall.sh $build_darwin && pats_postinstall $darwin/postinstall/postinstall.sh _7zaflags='-t7z -m0=lzma -mx=9 -mfb=64 -md=32m -ms=on' cd ../$berlin $build_linux && (cd linux && 7z a $_7zaflags ../madde-$ver-linux.7z .) $build_linux64 && (cd linux64 && 7z a $_7zaflags ../madde-$ver-linux64.7z .) #$build_w32 && (cd w32 && 7z a $_7zaflags ../madde-$ver-w32.7z .) $build_w32 && (cd w32/Maemo && mv 4.6.2 MADDE && 7z a $_7zaflags ../madde.7z .) $build_darwin && (cd darwin && 7z a $_7zaflags ../madde-$ver-darwin.7z .)