]> git.ipfire.org Git - people/pmueller/ipfire-2.x.git/blobdiff - lfs/bash
gcc: Fix building with glibc >= 2.28
[people/pmueller/ipfire-2.x.git] / lfs / bash
index 47a6c45954a3d4353b8401b13275ca4d7ccd6760..09b4e71e689f1120f3060e003f70ae4a80331e63 100644 (file)
--- a/lfs/bash
+++ b/lfs/bash
@@ -1,7 +1,7 @@
 ###############################################################################
 #                                                                             #
 # IPFire.org - A linux based firewall                                         #
-# Copyright (C) 2007  Michael Tremer & Christian Schmidt                      #
+# Copyright (C) 2007-2018  IPFire Team  <info@ipfire.org>                     #
 #                                                                             #
 # This program is free software: you can redistribute it and/or modify        #
 # it under the terms of the GNU General Public License as published by        #
 
 include Config
 
-VER        = 3.2
+VER        = 4.3
 
 THISAPP    = bash-$(VER)
 DL_FILE    = $(THISAPP).tar.gz
 DL_FROM    = $(URL_IPFIRE)
 DIR_APP    = $(DIR_SRC)/$(THISAPP)
 
-# Normal build or /tools build.
+# Normal build or $(TOOLS_DIR) build.
 #
 ifeq "$(ROOT)" ""
   TARGET = $(DIR_INFO)/$(THISAPP)
-  EXTRA_CONFIG = --prefix=/usr --bindir=/bin \
-    --without-bash-malloc --with-installed-readline \
-    --disable-nls
-  EXTRA_MAKE =
-  EXTRA_INSTALL =
+  CONFIGURE_OPTIONS = \
+       --bindir=/bin \
+       --with-installed-readline
 else
   TARGET = $(DIR_INFO)/$(THISAPP)-tools
-  EXTRA_CONFIG = --prefix=/tools --without-bash-malloc \
-    --disable-nls
-  EXTRA_MAKE = 
-  EXTRA_INSTALL = 
 endif
 
-EXTRA_CONFIG += ac_cv_func_working_mktime=yes
+CONFIGURE_OPTIONS += \
+       --without-bash-malloc
 
 ###############################################################################
 # Top-level Rules
@@ -58,7 +53,7 @@ objects = $(DL_FILE)
 
 $(DL_FILE)             = $(DL_FROM)/$(DL_FILE)
 
-$(DL_FILE)_MD5         = 00bfa16d58e034e3c2aa27f390390d30
+$(DL_FILE)_MD5         = 81348932d5da294953e15d4814c74dd1
 
 install : $(TARGET)
 
@@ -87,26 +82,31 @@ $(subst %,%_MD5,$(objects)) :
 
 $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
        @$(PREBUILD)
-       @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
+       @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zaxf $(DIR_DL)/$(DL_FILE)
 
-       for i in $$(seq 1 51); do \
-               cd $(DIR_APP) && patch -Np0 < $(DIR_SRC)/src/patches/bash/bash32-$$(printf "%03d" "$${i}") || exit 1; \
+       sed -e "s/filename, RTLD_LAZY/filename, RTLD_NOW/" \
+               -i $(DIR_APP)/builtins/enable.def
+
+       for i in $$(seq 1 30); do \
+               cd $(DIR_APP) && patch -Np0 < $(DIR_SRC)/src/patches/bash/bash43-$$(printf "%03d" "$${i}") || exit 1; \
        done
 
        cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/bash-4.0-paths-1.patch
        cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/bash-4.0-profile-1.patch
        cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/bash-3.2-ssh_source_bash.patch
-       cd $(DIR_APP) && patch -Np0 < $(DIR_SRC)/src/patches/bash-3.2-CVE-2014-6271.patch
-
-       cd $(DIR_APP) && ./configure $(EXTRA_CONFIG)
-       cd $(DIR_APP) && make $(EXTRA_MAKE)
-       cd $(DIR_APP) && make $(EXTRA_INSTALL) install
-       ln -sf bash /bin/sh
-ifneq "$(ROOT)" ""
-       -mkdir -p $(ROOT)/bin
-       -mkdir -p $(ROOT)/usr/bin
-       ln -sf bash /tools/bin/sh
-       -ln -sf /tools/bin/bash $(ROOT)/bin/sh
+
+       cd $(DIR_APP) && ./configure --prefix=$(PREFIX) $(CONFIGURE_OPTIONS)
+       cd $(DIR_APP) && make $(MAKETUNING)
+       cd $(DIR_APP) && make install
+
+ifeq "$(TOOLCHAIN)" "1"
+       ln -svf bash $(TOOLS_DIR)/bin/sh
+
+       mkdir -pv $(ROOT)/bin
+       ln -svf ..$(TOOLS_DIR)/bin/bash $(ROOT)/bin/sh
+else
+       ln -svf bash /bin/sh
 endif
+
        @rm -rf $(DIR_APP)
        @$(POSTBUILD)