logo

bootstrap-initrd

Linux initrd to bootstrap from a small binary seed git clone https://hacktivis.me/git/bootstrap-initrd.git
commit: 4322b41789f3d265256449fa1d451096b1fa6ae6
parent ecab359fa1a688e73c05d8c0517d9b08a54d723b
Author: Haelwenn (lanodan) Monnier <contact@hacktivis.me>
Date:   Thu, 23 May 2024 23:53:40 +0200

Use pdpmake as main make implementation

Diffstat:

MREADME.md9+++++++--
Mdistfiles.SHA512SUM1+
Mfetch.sh1+
Minit.sh47++++++++++++++++++++++++++---------------------
Mmake-root.sh1+
5 files changed, 36 insertions(+), 23 deletions(-)

diff --git a/README.md b/README.md @@ -85,8 +85,13 @@ Meanwhile: ### (One True) awk Reference implementation and AFAIK the one used in BSDs, can be built with only a Yacc implementation and a C Compiler. -### bmake -NetBSD make(1) made portable, uses an autotools configure script but much simpler than the GNU Make one. +### pdpmake +Public Domain POSIX make, trivial to compile without an existing make, features future POSIX additions and common extensions. + +Meanwhile: +- bmake (NetBSD make port): autotools configure script, simpler than the one in GNU make but still unreviewable +- OpenBSD make, port at <https://github.com/ibara/make> is incomplete and likely outdated +- (OpenOffice) dmake: Horribly massive ### bzip2 Builds with C Compiler + bmake. diff --git a/distfiles.SHA512SUM b/distfiles.SHA512SUM @@ -41,6 +41,7 @@ d74d86400cb5a772f8652d3c08fd041ae7999475eeef500aa8bca6c11109389d6604764184136a4b 05d97e8c9f1428e5d391bcaa010f0883997f955d302531b602b943732e474aac534b671d6a20792894432c9eef1de94c8fd4e319449e655e83e166eee5a02f33 distfiles/musl-libintl-1.2.5-r0.apk.x86 dacee8ce46c236fcc09ae767bd2f1bc1dfcba026a49134cb8f915d2d4ad31eb089fc8edeb8b1027276a9450ca14be56043747c93acbcbab334efa1bd20069084 distfiles/musl-libintl-1.2.5-r0.apk.x86_64 3d5626b0d6033a9eb8f3d81acbe0b30842e99f4c40563ca3f906ecfebdb72d754de18cd180345131868ad325fead4a6e66bfb765af45267180e256f46a76f316 distfiles/nawk-20240422.tar.gz +3f43685eeaeea15d55d4a6e7ca6f8a36d344e4f5096aca19f56b696db79dcf6a7d9593cef1d99b15d1a025ee45c23a4e1c217800bbc6006afacf20468c547d31 distfiles/pdpmake-1.4.2.tgz ae3d9d593e1645d65f9ab77aa828600c9af4bb30d0a073da7ae3dd805e65b87efaf6a0efb980f2d0168e475ae506eba194547d6479956dabb9d88293a9078a7f distfiles/pigz-2.8.tar.gz 0ca21e4e390c57c3ad8bfeb9f8d92e65c6a60f28c2a962c1b64e268610b8d88fd502febad23264aed45db68a67dd83321b10f4e896718ab869d4ae743d769676 distfiles/pkgconf-2.2.0.tar.gz b050d22a0446e3e2439f59762f3b40104bc1c8361c6ac17a410c0d13c06af497470d468ba50de97b50181a959ae3189b2dba089162dbade536803c8ff96b2d83 distfiles/sbase-b30fb568.tar.gz diff --git a/fetch.sh b/fetch.sh @@ -1,6 +1,7 @@ #!/bin/sh URLS=" https://hacktivis.me/releases/utils-std/utils-std-f2842f4.tar.gz + https://frippery.org/make/pdpmake-1.4.2.tgz https://www.crufty.net/ftp/pub/sjg/bmake-20240508.tar.gz https://www.crufty.net/ftp/pub/sjg/mk-20240408.tar.gz https://sourceware.org/pub/bzip2/bzip2-1.0.8.tar.gz diff --git a/init.sh b/init.sh @@ -35,6 +35,11 @@ build_stubs() { ln /utils-std-*/cmd/cat /usr/bin/sort || die } +build_pdpmake() { + cd /pdpmake-*/ + $CC $CFLAGS -o /bin/pdpmake *.c +} + build_bmake() { cd /bmake/ ./configure \ @@ -49,9 +54,9 @@ build_bmake() { build_bzip2() { cd /bzip2-*/ - bmake -f Makefile-libbz2_so CC=$CC || die + pdpmake -f Makefile-libbz2_so CC=$CC || die ln -s libbz2.so.1.0.8 libbz2.so - bmake -f Makefile bzip2 CC=$CC || die + pdpmake -f Makefile bzip2 CC=$CC || die ln libbz2.so.1.0.8 /lib/libbz2.so.1.0.8 ln -s libbz2.so.1.0.8 /lib/libbz2.so @@ -59,14 +64,14 @@ build_bzip2() { ln bzip2 /bin/bzip2 ln -s bzip2 /bin/bunzip2 ln -s bzip2 /bin/bzcat - bmake clean + pdpmake clean } build_zlib_libs() { cd /zlib-*/ ./configure </dev/null - bmake install - bmake clean + pdpmake install + pdpmake clean } build_pigz() { @@ -75,24 +80,24 @@ build_pigz() { # Makefile placeholders for zopfli/deflate.h and zopfli/util.h touch deflate.h util.h - bmake CC=$CC ZOP= ZOPFLI= CFLAGS="${CFLAGS} -DNOZOPFLI" + pdpmake CC=$CC ZOP= ZOPFLI= CFLAGS="${CFLAGS} -DNOZOPFLI" cp -p pigz /bin ln -s pigz /bin/unpigz ln -s pigz /bin/gzip ln -s pigz /bin/ungzip - bmake clean + pdpmake clean } build_hierloom_devtools() { cd /heirloom-devtools-*/ for cmd in lex m4 do - bmake "$cmd/Makefile" - bmake RANLIB=true -C "$cmd" - bmake RANLIB=true -C "$cmd" install - bmake RANLIB=true -C "$cmd" clean + pdpmake "$cmd"/Makefile + pdpmake -C "$cmd" RANLIB=true + pdpmake -C "$cmd" RANLIB=true install + pdpmake -C "$cmd" RANLIB=true clean done } @@ -102,10 +107,10 @@ build_hierloom() { for cmd in libcommon diff tar sort split comm cut find stty\ libuxre ed do - bmake "$cmd/Makefile" - bmake CC=$CC AR="ar" RANLIB=true -C "$cmd" - bmake CC=$CC AR="ar" RANLIB=true -C "$cmd" install - bmake CC=$CC AR="ar" RANLIB=true -C "$cmd" clean + pdpmake "$cmd"/Makefile + pdpmake -C "$cmd" CC=$CC AR="ar" RANLIB=true + pdpmake -C "$cmd" CC=$CC AR="ar" RANLIB=true install + pdpmake -C "$cmd" CC=$CC AR="ar" RANLIB=true clean done ln -fs /usr/5bin/sort /bin/sort mv /usr/5bin/ed /usr/bin/ed @@ -116,9 +121,9 @@ build_utils_std() { # Proper install so you get /usr/bin/env cd /utils-std-*/ ./configure PREFIX=/usr - bmake - bmake install - bmake clean + pdpmake + pdpmake install + pdpmake clean } build_sbase_sed() { @@ -173,12 +178,12 @@ EOF chmod +x /bin/hostname -build_bmake || die -profile_export MAKE="bmake" +build_pdpmake || die +profile_export MAKE="pdpmake" build_hierloom_devtools || die -# Needs bmake + m4 +# Needs make + m4 build_utils_std || die build_hierloom || die diff --git a/make-root.sh b/make-root.sh @@ -8,6 +8,7 @@ tarballs=" loksh-7.5.tar.gz yacc-oyacc-6.6.tar.gz utils-std-f2842f4.tar.gz + pdpmake-1.4.2.tgz mk-20240408.tar.gz bmake-20240508.tar.gz nawk-20240422.tar.gz