mirror of
https://github.com/fosslinux/live-bootstrap.git
synced 2026-03-15 07:45:24 +01:00
Build bash 5.1 only after GCC.
This commit is contained in:
parent
0572ff41ef
commit
634cae7b68
10 changed files with 32 additions and 61 deletions
23
parts.rst
23
parts.rst
|
|
@ -502,15 +502,6 @@ autoconf 2.61
|
||||||
|
|
||||||
Yet another version of ``autoconf``.
|
Yet another version of ``autoconf``.
|
||||||
|
|
||||||
bash 5.1
|
|
||||||
========
|
|
||||||
|
|
||||||
Up to this point, our build of ``bash`` could run scripts but could not be used
|
|
||||||
interactively. This new version of ``bash`` compiles without any patches,
|
|
||||||
provides new features, and is built with GNU readline support so it can be used
|
|
||||||
as an interactive shell. ``autoconf-2.61`` is used to regenerate the configure
|
|
||||||
script and ``bison`` is used to recreate some included generated files.
|
|
||||||
|
|
||||||
automake 1.9.6
|
automake 1.9.6
|
||||||
==============
|
==============
|
||||||
|
|
||||||
|
|
@ -526,11 +517,6 @@ compiler for most projects related to GNU and the Linux kernel.
|
||||||
|
|
||||||
Only the C frontend is built at this stage.
|
Only the C frontend is built at this stage.
|
||||||
|
|
||||||
bash 5.1 (gcc)
|
|
||||||
==============
|
|
||||||
|
|
||||||
Rebuild bash with GCC.
|
|
||||||
|
|
||||||
musl 1.2.2
|
musl 1.2.2
|
||||||
==========
|
==========
|
||||||
|
|
||||||
|
|
@ -542,3 +528,12 @@ gcc 4.0.4
|
||||||
=========
|
=========
|
||||||
|
|
||||||
Rebuild GCC with GCC and also against the latest musl.
|
Rebuild GCC with GCC and also against the latest musl.
|
||||||
|
|
||||||
|
bash 5.1
|
||||||
|
========
|
||||||
|
|
||||||
|
Up to this point, our build of ``bash`` could run scripts but could not be used
|
||||||
|
interactively. This new version of ``bash`` compiles without any patches,
|
||||||
|
provides new features, and is built with GNU readline support so it can be used
|
||||||
|
as an interactive shell. ``autoconf-2.61`` is used to regenerate the configure
|
||||||
|
script and ``bison`` is used to recreate some included generated files.
|
||||||
|
|
|
||||||
|
|
@ -255,9 +255,6 @@ get_file https://ftp.gnu.org/gnu/help2man/help2man-1.36.4.tar.gz
|
||||||
# autoconf 2.61
|
# autoconf 2.61
|
||||||
get_file https://ftp.gnu.org/gnu/autoconf/autoconf-2.61.tar.bz2
|
get_file https://ftp.gnu.org/gnu/autoconf/autoconf-2.61.tar.bz2
|
||||||
|
|
||||||
# bash 5.1
|
|
||||||
get_file https://ftp.gnu.org/gnu/bash/bash-5.1.tar.gz
|
|
||||||
|
|
||||||
# automake 1.9.6
|
# automake 1.9.6
|
||||||
get_file https://ftp.gnu.org/gnu/automake/automake-1.9.6.tar.bz2
|
get_file https://ftp.gnu.org/gnu/automake/automake-1.9.6.tar.bz2
|
||||||
|
|
||||||
|
|
@ -267,6 +264,9 @@ get_file https://ftp.gnu.org/gnu/gcc/gcc-4.0.4/gcc-core-4.0.4.tar.bz2 0 gcc-4.0.
|
||||||
# musl 1.2.2
|
# musl 1.2.2
|
||||||
get_file https://musl.libc.org/releases/musl-1.2.2.tar.gz
|
get_file https://musl.libc.org/releases/musl-1.2.2.tar.gz
|
||||||
|
|
||||||
|
# bash 5.1
|
||||||
|
get_file https://ftp.gnu.org/gnu/bash/bash-5.1.tar.gz
|
||||||
|
|
||||||
# General cleanup
|
# General cleanup
|
||||||
find tmp -name .git -exec rm -rf \;
|
find tmp -name .git -exec rm -rf \;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -10,11 +10,12 @@ src_prepare() {
|
||||||
# Rebuild configure script
|
# Rebuild configure script
|
||||||
rm configure
|
rm configure
|
||||||
autoconf-2.61
|
autoconf-2.61
|
||||||
|
|
||||||
|
sed -i 's/sleep 3/sleep 3; sync/' builtins/psize.sh
|
||||||
}
|
}
|
||||||
|
|
||||||
src_configure() {
|
src_configure() {
|
||||||
CC=tcc CPPFLAGS="-D HAVE_ALLOCA_H" \
|
./configure --prefix="${PREFIX}" \
|
||||||
./configure --prefix="${PREFIX}" \
|
|
||||||
--without-bash-malloc \
|
--without-bash-malloc \
|
||||||
--disable-nls \
|
--disable-nls \
|
||||||
--build=i386-unknown-linux-gnu \
|
--build=i386-unknown-linux-gnu \
|
||||||
|
|
@ -22,5 +23,5 @@ src_configure() {
|
||||||
}
|
}
|
||||||
|
|
||||||
src_install() {
|
src_install() {
|
||||||
install bash ${bindir}
|
install bash "${PREFIX}/bin"
|
||||||
}
|
}
|
||||||
1
sysa/bash-5.1/checksums
Normal file
1
sysa/bash-5.1/checksums
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
bf782a82ac8ce393d2a028cec337a4f9428f8ab93d2ae11b026dcc8a027b80a7 /after/bin/bash
|
||||||
|
|
@ -1 +0,0 @@
|
||||||
63487b421c2e2386c526623e4b18605c0f83a419f19e75dec1bb5af109903755 /after/bin/bash
|
|
||||||
|
|
@ -1 +0,0 @@
|
||||||
62dd23127c9ccef9706f5a89baab25e4c5f74cb96ed9373843bc97252fbd4f4e /after/bin/bash
|
|
||||||
|
|
@ -1,25 +0,0 @@
|
||||||
# SPDX-FileCopyrightText: 2021 Paul Dersey <pdersey@gmail.com>
|
|
||||||
# SPDX-FileCopyrightText: 2021 Andrius Štikonas <andrius@stikonas.eu>
|
|
||||||
#
|
|
||||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
|
||||||
|
|
||||||
src_prepare() {
|
|
||||||
# Remove bison generated files
|
|
||||||
rm y.tab.c y.tab.h
|
|
||||||
|
|
||||||
# Rebuild configure script
|
|
||||||
rm configure
|
|
||||||
autoconf-2.61
|
|
||||||
}
|
|
||||||
|
|
||||||
src_configure() {
|
|
||||||
./configure --prefix="${PREFIX}" \
|
|
||||||
--without-bash-malloc \
|
|
||||||
--disable-nls \
|
|
||||||
--build=i386-unknown-linux-gnu \
|
|
||||||
--enable-static-link
|
|
||||||
}
|
|
||||||
|
|
||||||
src_install() {
|
|
||||||
install bash ${bindir}
|
|
||||||
}
|
|
||||||
|
|
@ -9,7 +9,9 @@ src_unpack() {
|
||||||
|
|
||||||
src_prepare() {
|
src_prepare() {
|
||||||
default_src_prepare
|
default_src_prepare
|
||||||
|
# This is needed for building with TCC
|
||||||
sed -i 's/ix86_attribute_table\[\]/ix86_attribute_table\[10\]/' gcc/config/i386/i386.c
|
sed -i 's/ix86_attribute_table\[\]/ix86_attribute_table\[10\]/' gcc/config/i386/i386.c
|
||||||
|
# Needed for musl
|
||||||
sed -i 's/struct siginfo/siginfo_t/' gcc/config/i386/linux-unwind.h
|
sed -i 's/struct siginfo/siginfo_t/' gcc/config/i386/linux-unwind.h
|
||||||
|
|
||||||
rm configure
|
rm configure
|
||||||
|
|
@ -45,7 +47,7 @@ src_prepare() {
|
||||||
# Workaround for bison being too new
|
# Workaround for bison being too new
|
||||||
sed -i 's/YYLEX/yylex()/' gcc/c-parse.y
|
sed -i 's/YYLEX/yylex()/' gcc/c-parse.y
|
||||||
rm gcc/c-parse.c
|
rm gcc/c-parse.c
|
||||||
rm gcc/gengtype-yacc.{c,h}
|
rm gcc/gengtype-yacc.c gcc/gengtype-yacc.h
|
||||||
rm intl/plural.c
|
rm intl/plural.c
|
||||||
|
|
||||||
# Rebuild flex generated files
|
# Rebuild flex generated files
|
||||||
|
|
|
||||||
13
sysa/run.sh
13
sysa/run.sh
|
|
@ -126,6 +126,15 @@ build help2man-1.36.4
|
||||||
build autoconf-2.61 stage1.sh
|
build autoconf-2.61 stage1.sh
|
||||||
build autoconf-2.61 stage2.sh
|
build autoconf-2.61 stage2.sh
|
||||||
|
|
||||||
build bash-5.1 pass1.sh checksums/pass1
|
build automake-1.9.6 stage1.sh
|
||||||
|
build automake-1.9.6 stage2.sh
|
||||||
|
|
||||||
exec bash run2.sh
|
build gcc-4.0.4 pass1.sh checksums/pass1
|
||||||
|
|
||||||
|
build musl-1.2.2
|
||||||
|
|
||||||
|
build gcc-4.0.4 pass2.sh checksums/pass2
|
||||||
|
|
||||||
|
build bash-5.1
|
||||||
|
|
||||||
|
exec env -i PATH=/after/bin PREFIX=/after bash run2.sh
|
||||||
|
|
|
||||||
12
sysa/run2.sh
12
sysa/run2.sh
|
|
@ -7,19 +7,9 @@
|
||||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
|
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
. helpers.sh
|
. helpers.sh
|
||||||
|
|
||||||
build automake-1.9.6 stage1.sh
|
|
||||||
build automake-1.9.6 stage2.sh
|
|
||||||
|
|
||||||
build gcc-4.0.4 pass1.sh checksums/pass1
|
|
||||||
|
|
||||||
build bash-5.1 pass2.sh checksums/pass2
|
|
||||||
|
|
||||||
build musl-1.2.2
|
|
||||||
|
|
||||||
build gcc-4.0.4 pass2.sh checksums/pass2
|
|
||||||
|
|
||||||
echo "Bootstrapping completed."
|
echo "Bootstrapping completed."
|
||||||
|
|
||||||
exec env - PATH=/after/bin PS1="\w # " bash -i
|
exec env - PATH=/after/bin PS1="\w # " bash -i
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue