From 5ecd54894591092e2b915b6b1606bc91ad75c232 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andrius=20=C5=A0tikonas?= Date: Thu, 18 Mar 2021 00:23:40 +0000 Subject: [PATCH 01/12] Automake 1.7 and Autoconf 2.54 --- SHA256SUMS.sources | 2 ++ parts.rst | 16 ++++++++++++++++ rootfs.sh | 6 ++++++ sysa/autoconf-2.54/stage1.sh | 30 ++++++++++++++++++++++++++++++ sysa/autoconf-2.54/stage2.sh | 18 ++++++++++++++++++ sysa/automake-1.7/stage1.sh | 15 +++++++++++++++ sysa/automake-1.7/stage2.sh | 13 +++++++++++++ sysa/run.sh | 7 +++++++ 8 files changed, 107 insertions(+) create mode 100755 sysa/autoconf-2.54/stage1.sh create mode 100755 sysa/autoconf-2.54/stage2.sh create mode 100755 sysa/automake-1.7/stage1.sh create mode 100755 sysa/automake-1.7/stage2.sh diff --git a/SHA256SUMS.sources b/SHA256SUMS.sources index e2cb465..e654ee2 100644 --- a/SHA256SUMS.sources +++ b/SHA256SUMS.sources @@ -2,8 +2,10 @@ f0611136bee505811e9ca11ca7ac188ef5323a8e2ef19cffd3edb3cf08fd791e autoconf-2.13.tar.gz 4681bcbb9c9298c506f6405a7deb62c54fc3b339d3239a8f36a5df83daaec94f autoconf-2.52.tar.bz2 6b217a064c6d06603d50a3ad05129aef9435367810c10894210b8dad965d2306 autoconf-2.53.tar.bz2 +a74aea954f36c7beeb6cc47b96a408c3e04e7ad635f614e65250dbcd8ec0bd28 autoconf-2.54.tar.bz2 503cdc2b0992a4309545d17f462cb15f99bb57b7161dfc4082b2e7188f2bcc0f automake-1.4-p6.tar.gz 0dbafacaf21e135cab35d357a14bdcd981d2f2d00e1387801be8091a31b7bb81 automake-1.6.3.tar.bz2 +6633ee1202375e3c8798a92e1b7f46894f78d541aeea7f49654503fdc0b28835 automake-1.7.tar.bz2 ba03d412998cc54bd0b0f2d6c32100967d3137098affdc2d32e6e7c11b163fe4 bash-2.05b.tar.gz 3fa9daf85ebf35068f090ce51283ddeeb3c75eb5bc70b1a4a7cb05868bfe06a4 bash-3.2.57.tar.gz e20bdd49a0fb317959b410c1fe81269a620ec21207045d8a37cadea621be4b59 binutils-2.14.tar.bz2 diff --git a/parts.rst b/parts.rst index 4b1e141..56cb963 100644 --- a/parts.rst +++ b/parts.rst @@ -446,6 +446,22 @@ We now start bootstrapping newer versions of autoconf. Version 2.53 now uses ``p In order to build it with ``autoconf-2.52`` we have to patch it a bit and then do a second unpatched build with newly built ``autoconf-2.53``. +automake 1.7 +============ + +Automake 1.7 and Autoconf 2.54 depend on each other, so we patch out two offending +autoconf macros to make it build with ``autoconf-2.53``. + +autoconf 2.54 +============= + +More ``autoconf``. + +automake 1.7 +============ + +Rebuild ``automake`` with ``autoconf-2.54``. + bash 3.2.57 =========== diff --git a/rootfs.sh b/rootfs.sh index 9a5de8c..5e86414 100755 --- a/rootfs.sh +++ b/rootfs.sh @@ -228,6 +228,12 @@ get_file https://ftp.gnu.org/gnu/binutils/binutils-2.14.tar.bz2 # autoconf 2.53 get_file https://ftp.gnu.org/gnu/autoconf/autoconf-2.53.tar.bz2 +# automake 1.7 +get_file https://ftp.gnu.org/gnu/automake/automake-1.7.tar.bz2 + +# autoconf 2.54 +get_file https://ftp.gnu.org/gnu/autoconf/autoconf-2.54.tar.bz2 + # bash 3.2.57 get_file https://ftp.gnu.org/gnu/bash/bash-3.2.57.tar.gz diff --git a/sysa/autoconf-2.54/stage1.sh b/sysa/autoconf-2.54/stage1.sh new file mode 100755 index 0000000..08ff300 --- /dev/null +++ b/sysa/autoconf-2.54/stage1.sh @@ -0,0 +1,30 @@ +# SPDX-FileCopyrightText: 2021 Andrius Štikonas +# +# SPDX-License-Identifier: GPL-3.0-or-later + +src_prepare() { + rm Makefile.in */Makefile.in */*/Makefile.in aclocal.m4 configure + aclocal-1.7 + sed -i 's/2.54/2.53/' aclocal.m4 + cat config/m4.m4 >> aclocal.m4 + autoconf-2.53 + + # Otherwise automake-1.7 fails to find autoconf + ln -s "${PREFIX}"/bin/autoconf-2.53 "${PREFIX}"/bin/autoconf + automake-1.7 + + # Install autoconf data files into versioned directory + for file in */*/Makefile.in */Makefile.in Makefile.in; do + sed -i '/^pkgdatadir/s:$:-@VERSION@:' $file + done +} + +src_configure() { + ./configure --prefix="${PREFIX}" --program-suffix=-2.54 +} + +src_install() { + default_src_install + + ln -sf "${PREFIX}"/bin/autoconf-2.54 "${PREFIX}"/bin/autoconf +} diff --git a/sysa/autoconf-2.54/stage2.sh b/sysa/autoconf-2.54/stage2.sh new file mode 100755 index 0000000..450e8cf --- /dev/null +++ b/sysa/autoconf-2.54/stage2.sh @@ -0,0 +1,18 @@ +# SPDX-FileCopyrightText: 2021 Andrius Štikonas +# +# SPDX-License-Identifier: GPL-3.0-or-later + +src_prepare() { + rm Makefile.in */Makefile.in */*/Makefile.in aclocal.m4 configure + + autoreconf-2.54 + + # Install autoconf data files into versioned directory + for file in */*/Makefile.in */Makefile.in Makefile.in; do + sed -i '/^pkgdatadir/s:$:-@VERSION@:' $file + done +} + +src_configure() { + ./configure --prefix="${PREFIX}" --program-suffix=-2.54 +} diff --git a/sysa/automake-1.7/stage1.sh b/sysa/automake-1.7/stage1.sh new file mode 100755 index 0000000..e0fcf44 --- /dev/null +++ b/sysa/automake-1.7/stage1.sh @@ -0,0 +1,15 @@ +# SPDX-FileCopyrightText: 2021 Andrius Štikonas +# +# SPDX-License-Identifier: GPL-3.0-or-later + +src_prepare() { + rm configure Makefile.in */Makefile.in */*/Makefile.in aclocal.m4 + sed -i -e 's/2.54/2.53/' -e '/AC_PROG_EGREP/d' -e '/AC_PROG_FGREP/d' configure.in + aclocal-1.6 + autoconf-2.53 + automake-1.6 +} + +src_configure() { + ./configure --prefix=/after +} diff --git a/sysa/automake-1.7/stage2.sh b/sysa/automake-1.7/stage2.sh new file mode 100755 index 0000000..9fcdf9b --- /dev/null +++ b/sysa/automake-1.7/stage2.sh @@ -0,0 +1,13 @@ +# SPDX-FileCopyrightText: 2021 Andrius Štikonas +# +# SPDX-License-Identifier: GPL-3.0-or-later + +src_prepare() { + rm configure Makefile.in */Makefile.in */*/Makefile.in aclocal.m4 + + autoreconf-2.54 +} + +src_configure() { + ./configure --prefix=/after +} diff --git a/sysa/run.sh b/sysa/run.sh index e9ea69a..ce46a45 100755 --- a/sysa/run.sh +++ b/sysa/run.sh @@ -104,6 +104,13 @@ build tcc-0.9.27 tcc-musl-pass3.sh checksums/tcc-musl-pass3 build autoconf-2.53 stage1.sh build autoconf-2.53 stage2.sh +build automake-1.7 stage1.sh + +build autoconf-2.54 stage1.sh +build autoconf-2.54 stage2.sh + +build automake-1.7 stage2.sh + build bash-3.2.57 exec bash run2.sh From d1d5ab1a20e32a284f8732b50d3d0254cad9334c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andrius=20=C5=A0tikonas?= Date: Thu, 18 Mar 2021 17:47:12 +0000 Subject: [PATCH 02/12] GNU Autoconf 2.55. --- SHA256SUMS.sources | 1 + parts.rst | 5 +++++ rootfs.sh | 3 +++ sysa/autoconf-2.55/autoconf-2.55.sh | 24 ++++++++++++++++++++++++ sysa/run.sh | 2 ++ 5 files changed, 35 insertions(+) create mode 100755 sysa/autoconf-2.55/autoconf-2.55.sh diff --git a/SHA256SUMS.sources b/SHA256SUMS.sources index e654ee2..12678ee 100644 --- a/SHA256SUMS.sources +++ b/SHA256SUMS.sources @@ -3,6 +3,7 @@ f0611136bee505811e9ca11ca7ac188ef5323a8e2ef19cffd3edb3cf08fd791e autoconf-2.13. 4681bcbb9c9298c506f6405a7deb62c54fc3b339d3239a8f36a5df83daaec94f autoconf-2.52.tar.bz2 6b217a064c6d06603d50a3ad05129aef9435367810c10894210b8dad965d2306 autoconf-2.53.tar.bz2 a74aea954f36c7beeb6cc47b96a408c3e04e7ad635f614e65250dbcd8ec0bd28 autoconf-2.54.tar.bz2 +f757158a04889b265203eecd8ca92568e2a67c3b9062fa6bff7a0a6efd2244ac autoconf-2.55.tar.bz2 503cdc2b0992a4309545d17f462cb15f99bb57b7161dfc4082b2e7188f2bcc0f automake-1.4-p6.tar.gz 0dbafacaf21e135cab35d357a14bdcd981d2f2d00e1387801be8091a31b7bb81 automake-1.6.3.tar.bz2 6633ee1202375e3c8798a92e1b7f46894f78d541aeea7f49654503fdc0b28835 automake-1.7.tar.bz2 diff --git a/parts.rst b/parts.rst index 56cb963..a689d58 100644 --- a/parts.rst +++ b/parts.rst @@ -462,6 +462,11 @@ automake 1.7 Rebuild ``automake`` with ``autoconf-2.54``. +autoconf 2.55 +============= + +Even newer ``autoconf``. + bash 3.2.57 =========== diff --git a/rootfs.sh b/rootfs.sh index 5e86414..9c1a9b1 100755 --- a/rootfs.sh +++ b/rootfs.sh @@ -234,6 +234,9 @@ get_file https://ftp.gnu.org/gnu/automake/automake-1.7.tar.bz2 # autoconf 2.54 get_file https://ftp.gnu.org/gnu/autoconf/autoconf-2.54.tar.bz2 +# autoconf 2.55 +get_file https://ftp.gnu.org/gnu/autoconf/autoconf-2.55.tar.bz2 + # bash 3.2.57 get_file https://ftp.gnu.org/gnu/bash/bash-3.2.57.tar.gz diff --git a/sysa/autoconf-2.55/autoconf-2.55.sh b/sysa/autoconf-2.55/autoconf-2.55.sh new file mode 100755 index 0000000..dde38fa --- /dev/null +++ b/sysa/autoconf-2.55/autoconf-2.55.sh @@ -0,0 +1,24 @@ +# SPDX-FileCopyrightText: 2021 Andrius Štikonas +# +# SPDX-License-Identifier: GPL-3.0-or-later + +src_prepare() { + rm Makefile.in */Makefile.in */*/Makefile.in aclocal.m4 configure + + autoreconf-2.54 + + # Install autoconf data files into versioned directory + for file in */*/Makefile.in */Makefile.in Makefile.in; do + sed -i '/^pkgdatadir/s:$:-@VERSION@:' $file + done +} + +src_configure() { + ./configure --prefix="${PREFIX}" --program-suffix=-2.55 +} + +src_install() { + default_src_install + + ln -sf "${PREFIX}/bin/autoconf-2.55" "${PREFIX}/bin/autoconf" +} diff --git a/sysa/run.sh b/sysa/run.sh index ce46a45..0b0bf91 100755 --- a/sysa/run.sh +++ b/sysa/run.sh @@ -111,6 +111,8 @@ build autoconf-2.54 stage2.sh build automake-1.7 stage2.sh +build autoconf-2.55 + build bash-3.2.57 exec bash run2.sh From 16dba20254b214b641e721eae2831e09c8f3a764 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andrius=20=C5=A0tikonas?= Date: Thu, 18 Mar 2021 19:25:50 +0000 Subject: [PATCH 03/12] Automake 1.7.8. --- SHA256SUMS.sources | 1 + parts.rst | 8 +++++++- rootfs.sh | 3 +++ sysa/automake-1.7.8/automake-1.7.8.sh | 13 +++++++++++++ sysa/run.sh | 2 ++ 5 files changed, 26 insertions(+), 1 deletion(-) create mode 100755 sysa/automake-1.7.8/automake-1.7.8.sh diff --git a/SHA256SUMS.sources b/SHA256SUMS.sources index 12678ee..9df1f96 100644 --- a/SHA256SUMS.sources +++ b/SHA256SUMS.sources @@ -6,6 +6,7 @@ a74aea954f36c7beeb6cc47b96a408c3e04e7ad635f614e65250dbcd8ec0bd28 autoconf-2.54. f757158a04889b265203eecd8ca92568e2a67c3b9062fa6bff7a0a6efd2244ac autoconf-2.55.tar.bz2 503cdc2b0992a4309545d17f462cb15f99bb57b7161dfc4082b2e7188f2bcc0f automake-1.4-p6.tar.gz 0dbafacaf21e135cab35d357a14bdcd981d2f2d00e1387801be8091a31b7bb81 automake-1.6.3.tar.bz2 +2dddc3b51506e702647ccc6757e15c05323fa67245d2d53e81ed36a832f9be42 automake-1.7.8.tar.bz2 6633ee1202375e3c8798a92e1b7f46894f78d541aeea7f49654503fdc0b28835 automake-1.7.tar.bz2 ba03d412998cc54bd0b0f2d6c32100967d3137098affdc2d32e6e7c11b163fe4 bash-2.05b.tar.gz 3fa9daf85ebf35068f090ce51283ddeeb3c75eb5bc70b1a4a7cb05868bfe06a4 bash-3.2.57.tar.gz diff --git a/parts.rst b/parts.rst index a689d58..4898d22 100644 --- a/parts.rst +++ b/parts.rst @@ -465,7 +465,13 @@ Rebuild ``automake`` with ``autoconf-2.54``. autoconf 2.55 ============= -Even newer ``autoconf``. +Even newer ``autoconf``. This is the last version of ``autoconf`` that is buildable +with ``automake-1.7``. + +automake 1.7.8 +============== + +Newer ``automake``. This is the latest ``automake`` that is buildable with ``autoconf-2.55``. bash 3.2.57 =========== diff --git a/rootfs.sh b/rootfs.sh index 9c1a9b1..72b55dd 100755 --- a/rootfs.sh +++ b/rootfs.sh @@ -237,6 +237,9 @@ get_file https://ftp.gnu.org/gnu/autoconf/autoconf-2.54.tar.bz2 # autoconf 2.55 get_file https://ftp.gnu.org/gnu/autoconf/autoconf-2.55.tar.bz2 +# automake 1.7.8 +get_file https://ftp.gnu.org/gnu/automake/automake-1.7.8.tar.bz2 + # bash 3.2.57 get_file https://ftp.gnu.org/gnu/bash/bash-3.2.57.tar.gz diff --git a/sysa/automake-1.7.8/automake-1.7.8.sh b/sysa/automake-1.7.8/automake-1.7.8.sh new file mode 100755 index 0000000..92fe196 --- /dev/null +++ b/sysa/automake-1.7.8/automake-1.7.8.sh @@ -0,0 +1,13 @@ +# SPDX-FileCopyrightText: 2021 Andrius Štikonas +# +# SPDX-License-Identifier: GPL-3.0-or-later + +src_prepare() { + rm configure Makefile.in */Makefile.in */*/Makefile.in aclocal.m4 + + autoreconf-2.55 +} + +src_configure() { + ./configure --prefix=/after +} diff --git a/sysa/run.sh b/sysa/run.sh index 0b0bf91..59411c7 100755 --- a/sysa/run.sh +++ b/sysa/run.sh @@ -113,6 +113,8 @@ build automake-1.7 stage2.sh build autoconf-2.55 +build automake-1.7.8 + build bash-3.2.57 exec bash run2.sh From abf09359c3df760251eccc7406c52aec81492277 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andrius=20=C5=A0tikonas?= Date: Thu, 18 Mar 2021 19:33:54 +0000 Subject: [PATCH 04/12] Autoconf 2.57. --- SHA256SUMS.sources | 1 + parts.rst | 6 ++++++ rootfs.sh | 3 +++ sysa/autoconf-2.57/autoconf-2.57.sh | 22 ++++++++++++++++++++++ sysa/run.sh | 2 ++ 5 files changed, 34 insertions(+) create mode 100755 sysa/autoconf-2.57/autoconf-2.57.sh diff --git a/SHA256SUMS.sources b/SHA256SUMS.sources index 9df1f96..b022cbe 100644 --- a/SHA256SUMS.sources +++ b/SHA256SUMS.sources @@ -4,6 +4,7 @@ f0611136bee505811e9ca11ca7ac188ef5323a8e2ef19cffd3edb3cf08fd791e autoconf-2.13. 6b217a064c6d06603d50a3ad05129aef9435367810c10894210b8dad965d2306 autoconf-2.53.tar.bz2 a74aea954f36c7beeb6cc47b96a408c3e04e7ad635f614e65250dbcd8ec0bd28 autoconf-2.54.tar.bz2 f757158a04889b265203eecd8ca92568e2a67c3b9062fa6bff7a0a6efd2244ac autoconf-2.55.tar.bz2 +e1035aa2c21fae2a934d1ab56c774ce9d22717881dab8a1a5b16d294fb793489 autoconf-2.57.tar.bz2 503cdc2b0992a4309545d17f462cb15f99bb57b7161dfc4082b2e7188f2bcc0f automake-1.4-p6.tar.gz 0dbafacaf21e135cab35d357a14bdcd981d2f2d00e1387801be8091a31b7bb81 automake-1.6.3.tar.bz2 2dddc3b51506e702647ccc6757e15c05323fa67245d2d53e81ed36a832f9be42 automake-1.7.8.tar.bz2 diff --git a/parts.rst b/parts.rst index 4898d22..a67588a 100644 --- a/parts.rst +++ b/parts.rst @@ -473,6 +473,12 @@ automake 1.7.8 Newer ``automake``. This is the latest ``automake`` that is buildable with ``autoconf-2.55``. +autoconf 2.57 +============= + +Newer ``autoconf``. This time we were able to skip version 2.56. + + bash 3.2.57 =========== diff --git a/rootfs.sh b/rootfs.sh index 72b55dd..81fa07f 100755 --- a/rootfs.sh +++ b/rootfs.sh @@ -240,6 +240,9 @@ get_file https://ftp.gnu.org/gnu/autoconf/autoconf-2.55.tar.bz2 # automake 1.7.8 get_file https://ftp.gnu.org/gnu/automake/automake-1.7.8.tar.bz2 +# autoconf 2.57 +get_file https://ftp.gnu.org/gnu/autoconf/autoconf-2.57.tar.bz2 + # bash 3.2.57 get_file https://ftp.gnu.org/gnu/bash/bash-3.2.57.tar.gz diff --git a/sysa/autoconf-2.57/autoconf-2.57.sh b/sysa/autoconf-2.57/autoconf-2.57.sh new file mode 100755 index 0000000..d927257 --- /dev/null +++ b/sysa/autoconf-2.57/autoconf-2.57.sh @@ -0,0 +1,22 @@ +# SPDX-FileCopyrightText: 2021 Andrius Štikonas +# +# SPDX-License-Identifier: GPL-3.0-or-later + +src_prepare() { + autoreconf-2.55 -f + + # Install autoconf data files into versioned directory + for file in */*/Makefile.in */Makefile.in Makefile.in; do + sed -i '/^pkgdatadir/s:$:-@VERSION@:' $file + done +} + +src_configure() { + ./configure --prefix="${PREFIX}" --program-suffix=-2.57 +} + +src_install() { + default_src_install + + ln -sf "${PREFIX}/bin/autoconf-2.57" "${PREFIX}/bin/autoconf" +} diff --git a/sysa/run.sh b/sysa/run.sh index 59411c7..2418023 100755 --- a/sysa/run.sh +++ b/sysa/run.sh @@ -115,6 +115,8 @@ build autoconf-2.55 build automake-1.7.8 +build autoconf-2.57 + build bash-3.2.57 exec bash run2.sh From eb4b623de915cf093df8c01c82373363ce415a4a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andrius=20=C5=A0tikonas?= Date: Thu, 18 Mar 2021 19:37:07 +0000 Subject: [PATCH 05/12] Autoconf 2.59. --- SHA256SUMS.sources | 1 + parts.rst | 5 +++++ rootfs.sh | 3 +++ sysa/autoconf-2.59/autoconf-2.59.sh | 23 +++++++++++++++++++++++ sysa/run.sh | 2 ++ 5 files changed, 34 insertions(+) create mode 100755 sysa/autoconf-2.59/autoconf-2.59.sh diff --git a/SHA256SUMS.sources b/SHA256SUMS.sources index b022cbe..41d0460 100644 --- a/SHA256SUMS.sources +++ b/SHA256SUMS.sources @@ -5,6 +5,7 @@ f0611136bee505811e9ca11ca7ac188ef5323a8e2ef19cffd3edb3cf08fd791e autoconf-2.13. a74aea954f36c7beeb6cc47b96a408c3e04e7ad635f614e65250dbcd8ec0bd28 autoconf-2.54.tar.bz2 f757158a04889b265203eecd8ca92568e2a67c3b9062fa6bff7a0a6efd2244ac autoconf-2.55.tar.bz2 e1035aa2c21fae2a934d1ab56c774ce9d22717881dab8a1a5b16d294fb793489 autoconf-2.57.tar.bz2 +f0cde70a8f135098a6a3e85869f2e1cc3f141beea766fa3d6636e086cd8b90a7 autoconf-2.59.tar.bz2 503cdc2b0992a4309545d17f462cb15f99bb57b7161dfc4082b2e7188f2bcc0f automake-1.4-p6.tar.gz 0dbafacaf21e135cab35d357a14bdcd981d2f2d00e1387801be8091a31b7bb81 automake-1.6.3.tar.bz2 2dddc3b51506e702647ccc6757e15c05323fa67245d2d53e81ed36a832f9be42 automake-1.7.8.tar.bz2 diff --git a/parts.rst b/parts.rst index a67588a..51e4ccf 100644 --- a/parts.rst +++ b/parts.rst @@ -478,6 +478,11 @@ autoconf 2.57 Newer ``autoconf``. This time we were able to skip version 2.56. +autoconf 2.59 +============= + +Again, we managed to skip one version. + bash 3.2.57 =========== diff --git a/rootfs.sh b/rootfs.sh index 81fa07f..b1f8ee5 100755 --- a/rootfs.sh +++ b/rootfs.sh @@ -243,6 +243,9 @@ get_file https://ftp.gnu.org/gnu/automake/automake-1.7.8.tar.bz2 # autoconf 2.57 get_file https://ftp.gnu.org/gnu/autoconf/autoconf-2.57.tar.bz2 +# autoconf 2.59 +get_file https://ftp.gnu.org/gnu/autoconf/autoconf-2.59.tar.bz2 + # bash 3.2.57 get_file https://ftp.gnu.org/gnu/bash/bash-3.2.57.tar.gz diff --git a/sysa/autoconf-2.59/autoconf-2.59.sh b/sysa/autoconf-2.59/autoconf-2.59.sh new file mode 100755 index 0000000..b7a5729 --- /dev/null +++ b/sysa/autoconf-2.59/autoconf-2.59.sh @@ -0,0 +1,23 @@ +# SPDX-FileCopyrightText: 2021 Andrius Štikonas +# +# SPDX-License-Identifier: GPL-3.0-or-later + +src_prepare() { + autoreconf-2.57 -f + + # Install autoconf data files into versioned directory + for file in */*/Makefile.in */Makefile.in Makefile.in; do + sed -i '/^pkgdatadir/s:$:-@VERSION@:' $file + done +} + +src_configure() { + ./configure --prefix="${PREFIX}" --program-suffix=-2.59 +} + +src_install() { + default_src_install + + ln -sf "${PREFIX}/bin/autoconf-2.59" "${PREFIX}/bin/autoconf" + ln -sf "${PREFIX}/bin/autom4te-2.59" "${PREFIX}/bin/autom4te" +} diff --git a/sysa/run.sh b/sysa/run.sh index 2418023..eacc9d6 100755 --- a/sysa/run.sh +++ b/sysa/run.sh @@ -117,6 +117,8 @@ build automake-1.7.8 build autoconf-2.57 +build autoconf-2.59 + build bash-3.2.57 exec bash run2.sh From 7fdb12f08d4edfad38eb81226ca5924e72749da9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andrius=20=C5=A0tikonas?= Date: Thu, 18 Mar 2021 19:53:06 +0000 Subject: [PATCH 06/12] Automake 1.8.5. --- SHA256SUMS.sources | 1 + parts.rst | 5 +++++ rootfs.sh | 3 +++ sysa/automake-1.8.5/automake-1.8.5.sh | 11 +++++++++++ sysa/run.sh | 2 ++ 5 files changed, 22 insertions(+) create mode 100755 sysa/automake-1.8.5/automake-1.8.5.sh diff --git a/SHA256SUMS.sources b/SHA256SUMS.sources index 41d0460..3c080ba 100644 --- a/SHA256SUMS.sources +++ b/SHA256SUMS.sources @@ -10,6 +10,7 @@ f0cde70a8f135098a6a3e85869f2e1cc3f141beea766fa3d6636e086cd8b90a7 autoconf-2.59. 0dbafacaf21e135cab35d357a14bdcd981d2f2d00e1387801be8091a31b7bb81 automake-1.6.3.tar.bz2 2dddc3b51506e702647ccc6757e15c05323fa67245d2d53e81ed36a832f9be42 automake-1.7.8.tar.bz2 6633ee1202375e3c8798a92e1b7f46894f78d541aeea7f49654503fdc0b28835 automake-1.7.tar.bz2 +84c93aaa3c3651a9e7474b721b0e6788318592509e7de604bafe4ea8049dc410 automake-1.8.5.tar.bz2 ba03d412998cc54bd0b0f2d6c32100967d3137098affdc2d32e6e7c11b163fe4 bash-2.05b.tar.gz 3fa9daf85ebf35068f090ce51283ddeeb3c75eb5bc70b1a4a7cb05868bfe06a4 bash-3.2.57.tar.gz e20bdd49a0fb317959b410c1fe81269a620ec21207045d8a37cadea621be4b59 binutils-2.14.tar.bz2 diff --git a/parts.rst b/parts.rst index 51e4ccf..7c1e7e8 100644 --- a/parts.rst +++ b/parts.rst @@ -483,6 +483,11 @@ autoconf 2.59 Again, we managed to skip one version. +automake 1.8.5 +============== + +We need newer ``automake`` to proceed to newer ``autoconf`` versions. This is the latest +automake version from 1.8 release series. bash 3.2.57 =========== diff --git a/rootfs.sh b/rootfs.sh index b1f8ee5..e7b3376 100755 --- a/rootfs.sh +++ b/rootfs.sh @@ -246,6 +246,9 @@ get_file https://ftp.gnu.org/gnu/autoconf/autoconf-2.57.tar.bz2 # autoconf 2.59 get_file https://ftp.gnu.org/gnu/autoconf/autoconf-2.59.tar.bz2 +# automake 1.8.5 +get_file https://ftp.gnu.org/gnu/automake/automake-1.8.5.tar.bz2 + # bash 3.2.57 get_file https://ftp.gnu.org/gnu/bash/bash-3.2.57.tar.gz diff --git a/sysa/automake-1.8.5/automake-1.8.5.sh b/sysa/automake-1.8.5/automake-1.8.5.sh new file mode 100755 index 0000000..4cdd1dc --- /dev/null +++ b/sysa/automake-1.8.5/automake-1.8.5.sh @@ -0,0 +1,11 @@ +# SPDX-FileCopyrightText: 2021 Andrius Štikonas +# +# SPDX-License-Identifier: GPL-3.0-or-later + +src_prepare() { + autoreconf-2.59 -f +} + +src_configure() { + ./configure --prefix=/after +} diff --git a/sysa/run.sh b/sysa/run.sh index eacc9d6..83477a5 100755 --- a/sysa/run.sh +++ b/sysa/run.sh @@ -119,6 +119,8 @@ build autoconf-2.57 build autoconf-2.59 +build automake-1.8.5 + build bash-3.2.57 exec bash run2.sh From 107aef4b57cab474773af9a89d5ea948d095dc5a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andrius=20=C5=A0tikonas?= Date: Thu, 18 Mar 2021 19:13:22 +0000 Subject: [PATCH 07/12] Use newer autoconf for bash to avoid warnings. We can use either 2.55 or 2.57, so use the newer. --- parts.rst | 2 +- sysa/bash-3.2.57/bash-3.2.57.sh | 2 +- sysa/bash-3.2.57/checksums | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/parts.rst b/parts.rst index 7c1e7e8..e627a9a 100644 --- a/parts.rst +++ b/parts.rst @@ -495,5 +495,5 @@ bash 3.2.57 Up to this point, our build of ``bash`` could run scripts but could not be used interactively. This newer 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.52 is used to regenerate the configure +as an interactive shell. ``autoconf-2.57`` is used to regenerate the configure script and bison is used to recreate some included generated files. diff --git a/sysa/bash-3.2.57/bash-3.2.57.sh b/sysa/bash-3.2.57/bash-3.2.57.sh index 01baae9..e1e3d04 100755 --- a/sysa/bash-3.2.57/bash-3.2.57.sh +++ b/sysa/bash-3.2.57/bash-3.2.57.sh @@ -9,7 +9,7 @@ src_prepare() { # Rebuild configure script # Ignore harmless error from autoconf for now rm configure - autoconf-2.52 || true + autoconf-2.57 } src_configure() { diff --git a/sysa/bash-3.2.57/checksums b/sysa/bash-3.2.57/checksums index ec71e1d..21615d6 100644 --- a/sysa/bash-3.2.57/checksums +++ b/sysa/bash-3.2.57/checksums @@ -1 +1 @@ -0d6cbaa5f93fa4c2186ef40dd834b47841b3bf70f6183cfdb6ada38fdb835c5a /after/bin/bash +62c5acf91b425c3587b498ce7af14fcfed6735db1bfd8d94055a4795aff57b09 /after/bin/bash From 8bc3f32d53c0cccf39db66f3232fd4ee29c164ca Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andrius=20=C5=A0tikonas?= Date: Fri, 19 Mar 2021 10:18:27 +0000 Subject: [PATCH 08/12] Fix intermittent error when building automake-1.4. --- sysa/automake-1.4-p6/automake-1.4-p6.sh | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/sysa/automake-1.4-p6/automake-1.4-p6.sh b/sysa/automake-1.4-p6/automake-1.4-p6.sh index 0708c57..4f7f5d2 100755 --- a/sysa/automake-1.4-p6/automake-1.4-p6.sh +++ b/sysa/automake-1.4-p6/automake-1.4-p6.sh @@ -15,3 +15,7 @@ src_prepare() { src_configure() { ./configure --prefix=/after } + +src_compile() { + make MAKEINFO=true +} From 65a2e3e33d23e2051597e15c70871fc3df43f3ae Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andrius=20=C5=A0tikonas?= Date: Fri, 19 Mar 2021 15:39:42 +0000 Subject: [PATCH 09/12] autotools: Run make install with MAKEINFO=true to avoid intermittent build failures. --- sysa/autoconf-2.12/autoconf-2.12.sh | 4 ++++ sysa/autoconf-2.13/autoconf-2.13.sh | 4 ++++ sysa/automake-1.4-p6/automake-1.4-p6.sh | 4 ++++ 3 files changed, 12 insertions(+) diff --git a/sysa/autoconf-2.12/autoconf-2.12.sh b/sysa/autoconf-2.12/autoconf-2.12.sh index 6b5de6f..cd5c372 100755 --- a/sysa/autoconf-2.12/autoconf-2.12.sh +++ b/sysa/autoconf-2.12/autoconf-2.12.sh @@ -16,3 +16,7 @@ src_configure() { src_compile() { make MAKEINFO=true } + +src_install() { + make install MAKEINFO=true +} diff --git a/sysa/autoconf-2.13/autoconf-2.13.sh b/sysa/autoconf-2.13/autoconf-2.13.sh index 5bdf2ca..af29be6 100755 --- a/sysa/autoconf-2.13/autoconf-2.13.sh +++ b/sysa/autoconf-2.13/autoconf-2.13.sh @@ -16,3 +16,7 @@ src_configure() { src_compile() { make MAKEINFO=true } + +src_install() { + make install MAKEINFO=true +} diff --git a/sysa/automake-1.4-p6/automake-1.4-p6.sh b/sysa/automake-1.4-p6/automake-1.4-p6.sh index 4f7f5d2..4d51ae5 100755 --- a/sysa/automake-1.4-p6/automake-1.4-p6.sh +++ b/sysa/automake-1.4-p6/automake-1.4-p6.sh @@ -19,3 +19,7 @@ src_configure() { src_compile() { make MAKEINFO=true } + +src_install() { + make install MAKEINFO=true +} From ce77c561db549adb7dfdb4a4662b8d599064656f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andrius=20=C5=A0tikonas?= Date: Fri, 19 Mar 2021 15:40:07 +0000 Subject: [PATCH 10/12] help2man-1.36.4 --- SHA256SUMS.sources | 2 ++ parts.rst | 8 ++++++++ rootfs.sh | 3 +++ sysa/help2man-1.36.4/help2man-1.36.4.sh | 21 +++++++++++++++++++++ sysa/run.sh | 2 ++ 5 files changed, 36 insertions(+) create mode 100755 sysa/help2man-1.36.4/help2man-1.36.4.sh diff --git a/SHA256SUMS.sources b/SHA256SUMS.sources index 3c080ba..40ffa97 100644 --- a/SHA256SUMS.sources +++ b/SHA256SUMS.sources @@ -11,6 +11,7 @@ f0cde70a8f135098a6a3e85869f2e1cc3f141beea766fa3d6636e086cd8b90a7 autoconf-2.59. 2dddc3b51506e702647ccc6757e15c05323fa67245d2d53e81ed36a832f9be42 automake-1.7.8.tar.bz2 6633ee1202375e3c8798a92e1b7f46894f78d541aeea7f49654503fdc0b28835 automake-1.7.tar.bz2 84c93aaa3c3651a9e7474b721b0e6788318592509e7de604bafe4ea8049dc410 automake-1.8.5.tar.bz2 +8eccaa98e1863d10e4a5f861d8e2ec349a23e88cb12ad10f6b6f79022ad2bb8d automake-1.9.6.tar.bz2 ba03d412998cc54bd0b0f2d6c32100967d3137098affdc2d32e6e7c11b163fe4 bash-2.05b.tar.gz 3fa9daf85ebf35068f090ce51283ddeeb3c75eb5bc70b1a4a7cb05868bfe06a4 bash-3.2.57.tar.gz e20bdd49a0fb317959b410c1fe81269a620ec21207045d8a37cadea621be4b59 binutils-2.14.tar.bz2 @@ -25,6 +26,7 @@ e87aae032bf07c26f85ac0ed3250998c37621d95f8bd748b31f15b33c45ee995 flex-2.6.4.tar a32032bab36208509466654df12f507600dfe0313feebbcd218c32a70bf72a16 grep-2.4.tar.gz 4d2ce9f314f39c9575f913503b0178d6fb2c92920db8e7b7b176b7bab7980fe6 gzip-1.2.4.tar 9f233d8b78e4351fe9dd2d50d83958a0e5af36f54e9818521458a08e058691ba heirloom-devtools-070527.tar.bz2 +a4adadf76b496a6bc50795702253ecfcb6f0d159b68038f31a5362009340bca2 help2man-1.36.4.tar.gz 8e8ce6175d435e7df8c9bbb0e5fd5357691cdc28c1a2d00fdd9b47b7643bec3a libtool-1.4.tar.gz 093c993767f563a11e41c1cf887f4e9065247129679d4c1e213d0544d16d8303 m4-1.4.7.tar.gz 64b30b41fde2ebf669e6af489883fb1df6a06ac30555a96cfa3c39ecce7267dd make-3.80.tar.gz diff --git a/parts.rst b/parts.rst index e627a9a..bba10bf 100644 --- a/parts.rst +++ b/parts.rst @@ -489,6 +489,14 @@ automake 1.8.5 We need newer ``automake`` to proceed to newer ``autoconf`` versions. This is the latest automake version from 1.8 release series. +help2man 1.36.4 +=============== + +``help2man`` automatically generates manpages from programs ``--help`` and ``--version`` +outputs. This is not strictly required for bootstrapping but will help us to avoid patching +build process to skip generation of manpages. This is the newest version of ``help2man`` that +does not require Perl 5.8. + bash 3.2.57 =========== diff --git a/rootfs.sh b/rootfs.sh index e7b3376..a98d7e0 100755 --- a/rootfs.sh +++ b/rootfs.sh @@ -249,6 +249,9 @@ get_file https://ftp.gnu.org/gnu/autoconf/autoconf-2.59.tar.bz2 # automake 1.8.5 get_file https://ftp.gnu.org/gnu/automake/automake-1.8.5.tar.bz2 +# help2man 1.36.4 +get_file https://ftp.gnu.org/gnu/help2man/help2man-1.36.4.tar.gz + # bash 3.2.57 get_file https://ftp.gnu.org/gnu/bash/bash-3.2.57.tar.gz diff --git a/sysa/help2man-1.36.4/help2man-1.36.4.sh b/sysa/help2man-1.36.4/help2man-1.36.4.sh new file mode 100755 index 0000000..93cb9fc --- /dev/null +++ b/sysa/help2man-1.36.4/help2man-1.36.4.sh @@ -0,0 +1,21 @@ +# SPDX-FileCopyrightText: 2021 Andrius Štikonas +# +# SPDX-License-Identifier: GPL-3.0-or-later + +src_prepare() { + autoreconf-2.59 -f +} + +src_configure() { + CC=tcc ./configure --prefix="${PREFIX}" --disable-nls +} + +src_compile() { + make + + # fix a broken shebang + tail -n +6 help2man > help2man.tmp + echo "#!/${PREFIX}/bin/perl" > help2man + cat help2man.tmp >> help2man + rm help2man.tmp +} diff --git a/sysa/run.sh b/sysa/run.sh index 83477a5..7590962 100755 --- a/sysa/run.sh +++ b/sysa/run.sh @@ -121,6 +121,8 @@ build autoconf-2.59 build automake-1.8.5 +build help2man-1.36.4 + build bash-3.2.57 exec bash run2.sh From 7364615a8669abdb082fefb0a29417e32e53f654 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andrius=20=C5=A0tikonas?= Date: Fri, 19 Mar 2021 20:00:43 +0000 Subject: [PATCH 11/12] GNU Autoconf 2.61 --- SHA256SUMS.sources | 1 + parts.rst | 6 ++++++ rootfs.sh | 3 +++ sysa/autoconf-2.61/stage1.sh | 30 ++++++++++++++++++++++++++++++ sysa/autoconf-2.61/stage2.sh | 25 +++++++++++++++++++++++++ sysa/run.sh | 3 +++ 6 files changed, 68 insertions(+) create mode 100755 sysa/autoconf-2.61/stage1.sh create mode 100755 sysa/autoconf-2.61/stage2.sh diff --git a/SHA256SUMS.sources b/SHA256SUMS.sources index 40ffa97..b415652 100644 --- a/SHA256SUMS.sources +++ b/SHA256SUMS.sources @@ -6,6 +6,7 @@ a74aea954f36c7beeb6cc47b96a408c3e04e7ad635f614e65250dbcd8ec0bd28 autoconf-2.54. f757158a04889b265203eecd8ca92568e2a67c3b9062fa6bff7a0a6efd2244ac autoconf-2.55.tar.bz2 e1035aa2c21fae2a934d1ab56c774ce9d22717881dab8a1a5b16d294fb793489 autoconf-2.57.tar.bz2 f0cde70a8f135098a6a3e85869f2e1cc3f141beea766fa3d6636e086cd8b90a7 autoconf-2.59.tar.bz2 +93a2ceab963618b021db153f0c881a2de82455c1dc7422be436fcd5c554085a1 autoconf-2.61.tar.bz2 503cdc2b0992a4309545d17f462cb15f99bb57b7161dfc4082b2e7188f2bcc0f automake-1.4-p6.tar.gz 0dbafacaf21e135cab35d357a14bdcd981d2f2d00e1387801be8091a31b7bb81 automake-1.6.3.tar.bz2 2dddc3b51506e702647ccc6757e15c05323fa67245d2d53e81ed36a832f9be42 automake-1.7.8.tar.bz2 diff --git a/parts.rst b/parts.rst index bba10bf..6aac2fb 100644 --- a/parts.rst +++ b/parts.rst @@ -497,6 +497,12 @@ outputs. This is not strictly required for bootstrapping but will help us to avo build process to skip generation of manpages. This is the newest version of ``help2man`` that does not require Perl 5.8. +autoconf 2.61 +============= + +Yet another version of ``autoconf``. + + bash 3.2.57 =========== diff --git a/rootfs.sh b/rootfs.sh index a98d7e0..701e046 100755 --- a/rootfs.sh +++ b/rootfs.sh @@ -252,6 +252,9 @@ get_file https://ftp.gnu.org/gnu/automake/automake-1.8.5.tar.bz2 # help2man 1.36.4 get_file https://ftp.gnu.org/gnu/help2man/help2man-1.36.4.tar.gz +# autoconf 2.61 +get_file https://ftp.gnu.org/gnu/autoconf/autoconf-2.61.tar.bz2 + # bash 3.2.57 get_file https://ftp.gnu.org/gnu/bash/bash-3.2.57.tar.gz diff --git a/sysa/autoconf-2.61/stage1.sh b/sysa/autoconf-2.61/stage1.sh new file mode 100755 index 0000000..5c363c6 --- /dev/null +++ b/sysa/autoconf-2.61/stage1.sh @@ -0,0 +1,30 @@ +# SPDX-FileCopyrightText: 2021 Andrius Štikonas +# +# SPDX-License-Identifier: GPL-3.0-or-later + +src_prepare() { + sed -i -e '/AC_PROG_GREP/d' -e '/AC_PROG_SED/d' configure.ac + autoreconf-2.59 -f + + # Install autoconf data files into versioned directory + for file in */*/Makefile.in */Makefile.in Makefile.in; do + sed -i '/^pkgdatadir/s:$:-@VERSION@:' $file + done +} + +src_configure() { + ./configure --prefix="${PREFIX}" --program-suffix=-2.61 +} + +src_compile() { + make MAKEINFO=true +} + +src_install() { + make install MAKEINFO=true + + ln -sf "${PREFIX}/bin/autoconf-2.61" "${PREFIX}/bin/autoconf" + ln -sf "${PREFIX}/bin/autoheader-2.61" "${PREFIX}/bin/autoheader" + ln -sf "${PREFIX}/bin/autom4te-2.61" "${PREFIX}/bin/autom4te" + ln -sf "${PREFIX}/bin/autoreconf-2.61" "${PREFIX}/bin/autoreconf" +} diff --git a/sysa/autoconf-2.61/stage2.sh b/sysa/autoconf-2.61/stage2.sh new file mode 100755 index 0000000..eeceab1 --- /dev/null +++ b/sysa/autoconf-2.61/stage2.sh @@ -0,0 +1,25 @@ +# SPDX-FileCopyrightText: 2021 Andrius Štikonas +# +# SPDX-License-Identifier: GPL-3.0-or-later + +src_prepare() { + sed -i -e '/AC_PROG_GREP/d' -e '/AC_PROG_SED/d' configure.ac + autoreconf-2.61 -f + + # Install autoconf data files into versioned directory + for file in */*/Makefile.in */Makefile.in Makefile.in; do + sed -i '/^pkgdatadir/s:$:-@VERSION@:' $file + done +} + +src_configure() { + ./configure --prefix="${PREFIX}" --program-suffix=-2.61 +} + +src_compile() { + make MAKEINFO=true +} + +src_install() { + make install MAKEINFO=true +} diff --git a/sysa/run.sh b/sysa/run.sh index 7590962..328ef88 100755 --- a/sysa/run.sh +++ b/sysa/run.sh @@ -123,6 +123,9 @@ build automake-1.8.5 build help2man-1.36.4 +build autoconf-2.61 stage1.sh +build autoconf-2.61 stage2.sh + build bash-3.2.57 exec bash run2.sh From 2527d948a226e002f80062ff9ea8bbc544c796ae Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andrius=20=C5=A0tikonas?= Date: Fri, 19 Mar 2021 21:38:18 +0000 Subject: [PATCH 12/12] GNU Automake 1.9.6 --- parts.rst | 5 +++++ rootfs.sh | 3 +++ sysa/automake-1.9.6/stage1.sh | 20 ++++++++++++++++++++ sysa/automake-1.9.6/stage2.sh | 19 +++++++++++++++++++ sysa/run2.sh | 3 +++ 5 files changed, 50 insertions(+) create mode 100755 sysa/automake-1.9.6/stage1.sh create mode 100755 sysa/automake-1.9.6/stage2.sh diff --git a/parts.rst b/parts.rst index 6aac2fb..2b0001a 100644 --- a/parts.rst +++ b/parts.rst @@ -502,6 +502,11 @@ autoconf 2.61 Yet another version of ``autoconf``. +automake 1.9.6 +============== + +Latest GNU Automake from 1.9 series. Slightly annoyingly depends itself but it is easy to patch +to make it buildable with 1.8.5. Then we rebuild ``automake-1.9`` with itself. bash 3.2.57 =========== diff --git a/rootfs.sh b/rootfs.sh index 701e046..d04fb32 100755 --- a/rootfs.sh +++ b/rootfs.sh @@ -258,6 +258,9 @@ get_file https://ftp.gnu.org/gnu/autoconf/autoconf-2.61.tar.bz2 # bash 3.2.57 get_file https://ftp.gnu.org/gnu/bash/bash-3.2.57.tar.gz +# automake 1.9.6 +get_file https://ftp.gnu.org/gnu/automake/automake-1.9.6.tar.bz2 + # General cleanup find tmp -name .git -exec rm -rf \; diff --git a/sysa/automake-1.9.6/stage1.sh b/sysa/automake-1.9.6/stage1.sh new file mode 100755 index 0000000..95a0da4 --- /dev/null +++ b/sysa/automake-1.9.6/stage1.sh @@ -0,0 +1,20 @@ +# SPDX-FileCopyrightText: 2021 Andrius Štikonas +# +# SPDX-License-Identifier: GPL-3.0-or-later + +src_prepare() { + sed -i 's/1.8a/1.8.5/; s/ filename-length-max=99//' configure.ac + autoreconf-2.61 -f +} + +src_configure() { + ./configure --prefix=/after +} + +src_compile() { + make MAKEINFO=true +} + +src_install() { + make install MAKEINFO=true +} diff --git a/sysa/automake-1.9.6/stage2.sh b/sysa/automake-1.9.6/stage2.sh new file mode 100755 index 0000000..47db82a --- /dev/null +++ b/sysa/automake-1.9.6/stage2.sh @@ -0,0 +1,19 @@ +# SPDX-FileCopyrightText: 2021 Andrius Štikonas +# +# SPDX-License-Identifier: GPL-3.0-or-later + +src_prepare() { + autoreconf-2.61 -f +} + +src_configure() { + ./configure --prefix=/after +} + +src_compile() { + make MAKEINFO=true +} + +src_install() { + make install MAKEINFO=true +} diff --git a/sysa/run2.sh b/sysa/run2.sh index 9ace4cc..4cd95d7 100755 --- a/sysa/run2.sh +++ b/sysa/run2.sh @@ -9,6 +9,9 @@ set -e . helpers.sh +build automake-1.9.6 stage1.sh +build automake-1.9.6 stage2.sh + echo "Bootstrapping completed." exec env - PATH=/after/bin PS1="\w # " bash -i