From cb3257ca55926826762388a3d2c6754cab645f6e Mon Sep 17 00:00:00 2001 From: Alexander Hill Date: Sat, 17 Jan 2026 09:05:49 -0500 Subject: [PATCH] Successful rootbuild with all components! --- rootbuild.sh | 42 ++++++++++++++++++++++++++++++------------ 1 file changed, 30 insertions(+), 12 deletions(-) diff --git a/rootbuild.sh b/rootbuild.sh index 2bd733c..279789b 100755 --- a/rootbuild.sh +++ b/rootbuild.sh @@ -3,27 +3,41 @@ export CC=clang export CFLAGS="-O3 -pipe" export CXX=clang++ export CXXFLAGS=$CFLAGS +export LD=ld.lld +export TT_MICROARCH=skylake # Temporary workaround since root is the only user. ~ahill export FORCE_UNSAFE_CONFIGURE=1 # xz Build -# NOTE: xz is needed to run "treetap package", so we manually install. ~ahill +# NOTE: xz is needed to run "treetap build", so we manually build. ~ahill cd /maple -treetap build sources/xz/xz.spec -cd .treetap/sources/xz/*/*/xz-*/ +XZ_VERSION=$(treetap variable /maple/sources/xz/xz.spec SRC_VERSION) echo -n "Bootstrapping xz... " -make -j $(nproc) install DESTDIR=/ > /dev/null 2>&1 +cd .treetap/sources/xz/$XZ_VERSION +mkdir -p $TT_MICROARCH +cd $TT_MICROARCH +tar xf ../xz-*.tar* +cd xz-*/ +./configure $(treetap variable /maple/sources/xz/xz.spec TT_AUTOCONF_COMMON) --disable-static --enable-year2038 > /maple/xz.log 2>&1 +make -j $(nproc) >> /maple/xz.log 2>&1 +make -j $(nproc) install DESTDIR=/ > /maple/xz.log 2>&1 echo "Done!" # libarchive Build -# NOTE: bsdcpio is needed to run "treetap package", so we manually install. +# NOTE: bsdcpio is needed to run "treetap build", so we manually build. # ~ahill cd /maple -treetap build sources/libarchive/libarchive.spec -cd .treetap/sources/libarchive/*/*/libarchive-*/ +LIBARCHIVE_VERSION=$(treetap variable /maple/sources/libarchive/libarchive.spec SRC_VERSION) echo -n "Bootstrapping libarchive... " -make -j $(nproc) install DESTDIR=/ > /dev/null 2>&1 +cd .treetap/sources/libarchive/$LIBARCHIVE_VERSION +mkdir -p $TT_MICROARCH +cd $TT_MICROARCH +tar xf ../libarchive-*.tar* +cd libarchive-*/ +./configure $(treetap variable /maple/sources/libarchive/libarchive.spec TT_AUTOCONF_COMMON) --disable-static --enable-year2038 > /maple/libarchive.log 2>&1 +make -j $(nproc) > /maple/libarchive.log 2>&1 +make -j $(nproc) install DESTDIR=/ > /maple/libarchive.log 2>&1 echo "Done!" # Now we can build stuff exclusively with treetap @@ -41,12 +55,16 @@ echo "Done!" # NOTE: fortune-mod requires cmake to build. ~ahill # NOTE: nano requires ncurses to build. ~ahill # NOTE: kmod requires autoconf, automake, libtool to build. ~ahill +# NOTE: libcap2 requires zsh to build. ~ahill # NOTE: Linux requires bc, byacc, flex, kmod, ... ~ahill +# NOTE: Limine requires nasm to build. ~ahill +# NOTE: OpenRC requires libcap2 and muon to build. ~ahill cd /maple -LAYER0="bc byacc bzip2 coreutils diffutils findutils grep gzip libressl m4 make mawk muon musl ncurses patch perl pkgconf sed tar xz zlib zsh" -LAYER1="autoconf automake flex groff libarchive libelf libtool nano" -LAYER2="dash nasm cmake fortune-mod kmod linux" -PACKAGES="$LAYER0 $LAYER1 $LAYER2" +LAYER0="bc byacc bzip2 coreutils diffutils findutils grep gzip initramfs-tools libressl m4 make mawk muon musl ncurses patch perl pkgconf sed tar xz zlib zsh" +LAYER1="autoconf automake flex groff libarchive libcap2 libelf libtool nano openrc" +LAYER2="cmake dash fortune-mod kmod nasm" +LAYER3="limine linux" +PACKAGES="$LAYER0 $LAYER1 $LAYER2 $LAYER3" for pkg in $PACKAGES; do treetap fetch /maple/sources/$pkg/$pkg.spec treetap build /maple/sources/$pkg/$pkg.spec