# along with IPFire; if not, write to the Free Software #
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA #
# #
-# Copyright (C) 2007-2017 IPFire Team <info@ipfire.org>. #
+# Copyright (C) 2007-2018 IPFire Team <info@ipfire.org>. #
# #
############################################################################
#
NAME="IPFire" # Software name
SNAME="ipfire" # Short name
VERSION="2.19" # Version number
-CORE="117" # Core Level (Filename)
-PAKFIRE_CORE="116" # Core Level (PAKFIRE)
+CORE="120" # Core Level (Filename)
+PAKFIRE_CORE="120" # Core Level (PAKFIRE)
GIT_BRANCH=`git rev-parse --abbrev-ref HEAD` # Git Branch
SLOGAN="www.ipfire.org" # Software slogan
CONFIG_ROOT=/var/ipfire # Configuration rootdir
GIT_TAG=$(git tag | tail -1) # Git Tag
GIT_LASTCOMMIT=$(git log | head -n1 | cut -d" " -f2 |head -c8) # Last commit
-TOOLCHAINVER=20171121
+TOOLCHAINVER=20180213
###############################################################################
#
NAME_WIDTH=$(( COLUMNS - OPTIONS_WIDTH - TIME_WIDTH - STATUS_WIDTH ))
LINE_WIDTH=$(( COLUMNS - STATUS_WIDTH ))
- TIME_COL=$(( COLUMNS - TIME_WIDTH - STATUS_WIDTH ))
- STATUS_COL=$(( COLUMNS - STATUS_WIDTH ))
+ TIME_COL=$(( NAME_WIDTH + OPTIONS_WIDTH ))
+ STATUS_COL=$(( TIME_COL + TIME_WIDTH ))
}
# Initially setup terminal
TOOLS_DIR="/tools_${BUILD_ARCH}"
# Enables hardening
- HARDENING_CFLAGS="-Wp,-D_FORTIFY_SOURCE=2 -fstack-protector-strong --param=ssp-buffer-size=4"
+ HARDENING_CFLAGS="-Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fstack-protector-strong"
CFLAGS="-O2 -pipe -Wall -fexceptions -fPIC ${CFLAGS_ARCH}"
CXXFLAGS="${CFLAGS}"
local mem_max=$(( ${HOST_MEM} / 192 ))
local processors="$(system_processors)"
- local cpu_max=$(( ${processors} * 2 ))
+ local cpu_max=$(( ${processors} + 1 ))
local parallelism
if [ ${mem_max} -lt ${cpu_max} ]; then
parallelism=${cpu_max}
fi
+ # limit to -j23 because perl will not build
+ # more
+ if [ ${parallelism} -gt 23 ]; then
+ parallelism=23
+ fi
+
MAKETUNING="-j${parallelism}"
fi
}
fi
printf "%-$(( ${NAME_WIDTH} - 1 ))s " "${string}"
-
- if [ -n "${options}" ]; then
- printf "[ %-$(( ${OPTIONS_WIDTH} - 4 ))s ]" "${options}"
- else
- printf "%${OPTIONS_WIDTH}s" ""
- fi
+ printf "%$(( ${OPTIONS_WIDTH} - 1 ))s " "${options}"
}
print_runtime() {
# Set LFS Directory
LFS=$BASEDIR/build
- # Check ${TOOLS_DIR} symlink
- if [ -h "${TOOLS_DIR}" ]; then
- rm -f "${TOOLS_DIR}"
- fi
-
- if [ ! -e "${TOOLS_DIR}" ]; then
- ln -s "${BASEDIR}/build${TOOLS_DIR}" "${TOOLS_DIR}"
- fi
-
- if [ ! -h "${TOOLS_DIR}" ]; then
- exiterror "Could not create ${TOOLS_DIR} symbolic link"
- fi
-
# Setup environment
set +h
LC_ALL=POSIX
fi
echo "Entering to a shell inside LFS chroot, go out with exit"
- local PS1="ipfire build chroot ($(uname -m)) \u:\w\$ "
+ local PS1="ipfire build chroot (${BUILD_ARCH}) \u:\w\$ "
if enterchroot bash -i; then
stdumount
if grep "^SUP_ARCH" ${BASEDIR}/lfs/${1} >/dev/null; then
# Check if package supports ${BUILD_ARCH} or all architectures.
if ! grep -E "^SUP_ARCH.*${BUILD_ARCH}|^SUP_ARCH.*all" ${BASEDIR}/lfs/${1} >/dev/null; then
+ print_runtime 0
print_status SKIP
return 1
fi
local PS1='\u:\w$ '
enterchroot \
- bash -x -c "cd /usr/src/lfs && \
+ ${EXTRA_PATH}bash -x -c "cd /usr/src/lfs && \
MAKETUNING=${MAKETUNING} \
make -f $* \
LFS_BASEDIR=/usr/src install" \
exiterror "Could not find GCC. You will need a working build enviroment in order to build the toolchain."
fi
+ # Check ${TOOLS_DIR} symlink
+ if [ -h "${TOOLS_DIR}" ]; then
+ rm -f "${TOOLS_DIR}"
+ fi
+
+ if [ ! -e "${TOOLS_DIR}" ]; then
+ ln -s "${BASEDIR}/build${TOOLS_DIR}" "${TOOLS_DIR}"
+ fi
+
+ if [ ! -h "${TOOLS_DIR}" ]; then
+ exiterror "Could not create ${TOOLS_DIR} symbolic link"
+ fi
+
LOGFILE="$BASEDIR/log/_build.toolchain.log"
export LOGFILE
lfsmake1 gcc PASS=L
lfsmake1 binutils PASS=2
lfsmake1 gcc PASS=2
+ lfsmake1 zlib
lfsmake1 ccache PASS=2
lfsmake1 tcl
lfsmake1 expect
lfsmake1 tar
lfsmake1 texinfo
lfsmake1 xz
+ lfsmake1 bison
+ lfsmake1 flex
lfsmake1 fake-environ
+ lfsmake1 strip
lfsmake1 cleanup-toolchain
}
lfsmake2 iana-etc
lfsmake2 m4
lfsmake2 bison
- lfsmake2 ncurses-compat
lfsmake2 ncurses
lfsmake2 procps
lfsmake2 libtool
lfsmake2 jwhois
lfsmake2 kbd
lfsmake2 less
+ lfsmake2 pkg-config
lfsmake2 make
lfsmake2 man
lfsmake2 kmod
lfsmake2 configroot
lfsmake2 initscripts
lfsmake2 backup
- lfsmake2 pkg-config
lfsmake2 libusb
lfsmake2 libusb-compat
lfsmake2 libpcap
lfsmake2 xtables-addons USPACE="1"
lfsmake2 openssl
[ "${BUILD_ARCH}" = "i586" ] && lfsmake2 openssl KCFG='-sse2'
+ lfsmake2 openssl-compat
lfsmake2 libgpg-error
lfsmake2 libgcrypt
lfsmake2 libassuan
lfsmake2 nettle
lfsmake2 libevent
lfsmake2 libevent2
- lfsmake2 libevent2-compat
lfsmake2 expat
lfsmake2 apr
lfsmake2 aprutil
lfsmake2 libxml2
lfsmake2 libxslt
lfsmake2 BerkeleyDB
- lfsmake2 mysql
lfsmake2 cyrus-sasl
lfsmake2 openldap
lfsmake2 apache2
- lfsmake2 php
lfsmake2 web-user-interface
lfsmake2 flag-icons
lfsmake2 jquery
lfsmake2 ipaddr
lfsmake2 iputils
lfsmake2 l7-protocols
- lfsmake2 mISDNuser
- lfsmake2 capi4k-utils
lfsmake2 hwdata
lfsmake2 logrotate
lfsmake2 logwatch
lfsmake2 wireless
lfsmake2 pakfire
lfsmake2 spandsp
+ lfsmake2 lz4
lfsmake2 lzo
lfsmake2 openvpn
- lfsmake2 pammysql
lfsmake2 mpage
lfsmake2 dbus
lfsmake2 intltool
lfsmake2 postfix
lfsmake2 fetchmail
lfsmake2 cyrus-imapd
- lfsmake2 openmailadmin
lfsmake2 clamav
lfsmake2 spamassassin
lfsmake2 amavisd
lfsmake2 cmake
lfsmake2 gnump3d
lfsmake2 rsync
- lfsmake2 tcpwrapper
lfsmake2 libtirpc
lfsmake2 rpcbind
lfsmake2 nfs
lfsmake2 etherwake
lfsmake2 bwm-ng
lfsmake2 sysstat
- lfsmake2 vsftpd
lfsmake2 strongswan
lfsmake2 rng-tools
lfsmake2 lsof
lfsmake2 qemu
lfsmake2 sane
lfsmake2 netpbm
- lfsmake2 phpSANE
- lfsmake2 tunctl
lfsmake2 netsnmpd
- lfsmake2 nagios
lfsmake2 nagios_nrpe
+ lfsmake2 nagios-plugins
lfsmake2 icinga
lfsmake2 ebtables
lfsmake2 directfb
lfsmake2 streamripper
lfsmake2 sshfs
lfsmake2 taglib
- #lfsmake2 mediatomb
lfsmake2 sslh
lfsmake2 perl-gettext
lfsmake2 perl-Sort-Naturally
lfsmake2 vdradmin
lfsmake2 miau
lfsmake2 perl-DBI
- lfsmake2 perl-DBD-mysql
lfsmake2 perl-DBD-SQLite
lfsmake2 perl-File-ReadBackwards
- lfsmake2 cacti
lfsmake2 openvmtools
- lfsmake2 nagiosql
lfsmake2 motion
lfsmake2 joe
lfsmake2 monit
lfsmake2 watchdog
lfsmake2 libpri
lfsmake2 libsrtp
+ lfsmake2 jansson
lfsmake2 asterisk
- lfsmake2 lcr
lfsmake2 usb_modeswitch
lfsmake2 usb_modeswitch_data
lfsmake2 zerofree
lfsmake2 powertop
lfsmake2 parted
lfsmake2 swig
+ lfsmake2 python-typing
lfsmake2 python-m2crypto
lfsmake2 wireless-regdb
lfsmake2 crda
lfsmake2 iptraf-ng
lfsmake2 iotop
lfsmake2 stunnel
- lfsmake2 sslscan
- lfsmake2 owncloud
lfsmake2 bacula
lfsmake2 batctl
lfsmake2 perl-Font-TTF
lfsmake2 libpciaccess
lfsmake2 libyajl
lfsmake2 libvirt
- lfsmake2 python3-libvirt
lfsmake2 freeradius
lfsmake2 perl-common-sense
lfsmake2 perl-inotify2
lfsmake2 perl-Net-IP
lfsmake2 wio
lfsmake2 iftop
+ lfsmake2 mdns-repeater
+ lfsmake2 i2c-tools
}
buildinstaller() {
export LOGFILE
lfsmake2 memtest
lfsmake2 installer
- lfsmake1 strip
+ # use toolchain bash for chroot to strip
+ EXTRA_PATH=${TOOLS_DIR}/bin/ lfsmake2 strip
}
buildpackages() {