X-Git-Url: http://git.ipfire.org/?p=people%2Fpmueller%2Fipfire-2.x.git;a=blobdiff_plain;f=make.sh;h=c6c0b0022016c1667ce69e0246b2a73aa357d688;hp=27c6d86f1ddf4b92a38892bc0daa5e7096b239d0;hb=a91ca65e82da80139f0e0675def755561ec7d478;hpb=08fc1a19ae1d6abd01c6b0eab7f3dc5594322562 diff --git a/make.sh b/make.sh index 27c6d86f1d..c6c0b00220 100755 --- a/make.sh +++ b/make.sh @@ -24,14 +24,15 @@ NAME="IPFire" # Software name SNAME="ipfire" # Short name -VERSION="2.1" # Version number +VERSION="2.3-beta3" +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 KVER=`grep --max-count=1 VER lfs/linux | awk '{ print $3 }'` MACHINE=`uname -m` -SVN_REVISION=`svn info | grep Revision | cut -c 11-` +GIT_TAG=$(git tag | tail -1) IPFVER="full" # Which versions should be compiled? (full|devel) @@ -70,6 +71,17 @@ else fi fi +if [ -z $EDITOR ]; then + for i in nano emacs vi; do + EDITOR=$(which $i 2>/dev/null) + if ! [ -z $EDITOR ]; then + export EDITOR=$EDITOR + break + fi + done + [ -z $EDITOR ] && exiterror "You should have installed an editor." +fi + prepareenv() { ############################################################################ # # @@ -321,22 +333,30 @@ buildipfire() { ipfiremake ppp ipfiremake rp-pppoe ipfiremake unzip - ipfiremake linux SMP=1 - ipfiremake ipp2p SMP=1 - ipfiremake zaptel SMP=1 - ipfiremake r8169 SMP=1 - ipfiremake r8168 SMP=1 - ipfiremake mcs7830 SMP=1 - ipfiremake atl1 SMP=1 - ipfiremake kqemu SMP=1 +# ipfiremake linux SMP=1 +# ipfiremake linux-fusion SMP=1 +# ipfiremake ipp2p SMP=1 +# ipfiremake r8169 SMP=1 +# ipfiremake r8168 SMP=1 +# ipfiremake atl2 SMP=1 +# ipfiremake kqemu SMP=1 +# ipfiremake v4l-dvb SMP=1 +# ipfiremake madwifi SMP=1 +# ipfiremake alsa KMOD=1 SMP=1 +# ipfiremake sane KMOD=1 SMP=1 +# ipfiremake openswan KMOD=1 SMP=1 ipfiremake linux + ipfiremake linux-fusion ipfiremake ipp2p - ipfiremake zaptel ipfiremake r8169 ipfiremake r8168 - ipfiremake mcs7830 - ipfiremake atl1 + ipfiremake atl2 ipfiremake kqemu + ipfiremake v4l-dvb + ipfiremake madwifi + ipfiremake alsa KMOD=1 + ipfiremake sane KMOD=1 + ipfiremake openswan KMOD=1 ipfiremake pkg-config ipfiremake linux-atm ipfiremake cpio @@ -402,7 +422,6 @@ buildipfire() { ipfiremake libupnp ipfiremake ipp2p IPT=1 ipfiremake linux-igd - ipfiremake ipac-ng ipfiremake ipaddr ipfiremake iptstate ipfiremake iputils @@ -445,7 +464,6 @@ buildipfire() { ipfiremake noip_updater ipfiremake ntp ipfiremake openssh - ipfiremake openswan ipfiremake rrdtool ipfiremake setserial ipfiremake setup @@ -487,13 +505,13 @@ buildipfire() { ipfiremake spamassassin ipfiremake amavisd ipfiremake alsa - ipfiremake mpg123 ipfiremake mpfire ipfiremake guardian ipfiremake libid3tag ipfiremake libmad ipfiremake libogg ipfiremake libvorbis + ipfiremake libdvbpsi ipfiremake lame ipfiremake sox ipfiremake libshout @@ -503,7 +521,7 @@ buildipfire() { ipfiremake mpc ipfiremake xvid ipfiremake libmpeg2 - ipfiremake videolan + ipfiremake cmake ipfiremake libpri ipfiremake asterisk ipfiremake gnump3d @@ -519,7 +537,6 @@ buildipfire() { ipfiremake portmap ipfiremake nfs ipfiremake nmap - ipfiremake mbmon ipfiremake ncftp ipfiremake etherwake ipfiremake bwm-ng @@ -527,28 +544,66 @@ buildipfire() { ipfiremake sysstat ipfiremake vsftpd ipfiremake which + ipfiremake openswan ipfiremake lsof ipfiremake centerim ipfiremake br2684ctl ipfiremake pcmciautils + ipfiremake lm_sensors ipfiremake collectd ipfiremake lcd4linux ipfiremake neon - ipfiremake subversion ipfiremake tcptrack ipfiremake teamspeak ipfiremake elinks ipfiremake igmpproxy + ipfiremake fbset ipfiremake sdl ipfiremake qemu ipfiremake sane + ipfiremake netpbm + ipfiremake phpSANE + ipfiremake tunctl + ipfiremake nagios + ipfiremake ebtables + ipfiremake arptables + ipfiremake fontconfig + ipfiremake freefont + ipfiremake directfb + ipfiremake dfb++ + ipfiremake ffmpeg + ipfiremake videolan + ipfiremake vdr + ipfiremake w_scan + ipfiremake git + ipfiremake squidclamav + ipfiremake bc + ipfiremake esniper + ipfiremake vnstat + ipfiremake vnstati + ipfiremake wpa_supplicant + ipfiremake hostapd + ipfiremake urlgrabber + ipfiremake syslinux + ipfiremake tftp-hpa + ipfiremake cpufrequtils + ipfiremake dbus + ipfiremake bluetooth + ipfiremake gutenprint + echo Build on $HOSTNAME > $BASEDIR/build/var/ipfire/firebuild + cat /proc/version >> $BASEDIR/build/var/ipfire/firebuild + echo >> $BASEDIR/build/var/ipfire/firebuild + git log -1 >> $BASEDIR/build/var/ipfire/firebuild + echo >> $BASEDIR/build/var/ipfire/firebuild + git status >> $BASEDIR/build/var/ipfire/firebuild + echo >> $BASEDIR/build/var/ipfire/firebuild + cat /proc/cpuinfo >> $BASEDIR/build/var/ipfire/firebuild } buildinstaller() { # Run installer scripts one by one LOGFILE="$BASEDIR/log/_build.installer.log" export LOGFILE - ipfiremake syslinux ipfiremake as86 ipfiremake mbr ipfiremake memtest @@ -605,6 +660,10 @@ buildpackages() { rm -f $BASEDIR/doc/packages-list # packages-list.txt is ready to be displayed for wiki page beautify message DONE + + # Update changelog + cd $BASEDIR + $0 git log # Create images for install ipfiremake cdrom ED=full @@ -613,7 +672,10 @@ buildpackages() { if [ -e /dev/loop/0 ] || [ -e /dev/loop0 ]; then ipfiremake usb-stick fi - mv $LFS/install/images/{*.iso,*.tgz,*.img.gz} $BASEDIR >> $LOGFILE 2>&1 + + # Create updater package + ipfiremake updater + mv $LFS/install/images/{*.iso,*.tgz,*.img.gz,*.bz2} $BASEDIR >> $LOGFILE 2>&1 ipfirepackages @@ -687,13 +749,6 @@ build) beautify build_stage "Building IPFire" buildipfire - # Setzen des IPFire Builds - if [ "$SVN_REVISION" ]; then - echo "$SVN_REVISION" > $BASEDIR/build/var/ipfire/firebuild - else - echo "_(OvO)_" > $BASEDIR/build/var/ipfire/firebuild - fi - beautify build_stage "Building installer" buildinstaller @@ -707,11 +762,6 @@ shell) prepareenv entershell ;; -changelog) - echo -n "Loading new Changelog from SVN: " - svn log http://svn.ipfire.org/svn/ipfire > doc/ChangeLog - beautify message DONE - ;; clean) echo -en "${BOLD}Cleaning build directory...${NORMAL}" for i in `mount | grep $BASEDIR | sed 's/^.*loop=\(.*\))/\1/'`; do @@ -813,7 +863,7 @@ gettoolchain) cd $BASEDIR/cache/toolchains wget $URL_TOOLCHAIN/$PACKAGE.tar.gz $URL_TOOLCHAIN/$PACKAGE.md5 >& /dev/null if [ $? -ne 0 ]; then - echo "`date -u '+%b %e %T'`: error downloading toolchain for $BUILDMACHINE machine" | tee -a $LOGFILE + echo "`date -u '+%b %e %T'`: error downloading $PACKAGE toolchain for $BUILDMACHINE 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 @@ -841,87 +891,50 @@ othersrc) fi stdumount ;; -svn) +git) case "$2" in update|up) - # clear - echo -ne "Loading the latest source files...\n" - if [ $3 ]; then - svn update -r $3 | tee -a $PWD/log/_build.svn.update.log - else - svn update | tee -a $PWD/log/_build.svn.update.log - fi - if [ $? -eq "0" ]; then - beautify message DONE - else - beautify message FAIL - exit 1 - fi - echo -ne "Writing the svn-info to a file" - svn info > $PWD/svn_status - if [ $? -eq "0" ]; then - beautify message DONE - else - beautify message FAIL - exit 1 - fi - chmod 755 $0 - exit 0 - ;; + git pull + ;; commit|ci) - clear - if [ -f /usr/bin/mcedit ]; then - export EDITOR=/usr/bin/mcedit - fi - if [ -f /usr/bin/nano ]; then - export EDITOR=/usr/bin/nano - fi - echo -ne "Selecting editor $EDITOR..." - beautify message DONE - if [ -e /sbin/yast ]; then - if [ "`echo $SVN_REVISION | cut -c 3`" -eq "0" ]; then - $0 changelog - fi - fi - update_langs - svn commit - $0 svn up - if [ -n "$FTP_CACHE_URL" ]; then - $0 uploadsrc - fi - ;; + 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) - if [ $3 ]; then - SVN_REVISION=$3 - fi - if [ -f ipfire-source-r$SVN_REVISION.tar.gz ]; then - echo -ne "REV $SVN_REVISION: SKIPPED!\n" - exit 0 - fi - echo -en "REV $SVN_REVISION: Downloading..." - svn export http://svn.ipfire.org/svn/ipfire/trunk ipfire-source/ --force > /dev/null - svn log http://svn.ipfire.org/svn/ipfire/trunk -r 1:$SVN_REVISION > ipfire-source/Changelog - #svn info http://svn.ipfire.org/svn/ipfire/trunk -r $SVN_REVISION > ipfire-source/svn_status - evaluate 1 - - echo -en "REV $SVN_REVISION: Compressing files..." - if [ -e ipfire-source/trunk/make.sh ]; then - chmod 755 ipfire-source/trunk/make.sh - fi - tar cfz ipfire-source-r$SVN_REVISION.tar.gz ipfire-source - evaluate 1 - echo -en "REV $SVN_REVISION: Cleaning up..." - rm ipfire-source/ -r - evaluate 1 - ;; + git archive HEAD | gzip -9 > ${SNAME}-${VERSION}.tar.gz + ;; diff|di) - update_langs - echo -ne "Make a local diff to last svn revision" - svn diff > ipfire-diff-`date +'%Y-%m-%d-%H:%M'`-r`svn info | grep Revision | cut -c 11-`.diff - evaluate 1 - echo "Diff was successfully saved to ipfire-diff-`date +'%Y-%m-%d-%H:%M'`-r`svn info | grep Revision | cut -c 11-`.diff" - svn status - ;; + 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} ${GIT_BRANCH} + ;; + 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) @@ -1033,8 +1046,7 @@ lang) ;; "") clear - svn info - select name in "Exit" "IPFIRE: Downloadsrc" "IPFIRE: Build (silent)" "IPFIRE: Watch Build" "IPFIRE: Batch" "IPFIRE: Clean" "SVN: Commit" "SVN: Update" "SVN: Status" "SVN: Diff" "LOG: Tail" "Help" + 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") @@ -1052,9 +1064,6 @@ lang) "IPFIRE: Clean") $0 clean ;; - "SVN: Update") - $0 svn update - ;; "Help") echo "Usage: $0 {build|changelog|clean|gettoolchain|downloadsrc|shell|sync|toolchain}" cat doc/make.sh-usage