mirror of
https://github.com/fosslinux/live-bootstrap.git
synced 2026-03-11 22:05:23 +01:00
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:
parent
0907cfd073
commit
6ed2e09f3a
546 changed files with 700 additions and 1299 deletions
19
steps/bash-2.05b/patches/dev-tty.patch
Normal file
19
steps/bash-2.05b/patches/dev-tty.patch
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
SPDX-FileCopyrightText: 2021 fosslinux <fosslinux@aussies.space>
|
||||
|
||||
SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
We do not have /dev at this stage of the bootstrap, including /dev/tty. For
|
||||
some reason, bash has a fixation on /dev/tty, even though we are not
|
||||
interactive. Removing this check entirely fixes this issue.
|
||||
|
||||
diff --color -ru shell.c
|
||||
--- shell.c 2002-07-02 01:27:11.000000000 +1000
|
||||
+++ shell.c 2021-01-16 11:23:36.407287955 +1100
|
||||
@@ -342,8 +342,6 @@
|
||||
# endif
|
||||
#endif
|
||||
|
||||
- check_dev_tty ();
|
||||
-
|
||||
#ifdef __CYGWIN__
|
||||
_cygwin32_check_tmp ();
|
||||
18
steps/bash-2.05b/patches/extern.patch
Normal file
18
steps/bash-2.05b/patches/extern.patch
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
SPDX-FileCopyrightText: 2021 fosslinux <fosslinux@aussies.space>
|
||||
|
||||
SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
tinycc's extern support is bad. i.e. these externs don't propagate through.
|
||||
|
||||
--- builtins/common.c 2021-01-15 21:32:56.938683418 +1100
|
||||
+++ builtins/common.c 2021-01-15 21:34:09.102153806 +1100
|
||||
@@ -46,6 +46,9 @@
|
||||
#include "../flags.h"
|
||||
#include "../jobs.h"
|
||||
#include "../builtins.h"
|
||||
+int num_shell_builtins;
|
||||
+struct builtin *shell_builtins;
|
||||
+struct builtin *current_builtin;
|
||||
#include "../input.h"
|
||||
#include "../execute_cmd.h"
|
||||
#include "../trap.h"
|
||||
17
steps/bash-2.05b/patches/locale.patch
Normal file
17
steps/bash-2.05b/patches/locale.patch
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
SPDX-FileCopyrightText: 2021 fosslinux <fosslinux@aussies.space>
|
||||
|
||||
SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
mes libc + setting locale = not worky.
|
||||
|
||||
--- locale.c 2021-01-15 09:38:55.729307629 +1100
|
||||
+++ locale.c 2021-01-15 11:19:01.929391346 +1100
|
||||
@@ -190,7 +190,7 @@
|
||||
set_lang (var, value)
|
||||
char *var, *value;
|
||||
{
|
||||
- return ((lc_all == 0 || *lc_all == 0) ? setlocale (LC_ALL, value?value:"") != NULL : 0);
|
||||
+ return 0;
|
||||
}
|
||||
|
||||
/* Get the value of one of the locale variables (LC_MESSAGES, LC_CTYPE) */
|
||||
19
steps/bash-2.05b/patches/mes-libc.patch
Normal file
19
steps/bash-2.05b/patches/mes-libc.patch
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
SPDX-FileCopyrightText: 2021 fosslinux <fosslinux@aussies.space>
|
||||
|
||||
SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
mes libc does not have locale support...
|
||||
|
||||
diff --git lib/sh/snprintf.c lib/sh/snprintf.c
|
||||
index 7669576..747aeba 100644
|
||||
--- lib/sh/snprintf.c
|
||||
+++ lib/sh/snprintf.c
|
||||
@@ -376,7 +376,7 @@ static void xfree __P((void *));
|
||||
if ((p)->flags & PF_STAR_P) \
|
||||
(p)->precision = GETARG (int)
|
||||
|
||||
-#if defined (HAVE_LOCALE_H)
|
||||
+#if 0
|
||||
# define GETLOCALEDATA(d, t, g) \
|
||||
do \
|
||||
{ \
|
||||
29
steps/bash-2.05b/patches/missing-defines.patch
Normal file
29
steps/bash-2.05b/patches/missing-defines.patch
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
SPDX-FileCopyrightText: 2021 fosslinux <fosslinux@aussies.space>
|
||||
|
||||
SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
We don't actually want any of these things, which should really be hidden
|
||||
behind the ifdefs given here to disable them when they are not being
|
||||
used (as we do).
|
||||
|
||||
--- execute_cmd.c 2021-01-15 09:38:55.730307635 +1100
|
||||
+++ execute_cmd.c 2021-01-15 09:43:41.046896754 +1100
|
||||
@@ -286,12 +286,18 @@
|
||||
{
|
||||
if (currently_executing_command->type == cm_simple)
|
||||
return currently_executing_command->value.Simple->line;
|
||||
+#ifdef COND_COMMAND
|
||||
else if (currently_executing_command->type == cm_cond)
|
||||
return currently_executing_command->value.Cond->line;
|
||||
+#endif
|
||||
+#ifdef DPAREN_ARITHMETIC
|
||||
else if (currently_executing_command->type == cm_arith)
|
||||
return currently_executing_command->value.Arith->line;
|
||||
+#endif
|
||||
+#ifdef ARITH_FOR_COMMAND
|
||||
else if (currently_executing_command->type == cm_arith_for)
|
||||
return currently_executing_command->value.ArithFor->line;
|
||||
+#endif
|
||||
else
|
||||
return line_number;
|
||||
}
|
||||
24
steps/bash-2.05b/patches/size.patch
Normal file
24
steps/bash-2.05b/patches/size.patch
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
SPDX-FileCopyrightText: © 2023 fosslinux <fosslinux@aussies.space>
|
||||
|
||||
SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
We don't yet have the size command.
|
||||
|
||||
--- Makefile.in 2023-03-11 15:41:13.297307977 +1100
|
||||
+++ Makefile.in 2023-03-11 15:43:51.677298993 +1100
|
||||
@@ -471,7 +471,6 @@
|
||||
$(RM) $@
|
||||
$(PURIFY) $(CC) $(BUILTINS_LDFLAGS) $(LIBRARY_LDFLAGS) $(LDFLAGS) -o $(Program) $(OBJECTS) $(LIBS)
|
||||
ls -l $(Program)
|
||||
- size $(Program)
|
||||
|
||||
.build: $(SOURCES) config.h Makefile version.h $(VERSPROG)
|
||||
@echo
|
||||
@@ -493,7 +492,6 @@
|
||||
strip: $(Program) .made
|
||||
strip $(Program)
|
||||
ls -l $(Program)
|
||||
- size $(Program)
|
||||
|
||||
lint:
|
||||
${MAKE} ${MFLAGS} CFLAGS='${GCC_LINT_FLAGS}' .made
|
||||
30
steps/bash-2.05b/patches/tinycc.patch
Normal file
30
steps/bash-2.05b/patches/tinycc.patch
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
SPDX-FileCopyrightText: 2021 fosslinux <fosslinux@aussies.space>
|
||||
|
||||
SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
int name, namelen; is wrong for mes libc, it is char* name, so we modify tinycc
|
||||
to reflect this.
|
||||
|
||||
diff --git lib/sh/oslib.c lib/sh/oslib.c
|
||||
index 90d7be9..37fdf2a 100644
|
||||
--- lib/sh/oslib.c
|
||||
+++ lib/sh/oslib.c
|
||||
@@ -192,8 +192,7 @@ bzero (s, n)
|
||||
# include <sys/utsname.h>
|
||||
int
|
||||
gethostname (name, namelen)
|
||||
- char *name;
|
||||
- int namelen;
|
||||
+ char *name; int namelen;
|
||||
{
|
||||
int i;
|
||||
struct utsname ut;
|
||||
@@ -209,7 +208,7 @@ gethostname (name, namelen)
|
||||
# else /* !HAVE_UNAME */
|
||||
int
|
||||
gethostname (name, namelen)
|
||||
- int name, namelen;
|
||||
+ char* name; int namelen;
|
||||
{
|
||||
strncpy (name, "unknown", namelen);
|
||||
name[namelen] = '\0';
|
||||
Loading…
Add table
Add a link
Reference in a new issue