logo

bootstrap-initrd

Linux initrd to bootstrap from a small binary seed git clone https://anongit.hacktivis.me/git/bootstrap-initrd.git/
commit: 7ab3273fa30a61b3c82cd3fa234f13a0f672cb98
parent 3804a0f18d4946de50a69be579dc77342749502d
Author: Haelwenn (lanodan) Monnier <contact@hacktivis.me>
Date:   Tue, 21 Jan 2025 09:57:39 +0100

distfiles: bump pdpmake to 2.0.2

Diffstat:

Mdistfiles.SHA512SUM2+-
Mfetch.sh2+-
Mmake-root.sh4+++-
Apdpmake-2.0.2-fix_single_suffix.patch66++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
4 files changed, 71 insertions(+), 3 deletions(-)

diff --git a/distfiles.SHA512SUM b/distfiles.SHA512SUM @@ -36,7 +36,7 @@ c806f85682b45ce2fb81f832de364b03c9f36e93e02f9ed0abd492418bd4d4ec8054c6684da1cafe 3b2d0d4b96aa0181cd8552dfdb5d0f24ea26265a2aad463edc7102850aa4a91898bc7adeae15d852129f710eddeb280a0b770cff02c5af5b6c0082b6df250c58 distfiles/musl-libintl-1.2.5-r9.apk.x86_64 3be63637bc1689e56d2eac9fa646e8bd89b8c4ccd4ad028a61c7c5d5e9f3490d3c49657488d39a62451b23f0935b81c5ecd812c92cef9e160f7377f4bd4fc711 distfiles/nawk-20250116.tar.gz 934099408667070537c7e92eafd3a63956959a987f08f77f33968b6890142aa07381678381a5fc69033e3c279ca2603ad0507a6c34beba85d87ce38904acd090 distfiles/oksh-7.6.tar.gz -b2ea989baed5e2328c6957b940744c82fa2d8bbf541418fcb6bd3fe49192242dc38ee9f2d20cc1b0e9de967c17a5f46d5c5e0a16701504d83f76a8b5586860df distfiles/pdpmake-2.0.1.tgz +3923282ce3cdf7106b77f9af820c3eb49d05d3dbaf3018add5c0a65058e0c4b948abd47d9fc1cfd26859ebbfc273d9acbf79644cb378e063ec66e9d65f7cdadb distfiles/pdpmake-2.0.2.tgz ae3d9d593e1645d65f9ab77aa828600c9af4bb30d0a073da7ae3dd805e65b87efaf6a0efb980f2d0168e475ae506eba194547d6479956dabb9d88293a9078a7f distfiles/pigz-2.8.tar.gz 0759e63b9bfdc1e0b2f95e4c5c7be24b4ffa22e06a08cfad7f8e8be9faf99c256b1cbc72159e4ec805791d6b507a80fc344d05d63a1d273c3285dac868bf6ca0 distfiles/pkgconf-pkgconf-2.3.0.tar.gz b050d22a0446e3e2439f59762f3b40104bc1c8361c6ac17a410c0d13c06af497470d468ba50de97b50181a959ae3189b2dba089162dbade536803c8ff96b2d83 distfiles/sbase-b30fb568.tar.gz diff --git a/fetch.sh b/fetch.sh @@ -2,7 +2,7 @@ URLS=" https://hacktivis.me/releases/utils-std/utils-std-0.0.1.tar.gz https://hacktivis.me/releases/utils-std/utils-std-0.0.1.tar.gz.sign - https://frippery.org/make/pdpmake-2.0.1.tgz + https://frippery.org/make/pdpmake-2.0.2.tgz https://gitlab.com/bzip2/bzip2/-/archive/bzip2-1.0.8/bzip2-bzip2-1.0.8.tar.gz https://zlib.net/zlib-1.3.1.tar.gz https://www.zlib.net/pigz/pigz-2.8.tar.gz diff --git a/make-root.sh b/make-root.sh @@ -7,7 +7,7 @@ tarballs=" oksh-7.6.tar.gz yacc-oyacc-6.6.tar.gz utils-std-0.0.1.tar.gz - pdpmake-2.0.1.tgz + pdpmake-2.0.2.tgz nawk-20250116.tar.gz bzip2-bzip2-1.0.8.tar.gz zlib-1.3.1.tar.gz @@ -196,6 +196,8 @@ sed -i \ heirloom-devtools-*/mk.config \ || die "Failed configuring heirloom-devtools" +patch -p0 <"${WORKDIR}/pdpmake-2.0.2-fix_single_suffix.patch" + # pdpmake-1.4.3+ consider them invalid "macros" sed -i \ -e '/^\.c\.o:/s/;/\n\t/' \ diff --git a/pdpmake-2.0.2-fix_single_suffix.patch b/pdpmake-2.0.2-fix_single_suffix.patch @@ -0,0 +1,66 @@ +From 89025d0698f8b5a5dbb49670729151997350498c Mon Sep 17 00:00:00 2001 +From: Ron Yorston <rmy@pobox.com> +Date: Mon, 20 Jan 2025 21:46:44 +0000 +Subject: [PATCH] Fix single-suffix inference rule regression + +Commit a64a52f (Extend inference rule search) added code to handle +inference rules with arbitrary suffixes. Unfortunately it failed +to check for a single-suffix rule in the case where no known suffix +was found. Add the necessary code. + +(GitHub issue #72) +--- + rules.c | 19 ++++++++++++++----- + 1 file changed, 14 insertions(+), 5 deletions(-) + +diff --git a/rules.c b/rules.c +index 4e88191..964b69a 100644 +--- pdpmake-2.0.2/rules.c ++++ pdpmake-2.0.2/rules.c +@@ -147,22 +147,34 @@ dyndep(struct name *np, struct rule *infrule, const char **ptsuff) + // targets of the form lib.a(member.o). + if (!posix && member == NULL) { + struct name *xp = newname(".SUFFIXES"); ++ int found_suffix = FALSE; ++ + for (struct rule *rp = xp->n_rule; rp; rp = rp->r_next) { + for (struct depend *dp = rp->r_dep; dp; dp = dp->d_next) { + tsuff = dp->d_name->n_name; + base = has_suffix(name, tsuff); + if (base) { ++ found_suffix = TRUE; + pp = dyndep0(base, tsuff, infrule); + free(base); + if (pp) { +- if (ptsuff) +- *ptsuff = tsuff; + goto done; + } + } + } + } + ++ if (!found_suffix) { ++ // The name didn't have a known suffix. Try single-suffix rule. ++ tsuff = ""; ++ pp = dyndep0(name, tsuff, infrule); ++ if (pp) { ++ done: ++ if (ptsuff) { ++ *ptsuff = tsuff; ++ } ++ } ++ } + } else + #endif + { +@@ -173,9 +185,6 @@ dyndep(struct name *np, struct rule *infrule, const char **ptsuff) + pp = dyndep0(base, tsuff, infrule); + free((void *)tsuff); + } +-#if ENABLE_FEATURE_MAKE_EXTENSIONS +- done: +-#endif + free(name); + + return pp;