2 ###############################################################################
4 # IPFire.org - A linux based firewall #
5 # Copyright (C) 2007, 2008, 2009 Michael Tremer & Christian Schmidt #
7 # This program is free software: you can redistribute it and/or modify #
8 # it under the terms of the GNU General Public License as published by #
9 # the Free Software Foundation, either version 3 of the License, or #
10 # (at your option) any later version. #
12 # This program is distributed in the hope that it will be useful, #
13 # but WITHOUT ANY WARRANTY; without even the implied warranty of #
14 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
15 # GNU General Public License for more details. #
17 # You should have received a copy of the GNU General Public License #
18 # along with this program. If not, see <http://www.gnu.org/licenses/>. #
20 ###############################################################################
23 NAME
="IPFire" # Software name
24 SNAME
="ipfire" # Short name
25 VERSION
="3.0-prealpha2" # Version number
26 TOOLCHAINVERSION
="${VERSION}-13" # Toolchain
27 SLOGAN
="Gluttony" # Software slogan
33 ################################################################################
34 # This builds the entire stage "toolchain" #
35 ################################################################################
39 export PATH
=${TOOLS_DIR}/usr/bin:${TOOLS_DIR}/usr/sbin:${TOOLS_DIR}/bin:${TOOLS_DIR}/sbin
:$PATH
43 LOGFILE
="$BASEDIR/log_${TARGET}/_build.${STAGE_ORDER}-toolchain.log"
46 build_spy stage
${STAGE}
48 # We can't skip packages in toolchain stage
49 SAVE_SKIP_PACKAGE_LIST
=$SKIP_PACKAGE_LIST
55 toolchain_make ccache PASS
=1
56 toolchain_make binutils PASS
=1
57 toolchain_make gcc PASS
=1
58 toolchain_make linux-headers
60 toolchain_make adjust-toolchain
61 toolchain_make test-toolchain PASS
=1
63 toolchain_make gcc PASS
=2
64 toolchain_make binutils PASS
=2
65 toolchain_make test-toolchain PASS
=2
66 toolchain_make ncurses
71 toolchain_make coreutils
73 toolchain_make diffutils
74 toolchain_make e2fsprogs
77 icecc_use toolchain
# Use the fresh gcc
78 toolchain_make ccache PASS
=2
80 toolchain_make findutils
82 toolchain_make
gettext
88 toolchain_make pax-utils
92 toolchain_make texinfo
96 toolchain_make autoconf
97 toolchain_make automake
100 export PATH
=$ORG_PATH SKIP_PACKAGE_LIST
=$SAVE_SKIP_PACKAGE_LIST
101 unset SAVE_SKIP_PACKAGE_LIST
104 ################################################################################
105 # This builds the entire stage "base" #
106 ################################################################################
109 PATH
=${TOOLS_DIR}/usr
/bin
:/bin
:/usr
/bin
:/sbin
:/usr
/sbin
:$TOOLS_DIR/bin
113 LOGFILE
="$BASEDIR/log_${TARGET}/_build.${STAGE_ORDER}-base.log"
116 build_spy stage
${STAGE}
118 # Start distributed compiling with toolchain
124 ipfire_make system-release
125 ipfire_make linux-headers
126 ipfire_make man-pages
128 ipfire_make adjust-toolchain
129 ipfire_make test-toolchain
134 # Change to self-built gcc
140 ipfire_make pkg-config
154 ipfire_make util-linux-ng
155 ipfire_make e2fsprogs
156 ipfire_make coreutils
168 ipfire_make diffutils
171 ipfire_make findutils
184 ipfire_make module-init-tools
187 ipfire_make pax-utils
189 ipfire_make syslog-ng
196 ################################################################################
197 # This builds the entire stage "ipfire" #
198 ################################################################################
200 PATH
=${TOOLS_DIR}/usr
/bin
:/bin
:/usr
/bin
:/sbin
:/usr
/sbin
:/usr
/${MACHINE_REAL}-linux/bin
204 LOGFILE
="$BASEDIR/log_${TARGET}/_build.${STAGE_ORDER}-ipfire.log"
207 build_spy stage
${STAGE}
209 ### Building the configuration dirs and files
217 ### Building some general stuff
219 ipfire_make libdaemon
222 ipfire_make dbus-glib
224 ipfire_make initscripts
226 ipfire_make perl-xml-parser
229 ipfire_make python-cracklib
230 ipfire_make python-dbus
231 ipfire_make python-setuptools
232 ipfire_make python-urlgrabber
233 ipfire_make python-IPy
238 ipfire_make libusb-compat
# Can be removed if usbutils supports libusb-1.0
243 ### Building some network stuff
246 ipfire_make linux-atm
251 ipfire_make libnfnetlink
252 ipfire_make libnetfilter_queue
253 ipfire_make libnetfilter_conntrack
254 ipfire_make libnetfilter_log
255 ipfire_make python-netfilter_conntrack
256 ipfire_make l7-protocols
257 ipfire_make bridge-utils
270 ### Building some general stuff
273 ipfire_make libassuan
274 ipfire_make libgpg-error
275 ipfire_make libgcrypt
280 ipfire_make cyrus-sasl
286 ipfire_make python-sqlite2
296 ipfire_make fontconfig
302 ipfire_make br2684ctl
303 ipfire_make etherwake
309 ipfire_make pdns-recursor
311 ipfire_make libnfsidmap
312 ipfire_make libgssglue
313 ipfire_make librpcsecgss
316 ### Building vpn stuff
318 ipfire_make strongswan
321 ### Building filesystem stuff
323 ipfire_make btrfs-progs
324 ipfire_make reiserfsprogs
326 ipfire_make reiser4progs
328 ipfire_make sysfsutils
329 ipfire_make squashfs-tools
330 ipfire_make dosfstools
334 ipfire_make cryptsetup-luks
335 ipfire_make python-cryptsetup
338 ### Building hardware utils
343 ipfire_make smartmontools
344 ipfire_make lm-sensors
350 ### Building some important tools
358 ipfire_make ez-ipupdate
361 ipfire_make webinterface
362 ipfire_make logrotate
363 #ipfire_make logwatch
364 ipfire_make dvdrtools
365 ipfire_make python-parted
366 ipfire_make python-pyblock
367 ipfire_make libbdevid
368 ipfire_make memtest86
+
371 ipfire_make wireless-tools
373 ipfire_make python-werkzeug
374 ipfire_make python-flup
375 ipfire_make python-tornado
382 ################################################################################
383 # This builds the entire stage "misc" #
384 ################################################################################
387 PATH
=${TOOLS_DIR}/usr
/bin
:/bin
:/usr
/bin
:/sbin
:/usr
/sbin
:/usr
/${MACHINE_REAL}-linux/bin
391 LOGFILE
="$BASEDIR/log_${TARGET}/_build.${STAGE_ORDER}-misc.log"
394 build_spy stage
${STAGE}
398 #ipfire_make miniupnpd
403 ipfire_make
traceroute
421 ipfire_make mkinitramfs
433 ### These will become addons as usual but will be integrated later
436 #ipfire_make oinkmaster
437 ipfire_make ghostscript
442 #ipfire_make fetchmail
446 ipfire_make nfs-utils
447 ipfire_make freeradius
454 ipfire_make pychecker
463 ################################################################################
464 # This builds the entire stage "installer" #
465 ################################################################################
468 PATH
=${TOOLS_DIR}/usr
/bin
:/bin
:/usr
/bin
:/sbin
:/usr
/sbin
:/usr
/${MACHINE_REAL}-linux/bin
472 LOGFILE
="$BASEDIR/log_${TARGET}/_build.${STAGE_ORDER}-installer.log"
475 build_spy stage
${STAGE}
481 ################################################################################
482 # This builds the entire stage "packages" #
483 ################################################################################
486 PATH
=${TOOLS_DIR}/usr
/bin
:/bin
:/usr
/bin
:/sbin
:/usr
/sbin
:/usr
/${MACHINE_REAL}-linux/bin
490 LOGFILE
="$BASEDIR/log_${TARGET}/_build.${STAGE_ORDER}-packages.log"
493 build_spy stage
${STAGE}
498 # Generate packages list
499 echo -n "Generating packages list"
500 pkg_list_packages
> $BASEDIR/doc
/packages-list.txt
501 beautify message DONE
503 if [ ${EMB} -eq 0 ]; then
504 ipfire_make images-core
505 ipfire_make images-info
506 ipfire_make images-initramfs
507 ipfire_make images-overlays
512 : #ipfire_make usb-key
514 echo -n "Can't build usb-key images on this machine"
515 beautify message WARN
517 mv $LFS/$IMAGES_DIR/{*.iso
,*.
tar.gz
,*.img.gz
} $BASEDIR >>$LOGFILE 2>&1
520 # We put here the code that is done when
521 # we do an embedded build
533 # See what we're supposed to do
534 .
$BASEDIR/tools
/make-interactive