############################################################################
#
-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
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
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
################################################################################
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
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
ipfire_make flex
ipfire_make grub
ipfire_make gawk
- ipfire_make gettext
ipfire_make grep
ipfire_make groff
ipfire_make gzip
ipfire_make iproute2
ipfire_make kbd
ipfire_make less
- ipfire_make make
ipfire_make man-db
ipfire_make module-init-tools
ipfire_make patch
# 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
#
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
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
#
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.
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
}
################################################################################
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
#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
#ipfire_make cyrus-imapd
#ipfire_make clamav
#ipfire_make alsa
- #ipfire_make mpg123
#ipfire_make mpfire
#ipfire_make guardian
#ipfire_make libid3tag
#ipfire_make rtorrent
#ipfire_make ipfireseeder
#ipfire_make nfs
-
+
# ---------------------------------------------------------------------------
#ipfire_make as86
#ipfire_make mbr
+
+ ### Debugging
+ #
+ ipfire_make strace
}
################################################################################
################################################################################
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
}
################################################################################
################################################################################
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