mirror of
https://github.com/fosslinux/live-bootstrap.git
synced 2026-03-04 18:35:24 +01:00
- 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.
74 lines
1.5 KiB
C
74 lines
1.5 KiB
C
// 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
|