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-prealpha1" # Version number
28 TOOLCHAINVERSION
="${VERSION}-16" # Toolchain
29 SLOGAN
="Lechery" # 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_${TARGET}/_build.${STAGE_ORDER}-toolchain.log"
48 build_spy stage
${STAGE}
51 #toolchain_make scripts
52 # make distcc first so that CCACHE_PREFIX works immediately
53 [ -z "$DISTCC_HOSTS" ] || toolchain_make distcc
55 toolchain_make binutils PASS
=1
56 toolchain_make gcc PASS
=1
57 toolchain_make linux-headers
59 toolchain_make adjust-toolchain
60 toolchain_make test-toolchain PASS
=1
61 toolchain_make gcc PASS
=2
62 toolchain_make binutils PASS
=2
63 toolchain_make test-toolchain PASS
=2
64 toolchain_make ncurses
67 toolchain_make coreutils
68 toolchain_make diffutils
69 toolchain_make e2fsprogs
70 toolchain_make findutils
72 toolchain_make
gettext
81 toolchain_make texinfo
84 toolchain_make util-linux-ng
89 ################################################################################
90 # This builds the entire stage "base" #
91 ################################################################################
94 PATH
=${TOOLS_DIR}/usr
/bin
:/bin
:/usr
/bin
:/sbin
:/usr
/sbin
:$TOOLS_DIR/bin
98 LOGFILE
="$BASEDIR/log_${TARGET}/_build.${STAGE_ORDER}-base.log"
101 build_spy stage
${STAGE}
105 ipfire_make linux-headers
106 ipfire_make man-pages
108 ipfire_make adjust-toolchain
109 ipfire_make test-toolchain
114 ipfire_make e2fsprogs
115 ipfire_make coreutils
128 ipfire_make pkg-config
136 ipfire_make diffutils
139 ipfire_make findutils
148 ipfire_make initd-tools
149 ipfire_make initscripts
155 ipfire_make module-init-tools
161 ipfire_make syslog-ng
166 ipfire_make util-linux-ng
170 ################################################################################
171 # This builds the entire stage "ipfire" #
172 ################################################################################
174 PATH
=${TOOLS_DIR}/usr
/bin
:/bin
:/usr
/bin
:/sbin
:/usr
/sbin
:/usr
/${MACHINE_REAL}-linux/bin
178 LOGFILE
="$BASEDIR/log_${TARGET}/_build.${STAGE_ORDER}-ipfire.log"
181 build_spy stage
${STAGE}
183 ### Building the configuration dirs and files
191 ### Building some general stuff
196 ipfire_make dbus-glib
197 # ipfire_make openssl
198 ipfire_make perl
### We are building the modules here.
200 ipfire_make python-dbus
201 ipfire_make python-urlgrabber
202 ipfire_make python-iconv
203 ipfire_make python-IPy
208 ipfire_make libusb-compat
# Can be removed if usbutils supports libusb-1.0
212 ### Building some network stuff
215 ipfire_make linux-atm
220 ipfire_make libnfnetlink
221 ipfire_make libnetfilter_queue
222 ipfire_make libnetfilter_conntrack
223 ipfire_make libnetfilter_log
224 ipfire_make python-netfilter_conntrack
226 ipfire_make l7-protocols
227 ipfire_make bridge-utils
232 ### Building some general stuff
235 ipfire_make pam PASS
=1
236 ipfire_make shadow-pam
237 ipfire_make pam PASS
=2
240 ipfire_make cyrus-sasl
253 ipfire_make fontconfig
259 ipfire_make br2684ctl
260 ipfire_make etherwake
265 ### Building vpn stuff
267 ipfire_make strongswan
270 ### Building filesystem stuff
272 ipfire_make reiserfsprogs
274 ipfire_make reiser4progs
276 ipfire_make sysfsutils
279 ### Building hardware utils
284 ipfire_make smartmontools
285 ipfire_make lm-sensors
289 ### Building some important tools
296 ipfire_make ntp
### Needs config.
298 ipfire_make ez-ipupdate
301 ipfire_make webinterface
303 ipfire_make logrotate
304 #ipfire_make logwatch
308 ipfire_make python-parted
309 ipfire_make memtest86
+
314 ### -------------------------------------------------------------------------
315 ### Tools that maybe not needed
322 #ipfire_make wireless
326 ################################################################################
327 # This builds the entire stage "misc" #
328 ################################################################################
331 PATH
=${TOOLS_DIR}/usr
/bin
:/bin
:/usr
/bin
:/sbin
:/usr
/sbin
:/usr
/${MACHINE_REAL}-linux/bin
335 LOGFILE
="$BASEDIR/log_${TARGET}/_build.${STAGE_ORDER}-misc.log"
338 build_spy stage
${STAGE}
342 ipfire_make miniupnpd
347 #ipfire_make traceroute
360 ipfire_make bootutils
361 ipfire_make mkinitramfs
364 #ipfire_make squidguard ## CAN THIS BE BANISHED BY ANYTHING BETTER?
365 #ipfire_make calamaris ## CAN THIS BE BANISHED BY ANYTHING BETTER?
377 #ipfire_make linux-igd
379 ### These will become addons as usual but will be integrated later
382 #ipfire_make oinkmaster
383 #ipfire_make centerim
384 #ipfire_make tripwire
387 #ipfire_make ghostscript
388 #ipfire_make foomatic
392 #ipfire_make fetchmail
393 #ipfire_make cyrus-imapd
397 #ipfire_make guardian
398 #ipfire_make libid3tag
401 #ipfire_make libvorbis
404 #ipfire_make libshout
406 #ipfire_make icegenerator
410 #ipfire_make libmpeg2
411 #ipfire_make videolan
413 #ipfire_make asterisk
414 #ipfire_make libsigc++
415 #ipfire_make applejuice
416 #ipfire_make libtorrent
417 #ipfire_make rtorrent
418 #ipfire_make ipfireseeder
421 # ---------------------------------------------------------------------------
429 ipfire_make pychecker
432 ################################################################################
433 # This builds the entire stage "installer" #
434 ################################################################################
437 PATH
=${TOOLS_DIR}/usr
/bin
:/bin
:/usr
/bin
:/sbin
:/usr
/sbin
:/usr
/${MACHINE_REAL}-linux/bin
441 LOGFILE
="$BASEDIR/log_${TARGET}/_build.${STAGE_ORDER}-installer.log"
444 build_spy stage
${STAGE}
450 ################################################################################
451 # This builds the entire stage "packages" #
452 ################################################################################
455 PATH
=${TOOLS_DIR}/usr
/bin
:/bin
:/usr
/bin
:/sbin
:/usr
/sbin
:/usr
/${MACHINE_REAL}-linux/bin
459 LOGFILE
="$BASEDIR/log_${TARGET}/_build.${STAGE_ORDER}-packages.log"
462 build_spy stage
${STAGE}
469 # Generate packages list
470 echo -n "Generating packages list"
471 software_list
> $BASEDIR/doc
/packages-list.txt
472 beautify message DONE
474 if [ ${EMB} -eq 0 ]; then
475 ipfire_make initramfs
481 : #ipfire_make usb-key
483 echo -n "Can't build usb-key images on this machine"
484 beautify message WARN
486 mv $LFS/$IMAGES_DIR/{*.iso
,*.
tar.gz
,*.img.gz
} $BASEDIR >>$LOGFILE 2>&1
489 # We put here the code that is done when
490 # we do an embedded build
496 for i
in $
(ls -1 $BASEDIR/src
/rootfiles
/extras
); do
497 package
=$
(cut
-d.
-f2 <<< $i)
498 if [ -e $BASEDIR/lfs
/$package ]; then
500 beautify message SKIP
503 beautify message SKIP
514 # See what we're supposed to do
515 .
$BASEDIR/tools
/make-interactive