Remove the notion of "sys*"

- This idea originates from very early in the project and was, at the
  time, a very easy way to categorise things.
- Now, it doesn't really make much sense - it is fairly arbitary, often
  occuring when there is a change in kernel, but not from builder-hex0
  to fiwix, and sysb is in reality completely unnecessary.
- In short, the sys* stuff is a bit of a mess that makes the project
  more difficult to understand.
- This puts everything down into one folder and has a manifest file that
  is used to generate the build scripts on the fly rather than using
  coded scripts.
- This is created in the "seed" stage.

stage0-posix -- (calls) --> seed -- (generates) --> main steps

Alongside this change there are a variety of other smaller fixups to the
general structure of the live-bootstrap rootfs.

- Creating a rootfs has become much simpler and is defined as code in
  go.sh. The new structure, for an about-to-be booted system, is

/
-- /steps (direct copy of steps/)
-- /distfiles (direct copy of distfiles/)
-- all files from seed/*
-- all files from seed/stage0-posix/*

- There is no longer such a thing as /usr/include/musl, this didn't
  really make any sense, as musl is the final libc used. Rather, to
  separate musl and mes, we have /usr/include/mes, which is much easier
  to work with.
- This also makes mes easier to blow away later.
- A few things that weren't properly in packages have been changed;
  checksum-transcriber, simple-patch, kexec-fiwix have all been given
  fully qualified package names.
- Highly breaking change, scripts now exist in their package directory
  but NOT WITH THE packagename.sh. Rather, they use pass1.sh, pass2.sh,
  etc. This avoids manual definition of passes.
  - Ditto with patches; default directory is patches, but then any patch
    series specific to a pass are named patches-passX.
This commit is contained in:
fosslinux 2023-11-07 10:51:23 +11:00
parent 0907cfd073
commit 6ed2e09f3a
546 changed files with 700 additions and 1299 deletions

View file

@ -0,0 +1,8 @@
# SPDX-FileCopyrightText: 1998-2021 Daniel Stenberg <daniel@haxx.se>
#
# SPDX-License-Identifier: curl
my $pi = 3.1415;
foreach my $i (1 .. 200) {
printf "%d, ", sin($i/200 * 2 * $pi) * 500000 + 500000;
}

34
steps/curl-7.88.1/pass1.sh Executable file
View file

@ -0,0 +1,34 @@
# SPDX-FileCopyrightText: 2022 fosslinux <fosslinux@aussies.space>
#
# SPDX-License-Identifier: GPL-3.0-or-later
src_prepare() {
default
# Regnerate src/tool_cb_prg.c
sed -i "55,76d" src/tool_cb_prg.c
sed -i "55 s/^/$(perl sinus.pl | sed "s/, $//")\n/" src/tool_cb_prg.c
rm src/tool_help.c src/tool_help.h src/tool_listhelp.c src/tool_hugehelp.c
# Rebuild libtool files
rm config.guess config.sub ltmain.sh
libtoolize
AUTOMAKE=automake-1.15 ACLOCAL=aclocal-1.15 autoreconf-2.69 -fi
}
src_configure() {
LDFLAGS="-static" ./configure \
--prefix="${PREFIX}" \
--libdir="${LIBDIR}" \
--build=i386-unknown-linux-gnu \
--enable-ipv6 \
--without-ssl \
--disable-hsts
}
src_install() {
default
install -m 755 scripts/mk-ca-bundle.pl "${DESTDIR}/usr/bin/mk-ca-bundle"
}

29
steps/curl-7.88.1/pass2.sh Executable file
View file

@ -0,0 +1,29 @@
# SPDX-FileCopyrightText: 2022 fosslinux <fosslinux@aussies.space>
#
# SPDX-License-Identifier: GPL-3.0-or-later
src_prepare() {
default
# Regnerate src/tool_cb_prg.c
sed -i "55,76d" src/tool_cb_prg.c
sed -i "55 s/^/$(perl sinus.pl | sed "s/, $//")\n/" src/tool_cb_prg.c
rm src/tool_help.c src/tool_help.h src/tool_listhelp.c src/tool_hugehelp.c
# Rebuild libtool files
rm config.guess config.sub ltmain.sh
libtoolize
AUTOMAKE=automake-1.15 ACLOCAL=aclocal-1.15 autoreconf-2.69 -fi
}
src_configure() {
LDFLAGS="-static" ./configure \
--prefix="${PREFIX}" \
--libdir="${LIBDIR}" \
--build=i386-unknown-linux-musl \
--enable-ipv6 \
--with-openssl \
--with-ca-bundle=/etc/ssl/certs.pem
}

View file

@ -0,0 +1,62 @@
# SPDX-FileCopyrightText: 2022 fosslinux <fosslinux@aussies.space>
#
# SPDX-License-Identifier: curl
Regenerating help is not trivial. Help is unnecessary.
Disable help.
diff -ru src/Makefile.inc src/Makefile.inc
--- src/Makefile.inc
+++ src/Makefile.inc
@@ -70,11 +70,9 @@
tool_formparse.c \
tool_getparam.c \
tool_getpass.c \
- tool_help.c \
tool_helpers.c \
tool_hugehelp.c \
tool_libinfo.c \
- tool_listhelp.c \
tool_main.c \
tool_msgs.c \
tool_operate.c \
@@ -111,7 +109,6 @@
tool_formparse.h \
tool_getparam.h \
tool_getpass.h \
- tool_help.h \
tool_helpers.h \
tool_hugehelp.h \
tool_libinfo.h \
diff -ru src/tool_operate.c src/tool_operate.c
--- src/tool_operate.c
+++ src/tool_operate.c
@@ -80,7 +80,6 @@
#include "tool_writeout.h"
#include "tool_xattr.h"
#include "tool_vms.h"
-#include "tool_help.h"
#include "tool_hugehelp.h"
#include "tool_progress.h"
#include "dynbuf.h"
@@ -2703,19 +2702,7 @@
if(res) {
result = CURLE_OK;
- /* Check if we were asked for the help */
- if(res == PARAM_HELP_REQUESTED)
- tool_help(global->help_category);
- /* Check if we were asked for the manual */
- else if(res == PARAM_MANUAL_REQUESTED)
- hugehelp();
- /* Check if we were asked for the version information */
- else if(res == PARAM_VERSION_INFO_REQUESTED)
- tool_version_info();
- /* Check if we were asked to list the SSL engines */
- else if(res == PARAM_ENGINES_REQUESTED)
- tool_list_engines();
- else if(res == PARAM_LIBCURL_UNSUPPORTED_PROTOCOL)
+ if(res == PARAM_LIBCURL_UNSUPPORTED_PROTOCOL)
result = CURLE_UNSUPPORTED_PROTOCOL;
else if(res == PARAM_READ_ERROR)
result = CURLE_READ_ERROR;

