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}-5" # Toolchain
29 SLOGAN
="www.ipfire.org" # Software slogan
35 ################################################################################
36 # This builds the entire stage "toolchain" #
37 ################################################################################
41 export PATH
=${TOOLS_DIR}/usr
/bin
:${TOOLS_DIR}/bin
:$PATH
45 LOGFILE
="$BASEDIR/log_${MACHINE}/_build.${STAGE_ORDER}-toolchain.log"
48 build_spy
set stage
${STAGE} &
51 # make distcc first so that CCACHE_PREFIX works immediately
52 [ -z "$DISTCC_HOSTS" ] || toolchain_make distcc
57 toolchain_make binutils PASS
=1
58 toolchain_make gcc PASS
=1
60 toolchain_make adjust-toolchain
61 toolchain_make binutils PASS
=2
62 toolchain_make gcc PASS
=2
63 #toolchain_make tcl # Maybe this can be dropped
64 #toolchain_make expect # Maybe this can be dropped
65 #toolchain_make dejagnu # Maybe this can be dropped
66 toolchain_make ncurses
69 toolchain_make coreutils
70 toolchain_make diffutils
71 toolchain_make e2fsprogs
72 toolchain_make findutils
74 toolchain_make
gettext
83 toolchain_make texinfo
87 toolchain_make util-linux-ng
92 ################################################################################
93 # This builds the entire stage "base" #
94 ################################################################################
97 PATH
=${TOOLS_DIR}/usr
/bin
:/bin
:/usr
/bin
:/sbin
:/usr
/sbin
:$TOOLS_DIR/bin
101 LOGFILE
="$BASEDIR/log_${MACHINE}/_build.${STAGE_ORDER}-base.log"
104 build_spy
set stage
${STAGE} &
108 ipfire_make initscripts
112 ipfire_make man-pages
114 ipfire_make adjust-toolchain
119 ipfire_make e2fsprogs
120 ipfire_make coreutils
139 ipfire_make diffutils
141 ipfire_make findutils
148 ipfire_make inetutils
153 ipfire_make module-init-tools
161 ipfire_make udev
## NEED TO INSTALL CONFIG
162 ipfire_make util-linux-ng
166 ################################################################################
167 # This builds the entire stage "ipfire" #
168 ################################################################################
170 PATH
=${TOOLS_DIR}/usr
/bin
:/bin
:/usr
/bin
:/sbin
:/usr
/sbin
:/usr
/${MACHINE_REAL}-linux/bin
174 LOGFILE
="$BASEDIR/log_${MACHINE}/_build.${STAGE_ORDER}-ipfire.log"
177 build_spy
set stage
${STAGE} &
179 ### Building the configuration dirs and files
186 ### Building some general stuff
188 ipfire_make pkg-config
192 ipfire_make dbus-glib
194 ipfire_make perl
### We are building the modules here.
196 ipfire_make python-dbus
197 ipfire_make python-urlgrabber
198 ipfire_make python-iconv
201 #ipfire_make libidn ### Do we need this?
207 ### Building some network stuff
210 ipfire_make linux-atm
215 ipfire_make libnfnetlink
216 ipfire_make libnetfilter_queue
217 ipfire_make libnetfilter_conntrack
218 ipfire_make libnetfilter_log
220 ipfire_make l7-protocols
221 ipfire_make bridge-utils
226 ### Building some general stuff
228 ipfire_make pam PASS
=1
230 ipfire_make pam PASS
=2
233 ipfire_make cyrus-sasl
244 ipfire_make fontconfig
250 ipfire_make br2684ctl
251 ipfire_make etherwake
255 ### Building vpn stuff
257 ipfire_make strongswan
260 ### Building filesystem stuff
262 ipfire_make reiserfsprogs
264 ipfire_make reiser4progs
266 ipfire_make sysfsutils
268 ### Building hardware utils
273 ipfire_make smartmontools
274 ipfire_make lm-sensors
278 ### Building some important tools
285 ipfire_make ntp
### Needs config.
287 ipfire_make ez-ipupdate
291 #ipfire_make logrotate
292 #ipfire_make logwatch
296 ipfire_make memtest86
+
298 ipfire_make chkconfig
302 ### -------------------------------------------------------------------------
303 ### Tools that maybe not needed
310 #ipfire_make wireless
314 ################################################################################
315 # This builds the entire stage "misc" #
316 ################################################################################
319 PATH
=${TOOLS_DIR}/usr
/bin
:/bin
:/usr
/bin
:/sbin
:/usr
/sbin
:/usr
/${MACHINE_REAL}-linux/bin
323 LOGFILE
="$BASEDIR/log_${MACHINE}/_build.${STAGE_ORDER}-misc.log"
326 build_spy
set stage
${STAGE} &
333 #ipfire_make traceroute
348 #ipfire_make squidguard ## CAN THIS BE BANISHED BY ANYTHING BETTER?
349 #ipfire_make calamaris ## CAN THIS BE BANISHED BY ANYTHING BETTER?
361 #ipfire_make linux-igd
363 ### These will become addons as usual but will be integrated later
366 #ipfire_make oinkmaster
367 #ipfire_make centerim
368 #ipfire_make tripwire
371 #ipfire_make ghostscript
372 #ipfire_make foomatic
376 #ipfire_make fetchmail
377 #ipfire_make cyrus-imapd
381 #ipfire_make guardian
382 #ipfire_make libid3tag
385 #ipfire_make libvorbis
388 #ipfire_make libshout
390 #ipfire_make icegenerator
394 #ipfire_make libmpeg2
395 #ipfire_make videolan
397 #ipfire_make asterisk
398 #ipfire_make libsigc++
399 #ipfire_make applejuice
400 #ipfire_make libtorrent
401 #ipfire_make rtorrent
402 #ipfire_make ipfireseeder
405 # ---------------------------------------------------------------------------
414 ################################################################################
415 # This builds the entire stage "installer" #
416 ################################################################################
419 PATH
=${TOOLS_DIR}/usr/bin:${UCLIBC_DIR}/bin:${UCLIBC_DIR}/usr
/bin
420 PATH
=$PATH:${UCLIBC_CC_CORE_STATIC_DIR}/bin
:/bin
:/usr
/bin
421 PATH
=$PATH:/sbin
:/usr
/sbin
:/usr
/${MACHINE_REAL}-linux/bin
425 LOGFILE
="$BASEDIR/log_${MACHINE}/_build.${STAGE_ORDER}-installer.log"
428 build_spy
set stage
${STAGE} &
436 ipfire_make uClibc PASS
=1
437 ipfire_make gcc PASS
=1
438 ipfire_make uClibc PASS
=2
439 ipfire_make
gettext PASS
=1
440 ipfire_make gcc PASS
=2
441 ipfire_make
gettext PASS
=2
450 ipfire_make e2fsprogs
451 #ipfire_make xfsprogs
452 ipfire_make util-linux-ng
456 ipfire_make dbus-glib
461 ipfire_make python-dbus
462 ipfire_make python-parted
463 ipfire_make python-urlgrabber
464 ipfire_make python-iconv
473 ipfire_make reiserfsprogs
479 ################################################################################
480 # This builds the entire stage "packages" #
481 ################################################################################
484 PATH
=${TOOLS_DIR}/usr
/bin
:/bin
:/usr
/bin
:/sbin
:/usr
/sbin
:/usr
/${MACHINE_REAL}-linux/bin
488 LOGFILE
="$BASEDIR/log_${MACHINE}/_build.${STAGE_ORDER}-packages.log"
491 build_spy
set stage
${STAGE} &
498 if [ ${EMB} -eq 0 ]; then
499 ipfire_make initramfs
505 : #ipfire_make usb-key
507 echo -n "Can't build usb-key images on this machine"
508 beautify message WARN
510 mv $LFS/$IMAGES_DIR/{*.iso
,*.
tar.gz
,*.img.gz
} $BASEDIR >>$LOGFILE 2>&1
513 # We put here the code that is done when
514 # we do an embedded build
520 for i
in $
(ls -1 $BASEDIR/src
/rootfiles
/extras
); do
521 package
=$
(cut
-d.
-f2 <<< $i)
522 if [ -e $BASEDIR/lfs
/$package ]; then
524 beautify message SKIP
527 beautify message SKIP
538 # See what we're supposed to do
539 .
$BASEDIR/tools
/make-interactive