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}-18" # 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}
50 # We can't skip packages in toolchain stage
51 SAVE_SKIP_PACKAGE_LIST
=$SKIP_PACKAGE_LIST
55 # make distcc first so that CCACHE_PREFIX works immediately
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
71 toolchain_make coreutils
72 toolchain_make diffutils
73 toolchain_make e2fsprogs
74 toolchain_make findutils
76 toolchain_make
gettext
85 toolchain_make texinfo
88 toolchain_make util-linux-ng
90 export PATH
=$ORG_PATH SKIP_PACKAGE_LIST
=$SAVE_SKIP_PACKAGE_LIST
93 ################################################################################
94 # This builds the entire stage "base" #
95 ################################################################################
98 PATH
=${TOOLS_DIR}/usr
/bin
:/bin
:/usr
/bin
:/sbin
:/usr
/sbin
:$TOOLS_DIR/bin
102 LOGFILE
="$BASEDIR/log_${TARGET}/_build.${STAGE_ORDER}-base.log"
105 build_spy stage
${STAGE}
109 ipfire_make linux-headers
110 ipfire_make man-pages
112 ipfire_make adjust-toolchain
113 ipfire_make test-toolchain
119 ipfire_make e2fsprogs
120 ipfire_make coreutils
132 ipfire_make pkg-config
140 ipfire_make diffutils
143 ipfire_make findutils
152 ipfire_make initd-tools
153 ipfire_make initscripts
159 ipfire_make module-init-tools
164 ipfire_make syslog-ng
169 ipfire_make util-linux-ng
173 ################################################################################
174 # This builds the entire stage "ipfire" #
175 ################################################################################
177 PATH
=${TOOLS_DIR}/usr
/bin
:/bin
:/usr
/bin
:/sbin
:/usr
/sbin
:/usr
/${MACHINE_REAL}-linux/bin
181 LOGFILE
="$BASEDIR/log_${TARGET}/_build.${STAGE_ORDER}-ipfire.log"
184 build_spy stage
${STAGE}
186 ### Building the configuration dirs and files
194 ### Building some general stuff
196 ipfire_make libdaemon
200 ipfire_make dbus-glib
202 ipfire_make perl-xml-parser
205 ipfire_make python-dbus
206 ipfire_make python-urlgrabber
207 ipfire_make python-IPy
212 ipfire_make libusb-compat
# Can be removed if usbutils supports libusb-1.0
216 ### Building some network stuff
219 ipfire_make linux-atm
224 ipfire_make libnfnetlink
225 ipfire_make libnetfilter_queue
226 ipfire_make libnetfilter_conntrack
227 ipfire_make libnetfilter_log
228 ipfire_make python-netfilter_conntrack
230 ipfire_make l7-protocols
231 ipfire_make bridge-utils
237 ### Building some general stuff
240 ipfire_make libassuan
241 ipfire_make libgpg-error
242 ipfire_make libgcrypt
245 ipfire_make pam PASS
=1
246 ipfire_make shadow-pam
247 ipfire_make pam PASS
=2
250 ipfire_make cyrus-sasl
264 ipfire_make fontconfig
270 ipfire_make br2684ctl
271 ipfire_make etherwake
276 ### Building vpn stuff
278 ipfire_make strongswan
281 ### Building filesystem stuff
283 ipfire_make reiserfsprogs
285 ipfire_make reiser4progs
287 ipfire_make sysfsutils
290 ### Building hardware utils
295 ipfire_make smartmontools
296 ipfire_make lm-sensors
301 ### Building some important tools
308 ipfire_make ntp
### Needs config.
310 ipfire_make ez-ipupdate
313 ipfire_make webinterface
315 ipfire_make logrotate
316 #ipfire_make logwatch
319 ipfire_make python-parted
320 ipfire_make memtest86
+
326 ### -------------------------------------------------------------------------
327 ### Tools that maybe not needed
334 #ipfire_make wireless
338 ################################################################################
339 # This builds the entire stage "misc" #
340 ################################################################################
343 PATH
=${TOOLS_DIR}/usr
/bin
:/bin
:/usr
/bin
:/sbin
:/usr
/sbin
:/usr
/${MACHINE_REAL}-linux/bin
347 LOGFILE
="$BASEDIR/log_${TARGET}/_build.${STAGE_ORDER}-misc.log"
350 build_spy stage
${STAGE}
354 ipfire_make miniupnpd
359 #ipfire_make traceroute
372 ipfire_make bootutils
373 ipfire_make mkinitramfs
376 #ipfire_make squidguard ## CAN THIS BE BANISHED BY ANYTHING BETTER?
377 #ipfire_make calamaris ## CAN THIS BE BANISHED BY ANYTHING BETTER?
389 #ipfire_make linux-igd
391 ### These will become addons as usual but will be integrated later
394 #ipfire_make oinkmaster
395 #ipfire_make centerim
396 #ipfire_make tripwire
399 #ipfire_make ghostscript
400 #ipfire_make foomatic
404 #ipfire_make fetchmail
405 #ipfire_make cyrus-imapd
409 #ipfire_make guardian
410 #ipfire_make libid3tag
413 #ipfire_make libvorbis
416 #ipfire_make libshout
418 #ipfire_make icegenerator
422 #ipfire_make libmpeg2
423 #ipfire_make videolan
425 #ipfire_make asterisk
426 #ipfire_make libsigc++
427 #ipfire_make applejuice
428 #ipfire_make libtorrent
429 #ipfire_make rtorrent
430 #ipfire_make ipfireseeder
433 # ---------------------------------------------------------------------------
439 ipfire_make pax-utils
443 ipfire_make pychecker
446 ################################################################################
447 # This builds the entire stage "installer" #
448 ################################################################################
451 PATH
=${TOOLS_DIR}/usr
/bin
:/bin
:/usr
/bin
:/sbin
:/usr
/sbin
:/usr
/${MACHINE_REAL}-linux/bin
455 LOGFILE
="$BASEDIR/log_${TARGET}/_build.${STAGE_ORDER}-installer.log"
458 build_spy stage
${STAGE}
464 ################################################################################
465 # This builds the entire stage "packages" #
466 ################################################################################
469 PATH
=${TOOLS_DIR}/usr
/bin
:/bin
:/usr
/bin
:/sbin
:/usr
/sbin
:/usr
/${MACHINE_REAL}-linux/bin
473 LOGFILE
="$BASEDIR/log_${TARGET}/_build.${STAGE_ORDER}-packages.log"
476 build_spy stage
${STAGE}
483 # Generate packages list
484 echo -n "Generating packages list"
485 software_list
> $BASEDIR/doc
/packages-list.txt
486 beautify message DONE
488 if [ ${EMB} -eq 0 ]; then
489 ipfire_make initramfs
495 : #ipfire_make usb-key
497 echo -n "Can't build usb-key images on this machine"
498 beautify message WARN
500 mv $LFS/$IMAGES_DIR/{*.iso
,*.
tar.gz
,*.img.gz
} $BASEDIR >>$LOGFILE 2>&1
503 # We put here the code that is done when
504 # we do an embedded build
510 for i
in $
(ls -1 $BASEDIR/src
/rootfiles
/extras
); do
511 package
=$
(cut
-d.
-f2 <<< $i)
512 if [ -e $BASEDIR/lfs
/$package ]; then
514 beautify message SKIP
517 beautify message SKIP
528 # See what we're supposed to do
529 .
$BASEDIR/tools
/make-interactive