View file

@ -0,0 +1,56 @@
# SPDX-FileCopyrightText: 2023 Eduardo Sánchez Muñoz <eduardosm-dev@e64.io>
#
# SPDX-License-Identifier: curl
Disables checking current date in mk-ca-bundle script, so it produces
reproducible bundles.
diff -ru scripts/mk-ca-bundle.pl scripts/mk-ca-bundle.pl
--- scripts/mk-ca-bundle.pl
+++ scripts/mk-ca-bundle.pl
@@ -499,19 +499,7 @@
if($main_block) {
push @precert, $_ if not /^#$/;
if(/^# Not Valid After : (.*)/) {
- my $stamp = $1;
- use Time::Piece;
- # Not Valid After : Thu Sep 30 14:01:15 2021
- my $t = Time::Piece->strptime($stamp, "%a %b %d %H:%M:%S %Y");
- my $delta = ($t->epoch - time()); # negative means no longer valid
- if($delta < 0) {
- $skipnum++;
- report "Skipping: $main_block_name is not valid anymore" if ($opt_v);
- $valid = 0;
- }
- else {
- $valid = 1;
- }
+ $valid = 1;
}
}
next;
@@ -573,24 +561,6 @@
if($timestamp[12] ne "Z") {
report "distrust date stamp is not using UTC";
}
- # Example date: 200617000000Z
- # Means 2020-06-17 00:00:00 UTC
- my $distrustat =
- timegm($timestamp[10] . $timestamp[11], # second
- $timestamp[8] . $timestamp[9], # minute
- $timestamp[6] . $timestamp[7], # hour
- $timestamp[4] . $timestamp[5], # day
- ($timestamp[2] . $timestamp[3]) - 1, # month
- "20" . $timestamp[0] . $timestamp[1]); # year
- if(time >= $distrustat) {
- # not trusted anymore
- $skipnum++;
- report "Skipping: $main_block_name is not trusted anymore" if ($opt_v);
- $valid = 0;
- }
- else {
- # still trusted
- }
}
next;
}

View file

@ -0,0 +1 @@
https://curl.se/download/curl-7.88.1.tar.bz2 8224b45cce12abde039c12dc0711b7ea85b104b9ad534d6e4c5b4e188a61c907