X-Git-Url: http://git.ipfire.org/?a=blobdiff_plain;f=make.sh;h=cdf5bbed7eadeea898a46a72aa9c00b538f3a6de;hb=91056adea5d6e203f41e7743443eb61ed2b885cf;hp=15dcd1090922cb459e62e419df49dc62fb646635;hpb=79967ee9c4afb291d88f83d0a2c167d9e2f02f37;p=ipfire-2.x.git diff --git a/make.sh b/make.sh index 15dcd10909..cdf5bbed7e 100755 --- a/make.sh +++ b/make.sh @@ -27,7 +27,7 @@ SNAME="ipfire" # Short name # If you update the version don't forget to update backupiso and add it to core update VERSION="2.23" # Version number CORE="133" # Core Level (Filename) -PAKFIRE_CORE="132" # Core Level (PAKFIRE) +PAKFIRE_CORE="133" # 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 @@ -38,7 +38,7 @@ KVER=`grep --max-count=1 VER lfs/linux | awk '{ print $3 }'` GIT_TAG=$(git tag | tail -1) # Git Tag GIT_LASTCOMMIT=$(git log | head -n1 | cut -d" " -f2 |head -c8) # Last commit -TOOLCHAINVER=20181030 +TOOLCHAINVER=20190427 ############################################################################### # @@ -282,6 +282,7 @@ stdumount() { umount $BASEDIR/build/usr/src/lfs 2>/dev/null; umount $BASEDIR/build/usr/src/log 2>/dev/null; umount $BASEDIR/build/usr/src/src 2>/dev/null; + umount $BASEDIR/build/usr/src 2>/dev/null; } now() { @@ -468,7 +469,13 @@ prepareenv() { mkdir -p "${BASEDIR}/build${TOOLS_DIR}" 2>/dev/null mkdir -p $BASEDIR/build/{etc,usr/src} 2>/dev/null mkdir -p $BASEDIR/build/{dev/{shm,pts},proc,sys} - mkdir -p $BASEDIR/{cache,ccache} 2>/dev/null + mkdir -p $BASEDIR/{cache,ccache/${BUILD_ARCH}} 2>/dev/null + + if [ "${ENABLE_RAMDISK}" = "on" ]; then + mkdir -p $BASEDIR/build/usr/src + mount -t tmpfs tmpfs -o size=4G,mode=1777 $BASEDIR/build/usr/src + fi + mkdir -p $BASEDIR/build/usr/src/{cache,config,doc,html,langs,lfs,log,src,ccache} mknod -m 600 $BASEDIR/build/dev/console c 5 1 2>/dev/null @@ -481,7 +488,7 @@ prepareenv() { mount --bind /proc $BASEDIR/build/proc mount --bind /sys $BASEDIR/build/sys mount --bind $BASEDIR/cache $BASEDIR/build/usr/src/cache - mount --bind $BASEDIR/ccache $BASEDIR/build/usr/src/ccache + mount --bind $BASEDIR/ccache/${BUILD_ARCH} $BASEDIR/build/usr/src/ccache mount --bind $BASEDIR/config $BASEDIR/build/usr/src/config mount --bind $BASEDIR/doc $BASEDIR/build/usr/src/doc mount --bind $BASEDIR/html $BASEDIR/build/usr/src/html @@ -513,6 +520,9 @@ prepareenv() { SYSTEM_RELEASE="${SYSTEM_RELEASE} - Development Build: $GIT_BRANCH/$GIT_LASTCOMMIT$GIT_STATUS" ;; esac + + # Setup ccache cache size + enterchroot ccache --max-size="${CCACHE_CACHE_SIZE}" >/dev/null } enterchroot() { @@ -727,7 +737,7 @@ fake_environ() { # Fake kernel version, because some of the packages do not compile # with kernel 3.0 and later. - env="${env} UTS_RELEASE=${KVER}" + env="${env} UTS_RELEASE=${KVER}-ipfire" # Fake machine version. env="${env} UTS_MACHINE=${BUILD_ARCH}" @@ -892,6 +902,10 @@ update_contributors() { return 0 } +# Default settings +CCACHE_CACHE_SIZE="4G" +ENABLE_RAMDISK="auto" + # Load configuration file if [ -f .config ]; then . .config @@ -913,6 +927,14 @@ else configure_build "default" fi +# Automatically enable/disable ramdisk usage +if [ "${ENABLE_RAMDISK}" = "auto" ]; then + # Enable only when the host system has 4GB of RAM or more + if [ ${SYSTEM_MEMORY} -ge 3900 ]; then + ENABLE_RAMDISK="on" + fi +fi + buildtoolchain() { local error=false case "${BUILD_ARCH}:${HOST_ARCH}" in @@ -996,6 +1018,7 @@ buildtoolchain() { lfsmake1 make lfsmake1 patch lfsmake1 perl + lfsmake1 python3 lfsmake1 sed lfsmake1 tar lfsmake1 texinfo @@ -1318,8 +1341,12 @@ buildipfire() { lfsmake2 setserial lfsmake2 setup lfsmake2 libdnet + lfsmake2 jansson lfsmake2 yaml lfsmake2 libhtp + lfsmake2 colm + lfsmake2 ragel + lfsmake2 hyperscan lfsmake2 suricata lfsmake2 oinkmaster lfsmake2 ids-ruleset-sources @@ -1467,7 +1494,6 @@ buildipfire() { lfsmake2 perl-gettext lfsmake2 perl-Sort-Naturally lfsmake2 vdradmin - lfsmake2 miau lfsmake2 perl-DBI lfsmake2 perl-DBD-SQLite lfsmake2 perl-File-ReadBackwards @@ -1479,7 +1505,6 @@ buildipfire() { lfsmake2 watchdog lfsmake2 libpri lfsmake2 libsrtp - lfsmake2 jansson lfsmake2 asterisk lfsmake2 usb_modeswitch lfsmake2 usb_modeswitch_data