2 ############################################################################
4 # This file is part of the IPFire Firewall. #
6 # IPFire is free software; you can redistribute it and/or modify #
7 # it under the terms of the GNU General Public License as published by #
8 # the Free Software Foundation; either version 2 of the License, or #
9 # (at your option) any later version. #
11 # IPFire is distributed in the hope that it will be useful, #
12 # but WITHOUT ANY WARRANTY; without even the implied warranty of #
13 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
14 # GNU General Public License for more details. #
16 # You should have received a copy of the GNU General Public License #
17 # along with IPFire; if not, write to the Free Software #
18 # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA #
20 # Copyright (C) 2008 IPFire-Team <info@ipfire.org>. #
22 ############################################################################
25 NAME
="IPFire" # Software name
26 SNAME
="ipfire" # Short name
27 VERSION
="3.0-prealpha" # Version number
28 TOOLCHAINVERSION
="${VERSION}-1" # Toolchain
29 SLOGAN
="www.ipfire.org" # Software slogan
35 ################################################################################
36 # This builds the entire stage "toolchain" #
37 ################################################################################
41 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
45 LOGFILE
="$BASEDIR/log_${MACHINE}/_build.${STAGE_ORDER}-toolchain.log"
48 # make distcc first so that CCACHE_PREFIX works immediately
49 [ -z "$DISTCC_HOSTS" ] || toolchain_make distcc
53 if [ "${MACHINE}" != "${MACHINE_REAL}" ]; then
54 toolchain_make binutils-x-compile
55 toolchain_make gcc-x-compile PASS
=1
56 toolchain_make glibc-x-compile
57 toolchain_make gcc-x-compile PASS
=2
61 toolchain_make binutils PASS
=1
62 toolchain_make gcc PASS
=1
64 toolchain_make adjust-toolchain
66 if [ "${MACHINE}" == "${MACHINE_REAL}" ]; then
69 toolchain_make dejagnu
70 toolchain_make gcc PASS
=2
71 toolchain_make binutils PASS
=2
74 toolchain_make ncurses
77 toolchain_make coreutils
78 toolchain_make diffutils
79 toolchain_make e2fsprogs
80 toolchain_make findutils
82 toolchain_make
gettext
90 toolchain_make texinfo
91 toolchain_make util-linux-ng
96 ################################################################################
97 # This builds the entire stage "base" #
98 ################################################################################
101 PATH
=/usr
/local
/ccache
/bin
:/usr
/local
/distcc
/bin
:/bin
:/usr
/bin
:/sbin
:/usr
/sbin
:$TOOLS_DIR/bin
105 LOGFILE
="$BASEDIR/log_${MACHINE}/_build.${STAGE_ORDER}-base.log"
110 ipfire_make man-pages
112 ipfire_make adjust-toolchain
117 ipfire_make e2fsprogs
118 ipfire_make coreutils
132 ipfire_make diffutils
134 ipfire_make findutils
142 ipfire_make inetutils
148 ipfire_make module-init-tools
156 ipfire_make udev
## NEED TO INSTALL CONFIG
157 ipfire_make util-linux-ng
161 ################################################################################
162 # This builds the entire stage "ipfire" #
163 ################################################################################
165 PATH
=/usr
/local
/ccache
/bin
:/usr
/local
/distcc
/bin
:/bin
:/usr
/bin
:/sbin
:/usr
/sbin
:/usr
/${MACHINE_REAL}-linux/bin
169 LOGFILE
="$BASEDIR/log_${MACHINE}/_build.${STAGE_ORDER}-ipfire.log"
172 ### Building the configuration dirs and files
179 ### Building some general stuff
181 ipfire_make pkg-config
186 ipfire_make perl
### We are building the modules here.
188 ipfire_make python-modules
192 #ipfire_make libidn ### Do we need this?
197 ### Building some network stuff
200 ipfire_make linux-atm
205 ipfire_make libnfnetlink
206 ipfire_make libnetfilter_queue
207 ipfire_make libnetfilter_conntrack
208 ipfire_make libnetfilter_log
210 ipfire_make l7-protocols
212 ipfire_make bridge-utils
216 ### Building some general stuff
218 ipfire_make pam PASS
=1
220 ipfire_make pam PASS
=2
223 ipfire_make cyrus-sasl
236 ipfire_make br2684ctl
237 ipfire_make etherwake
241 ### Building vpn stuff
243 ipfire_make strongswan
245 ### Building filesystem stuff
247 ipfire_make reiserfsprogs
249 ipfire_make reiser4progs
251 ipfire_make sysfsutils
253 ### Building hardware utils
259 ipfire_make smartmontools
260 ipfire_make lm-sensors
263 ### Building some important tools
271 ipfire_make ntp
### Needs config.
273 ipfire_make ez-ipupdate
277 #ipfire_make logrotate
278 #ipfire_make logwatch
282 ipfire_make memtest86
+
284 #ipfire_make initscripts
288 ### -------------------------------------------------------------------------
289 ### Tools that maybe not needed
297 #ipfire_make wireless
301 ################################################################################
302 # This builds the entire stage "misc" #
303 ################################################################################
306 PATH
=/usr
/local
/ccache
/bin
:/usr
/local
/distcc
/bin
:/bin
:/usr
/bin
:/sbin
:/usr
/sbin
:/usr
/${MACHINE_REAL}-linux/bin
310 LOGFILE
="$BASEDIR/log_${MACHINE}/_build.${STAGE_ORDER}-misc.log"
318 #ipfire_make traceroute
330 #ipfire_make squidguard ## CAN THIS BE BANISHED BY ANYTHING BETTER?
331 #ipfire_make calamaris ## CAN THIS BE BANISHED BY ANYTHING BETTER?
334 ### Programs that are still for discussion
335 # package or in the standard system
347 #ipfire_make linux-igd
349 ### These will become addons as usual but will be integrated later
352 #ipfire_make oinkmaster
353 #ipfire_make centerim
354 #ipfire_make tripwire
357 #ipfire_make ghostscript
358 #ipfire_make foomatic
362 #ipfire_make fetchmail
363 #ipfire_make cyrus-imapd
368 #ipfire_make guardian
369 #ipfire_make libid3tag
372 #ipfire_make libvorbis
375 #ipfire_make libshout
377 #ipfire_make icegenerator
381 #ipfire_make libmpeg2
382 #ipfire_make videolan
384 #ipfire_make asterisk
385 #ipfire_make libsigc++
386 #ipfire_make applejuice
387 #ipfire_make libtorrent
388 #ipfire_make rtorrent
389 #ipfire_make ipfireseeder
392 # ---------------------------------------------------------------------------
397 ################################################################################
398 # This builds the entire stage "installer" #
399 ################################################################################
402 PATH
=/usr
/local
/ccache
/bin
:/usr
/local
/distcc
/bin
:/bin
:/usr
/bin
:/sbin
:/usr
/sbin
:/usr
/${MACHINE_REAL}-linux/bin
406 LOGFILE
="$BASEDIR/log_${MACHINE}/_build.${STAGE_ORDER}-installer.log"
411 ipfire_make installer
412 ipfire_make initramfs
415 ################################################################################
416 # This builds the entire stage "packages" #
417 ################################################################################
420 PATH
=/usr
/local
/ccache
/bin
:/usr
/local
/distcc
/bin
:/bin
:/usr
/bin
:/sbin
:/usr
/sbin
:/usr
/${MACHINE_REAL}-linux/bin
424 LOGFILE
="$BASEDIR/log_${MACHINE}/_build.${STAGE_ORDER}-packages.log"
429 # Generating list of packages used
434 # Check if there is a loop device for building in virtual environments
435 #if [ -e /dev/loop/0 ] || [ -e /dev/loop0 ]; then
436 # ipfire_make usb-stick
438 mv $LFS/$IMAGES_DIR/{*.iso
,*.tgz
,*.img.gz
} $BASEDIR >> $LOGFILE 2>&1
440 #ipfire_make core-updates
443 for i
in $
(ls -1 $BASEDIR/src
/rootfiles
/extras
); do
444 if [ -e $BASEDIR/lfs
/$i ]; then
446 ### Do nothing at the moment, we are gonna use a new packager
449 beautify message SKIP
460 # See what we're supposed to do
461 .
$BASEDIR/tools
/make-interactive