SRC_FETCH_PATH="https://github.com/formilux/flxutils/archive/refs/tags/v${PKGVER}.tar.gz" SRC_FETCH_METHOD="http" PATCH_LIST=" 0001-init-make-reopen_console-more-robust-against-lack-of.patch 0002-init-do-not-replace-console-if-already-attached-to-a.patch 0003-init-detect-already-mounted-dev-file-systems.patch 0004-init-always-create-missing-dev-nodes.patch 0005-init-add-the-ws-command-to-wait-for-a-shutdown-signa.patch 0006-init-fix-build-of-the-signal-handler-part-for-archs-.patch 0007-grub-mbr-default-drop-perror-redefinition-with-nolib.patch " MAKEDEPENDS=("nolibc-*::noarch:*.h") NOLIBC_SUBDIRS="findcdrom grub-mbr-default init lcd mktmp pause uname wd" SMALL_SUBDIRS="remount mii ifenslave res" FAST_SUBDIRS="flx signfs" function do_compile { # default build options for components depending on nolibc for dir in $NOLIBC_SUBDIRS; do $FLXMAKE -C "$dir" STRIP=$STRIP OBJDUMP=$OBJDUMP CC="$CC" UCLIBC= \ CFLAGS="${GCC_OPT_SMALL} \ -nostdlib -ffreestanding -I${FLXROOTDIR}/usr/include/nolibc \ -fno-exceptions -fno-asynchronous-unwind-tables \ -fno-unwind-tables -fno-ident -fomit-frame-pointer \ -finline-small-functions -fno-tree-switch-conversion \ -fno-caller-saves -fno-move-loop-invariants" \ LDFLAGS="-static -lgcc -Wl,--gc-sections -Wl,-znoseparate-code \ -Wl,--orphan-handling=discard" || exit 1 done # the default build options are already set to small here for dir in $SMALL_SUBDIRS; do $FLXMAKE -C $dir STRIP=$STRIP OBJDUMP=$OBJDUMP CC="$CC" UCLIBC= || exit 1 done # these are the only two dirs using COPTS for dir in $FAST_SUBDIRS; do $FLXMAKE -C $dir COPTS="$GCC_ARCH_COMMON $GCC_CPU_COMMON $GCC_OPT_FAST -fno-strict-aliasing" STRIP=$STRIP OBJDUMP=$OBJDUMP CC="$CC" UCLIBC= || exit 1 done } function do_distclean { for dir in $NOLIBC_SUBDIRS $SMALL_SUBDIRS $FAST_SUBDIRS; do $FLXMAKE -C $dir clean $FLXMAKE -C $dir distclean $FLXMAKE -C $dir mrproper done ( do_delpack ) } function do_clean { for dir in $NOLIBC_SUBDIRS $SMALL_SUBDIRS $FAST_SUBDIRS; do $FLXPMAKE -C $dir clean done ( do_delpack ) } function do_prepack { mkdir -p $ROOTDIR/sbin $ROOTDIR/bin $ROOTDIR/usr/bin $ROOTDIR/usr/share/examples/flxutils/init $ROOTDIR/usr/sbin $ROOTDIR/usr/man/man8 cp findcdrom/findcdrom $ROOTDIR/sbin/ cp grub-mbr-default/grub-mbr-default $ROOTDIR/sbin/ cp flx/flx pause/pause signfs/signfs mktmp/mktmp remount/remountr lcd/lcd{tee,write} $ROOTDIR/bin/ ln -s flx $ROOTDIR/bin/flxcheck ln -s flx $ROOTDIR/bin/flxsign ln -s remountr $ROOTDIR/bin/remountw cp -R ifenslave/ifenslave-1.0.1[12] init/init init/mkdev wd/wdd mii/mii-diag scripts/{pci-listall,pcidev,noctrlaltdel,mkinstall.old,mkinstall,hotplug} $ROOTDIR/sbin/ cp -R ifenslave/ifenslave-1.1.0 $ROOTDIR/sbin/ifenslave cp scripts/{reset,flxsearch,flxextract,flxrescan} $ROOTDIR/usr/bin/ cp wd/wdd.8 $ROOTDIR/usr/man/man8/ cp scripts/{flxadd,flxfix} $ROOTDIR/usr/sbin cp init/examples/* $ROOTDIR/usr/share/examples/flxutils/init/ set_default_perm $ROOTDIR chmod 640 $ROOTDIR/usr/share/examples/flxutils/init/* # flxfix is useful for normal users too. chmod 755 $ROOTDIR/usr/sbin/flxfix } function do_tar_src { git config tar.umask 022 git archive --format=tar --prefix=$PKGRADIX-$PKGVER/ HEAD | gzip -c9 > $PKGRADIX-$PKGVER.tgz }