]> git.ipfire.org Git - ipfire-2.x.git/blobdiff - make.sh
Fixed ntfs-3g's rootfiles.
[ipfire-2.x.git] / make.sh
diff --git a/make.sh b/make.sh
index 5c93bd30a61ef11f0f5ca5fe1dfa79f58b3786b2..43b08d0865fc50125441001da6ca58ac764162e5 100755 (executable)
--- a/make.sh
+++ b/make.sh
 
 NAME="IPFire"                                                                          # Software name
 SNAME="ipfire"                                                                 # Short name
-VERSION="2.1"                                                                          # Version number
+VERSION="2.3-test"
+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,24 +333,26 @@ 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 sane              KMOD=1  SMP=1
+#  ipfiremake linux                    SMP=1
+#  ipfiremake linux-fusion             SMP=1
+#  ipfiremake ipp2p                    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,9 +416,8 @@ buildipfire() {
   ipfiremake whatmask
   ipfiremake iptables
   ipfiremake libupnp
-  ipfiremake ipp2p                     IPT=1
+#  ipfiremake ipp2p                    IPT=1
   ipfiremake linux-igd
-  ipfiremake ipac-ng
   ipfiremake ipaddr
   ipfiremake iptstate
   ipfiremake iputils
@@ -447,14 +460,12 @@ buildipfire() {
   ipfiremake noip_updater
   ipfiremake ntp
   ipfiremake openssh
-  ipfiremake openswan
   ipfiremake rrdtool
   ipfiremake setserial
   ipfiremake setup
   ipfiremake snort
   ipfiremake oinkmaster
   ipfiremake squid
-  ipfiremake squid-graph
   ipfiremake squidguard
   ipfiremake calamaris
   ipfiremake tcpdump
@@ -489,13 +500,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
@@ -505,7 +516,7 @@ buildipfire() {
   ipfiremake mpc
   ipfiremake xvid
   ipfiremake libmpeg2
-  ipfiremake videolan
+  ipfiremake cmake
   ipfiremake libpri
   ipfiremake asterisk
   ipfiremake gnump3d
@@ -521,7 +532,6 @@ buildipfire() {
   ipfiremake portmap
   ipfiremake nfs
   ipfiremake nmap
-  ipfiremake mbmon
   ipfiremake ncftp
   ipfiremake etherwake
   ipfiremake bwm-ng
@@ -529,18 +539,19 @@ 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
@@ -548,13 +559,45 @@ buildipfire() {
   ipfiremake phpSANE
   ipfiremake tunctl
   ipfiremake nagios
+  ipfiremake ebtables
+  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
+  ipfiremake apcupsd
+  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
@@ -611,6 +654,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
@@ -619,7 +666,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
 
@@ -693,18 +743,15 @@ 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
 
        beautify build_stage "Building packages"
        buildpackages
+       
+       beautify build_stage "Checking Logfiles for new Files"
+       tools/checknewlog.pl
+       
        beautify build_end
        ;;
 shell)
@@ -713,11 +760,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
@@ -819,7 +861,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
@@ -847,87 +889,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)
@@ -1039,8 +1044,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")
@@ -1058,9 +1062,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