X-Git-Url: http://git.ipfire.org/?p=people%2Fteissler%2Fipfire-2.x.git;a=blobdiff_plain;f=make.sh;h=04a348c05678ca1fbe665ae836d7b25bcfeba51c;hp=a93c97ac416f88ded32342d65ec95052d0ffa32a;hb=13704e5b1c27dee12c68daf48adb663f12b6f14d;hpb=4fe9acb28327d81c6fb130d415aa466118438a1d diff --git a/make.sh b/make.sh index a93c97ac4..04a348c05 100755 --- a/make.sh +++ b/make.sh @@ -24,22 +24,17 @@ NAME="IPFire" # Software name SNAME="ipfire" # Short name -VERSION="2.0beta1" # Version number +VERSION="2.2-test" +GIT_BRANCH=rspezial:rspezial # 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-` IPFVER="full" # Which versions should be compiled? (full|devel) -# Set an information about the build number -if [ -e ./.svn ]; then - FIREBUILD=`cat .svn/entries |sed -n 's/^[ \t]*revision=\"// p' | sed -n 's/\".*$// p'` -fi - # Debian specific settings if [ ! -e /etc/debian_version ]; then FULLPATH=`which $0` @@ -75,6 +70,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() { ############################################################################ # # @@ -318,23 +324,38 @@ buildipfire() { LOGFILE="$BASEDIR/log/_build.ipfire.log" export LOGFILE ipfiremake configroot + ipfiremake backup ipfiremake dhcp ipfiremake dhcpcd ipfiremake libusb ipfiremake libpcap - ipfiremake linux-atm ipfiremake ppp ipfiremake rp-pppoe ipfiremake unzip ipfiremake linux SMP=1 + ipfiremake linux-fusion SMP=1 ipfiremake ipp2p SMP=1 - ipfiremake r8169 SMP=1 ipfiremake zaptel SMP=1 + ipfiremake r8169 SMP=1 + ipfiremake r8168 SMP=1 + ipfiremake atl1 SMP=1 + ipfiremake kqemu SMP=1 + ipfiremake v4l-dvb SMP=1 + ipfiremake madwifi SMP=1 + ipfiremake sane KMOD=1 SMP=1 ipfiremake linux + ipfiremake linux-fusion ipfiremake ipp2p - ipfiremake r8169 ipfiremake zaptel + ipfiremake r8169 + ipfiremake r8168 + ipfiremake atl1 + ipfiremake kqemu + ipfiremake v4l-dvb + ipfiremake madwifi + ipfiremake sane KMOD=1 ipfiremake pkg-config + ipfiremake linux-atm ipfiremake cpio ipfiremake klibc ipfiremake mkinitcpio @@ -347,6 +368,7 @@ buildipfire() { ipfiremake curl ipfiremake python ipfiremake libnet + ipfiremake libidn ipfiremake libjpeg ipfiremake libpng ipfiremake libtiff @@ -377,6 +399,7 @@ buildipfire() { ipfiremake dosfstools ipfiremake squashfstools ipfiremake reiserfsprogs + ipfiremake xfsprogs ipfiremake sysfsutils ipfiremake fuse ipfiremake ntfs-3g @@ -388,20 +411,20 @@ buildipfire() { ipfiremake GD-TextUtil ipfiremake gnupg ipfiremake hdparm + ipfiremake sdparm ipfiremake mtools ipfiremake initscripts ipfiremake whatmask ipfiremake iptables ipfiremake libupnp ipfiremake ipp2p IPT=1 - ipfiremake moblock ipfiremake linux-igd - ipfiremake ipac-ng ipfiremake ipaddr ipfiremake iptstate ipfiremake iputils ipfiremake l7-protocols ipfiremake mISDN + ipfiremake capi4k-utils ipfiremake hwdata ipfiremake kudzu ipfiremake logrotate @@ -432,8 +455,6 @@ buildipfire() { ipfiremake Text-Tabs+Wrap ipfiremake Locale-Country ipfiremake XML-Parser - ipfiremake MP3-Info - ipfiremake MP3-Tag ipfiremake glib ipfiremake GeoIP ipfiremake fwhits @@ -464,6 +485,7 @@ buildipfire() { ipfiremake cups ipfiremake ghostscript ipfiremake foomatic + ipfiremake hplip ipfiremake samba ipfiremake sudo ipfiremake mc @@ -475,9 +497,8 @@ buildipfire() { ipfiremake htop ipfiremake postfix ipfiremake fetchmail - ipfiremake cyrusimap - ipfiremake webcyradm - ipfiremake mailx + ipfiremake cyrus-imapd + ipfiremake openmailadmin ipfiremake clamav ipfiremake spamassassin ipfiremake amavisd @@ -489,6 +510,7 @@ buildipfire() { ipfiremake libmad ipfiremake libogg ipfiremake libvorbis + ipfiremake libdvbpsi ipfiremake lame ipfiremake sox ipfiremake libshout @@ -496,10 +518,11 @@ buildipfire() { ipfiremake icegenerator ipfiremake mpd ipfiremake mpc + ipfiremake xvid + ipfiremake libmpeg2 + ipfiremake cmake ipfiremake libpri - ipfiremake stund ipfiremake asterisk - ipfiremake backup ipfiremake gnump3d ipfiremake libsigc++ ipfiremake applejuice @@ -513,20 +536,53 @@ buildipfire() { ipfiremake portmap ipfiremake nfs ipfiremake nmap - ipfiremake mbmon - ipfiremake iftop ipfiremake ncftp - ipfiremake cftp ipfiremake etherwake - ipfiremake ethereal - ipfiremake tftp-hpa ipfiremake bwm-ng ipfiremake tripwire ipfiremake sysstat ipfiremake vsftpd ipfiremake which 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 mod_perl + ipfiremake vnstat + ipfiremake vnstati + ipfiremake wpa_supplicant + ipfiremake hostapd} buildinstaller() { # Run installer scripts one by one @@ -563,6 +619,7 @@ buildinstaller() { installmake wget installmake hwdata installmake kudzu + installmake pcmciautils installmake installer installmake initrd } @@ -596,8 +653,10 @@ buildpackages() { if [ -e /dev/loop/0 ] || [ -e /dev/loop0 ]; then ipfiremake usb-stick fi - ipfiremake pxe - 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 @@ -622,9 +681,14 @@ buildpackages() { } ipfirepackages() { - ipfiremake core-updates + #ipfiremake core-updates for i in $(ls -1 $BASEDIR/config/rootfiles/packages); do - [ -e $BASEDIR/lfs/$i ] && ipfiredist $i + if [ -e $BASEDIR/lfs/$i ]; then + ipfiredist $i + else + echo -n $i + beautify message SKIP + fi done test -d $BASEDIR/packages || mkdir $BASEDIR/packages mv -f $LFS/install/packages/* $BASEDIR/packages >> $LOGFILE 2>&1 @@ -666,13 +730,6 @@ build) beautify build_stage "Building IPFire" buildipfire - # Setzen des IPFire Builds - if [ "$FIREBUILD" ]; then - echo "$FIREBUILD" > $BASEDIR/build/var/ipfire/firebuild - else - echo "_(OvO)_" > $BASEDIR/build/var/ipfire/firebuild - fi - beautify build_stage "Building installer" buildinstaller @@ -686,11 +743,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 @@ -820,100 +872,57 @@ 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} + ;; esac ;; uploadsrc) PWD=`pwd` cd $BASEDIR/cache/ echo -e "Uploading cache to ftp server:" - ncftpls -u $FTP_CACHE_USER -p $FTP_CACHE_PASS ftp://$FTP_CACHE_URL$FTP_CACHE_PATH/ > /tmp/ftplist + ncftpls -u $FTP_CACHE_USER -p $FTP_CACHE_PASS ftp://$FTP_CACHE_URL/$FTP_CACHE_PATH/ > /tmp/ftplist for i in *; do - if [ "$i" == "toolchains" ]; then continue; fi - grep -q $i /tmp/ftplist + if [ "$(basename $i)" == "toolchains" ]; then continue; fi + grep -q $(basename $i) /tmp/ftplist if [ "$?" -ne "0" ]; then - echo -ne "$i" - ncftpput -u $FTP_CACHE_USER -p $FTP_CACHE_PASS $FTP_CACHE_URL $FTP_CACHE_PATH/ $i + echo -ne "$(basename $i)" + ncftpput -u $FTP_CACHE_USER -p $FTP_CACHE_PASS $FTP_CACHE_URL $FTP_CACHE_PATH/ $(basename $i) if [ "$?" -ne "0" ]; then beautify message FAIL fi @@ -1012,8 +1021,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") @@ -1031,9 +1039,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