logo

live-bootstrap

Mirror of <https://github.com/fosslinux/live-bootstrap>
commit: bc402d8af80d9446cf0fb6c6e7cf2bfea91e9b07
parent 1946e02d443cf7c21175d78910eafc76c644a505
Author: fosslinux <fosslinux@aussies.space>
Date:   Sat, 30 Jan 2021 08:15:41 +1100

Merge pull request #22 from stikonas/bash_parser

Bash parser

Diffstat:

MREADME.md18++++++------------
Msysa/bash-2.05b/bash-2.05b.kaem1+
Msysa/bash-2.05b/mk/main.mk3+++
3 files changed, 10 insertions(+), 12 deletions(-)

diff --git a/README.md b/README.md @@ -181,14 +181,7 @@ old tooling instead. #### Part 7: sed 4.0.7 -You are most likely aware of GNU `sed`, a line editor. Here, we had to make a -compromise between two versions: - -- 1.18: fully functional `s/a/b`, but no `-i`. -- 4.0.7: fully functional `-i`, but broken `s/a/b`. - -We opted for the latter, as otherwise there would be no patching of files for -quite some time. We can delete lines from files now! +You are most likely aware of GNU `sed`, a line editor. #### Part 8: tar 1.12 @@ -252,16 +245,17 @@ be useful later for autotools. of standard UNIX utilities derived from code by Caldera and Sun. Differently from the analogous utilities from the GNU project, they can be compiled with a simple `Makefile`. -#### Part 21: bash 2.05b +#### Part 18: bash 2.05b GNU `bash` is the most well known shell and the most complex piece of software so far. However, it comes with a number of great benefits over kaem, including proper POSIX sh support, globbing, etc. -NOTE: Currently, there is a bison pre-generated file here, which we are working -to remove. +Bash ships with a bison pre-generated file here which we delete. Unfortunately, +we have not bootstrapped bison but fortunately for us, heirloom yacc is able to +cope here. -#### Part 22: m4 1.4 +#### Part 19: m4 1.4 `m4` is the first piece of software we need in the autotools suite. It allows macros to be defined and files to be generated from those macros. diff --git a/sysa/bash-2.05b/bash-2.05b.kaem b/sysa/bash-2.05b/bash-2.05b.kaem @@ -17,6 +17,7 @@ cp ../../mk/common.mk common.mk touch config.h touch include/version.h touch include/pipesize.h +rm y.tab.c y.tab.h # Patch patch -Np0 -i ../../patches/mes-libc.patch diff --git a/sysa/bash-2.05b/mk/main.mk b/sysa/bash-2.05b/mk/main.mk @@ -78,6 +78,9 @@ mksignames: $(MKSIGNAMES_OBJS) signames.h: mksignames ./mksignames $@ +y.tab.c: parse.y + yacc -d $^ + trap.c: signames.h bash: libsh.a libglob.a libtilde.a $(OBJS)