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

48
steps/e2fsprogs-1.45.7/pass1.sh Executable file
View file

@ -0,0 +1,48 @@
# SPDX-FileCopyrightText: 2022 fosslinux <fosslinux@aussies.space>
#
# SPDX-License-Identifier: GPL-3.0-or-later
src_prepare() {
default
# Get UTF txt files
cp ../*.txt .
# Rebuild libtool files
rm config/config.guess config/config.sub config/ltmain.sh
libtoolize -i
AUTOMAKE=automake-1.10 ACLOCAL=aclocal-1.10 AUTOCONF=autoconf-2.64 AUTOM4TE=autom4te-2.64 autoreconf-2.64 -fi
# Remove bison parser generated
rm intl/plural.y
# Setup for regeneratation of lib/ext2fs/utf8data.h
rm lib/ext2fs/utf8data.h
# Fix compile_et
sed -r -i "s/ > ?outfile//" lib/et/et_c.awk lib/et/et_h.awk lib/ss/ct_c.awk
# Disable int
sed -i "s/@LIBINTL@//" MCONFIG.in
}
src_configure() {
# defrag fails to build with musl 1.2.4
./configure --prefix="${PREFIX}" \
--sbindir="${PREFIX}/bin" \
--disable-tls \
--disable-defrag \
with_udev_rules_dir=no \
with_systemd_unit_dir=no
}
src_compile() {
# Regen utf8data
make -C util mkutf8data
util/mkutf8data -o lib/ext2fs/utf8data.h
# Why does mkutf8data generate something not usable by build?
sed -i "s/nfkdi/nfdi/g" lib/ext2fs/utf8data.h
default
}

View file

@ -0,0 +1,38 @@
# SPDX-FileCopyrightText: 2022 fosslinux <fosslinux@aussies.space>
#
# SPDX-License-Identifier: GPL-2.0-or-later
Our version of gawk does not seem to like printing, at least in the way that
this attempts to use it. Instead, make it print to console and use working
bash redirects.
--- lib/et/compile_et.sh.in 2022-05-18 19:26:17.182054784 +1000
+++ lib/et/compile_et.sh.in 2022-05-18 19:30:16.489294776 +1000
@@ -44,14 +44,14 @@
exit 1;
fi
-$AWK -f "${DIR}/et_h.awk" "outfile=${BASE}.h.$$" "outfn=${BASE}.h" "$ROOT.et"
+$AWK -f "${DIR}/et_h.awk" "$ROOT.et" > ${BASE}.h
if test -f ${BASE}.h && cmp -s ${BASE}.h.$$ ${BASE}.h ; then
rm -f ${BASE}.h.$$
else
mv -f ${BASE}.h.$$ ${BASE}.h
chmod a-w ${BASE}.h
fi
-$AWK -f "${DIR}/et_c.awk" "outfile=${BASE}.c.$$" "outfn=${BASE}.c" "$ROOT.et"
+$AWK -f "${DIR}/et_c.awk" "$ROOT.et" > ${BASE}.c
if test -f ${BASE}.c && cmp -s ${BASE}.c.$$ ${BASE}.c ; then
rm -f ${BASE}.c.$$
else
--- lib/ss/mk_cmds.sh.in 2022-05-18 19:33:16.024962919 +1000
+++ lib/ss/mk_cmds.sh.in 2022-05-18 19:33:39.650576476 +1000
@@ -43,7 +43,7 @@
fi
${SED} -f "${DIR}/ct_c.sed" "${FILE}" \
- | ${AWK} -f "${DIR}/ct_c.awk" "rootname=${ROOT}" "outfile=${TMP}" -
+ | ${AWK} -f "${DIR}/ct_c.awk" "rootname=${ROOT}" - > "${TMP}"
if grep "^#__ERROR_IN_FILE" "${TMP}" > /dev/null; then
rm "${TMP}"

View file

@ -0,0 +1,82 @@
# SPDX-FileCopyrightText: 2022 fosslinux <fosslinux@aussies.space>
#
# SPDX-License-Identifier: GPL-2.0-or-later
Disable gettext, which we do not have at this time, along with pkg-config.
--- configure.ac 2022-05-18 15:12:53.633061872 +1000
+++ configure.ac 2022-05-18 19:09:13.351790066 +1000
@@ -860,20 +860,7 @@
dnl
MAKEFILE_LIBRARY=$srcdir/lib/Makefile.library
AC_SUBST_FILE(MAKEFILE_LIBRARY)
-dnl
-dnl Add internationalization support, using gettext.
-dnl
-GETTEXT_PACKAGE=e2fsprogs
-PACKAGE=e2fsprogs
-VERSION="$E2FSPROGS_VERSION"
-VERSION=0.14.1
-AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [package name for gettext])
-AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [version for gettext])
-AC_SUBST(GETTEXT_PACKAGE)
-AC_SUBST(PACKAGE)
-AC_SUBST(VERSION)
-AM_GNU_GETTEXT
dnl
dnl End of configuration options
dnl
@@ -1637,15 +1624,6 @@
[with_udev_rules_dir=yes])
AS_IF([test "x${with_udev_rules_dir}" != "xno"],
[
- AS_IF([test "x${with_udev_rules_dir}" = "xyes"],
- [
- PKG_CHECK_MODULES([udev], [udev],
- [
- with_udev_rules_dir="$($PKG_CONFIG --variable=udevdir udev)/rules.d"
- ], [
- with_udev_rules_dir=""
- ])
- ])
AC_MSG_CHECKING([for udev rules dir])
pkg_udev_rules_dir="${with_udev_rules_dir}"
AS_IF([test -n "${pkg_udev_rules_dir}"],
@@ -1708,16 +1686,6 @@
[with_systemd_unit_dir=yes])
AS_IF([test "x${with_systemd_unit_dir}" != "xno"],
[
- AS_IF([test "x${with_systemd_unit_dir}" = "xyes"],
- [
- PKG_CHECK_MODULES([systemd], [systemd],
- [
- with_systemd_unit_dir="$($PKG_CONFIG --variable=systemdsystemunitdir systemd)"
- ], [
- with_systemd_unit_dir=""
- ])
- m4_pattern_allow([^PKG_(MAJOR|MINOR|BUILD|REVISION)$])
- ])
AC_MSG_CHECKING([for systemd system unit dir])
systemd_system_unit_dir="${with_systemd_unit_dir}"
AS_IF([test -n "${systemd_system_unit_dir}"],
--- Makefile.in 2022-05-18 19:41:37.596959349 +1000
+++ Makefile.in 2022-05-18 19:41:41.109050161 +1000
@@ -20,7 +20,7 @@
@ALL_CMT@EXT2FS_LIB_SUBDIR= lib/ext2fs
LIB_SUBDIRS=lib/et lib/ss $(E2P_LIB_SUBDIR) $(UUID_LIB_SUBDIR) \
- $(BLKID_LIB_SUBDIR) $(SUPPORT_LIB_SUBDIR) $(EXT2FS_LIB_SUBDIR) intl
+ $(BLKID_LIB_SUBDIR) $(SUPPORT_LIB_SUBDIR) $(EXT2FS_LIB_SUBDIR)
PROG_SUBDIRS=e2fsck $(DEBUGFS_DIR) misc $(RESIZE_DIR) tests/progs po \
$(E2SCRUB_DIR)
@@ -22,7 +22,7 @@
LIB_SUBDIRS=lib/et lib/ss $(E2P_LIB_SUBDIR) $(UUID_LIB_SUBDIR) \
$(BLKID_LIB_SUBDIR) $(SUPPORT_LIB_SUBDIR) $(EXT2FS_LIB_SUBDIR)
-PROG_SUBDIRS=e2fsck $(DEBUGFS_DIR) misc $(RESIZE_DIR) tests/progs po \
+PROG_SUBDIRS=e2fsck $(DEBUGFS_DIR) misc $(RESIZE_DIR) tests/progs \
$(E2SCRUB_DIR)
SUBDIRS=util $(LIB_SUBDIRS) $(PROG_SUBDIRS) tests

View file

@ -0,0 +1,8 @@
https://mirrors.edge.kernel.org/pub/linux/kernel/people/tytso/e2fsprogs/v1.45.7/e2fsprogs-1.45.7.tar.gz 340e9de42a12d0c26dd7527e9ef055ac85586de5c61f6273ae19f88d04e55804
https://www.unicode.org/Public/11.0.0/ucd/CaseFolding.txt 64f117a4749dd4a1b6c54277f63f6cf1e0eb45d290cbedaf777fbe71b8880885
https://www.unicode.org/Public/11.0.0/ucd/DerivedAge.txt eb115a5de9a32c9ad447d6ea1cddcadb53d47f6cbc2521f3fe0bebb040c39866
https://www.unicode.org/Public/11.0.0/ucd/extracted/DerivedCombiningClass.txt 11c8bd81ecbede4d67c7b5b693a471647d5401956707c639ae053b836cc7f5da
https://www.unicode.org/Public/11.0.0/ucd/DerivedCoreProperties.txt 3406825d64564bf2a37031c36a3e0f99d708aa17595b81f8b539d0f3d1a3923f
https://www.unicode.org/Public/11.0.0/ucd/NormalizationCorrections.txt c9ffe32e616fa085246644c2351c525788fac363872491185dab7d5ce69fefa9
https://www.unicode.org/Public/11.0.0/ucd/NormalizationTest.txt 0fdfc17093dd5482f8089cb11dcd936abdba34c4c9c324e5b8a4e5d8f943f6d3
https://www.unicode.org/Public/11.0.0/ucd/UnicodeData.txt 4997a3196eb79b4d0d6b8384560f6aeb46a062693f0abd5ba736abbff7976099