Files
bpfire/lfs/bash
Adolf Belka bebbb0423d bash: Update to include patches 27 to 32
- Update from patches 1-26 to 1-32
- Update of rootfile not required
- Changelog of patches
   27	The configure test for the presence of strtoimax(3) is inverted.
   28	A DEBUG trap in an asynchronous process can steal the controlling terminal
	away from the calling shell, causing it to exit.
   29	There are problems with recovery after parser errors when parsing compound
	assignments. For instance, the `local' builtin reports an error but never
	cleans up the function context.
   30	`wait -n' can fail to return some jobs if they exit due to signals the shell
	does not report to the user.
   31	There is a memory leak in the code that implements the optimized $(<file)
	expansion for some code paths.
   32	When printing functions containing coprocesses, the displayed coproc command
	has the word COPROC inserted unconditionally, resulting in function bodies
	that cannot be re-read as input.

Signed-off-by: Adolf Belka <adolf.belka@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-08-14 09:07:16 +00:00

114 lines
4.0 KiB
Plaintext

###############################################################################
# #
# IPFire.org - A linux based firewall #
# Copyright (C) 2007-2024 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 #
# the Free Software Foundation, either version 3 of the License, or #
# (at your option) any later version. #
# #
# This program is distributed in the hope that it will be useful, #
# but WITHOUT ANY WARRANTY; without even the implied warranty of #
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
# GNU General Public License for more details. #
# #
# You should have received a copy of the GNU General Public License #
# along with this program. If not, see <http://www.gnu.org/licenses/>. #
# #
###############################################################################
###############################################################################
# Definitions
###############################################################################
include Config
VER = 5.2
THISAPP = bash-$(VER)
DL_FILE = $(THISAPP).tar.gz
DL_FROM = $(URL_IPFIRE)
DIR_APP = $(DIR_SRC)/$(THISAPP)
# Normal build or $(TOOLS_DIR) build.
#
ifeq "$(ROOT)" ""
TARGET = $(DIR_INFO)/$(THISAPP)
CONFIGURE_OPTIONS = \
--bindir=/bin \
--with-installed-readline
else
TARGET = $(DIR_INFO)/$(THISAPP)-tools
endif
CONFIGURE_OPTIONS += \
--without-bash-malloc
###############################################################################
# Top-level Rules
###############################################################################
objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
$(DL_FILE)_BLAKE2 = 51b196e710794ebad8eac28c31c93eb99ac1a7db30919a13271e39e1cb66a0672f242df75fc7d71627ea873dfbce53ec35c0c56a71c5167143070a7811343fd9
install : $(TARGET)
check : $(patsubst %,$(DIR_CHK)/%,$(objects))
download :$(patsubst %,$(DIR_DL)/%,$(objects))
b2 : $(subst %,%_BLAKE2,$(objects))
###############################################################################
# Downloading, checking, b2sum
###############################################################################
$(patsubst %,$(DIR_CHK)/%,$(objects)) :
@$(CHECK)
$(patsubst %,$(DIR_DL)/%,$(objects)) :
@$(LOAD)
$(subst %,%_BLAKE2,$(objects)) :
@$(B2SUM)
###############################################################################
# Installation Details
###############################################################################
$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
@$(PREBUILD)
@rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zaxf $(DIR_DL)/$(DL_FILE)
sed -e "s/filename, RTLD_LAZY/filename, RTLD_NOW/" \
-i $(DIR_APP)/builtins/enable.def
cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/bash/bash-4.0-paths-1.patch
cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/bash/bash-4.0-profile-1.patch
cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/bash/bash-3.2-ssh_source_bash.patch
for i in $$(seq 1 32); do \
cd $(DIR_APP) && patch -Np0 < $(DIR_SRC)/src/patches/bash/bash52-$$(printf "%03d" "$${i}") || exit 1; \
done
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)