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-prealpha2" # Version number
28 TOOLCHAINVERSION
="${VERSION}-10" # Toolchain
29 SLOGAN
="Gluttony" # Software slogan
35 ################################################################################
36 # This builds the entire stage "toolchain" #
37 ################################################################################
41 export PATH
=${TOOLS_DIR}/usr/bin:${TOOLS_DIR}/usr/sbin:${TOOLS_DIR}/bin:${TOOLS_DIR}/sbin
:$PATH
45 LOGFILE
="$BASEDIR/log_${TARGET}/_build.${STAGE_ORDER}-toolchain.log"
48 build_spy stage
${STAGE}
50 # We can't skip packages in toolchain stage
51 SAVE_SKIP_PACKAGE_LIST
=$SKIP_PACKAGE_LIST
58 toolchain_make binutils PASS
=1
59 toolchain_make gcc PASS
=1
60 toolchain_make linux-headers
62 toolchain_make adjust-toolchain
63 toolchain_make test-toolchain PASS
=1
65 toolchain_make gcc PASS
=2
66 toolchain_make binutils PASS
=2
67 toolchain_make test-toolchain PASS
=2
68 toolchain_make ncurses
73 toolchain_make coreutils
75 toolchain_make diffutils
76 toolchain_make e2fsprogs
79 icecc_use toolchain
# Use the fresh gcc
81 toolchain_make findutils
83 toolchain_make
gettext
89 toolchain_make pax-utils
93 toolchain_make texinfo
97 toolchain_make autoconf
98 toolchain_make automake
101 export PATH
=$ORG_PATH SKIP_PACKAGE_LIST
=$SAVE_SKIP_PACKAGE_LIST
102 unset SAVE_SKIP_PACKAGE_LIST
105 ################################################################################
106 # This builds the entire stage "base" #
107 ################################################################################
110 PATH
=${TOOLS_DIR}/usr
/bin
:/bin
:/usr
/bin
:/sbin
:/usr
/sbin
:$TOOLS_DIR/bin
114 LOGFILE
="$BASEDIR/log_${TARGET}/_build.${STAGE_ORDER}-base.log"
117 build_spy stage
${STAGE}
119 # Start distributed compiling with toolchain
125 ipfire_make system-release
126 ipfire_make linux-headers
127 ipfire_make man-pages
129 ipfire_make adjust-toolchain
130 ipfire_make test-toolchain
135 # Change to self-built gcc
141 ipfire_make pkg-config
155 ipfire_make util-linux-ng
156 ipfire_make e2fsprogs
157 ipfire_make coreutils
169 ipfire_make diffutils
172 ipfire_make findutils
180 ipfire_make initd-tools
186 ipfire_make module-init-tools
189 ipfire_make pax-utils
191 ipfire_make syslog-ng
197 ipfire_make initscripts
200 ################################################################################
201 # This builds the entire stage "ipfire" #
202 ################################################################################
204 PATH
=${TOOLS_DIR}/usr
/bin
:/bin
:/usr
/bin
:/sbin
:/usr
/sbin
:/usr
/${MACHINE_REAL}-linux/bin
208 LOGFILE
="$BASEDIR/log_${TARGET}/_build.${STAGE_ORDER}-ipfire.log"
211 build_spy stage
${STAGE}
213 ### Building the configuration dirs and files
220 ### Building some general stuff
222 ipfire_make libdaemon
225 ipfire_make dbus-glib
227 ipfire_make perl-xml-parser
230 ipfire_make python-cracklib
231 ipfire_make python-dbus
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
252 ipfire_make libnfnetlink
253 ipfire_make libnetfilter_queue
254 ipfire_make libnetfilter_conntrack
255 ipfire_make libnetfilter_log
256 ipfire_make python-netfilter_conntrack
257 ipfire_make l7-protocols
258 ipfire_make bridge-utils
269 ### Building some general stuff
272 ipfire_make libassuan
273 ipfire_make libgpg-error
274 ipfire_make libgcrypt
278 ipfire_make cyrus-sasl
284 ipfire_make python-sqlite2
294 ipfire_make fontconfig
300 ipfire_make br2684ctl
301 ipfire_make etherwake
307 ipfire_make pdns-recursor
309 ipfire_make libnfsidmap
310 ipfire_make libgssglue
311 ipfire_make librpcsecgss
313 ### Building vpn stuff
315 ipfire_make strongswan
318 ### Building filesystem stuff
320 ipfire_make btrfs-progs
321 ipfire_make reiserfsprogs
323 ipfire_make reiser4progs
325 ipfire_make sysfsutils
326 ipfire_make squashfs-tools
327 ipfire_make dosfstools
331 ipfire_make cryptsetup-luks
332 ipfire_make python-cryptsetup
335 ### Building hardware utils
340 ipfire_make smartmontools
341 ipfire_make lm-sensors
346 ### Building some important tools
355 ipfire_make ez-ipupdate
358 ipfire_make webinterface
360 ipfire_make logrotate
361 #ipfire_make logwatch
362 ipfire_make dvdrtools
363 ipfire_make python-parted
364 ipfire_make python-pyblock
365 ipfire_make libbdevid
366 ipfire_make memtest86
+
369 ipfire_make wireless-tools
377 ################################################################################
378 # This builds the entire stage "misc" #
379 ################################################################################
382 PATH
=${TOOLS_DIR}/usr
/bin
:/bin
:/usr
/bin
:/sbin
:/usr
/sbin
:/usr
/${MACHINE_REAL}-linux/bin
386 LOGFILE
="$BASEDIR/log_${TARGET}/_build.${STAGE_ORDER}-misc.log"
389 build_spy stage
${STAGE}
393 ipfire_make miniupnpd
398 ipfire_make
traceroute
415 ipfire_make bootutils
416 ipfire_make mkinitramfs
427 ### These will become addons as usual but will be integrated later
430 #ipfire_make oinkmaster
432 #ipfire_make ghostscript
433 #ipfire_make foomatic
436 #ipfire_make fetchmail
437 #ipfire_make cyrus-imapd
441 #ipfire_make guardian
442 #ipfire_make ipfireseeder
444 ipfire_make nfs-utils
451 ipfire_make pychecker
454 ################################################################################
455 # This builds the entire stage "installer" #
456 ################################################################################
459 PATH
=${TOOLS_DIR}/usr
/bin
:/bin
:/usr
/bin
:/sbin
:/usr
/sbin
:/usr
/${MACHINE_REAL}-linux/bin
463 LOGFILE
="$BASEDIR/log_${TARGET}/_build.${STAGE_ORDER}-installer.log"
466 build_spy stage
${STAGE}
472 ################################################################################
473 # This builds the entire stage "packages" #
474 ################################################################################
477 PATH
=${TOOLS_DIR}/usr
/bin
:/bin
:/usr
/bin
:/sbin
:/usr
/sbin
:/usr
/${MACHINE_REAL}-linux/bin
481 LOGFILE
="$BASEDIR/log_${TARGET}/_build.${STAGE_ORDER}-packages.log"
484 build_spy stage
${STAGE}
489 # Generate packages list
490 echo -n "Generating packages list"
491 pkg_list_packages
> $BASEDIR/doc
/packages-list.txt
492 beautify message DONE
494 if [ ${EMB} -eq 0 ]; then
495 ipfire_make images-core
496 ipfire_make images-info
497 ipfire_make images-initramfs
498 ipfire_make images-overlays
503 : #ipfire_make usb-key
505 echo -n "Can't build usb-key images on this machine"
506 beautify message WARN
508 mv $LFS/$IMAGES_DIR/{*.iso
,*.
tar.gz
,*.img.gz
} $BASEDIR >>$LOGFILE 2>&1
511 # We put here the code that is done when
512 # we do an embedded build
524 # See what we're supposed to do
525 .
$BASEDIR/tools
/make-interactive