]> git.ipfire.org Git - ipfire-3.x.git/blobdiff - bash/bash.nm
kernel: Update to 4.20
[ipfire-3.x.git] / bash / bash.nm
index 83435ded304acf2d7e572f8847c7fe0b748c81bd..0ca9d15607df77075d840c32a626589e500c1d9e 100644 (file)
@@ -4,8 +4,8 @@
 ###############################################################################
 
 name       = bash
-version    = 4.2
-release    = 11
+version    = 4.4
+release    = 1
 
 groups     = System/Tools
 url        = http://www.gnu.org/software/bash/
@@ -28,28 +28,45 @@ build
                bison
                filesystem >= 002
                ncurses-devel
-               readline-devel
+               readline-devel >= 7.0
                texinfo
        end
 
+       # Disable parallel build
+       MAKETUNING =
+
        prepare_cmds
                # Bash uses the RTLD_LAZY option when loading libraries. We want to use
                # RTLD_NOW (it is defined from <dlfcn.h>:
                sed -e "s/filename, RTLD_LAZY/filename, RTLD_NOW/" \
                        -i builtins/enable.def
-
-               sed -i "s|htmldir = @htmldir@|htmldir = /usr/share/doc/%{thisapp}|" \
-                       Makefile.in
        end
 
+       CPPFLAGS += -D_GNU_SOURCE %(getconf LFS_CFLAGS)
+
+       CPPFLAGS += -DNON_INTERACTIVE_LOGIN_SHELLS
+       CPPFLAGS += -DSSH_SOURCE_BASHRC
+
+       # Recycles pids is neccessary. When bash's last fork's pid was X
+       # and new fork's pid is also X, bash has to wait for this same pid.
+       # Without Recycles pids bash will not wait.
+       CPPFLAGS += -DRECYCLES_PIDS
+
+       CPPFLAGS += \
+               -DDEFAULT_PATH_VALUE='\"/usr/local/bin:/usr/bin\"' \
+               -DSTANDARD_UTILS_PATH='\"/bin:/usr/bin:/sbin:/usr/sbin\"' \
+               -DSYS_BASH_LOGOUT='\"/etc/bash.bash_logout\"'
+
        configure_options += \
-               --without-bash-malloc \
-               --with-installed-readline
+               --with-installed-readline \
+               --with-afs \
+               --with-bash-malloc=no
+
+       make_build_targets += CPPFLAGS="%{CPPFLAGS}"
 
-       # Test hangs forever
-       #def test
-       #       make tests
-       #end
+       test
+               make tests
+       end
 
        install_cmds
                mkdir -pv %{BUILDROOT}%{sysconfdir}/{profile.d,skel}
@@ -68,6 +85,16 @@ build
                cp -vf %{DIR_SOURCE}/profile.d/* %{BUILDROOT}/etc/profile.d
 
                ln -svf bash %{BUILDROOT}%{bindir}/sh
+
+               # https://bugzilla.redhat.com/show_bug.cgi?id=820192
+               # bug #820192, need to add execable alternatives for regular built-ins
+               for f in alias bg cd command fc fg getopts jobs read umask unalias wait; do
+                       (
+                               echo "#!/bin/sh"
+                               echo "builtin \"${f}\" \"\$@\""
+                       ) > "%{BUILDROOT}/%{bindir}/${f}"
+                       chmod +x "%{BUILDROOT}%{bindir}/${f}"
+               done
        end
 end