X-Git-Url: http://git.ipfire.org/?p=ipfire-2.x.git;a=blobdiff_plain;f=make.sh;h=f4e2bfc56f8be68124364715ee85655178e97e1e;hp=1d9163dce492950f2e85984e12c03702eb77488a;hb=8288c0394bb96f5aa3878ea86c05c2d92d677347;hpb=9d1708e081d7e7ba490db3620509dcce29cb0ae8 diff --git a/make.sh b/make.sh index 1d9163dce4..f4e2bfc56f 100755 --- a/make.sh +++ b/make.sh @@ -17,7 +17,7 @@ # 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-2018 IPFire Team . # +# Copyright (C) 2007-2019 IPFire Team . # # # ############################################################################ # @@ -25,8 +25,8 @@ NAME="IPFire" # Software name SNAME="ipfire" # Short name VERSION="2.21" # Version number -CORE="127" # Core Level (Filename) -PAKFIRE_CORE="126" # Core Level (PAKFIRE) +CORE="129" # Core Level (Filename) +PAKFIRE_CORE="128" # 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 @@ -201,31 +201,22 @@ configure_build() { CXXFLAGS="${CFLAGS}" # Determine parallelism - if [ -z "${MAKETUNING}" ]; then - # We assume that each process consumes about - # 192MB of memory. Therefore we find out how - # many processes fit into memory. - local mem_max=$(( ${HOST_MEM} / 192 )) - - local processors="$(system_processors)" - local cpu_max=$(( ${processors} + 1 )) - - local parallelism - if [ ${mem_max} -lt ${cpu_max} ]; then - parallelism=${mem_max} - else - parallelism=${cpu_max} - fi - - # limit to -j23 because perl will not build - # more - if [ ${parallelism} -gt 23 ]; then - parallelism=23 - fi - - MAKETUNING="-j${parallelism}" + # We assume that each process consumes about + # 128MB of memory. Therefore we find out how + # many processes fit into memory. + local mem_max=$(( ${SYSTEM_MEMORY} / 128 )) + local cpu_max=$(( ${SYSTEM_PROCESSORS} + 1 )) + + local parallelism + if [ ${mem_max} -lt ${cpu_max} ]; then + parallelism=${mem_max} + else + parallelism=${cpu_max} fi + # Use this as default PARALLELISM + DEFAULT_PARALLELISM="${parallelism}" + # Compression parameters # We use mode 8 for reasonable memory usage when decompressing # but with overall good compression @@ -237,7 +228,7 @@ configure_build() { # We need to limit memory because XZ uses too much when running # in parallel and it isn't very smart in limiting itself. # We allow XZ to use up to 70% of all system memory. - local xz_memory=$(( HOST_MEM * 7 / 10 )) + local xz_memory=$(( SYSTEM_MEMORY * 7 / 10 )) # XZ memory cannot be larger than 2GB on 32 bit systems case "${build_arch}" in @@ -469,7 +460,7 @@ prepareenv() { # Setup environment set +h LC_ALL=POSIX - export LFS LC_ALL CFLAGS CXXFLAGS MAKETUNING + export LFS LC_ALL CFLAGS CXXFLAGS DEFAULT_PARALLELISM unset CC CXX CPP LD_LIBRARY_PATH LD_PRELOAD # Make some extra directories @@ -554,6 +545,9 @@ enterchroot() { CCACHE_COMPILERCHECK="${CCACHE_COMPILERCHECK}" \ KVER="${KVER}" \ XZ_OPT="${XZ_OPT}" \ + DEFAULT_PARALLELISM="${DEFAULT_PARALLELISM}" \ + SYSTEM_PROCESSORS="${SYSTEM_PROCESSORS}" \ + SYSTEM_MEMORY="${SYSTEM_MEMORY}" \ $(fake_environ) \ $(qemu_environ) \ "$@" @@ -633,7 +627,9 @@ lfsmake1() { CCACHE_COMPILERCHECK="${CCACHE_COMPILERCHECK}" \ CFLAGS="${CFLAGS}" \ CXXFLAGS="${CXXFLAGS}" \ - MAKETUNING="${MAKETUNING}" \ + DEFAULT_PARALLELISM="${DEFAULT_PARALLELISM}" \ + SYSTEM_PROCESSORS="${SYSTEM_PROCESSORS}" \ + SYSTEM_MEMORY="${SYSTEM_MEMORY}" \ make -f $* \ TOOLCHAIN=1 \ TOOLS_DIR="${TOOLS_DIR}" \ @@ -662,7 +658,6 @@ lfsmake2() { enterchroot \ ${EXTRA_PATH}bash -x -c "cd /usr/src/lfs && \ - MAKETUNING=${MAKETUNING} \ make -f $* \ LFS_BASEDIR=/usr/src install" \ >> ${LOGFILE} 2>&1 & @@ -907,8 +902,9 @@ if [ -n "${TARGET_ARCH}" ]; then unset TARGET_ARCH fi -# Get the amount of memory in this build system -HOST_MEM=$(system_memory) +# Get some information about the host system +SYSTEM_PROCESSORS="$(system_processors)" +SYSTEM_MEMORY="$(system_memory)" if [ -n "${BUILD_ARCH}" ]; then configure_build "${BUILD_ARCH}" @@ -1087,7 +1083,6 @@ buildipfire() { lfsmake2 backup lfsmake2 openssl [ "${BUILD_ARCH}" = "i586" ] && lfsmake2 openssl KCFG='-sse2' - lfsmake2 openssl-compat lfsmake2 popt lfsmake2 libusb lfsmake2 libusb-compat @@ -1101,6 +1096,7 @@ buildipfire() { lfsmake2 xr819-firmware lfsmake2 zd1211-firmware lfsmake2 rpi-firmware + lfsmake2 intel-microcode lfsmake2 bc lfsmake2 u-boot MKIMAGE=1 lfsmake2 cpio @@ -1173,7 +1169,6 @@ buildipfire() { lfsmake2 linux-initrd KCFG="-multi" ;; esac - lfsmake2 intel-microcode lfsmake2 xtables-addons USPACE="1" lfsmake2 libgpg-error lfsmake2 libgcrypt @@ -1305,6 +1300,7 @@ buildipfire() { lfsmake2 python-daemon lfsmake2 python-ipaddress lfsmake2 glib + lfsmake2 GeoIP lfsmake2 ntp lfsmake2 openssh lfsmake2 fontconfig @@ -1500,6 +1496,8 @@ buildipfire() { lfsmake2 python-progressbar lfsmake2 python-xattr lfsmake2 ddns + lfsmake2 python3-setuptools + lfsmake2 python3-setuptools-scm lfsmake2 python3-six lfsmake2 python3-dateutil lfsmake2 python3-jmespath @@ -1510,6 +1508,8 @@ buildipfire() { lfsmake2 python3-rsa lfsmake2 python3-pyasn1 lfsmake2 python3-botocore + lfsmake2 python3-llfuse + lfsmake2 python3-msgpack lfsmake2 aws-cli lfsmake2 transmission lfsmake2 dpfhack @@ -1583,6 +1583,11 @@ buildipfire() { lfsmake2 nss-myhostname lfsmake2 dehydrated lfsmake2 shairport-sync + lfsmake2 borgbackup + lfsmake2 libedit + lfsmake2 knot + lfsmake2 spectre-meltdown-checker + lfsmake2 zabbix_agentd } buildinstaller() {