]> git.ipfire.org Git - ipfire-3.x.git/blobdiff - make.sh
Revert "Moved cdrtools to stage5, because they aren't needed on embedded build."
[ipfire-3.x.git] / make.sh
diff --git a/make.sh b/make.sh
index c41d3ba3caf938d2576a9bbd39773e8ca2aa3a9b..e1d19490e3f26880f7b41135445ea6a11a40bd3a 100755 (executable)
--- a/make.sh
+++ b/make.sh
 ############################################################################
 #
 
-NAME="IPFire"                                                                          # Software name
-SNAME="ipfire"                                                                 # Short name
-VERSION="2.9"                                                                          # Version number
-TOOLCHAINVERSION="${VERSION}-1"        # Toolchain
-SLOGAN="www.ipfire.org"                                        # Software slogan
+NAME="IPFire"                  # Software name
+SNAME="ipfire"                 # Short name
+VERSION="3.0-prealpha"         # Version number
+TOOLCHAINVERSION="${VERSION}-6"        # Toolchain
+SLOGAN="Lechery"               # Software slogan
 
 # Include funtions
 . tools/make-include
@@ -38,38 +38,28 @@ SLOGAN="www.ipfire.org"                                     # Software slogan
 toolchain_build() {
 
        ORG_PATH=$PATH
-       export PATH=$BASEDIR/build_${MACHINE}/usr/local/ccache/bin:$BASEDIR/build_${MACHINE}/usr/local/distcc/bin:$BASEDIR/build_${MACHINE}/$CTOOLS_DIR/bin:$BASEDIR/build_${MACHINE}/$TOOLS_DIR/bin:$PATH
+       export PATH=${TOOLS_DIR}/usr/bin:${TOOLS_DIR}/bin:$PATH
        STAGE_ORDER=01
        STAGE=toolchain
 
        LOGFILE="$BASEDIR/log_${MACHINE}/_build.${STAGE_ORDER}-toolchain.log"
        export LOGFILE
-       
+
+       build_spy set stage ${STAGE} &
+
+       toolchain_make stage1
        # make distcc first so that CCACHE_PREFIX works immediately
        [ -z "$DISTCC_HOSTS" ] || toolchain_make distcc
        toolchain_make ccache
+       toolchain_make gmp
+       toolchain_make mpfr
        toolchain_make linux
-       
-       if [ "${MACHINE}" != "${MACHINE_REAL}" ]; then
-               toolchain_make binutils-x-compile
-               toolchain_make gcc-x-compile                                                    PASS=1
-               toolchain_make glibc-x-compile
-               toolchain_make gcc-x-compile                                                    PASS=2
-       
-       fi
-       
-       toolchain_make binutils                                                                                 PASS=1
-       toolchain_make gcc                                                                                                      PASS=1
-       
+       toolchain_make binutils         PASS=1
+       toolchain_make gcc              PASS=1
        toolchain_make glibc
        toolchain_make adjust-toolchain
-       if [ "${MACHINE}" == "${MACHINE_REAL}" ]; then
-               toolchain_make tcl
-               toolchain_make expect
-               toolchain_make dejagnu
-               toolchain_make gcc                                                                                              PASS=2
-               toolchain_make binutils                                                                         PASS=2
-       fi
+       toolchain_make binutils         PASS=2
+       toolchain_make gcc              PASS=2
        toolchain_make ncurses
        toolchain_make bash
        toolchain_make bzip2
@@ -81,12 +71,15 @@ toolchain_build() {
        toolchain_make gettext
        toolchain_make grep
        toolchain_make gzip
+       toolchain_make m4
        toolchain_make make
        toolchain_make patch
        toolchain_make perl
        toolchain_make sed
        toolchain_make tar
        toolchain_make texinfo
+       toolchain_make flex
+       toolchain_make bc
        toolchain_make util-linux-ng
        toolchain_make strip
        export PATH=$ORG_PATH
@@ -97,14 +90,21 @@ toolchain_build() {
 ################################################################################
 base_build() {
 
-       PATH=/usr/local/ccache/bin:/usr/local/distcc/bin:/bin:/usr/bin:/sbin:/usr/sbin:$TOOLS_DIR/bin
+       PATH=${TOOLS_DIR}/usr/bin:/bin:/usr/bin:/sbin:/usr/sbin:$TOOLS_DIR/bin
        STAGE_ORDER=02
        STAGE=base
 
        LOGFILE="$BASEDIR/log_${MACHINE}/_build.${STAGE_ORDER}-base.log"
        export LOGFILE
-       
+
+       build_spy set stage ${STAGE} &
+
        ipfire_make stage2
+       ipfire_make scripts
+       ipfire_make initd-tools
+       ipfire_make initscripts
+       ipfire_make gmp
+       ipfire_make mpfr
        ipfire_make linux
        ipfire_make man-pages
        ipfire_make glibc
@@ -124,6 +124,11 @@ base_build() {
        ipfire_make perl
        ipfire_make readline
        ipfire_make zlib
+       ipfire_make gettext
+       ipfire_make make
+       ipfire_make attr
+       ipfire_make libcap2
+       ipfire_make paxctl
        ipfire_make autoconf
        ipfire_make automake
        ipfire_make bash
@@ -134,7 +139,6 @@ base_build() {
        ipfire_make flex
        ipfire_make grub
        ipfire_make gawk
-       ipfire_make gettext
        ipfire_make grep
        ipfire_make groff
        ipfire_make gzip
@@ -142,7 +146,6 @@ base_build() {
        ipfire_make iproute2
        ipfire_make kbd
        ipfire_make less
-       ipfire_make make
        ipfire_make man-db
        ipfire_make module-init-tools
        ipfire_make patch
@@ -161,38 +164,43 @@ base_build() {
 # This builds the entire stage "ipfire"                                        #
 ################################################################################
 ipfire_build() {
-       PATH=/usr/local/ccache/bin:/usr/local/distcc/bin:/bin:/usr/bin:/sbin:/usr/sbin:/usr/${MACHINE_REAL}-linux/bin
+       PATH=${TOOLS_DIR}/usr/bin:/bin:/usr/bin:/sbin:/usr/sbin:/usr/${MACHINE_REAL}-linux/bin
        STAGE_ORDER=03
        STAGE=ipfire
 
        LOGFILE="$BASEDIR/log_${MACHINE}/_build.${STAGE_ORDER}-ipfire.log"
        export LOGFILE
-       
+
+       build_spy set stage ${STAGE} &
+
        ### Building the configuration dirs and files
        #
        ipfire_make stage3
-       
-       ### Building the kernel stuff
-       #
-       ipfire_make linux
-       
+       ipfire_make lzma
+
+       ipfire_make linux       
+       ipfire_make aufs
+
        ### Building some general stuff
        #   STAGE 1
        ipfire_make pkg-config
        ipfire_make expat
-       ipfire_make dbus
        ipfire_make glib
+       ipfire_make dbus
+       ipfire_make dbus-glib
        ipfire_make openssl
        ipfire_make perl                        ### We are building the modules here.
        ipfire_make python
-       ipfire_make python-modules
+       ipfire_make python-dbus
+       ipfire_make python-urlgrabber
+       ipfire_make python-iconv
        ipfire_make libxml2
        ipfire_make libxslt
-       ipfire_make gmp
-       #ipfire_make libidn             ### Do we need this?
        ipfire_make pcre
        ipfire_make popt
        ipfire_make libusb
+       ipfire_make bc
+       ipfire_make mingetty
        
        ### Building some network stuff
        #
@@ -208,16 +216,16 @@ ipfire_build() {
        ipfire_make libnetfilter_log
        ipfire_make dnsmasq
        ipfire_make l7-protocols
-       ipfire_make iptstate
        ipfire_make bridge-utils
        ipfire_make vlan
        ipfire_make bind
+       ipfire_make whois
        
        ### Building some general stuff
        #   STAGE 2
-       ipfire_make pam                                                                                                                                                 PASS=1
+       ipfire_make pam                                 PASS=1
        ipfire_make shadow
-       ipfire_make pam                                                                                                                                                 PASS=2
+       ipfire_make pam                                 PASS=2
        ipfire_make slang
        ipfire_make newt
        ipfire_make cyrus-sasl
@@ -226,21 +234,26 @@ ipfire_build() {
        ipfire_make curl
        ipfire_make gnupg
        ipfire_make sudo
-       #ipfire_make libjpeg
+       ipfire_make libjpeg
        ipfire_make libpng
        ipfire_make libtiff
        ipfire_make libart
        ipfire_make freetype
+       ipfire_make fontconfig
+       ipfire_make pixman
+       ipfire_make cairo
+       ipfire_make pango
        ipfire_make lzo
        ipfire_make lsof
        ipfire_make br2684ctl
        ipfire_make etherwake
-       ipfire_make htop
        ipfire_make beep
+       ipfire_make libuser
        
        ### Building vpn stuff
        #
        ipfire_make strongswan
+       #ipfire_make openvpn
        
        ### Building filesystem stuff
        #
@@ -249,23 +262,23 @@ ipfire_build() {
        ipfire_make reiser4progs
        ipfire_make xfsprogs
        ipfire_make sysfsutils
+       ipfire_make squashfs
                
        ### Building hardware utils
        #
        ipfire_make pciutils
        ipfire_make usbutils
        ipfire_make hdparm
-       ipfire_make kudzu
        ipfire_make smartmontools
        ipfire_make lm-sensors
        ipfire_make hal
+       ipfire_make hal-info
 
        ### Building some important tools
        #
        ipfire_make ulogd2
        ipfire_make fcron
        ipfire_make which
-       ipfire_make nano
        ipfire_make screen
        ipfire_make rrdtool
        ipfire_make ntp                 ### Needs config.
@@ -273,29 +286,26 @@ ipfire_build() {
        ipfire_make ez-ipupdate
        ipfire_make noip
        ipfire_make lighttpd
-       ipfire_make lzma
        ipfire_make collectd
-       #ipfire_make logrotate
+       ipfire_make logrotate
        #ipfire_make logwatch   
        ipfire_make cpio
        ipfire_make cdrtools
        ipfire_make parted
+       ipfire_make python-parted
        ipfire_make memtest86+
        #ipfire_make pakfire
-       #ipfire_make initscripts
        
        ipfire_make pyfire
   
        ### -------------------------------------------------------------------------
        ### Tools that maybe not needed
-       #       
-       #ipfire_make expat
+       #
        #ipfire_make gd
        #ipfire_make libcap
        #ipfire_make mtools
        #ipfire_make mISDN
        
-       #ipfire_make nasm
        #ipfire_make wireless
        #ipfire_make libsafe
 }
@@ -305,13 +315,15 @@ ipfire_build() {
 ################################################################################
 misc_build() {
 
-       PATH=/usr/local/ccache/bin:/usr/local/distcc/bin:/bin:/usr/bin:/sbin:/usr/sbin:/usr/${MACHINE_REAL}-linux/bin
+       PATH=${TOOLS_DIR}/usr/bin:/bin:/usr/bin:/sbin:/usr/sbin:/usr/${MACHINE_REAL}-linux/bin
        STAGE_ORDER=04
        STAGE=misc
 
        LOGFILE="$BASEDIR/log_${MACHINE}/_build.${STAGE_ORDER}-misc.log"
        export LOGFILE
-       
+
+       build_spy set stage ${STAGE} &
+
        ipfire_make stage4
        
        ### Console tools
@@ -321,27 +333,33 @@ misc_build() {
        #ipfire_make nmap
        #ipfire_make rsync
        #ipfire_make tcpdump
-       
-       #ipfire_make squid
+       ipfire_make htop
+       ipfire_make nano
+       ipfire_make squid
+
+       ### Assembler
+       #
+       ipfire_make nasm
+       ipfire_make syslinux
+
+       ipfire_make bootutils
+       ipfire_make mkinitramfs
+
        #ipfire_make squidguard         ## CAN THIS BE BANISHED BY ANYTHING BETTER?
        #ipfire_make calamaris          ## CAN THIS BE BANISHED BY ANYTHING BETTER?
        #ipfire_make vsftpd
-       
-       ### Programs that are still for discussion
-       #   package or in the standard system
-       #
+
        ## NTFS
        #ipfire_make fuse
        #ipfire_make ntfs-3g
        #
        ## Net tools
        #ipfire_make bwm-ng
-       #ipfire_make openvpn
        #
        ## UPNP
        #ipfire_make libupnp
        #ipfire_make linux-igd
-               
+
        ### These will become addons as usual but will be integrated later
        #
        #ipfire_make snort
@@ -359,7 +377,6 @@ misc_build() {
        #ipfire_make cyrus-imapd
        #ipfire_make clamav
        #ipfire_make alsa
-       #ipfire_make mpg123
        #ipfire_make mpfire
        #ipfire_make guardian
        #ipfire_make libid3tag
@@ -384,10 +401,14 @@ misc_build() {
        #ipfire_make rtorrent
        #ipfire_make ipfireseeder
        #ipfire_make nfs
-       
+
        # ---------------------------------------------------------------------------
        #ipfire_make as86
        #ipfire_make mbr
+
+       ### Debugging
+       #
+       ipfire_make strace
 }
 
 ################################################################################
@@ -395,17 +416,17 @@ misc_build() {
 ################################################################################
 installer_build() {
 
-       PATH=/usr/local/ccache/bin:/usr/local/distcc/bin:/bin:/usr/bin:/sbin:/usr/sbin:/usr/${MACHINE_REAL}-linux/bin
+       PATH=${TOOLS_DIR}/usr/bin:/bin:/usr/bin:/sbin:/usr/sbin:/usr/${MACHINE_REAL}-linux/bin
        STAGE_ORDER=05
        STAGE=installer
 
        LOGFILE="$BASEDIR/log_${MACHINE}/_build.${STAGE_ORDER}-installer.log"
        export LOGFILE
-       
+
+       build_spy set stage ${STAGE} &
+
        ipfire_make stage5
-       ipfire_make busybox
-       ipfire_make installer
-       ipfire_make initramfs
+       ipfire_make pomona
 }
 
 ################################################################################
@@ -413,44 +434,58 @@ installer_build() {
 ################################################################################
 packages_build() {
 
-       PATH=/usr/local/ccache/bin:/usr/local/distcc/bin:/bin:/usr/bin:/sbin:/usr/sbin:/usr/${MACHINE_REAL}-linux/bin
+       PATH=${TOOLS_DIR}/usr/bin:/bin:/usr/bin:/sbin:/usr/sbin:/usr/${MACHINE_REAL}-linux/bin
        STAGE_ORDER=06
        STAGE=packages
 
        LOGFILE="$BASEDIR/log_${MACHINE}/_build.${STAGE_ORDER}-packages.log"
        export LOGFILE
 
-  toolchain_make strip
-  
-  # Generating list of packages used
-       ### MISSING ATM
+       build_spy set stage ${STAGE} &
 
-       ipfire_make cdrom
-       
-  # Check if there is a loop device for building in virtual environments
-  #if [ -e /dev/loop/0 ] || [ -e /dev/loop0 ]; then
-  #    ipfire_make usb-stick
-  #fi
-  mv $LFS/$IMAGES_DIR/{*.iso,*.tgz,*.img.gz} $BASEDIR >> $LOGFILE 2>&1
-
-       #ipfire_make core-updates
-       ### DISABLED ATM
-       
+       toolchain_make strip
+
+       # Generate ChangeLog
+       git_log
+
+       if [ ${EMB} -eq 0 ]; then
+               ipfire_make initramfs
+
+               ipfire_make pxe
+               ipfire_make cdrom
+
+               if check_loop; then
+                       : #ipfire_make usb-key
+               else
+                       echo -n "Can't build usb-key images on this machine"
+                       beautify message WARN
+               fi
+               mv $LFS/$IMAGES_DIR/{*.iso,*.tar.gz,*.img.gz} $BASEDIR >>$LOGFILE 2>&1
+       else
+               if check_loop; then
+                       # We put here the code that is done when
+                       # we do an embedded build
+                       :
+               fi
+       fi
+
+       # Build packages
        for i in $(ls -1 $BASEDIR/src/rootfiles/extras); do
-               if [ -e $BASEDIR/lfs/$i ]; then
-                       echo -n
-                       ### Do nothing at the moment, we are gonna use a new packager
+               package=$(cut -d. -f2 <<< $i)
+               if [ -e $BASEDIR/lfs/$package ]; then
+                       echo -n $package
+                       beautify message SKIP
                else
-                       echo -n $i
+                       echo -n $package
                        beautify message SKIP
                fi
        done
 
-  # Cleanup
-  stdumount
-  rm -rf $LFS/tmp/*
-
-  cd $PWD
+       # Cleanup
+       stdumount
+       rm -rf $LFS/tmp/*
+       
+       cd $PWD
 }
 
 # See what we're supposed to do