]> git.ipfire.org Git - people/pmueller/ipfire-2.x.git/commitdiff
Merge remote-tracking branch 'ms/faster-build' into next
authorMichael Tremer <michael.tremer@ipfire.org>
Fri, 24 May 2019 05:54:16 +0000 (06:54 +0100)
committerMichael Tremer <michael.tremer@ipfire.org>
Fri, 24 May 2019 05:54:16 +0000 (06:54 +0100)
1  2 
lfs/linux
make.sh

diff --combined lfs/linux
index 3eab07107ff32ed9a25262c6ead8c03e6da364de,86755f46fabc9853106122e0c72c8a49b9ec5815..c7a475553cf6d95ebef49fc52a4f461beec483a7
+++ b/lfs/linux
@@@ -24,8 -24,8 +24,8 @@@
  
  include Config
  
 -VER         = 4.14.113
 -ARM_PATCHES = 4.14.113-ipfire0
 +VER         = 4.14.121
 +ARM_PATCHES = 4.14.121-ipfire0
  
  THISAPP    = linux-$(VER)
  DL_FILE    = linux-$(VER).tar.xz
@@@ -34,7 -34,7 +34,7 @@@ DIR_APP    = $(DIR_SRC)/$(THISAPP
  CFLAGS     =
  CXXFLAGS   =
  
 -PAK_VER    = 82
 +PAK_VER    = 83
  DEPS     = ""
  
  HEADERS_ARCH  = $(BUILD_PLATFORM)
@@@ -82,8 -82,8 +82,8 @@@ objects =$(DL_FILE) 
  $(DL_FILE)                                    = $(URL_IPFIRE)/$(DL_FILE)
  arm-multi-patches-$(ARM_PATCHES).patch.xz     = $(URL_IPFIRE)/arm-multi-patches-$(ARM_PATCHES).patch.xz
  
 -$(DL_FILE)_MD5                                        = fd34a25839945f902f0c6d694d42ea7f
 -arm-multi-patches-$(ARM_PATCHES).patch.xz_MD5 = 51eab5175bf8f0ad986006c74e60b472
 +$(DL_FILE)_MD5                                        = 619cfc35e376eaa1f05d835624bbb432
 +arm-multi-patches-$(ARM_PATCHES).patch.xz_MD5 = ac64bdb78fbecba032b92df61c928d3f
  
  install : $(TARGET)
  
@@@ -199,6 -199,46 +199,46 @@@ ifeq "$(BUILD_PLATFORM)" "arm
                        done
  endif
  
+       # Recreate source and build links
+       rm -rf /lib/modules/$(VER)-$(VERSUFIX)/{build,source}
+       mkdir -p /lib/modules/$(VER)-$(VERSUFIX)/build
+       ln -sf build /lib/modules/$(VER)-$(VERSUFIX)/source
+       # Create dirs for extra modules
+       mkdir -p /lib/modules/$(VER)-$(VERSUFIX)/extra
+       cd $(DIR_APP) && cp --parents $$(find -type f -name "Makefile*" -o -name "Kconfig*") \
+               /lib/modules/$(VER)-$(VERSUFIX)/build
+       cd $(DIR_APP) && cp Module.symvers System.map /lib/modules/$(VER)-$(VERSUFIX)/build
+       rm -rf /lib/modules/$(VER)-$(VERSUFIX)/build/{Documentation,scripts,include}
+       cd $(DIR_APP) && cp .config /lib/modules/$(VER)-$(VERSUFIX)/build
+       cd $(DIR_APP) && cp -a scripts /lib/modules/$(VER)-$(VERSUFIX)/build
+       find /lib/modules/$(VER)-$(VERSUFIX)/build/scripts -name "*.o" -exec rm -vf {} \;
+       cd $(DIR_APP) && cp -a --parents arch/$(HEADERS_ARCH)/include /lib/modules/$(VER)-$(VERSUFIX)/build
+       cd $(DIR_APP) && cp -a include /lib/modules/$(VER)-$(VERSUFIX)/build/include
+       # Install objtool
+       cd $(DIR_APP) && cp -a tools/objtool/objtool \
+               /lib/modules/$(VER)-$(VERSUFIX)/build/tools/objtool/ || :
+       cd $(DIR_APP) && cp -a --parents tools/build/{Build,Build.include,fixdep.c} \
+               tools/scripts/utilities.mak /lib/modules/$(VER)-$(VERSUFIX)/build
+       # Make sure we can build external modules
+       touch -r /lib/modules/$(VER)-$(VERSUFIX)/build/Makefile \
+               /lib/modules/$(VER)-$(VERSUFIX)/build/include/generated/uapi/linux/version.h
+       touch -r /lib/modules/$(VER)-$(VERSUFIX)/build/.config \
+               /lib/modules/$(VER)-$(VERSUFIX)/build/autoconf.h
+       cp /lib/modules/$(VER)-$(VERSUFIX)/build/.config \
+               /lib/modules/$(VER)-$(VERSUFIX)/build/include/config/auto.conf
+       # Fix permissions
+       find /lib/modules/$(VER)-$(VERSUFIX) -name "modules.order" \
+               -exec chmod 644 {} \;
+       find /lib/modules/$(VER)-$(VERSUFIX) -name ".*.cmd" -exec rm -f {} \;
  ifeq "$(LASTKERNEL)" "1"
        # Only do this once
        cd $(DIR_APP) && install -m 755 usr/gen_init_cpio /sbin/
@@@ -225,5 -265,5 +265,5 @@@ endi
        -rm -f /usr/src/log/*-kmod-$(VER)-$(VERSUFIX)
        -rm -f /usr/src/log/linux-initrd-$(VER)-$(VERSUFIX)
  
-       @rm -rf $(DIR_SRC)/patch-o-matic* $(DIR_SRC)/iptables* $(DIR_SRC)/squashfs* $(DIR_SRC)/netfilter-layer7-*
+       @rm -rf $(DIR_APP) $(DIR_SRC)/linux
        @$(POSTBUILD)
diff --combined make.sh
index 15dcd1090922cb459e62e419df49dc62fb646635,7eaa08490a1a3a7a37ebec93e7d104e46c131a85..98e1276fc1b8a73fa7a2bbf3b2603aa784a7c9bd
+++ b/make.sh
  
  NAME="IPFire"                                                 # Software name
  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="132"                                                    # Core Level (Filename)
 -PAKFIRE_CORE="131"                                            # Core Level (PAKFIRE)
 +CORE="133"                                                    # Core Level (Filename)
 +PAKFIRE_CORE="132"                                            # 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
@@@ -282,6 -281,7 +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() {
@@@ -469,6 -469,12 +470,12 @@@ prepareenv() 
        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
+       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
@@@ -727,7 -733,7 +734,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 -898,9 +899,9 @@@ update_contributors() 
        return 0
  }
  
+ # Default settings
+ ENABLE_RAMDISK="auto"
  # Load configuration file
  if [ -f .config ]; then
        . .config
@@@ -913,6 -922,14 +923,14 @@@ els
        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
@@@ -1596,7 -1613,6 +1614,7 @@@ buildipfire() 
    lfsmake2 zabbix_agentd
    lfsmake2 flashrom
    lfsmake2 firmware-update
 +  lfsmake2 tshark
  }
  
  buildinstaller() {