#!/usr/bin/bash # SPDX-FileCopyrightText: 2022 Andrius Štikonas # SPDX-FileCopyrightText: 2021-22 fosslinux # SPDX-FileCopyrightText: 2021 Paul Dersey # SPDX-FileCopyrightText: 2021 Melg Eight # # SPDX-License-Identifier: GPL-3.0-or-later set -e # shellcheck source=/dev/null . .env # shellcheck disable=SC2153 trap 'env - PATH=${PREFIX}/bin PS1="\w # " bash -i' EXIT # shellcheck source=sysa/helpers.sh . helpers.sh trap bash EXIT umask 0022 create_fhs() { # Add the rest of the FHS that we will use and is not created pre-boot rm -rf /sbin /usr/sbin ln -s bin /usr/sbin # Hack to fix xbps (alternatively need to install which) for d in bin lib sbin; do ln -s "usr/${d}" "/${d}" done mkdir -p /etc /run /var test -d /proc || (mkdir /proc && mount -t proc proc /proc) test -d /sys || (mkdir /sys && mount -t sysfs sysfs /sys) # Make /tmp a ramdisk (speeds up configure etc significantly) test -d /tmp || (mkdir /tmp && mount -t tmpfs tmpfs /tmp) # Add /etc/resolv.conf echo 'nameserver 1.1.1.1' > /etc/resolv.conf } create_fhs populate_device_nodes # Obtain network connection if [ "${CHROOT}" = "False" ]; then dhcpcd --waitip=4 # Ensure network accessible timeout=120 while ! curl example.com >/dev/null 2>&1; do sleep 1 # shellcheck disable=SC2219 let timeout-- if [ "${timeout}" -le 0 ]; then echo "Timeout reached for internet to become accessible" false fi done fi if [ -e "${SOURCES}/distfiles" ]; then mv "${SOURCES}/distfiles" / else mkdir -p "${DISTFILES}" fi build xz-5.0.5 build file-5.44 build libtool-2.4.7 build tar-1.34 build coreutils-8.32 build pkg-config-0.29.2 build make-4.2.1 build gmp-6.2.1 build autoconf-archive-2021.02.19 build mpfr-4.1.0 build mpc-1.2.1 build flex-2.5.33 build bison-2.3 build bison-3.4.2 build perl-5.10.1 build dist-3.5-236 build perl-5.32.1 build libarchive-3.5.2 build openssl-1.1.1l build ca-certificates-3.86 build curl-7.83.0 build zlib-1.2.13 build automake-1.16.3 build autoconf-2.71 build patch-2.7.6 build gettext-0.21 build texinfo-6.7 build gcc-4.7.4 build binutils-2.38 build gperf-3.1 build libunistring-0.9.10 build libffi-3.3 build libatomic_ops-7.6.10 build gc-8.0.4 build guile-3.0.7 build which-2.21 build grep-3.7 build sed-4.8 build autogen-5.18.16 autogen-5.18.16.sh build musl-1.2.3 build python-2.0.1 stage1.sh build python-2.0.1 stage2.sh build python-2.3.7 stage1.sh build python-2.3.7 stage2.sh build python-2.5.6 build python-3.1.5 stage1.sh build python-3.1.5 stage2.sh build python-3.3.7 build python-3.4.10 build python-3.8.16 build python-3.11.1 build gcc-10.4.0 if [ "$FORCE_TIMESTAMPS" = True ] ; then echo 'Forcing all files timestamps to be 0 unix time.' canonicalise_all_files_timestamp fi shopt -s extglob if [ "$UPDATE_CHECKSUMS" = True ] ; then pushd /usr/src/repo sha256sum -- !(*-repodata) | tee "${SOURCES}/SHA256SUMS.pkgs" popd fi echo "Bootstrapping completed." cd "/" exec env -i PATH="${PATH}" HOME="${HOME}" SOURCE_DATE_EPOCH="${SOURCE_DATE_EPOCH}" bash "${SOURCES}/after.sh"