mirror of
https://github.com/fosslinux/live-bootstrap.git
synced 2026-03-04 10:25:25 +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
74
steps/perl-5.000/files/config.h
Normal file
74
steps/perl-5.000/files/config.h
Normal file
|
|
@ -0,0 +1,74 @@
|
|||
// SPDX-FileCopyrightText: 2021 Andrius Štikonas <andrius@stikonas.eu>
|
||||
// SPDX-FileCopyrightText: 2021 fosslinux <fosslinux@aussies.space>
|
||||
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
#define MEM_ALIGNBYTES 8
|
||||
#define BIN "/usr/bin"
|
||||
#define BYTEORDER 0x4321
|
||||
#define CPPSTDIN "tcc -E"
|
||||
#define CPPMINUS "-"
|
||||
#define HAS_ALARM
|
||||
#define HAS_FORK
|
||||
#define HAS_MKDIR
|
||||
#define HAS_PAUSE
|
||||
#define HAS_RMDIR
|
||||
#define HAS_STRERROR
|
||||
#define HAS_SYS_ERRLIST
|
||||
#define Strerror(e) strerror(e)
|
||||
|
||||
#define HAS_SYSCALL
|
||||
#define HAS_TIMES
|
||||
|
||||
#define HAS_VPRINTF
|
||||
#define Gid_t gid_t
|
||||
|
||||
#define I_DIRENT
|
||||
#define Direntry_t struct dirent
|
||||
|
||||
#define I_DLFCN
|
||||
#define I_FCNTL
|
||||
#define I_LIMITS
|
||||
#define I_MATH
|
||||
#define I_NETINET_IN
|
||||
#define I_STDDEF
|
||||
#define I_STDLIB
|
||||
#define I_STRING
|
||||
#define I_SYS_DIR
|
||||
#define I_SYS_IOCTL
|
||||
#define I_SYS_PARAM
|
||||
#define I_SYS_SELECT
|
||||
#define I_SYS_TIMES
|
||||
#define I_TERMIOS
|
||||
#define I_TIME
|
||||
#define I_UNISTD
|
||||
#define I_UTIME
|
||||
#define I_STDARG
|
||||
|
||||
#define INTSIZE 4
|
||||
#define Off_t off_t
|
||||
|
||||
#define PRIVLIB "/usr/lib/perl5"
|
||||
|
||||
#define _(args) args
|
||||
|
||||
#define RANDBITS 31
|
||||
|
||||
#define SCRIPTDIR "/usr/bin"
|
||||
|
||||
#define SIG_NAME "ZERO","HUP","INT","QUIT","ILL","TRAP","IOT","BUS","FPE","KILL","USR1","SEGV","USR2","PIPE","ALRM","TERM","STKFLT","CHLD","CONT","STOP","TSTP","TTIN","TTOU","URG","XCPU","XFSZ","VTALRM","PROF","WINCH", "IO", "POLL", "PWR", "SYS", "UNUSED"
|
||||
|
||||
#define Size_t size_t
|
||||
|
||||
#define STDCHAR char
|
||||
#define Uid_t uid_t
|
||||
|
||||
#define LOC_SED "/usr/bin/sed"
|
||||
#define ARCHLIB "/usr/lib/perl5/"
|
||||
|
||||
#define CAT2(a,b) a##b
|
||||
#define Gconvert(x,n,t,b) gcvt((x),(n),(b))
|
||||
|
||||
#define Time_t time_t
|
||||
|
||||
#define SSize_t ssize_t
|
||||
8
steps/perl-5.000/files/keywords.sh
Normal file
8
steps/perl-5.000/files/keywords.sh
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
#!/bin/sh -e
|
||||
# SPDX-FileCopyrightText: 2021 Andrius Štikonas <andrius@stikonas.eu>
|
||||
#
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
# This file replaces keywords.pl
|
||||
|
||||
sed -e '1,/__END__/ d' keywords.pl | sed '1d' | awk '{print "#define", "KEY_"$0, NR-1}' > keywords.h
|
||||
31
steps/perl-5.000/files/opcode.awk
Normal file
31
steps/perl-5.000/files/opcode.awk
Normal file
|
|
@ -0,0 +1,31 @@
|
|||
# SPDX-FileCopyrightText: 2021 Andrius Štikonas <andrius@stikonas.eu>
|
||||
#
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
{
|
||||
argsum = 0
|
||||
|
||||
argsum = or(argsum, 1 * (index($4, "m") != 0))
|
||||
argsum = or(argsum, 2 * (index($4, "f") != 0))
|
||||
argsum = or(argsum, 4 * (index($4, "s") != 0))
|
||||
argsum = or(argsum, 8 * (index($4, "t") != 0))
|
||||
argsum = or(argsum, 16 * (index($4, "i") != 0))
|
||||
argsum = or(argsum, 32 * (index($4, "I") != 0))
|
||||
argsum = or(argsum, 64 * (index($4, "d") != 0))
|
||||
argsum = or(argsum, 128 * (index($4, "u") != 0))
|
||||
|
||||
mul = 256
|
||||
|
||||
arg_val="SLAHCFR"
|
||||
|
||||
argstr=$5
|
||||
gsub(" ", "", argstr)
|
||||
split(argstr, args, "")
|
||||
for(i=1; i<=length(argstr); i+=1) {
|
||||
argnum = (index(argstr, "?") != 0) * 8
|
||||
argnum += index(arg_val, args[i])
|
||||
argsum += argnum * mul
|
||||
mul = lshift(mul, 4)
|
||||
}
|
||||
printf("\t0x%08x,\t/* %s */\n", argsum, $1)
|
||||
}
|
||||
72
steps/perl-5.000/files/opcode.sh
Executable file
72
steps/perl-5.000/files/opcode.sh
Executable file
|
|
@ -0,0 +1,72 @@
|
|||
#!/bin/sh -e
|
||||
# SPDX-FileCopyrightText: 2021 Andrius Štikonas <andrius@stikonas.eu>
|
||||
#
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
# This file replaces opcode.pl
|
||||
|
||||
sed -e '1,/__END__/ d; s/[#].*$//g; /^$/d' opcode.pl | tr -s '\t' '\t' > data
|
||||
|
||||
exec 1> opcode.h
|
||||
|
||||
# Emit defines.
|
||||
echo "typedef enum {";
|
||||
awk '{print "\tOP_"toupper($1)","}' data
|
||||
echo " OP_max"
|
||||
echo "} opcode;"
|
||||
echo "#define MAXO " $(wc -l data | awk '{print $1}')
|
||||
|
||||
# Emit opnames.
|
||||
printf "
|
||||
#ifndef DOINIT
|
||||
EXT char *op_name[];
|
||||
#else
|
||||
EXT char *op_name[] = {
|
||||
"
|
||||
awk -F'\t' '{print "\t\""$2"\","}' data
|
||||
printf "};
|
||||
#endif
|
||||
|
||||
"
|
||||
|
||||
# Emit function declarations.
|
||||
awk -F'\t' '{print "OP *\t"$3"\t_((OP* op));"}' data | sort | uniq
|
||||
awk '{print "OP *\tpp_"$1"\t_((void));"}' data
|
||||
|
||||
# Emit ppcode switch array.
|
||||
printf "
|
||||
#ifndef DOINIT
|
||||
EXT OP * (*ppaddr[])();
|
||||
#else
|
||||
EXT OP * (*ppaddr[])() = {
|
||||
"
|
||||
awk '{print "\tpp_"$1","}' data
|
||||
printf "};
|
||||
#endif
|
||||
"
|
||||
|
||||
# Emit check routines.
|
||||
printf "
|
||||
#ifndef DOINIT
|
||||
EXT OP * (*check[])();
|
||||
#else
|
||||
EXT OP * (*check[])() = {
|
||||
"
|
||||
awk -F'\t' '{print "\t"$3",\t/* "$1" */"}' data
|
||||
printf "};
|
||||
#endif
|
||||
"
|
||||
|
||||
# Emit allowed argument types.
|
||||
printf "
|
||||
#ifndef DOINIT
|
||||
EXT U32 opargs[];
|
||||
#else
|
||||
EXT U32 opargs[] = {
|
||||
"
|
||||
awk -F'\t' -f opcode.awk data
|
||||
printf "};
|
||||
#endif
|
||||
"
|
||||
|
||||
rm data
|
||||
Loading…
Add table
Add a link
Reference in a new issue