Various fixes + cleanup.

- Add parts.rst documentation for Linux kernel.
- Completely fix problems caused by new bootstrap, update checksums for
  /usr.
- Globalise populate_device_nodes.
- Enable deblobbing.
This commit is contained in:
fosslinux 2021-08-05 22:16:19 +10:00
parent d429c48d76
commit 04180f5672
48 changed files with 438 additions and 342 deletions

View File

@ -9,10 +9,11 @@ pylint_task:
deps_script: deps_script:
- apt-get -y update - apt-get -y update
- apt-get -y dist-upgrade - apt-get -y dist-upgrade
- apt-get -y install python3-requests pylint - apt-get -y install python3-pip python3-requests
- apt-get -y clean - apt-get -y clean
- pip3 install pylint
check_script: check_script:
- pylint rootfs.py sysa.py lib/utils.py - pylint rootfs.py sysa.py sysb.py sysc.py lib/utils.py lib/sysgeneral.py --disable=duplicate-code
shell_lint_task: shell_lint_task:
container: container:
@ -23,7 +24,7 @@ shell_lint_task:
- apt-get -y install shellcheck - apt-get -y install shellcheck
- apt-get -y clean - apt-get -y clean
check_script: check_script:
- shellcheck sysa/run.sh sysa/helpers.sh - shellcheck sysa/run.sh sysb/run.sh sysc/run.sh sysc/run2.sh sysglobal/helpers.sh
reuse_lint_task: reuse_lint_task:
container: container:

View File

@ -25,7 +25,10 @@ Get me started!
a. Alternatively, run ``./rootfs.py --chroot`` to run it in a chroot. a. Alternatively, run ``./rootfs.py --chroot`` to run it in a chroot.
b. Alternatively, run ``./rootfs.py`` but dont run the actual b. Alternatively, run ``./rootfs.py`` but dont run the actual
virtualization and instead copy sysa/tmp/initramfs to a USB or virtualization and instead copy sysa/tmp/initramfs to a USB or
some other device and boot from bare metal. some other device and boot from bare metal. NOTE: we now require
a hard drive. This is currently hardcoded as sda. You also need
to put ``sysc/tmp/disk.img`` onto your sda on the bootstrapping
machine.
5. Wait. 5. Wait.
6. If you can, observe the many binaries in ``/after/bin``! When the 6. If you can, observe the many binaries in ``/after/bin``! When the
@ -129,4 +132,24 @@ sysa
sysa is the first system used in live-bootstrap. We move to a new sysa is the first system used in live-bootstrap. We move to a new
system after a reboot, which often occurs after the movement to a new system after a reboot, which often occurs after the movement to a new
kernel. It is run by the seed Linux kernel provided by the user. It kernel. It is run by the seed Linux kernel provided by the user. It
currently compiles everything. compiles everything we need to be able to compile our own Linux kernel.
It runs fully in an initramfs and does not rely on disk support in the
seed Linux kernel.
sysb
~~~~
sysb is the second 'system' of live-bootstrap. This uses the Linux 4.9.10
kernel compiled within sysa. As we do not rely on disk support in sysa, we
need this intermediate system to be able to add the missing binaries to sysc
before moving into it. This is executed through kexec from sysa. At this point,
a SATA disk IS required.
sysc
~~~~
sysc is the (current) last 'system' of live-bootstrap. This is a continuation
from sysb, executed through util-linux's ``switch_root`` command which moves
the entire rootfs without a reboot. Every package from here on out is compiled
under this system, taking binaries from sysa. Chroot mode skips sysb, as it
is obviously irrelevant for a chroot.

View File

@ -22,6 +22,15 @@ class SysGeneral:
A class from which all Sys* class are extended. A class from which all Sys* class are extended.
Contains functions used in all Sys* Contains functions used in all Sys*
""" """
# All of these are variables defined in the individual Sys* classes
preserve_tmp = None
tmp_dir = None
base_dir = None
git_dir = None
sys_dir = None
initramfs_path = None
def __del__(self): def __del__(self):
if not self.preserve_tmp: if not self.preserve_tmp:
print("Unmounting tmpfs from %s" % (self.tmp_dir)) print("Unmounting tmpfs from %s" % (self.tmp_dir))
@ -38,7 +47,7 @@ class SysGeneral:
def check_file(self, file_name): def check_file(self, file_name):
"""Check hash of downloaded source file.""" """Check hash of downloaded source file."""
checksum_store = os.path.join(self.git_dir, 'SHA256SUMS.sources') checksum_store = os.path.join(self.git_dir, 'SHA256SUMS.sources')
with open(checksum_store) as checksum_file: with open(checksum_store, encoding="utf_8") as checksum_file:
hashes = checksum_file.read().splitlines() hashes = checksum_file.read().splitlines()
for hash_line in hashes: for hash_line in hashes:
if os.path.basename(file_name) in hash_line: if os.path.basename(file_name) in hash_line:
@ -73,6 +82,7 @@ class SysGeneral:
if not os.path.isfile(abs_file_name): if not os.path.isfile(abs_file_name):
print("Downloading: %s" % (file_name)) print("Downloading: %s" % (file_name))
request = requests.get(url, allow_redirects=True) request = requests.get(url, allow_redirects=True)
# pylint: disable=consider-using-with
open(abs_file_name, 'wb').write(request.content) open(abs_file_name, 'wb').write(request.content)
# Check SHA256 hash # Check SHA256 hash
@ -125,8 +135,8 @@ class SysGeneral:
def deploy_sysglobal_files(self): def deploy_sysglobal_files(self):
"""Deploy files common to all Sys*""" """Deploy files common to all Sys*"""
sysglobal_files = ['bootstrap.cfg', 'helpers.sh'] sysglobal_files = ['bootstrap.cfg', 'helpers.sh']
for f in sysglobal_files: for file in sysglobal_files:
shutil.copy2(os.path.join(self.git_dir, 'sysglobal', f), shutil.copy2(os.path.join(self.git_dir, 'sysglobal', file),
self.base_dir) self.base_dir)
def make_initramfs(self): def make_initramfs(self):
@ -145,7 +155,10 @@ class SysGeneral:
file_list = [remove_prefix(f, self.tmp_dir + os.sep) for f in file_list] file_list = [remove_prefix(f, self.tmp_dir + os.sep) for f in file_list]
# Create the initramfs # Create the initramfs
with open(self.initramfs_path, "w") as initramfs: with open(self.initramfs_path, "w", encoding="utf_8") as initramfs:
cpio = subprocess.Popen(["cpio", "--format", "newc", "--create", "--directory", self.tmp_dir], # pylint: disable=consider-using-with
stdin=subprocess.PIPE, stdout=initramfs) cpio = subprocess.Popen(
["cpio", "--format", "newc", "--create",
"--directory", self.tmp_dir],
stdin=subprocess.PIPE, stdout=initramfs)
cpio.communicate(input='\n'.join(file_list).encode()) cpio.communicate(input='\n'.join(file_list).encode())

View File

@ -5,7 +5,7 @@ This file contains a few self-contained helper functions
# SPDX-License-Identifier: GPL-3.0-or-later # SPDX-License-Identifier: GPL-3.0-or-later
# SPDX-FileCopyrightText: 2021 Andrius Štikonas <andrius@stikonas.eu> # SPDX-FileCopyrightText: 2021 Andrius Štikonas <andrius@stikonas.eu>
# SPDX-FileCopyrightText: 2021 fosslinux <fosslinux@aussies.space> # SPDX-FileCopyrightText: 2021 fosslinux <fosslinux@aussies.space>
import os import os
import shutil import shutil

View File

@ -566,6 +566,48 @@ Linux kernel without a manual restart from within a running system. It is a
kind of soft-restart. It is only built for non-chroot mode, as we only use it kind of soft-restart. It is only built for non-chroot mode, as we only use it
in non-chroot mode. It is used to go into sysb/sysc. in non-chroot mode. It is used to go into sysb/sysc.
create_sysb
===========
The next step is not a package, but the creation of the sysb rootfs, containing
all of the scripts for sysb (which merely move to sysc). Again, this is only
done in non-chroot mode, because sysb does not exist in chroot mode.
Linux kernel 4.9.10
===================
A lot going on here. This is the first (and currently only) time the Linux kernel
is built. Firstly, Linux kernel version 4.9.x is used because newer versions
require much more stringent requirements on the make, GCC, binutils versions.
However, the docs are also wrong, as the latest of the 4.9.x series does not
work with our version of binutils. However, a much earlier 4.9.10 does
(selected arbitarily, could go newer but did not test), with a small amount
of patching. This is also modern enough for most hardware and to cause few
problems with software built in sysc. Secondly, the linux-libre scripts are used
to deblob the kernel. Unauditable, unbootstrappable binary blobs within our
kernel are unacceptable. Our gawk is too buggy/old so we use sed instead for
this operation. Every other pregenerated file is appended with ``_shipped`` so
we use a ``find`` command to remove those, which are automatically regenerated.
The kernel config was originally taken from Void Linux, and was then modified
for the requirements of live-bootstrap, including compiler features, drivers,
and removing modules. Speaking of which, modules cannot be used. These cannot
be transferred to subsequent systems, and we do not have ``modprobe``. Lastly,
the initramfs of sysb is generated in this stage, using ``gen_init_cpio`` within
the Linux kernel tree. This avoids the compilation of ``cpio`` as well.
go_sysb
=======
This is the last step of sysa, run for non-chroot mode. It uses kexec to load
the new Linux kernel into RAM and execute it, moving into sysb.
sysb
====
sysb is purely a transition to sysc, allowing binaries from sysa to get onto a
disk (as sysa does not nessecarily have hard disk support in the kernel).
It populates device nodes, mounts sysc, copies over data, and executes sysc.
bash 5.1 bash 5.1
======== ========

View File

@ -13,15 +13,13 @@ you can run bootstap inside chroot.
# SPDX-FileCopyrightText: 2021 fosslinux <fosslinux@aussies.space> # SPDX-FileCopyrightText: 2021 fosslinux <fosslinux@aussies.space>
import argparse import argparse
import glob
import os import os
import subprocess
import shutil import shutil
from sysa import SysA from sysa import SysA
from sysb import SysB from sysb import SysB
from sysc import SysC from sysc import SysC
from lib.utils import run, umount from lib.utils import run
def create_configuration_file(args): def create_configuration_file(args):
""" """
@ -29,7 +27,7 @@ def create_configuration_file(args):
customize bootstrap. customize bootstrap.
""" """
config_path = os.path.join('sysglobal', 'bootstrap.cfg') config_path = os.path.join('sysglobal', 'bootstrap.cfg')
with open(config_path, "w") as config: with open(config_path, "w", encoding="utf_8") as config:
config.write("FORCE_TIMESTAMPS=" + str(args.force_timestamps) + "\n") config.write("FORCE_TIMESTAMPS=" + str(args.force_timestamps) + "\n")
config.write("CHROOT=" + str(args.chroot) + "\n") config.write("CHROOT=" + str(args.chroot) + "\n")
config.write("DISK=sda1\n") config.write("DISK=sda1\n")
@ -72,9 +70,12 @@ def main():
create_configuration_file(args) create_configuration_file(args)
system_b = SysB(arch=args.arch, preserve_tmp=args.preserve, tmpdir=args.tmpdir, chroot=args.chroot) system_b = SysB(arch=args.arch, preserve_tmp=args.preserve,
system_a = SysA(arch=args.arch, preserve_tmp=args.preserve, tmpdir=args.tmpdir, chroot=args.chroot, sysb_tmp=system_b.tmp_dir) tmpdir=args.tmpdir, chroot=args.chroot)
system_c = SysC(arch=args.arch, preserve_tmp=args.preserve, tmpdir=args.tmpdir, chroot=args.chroot) system_a = SysA(arch=args.arch, preserve_tmp=args.preserve,
tmpdir=args.tmpdir, chroot=args.chroot, sysb_tmp=system_b.tmp_dir)
system_c = SysC(arch=args.arch, preserve_tmp=args.preserve,
tmpdir=args.tmpdir, chroot=args.chroot)
bootstrap(args, system_a, system_b, system_c) bootstrap(args, system_a, system_b, system_c)
@ -94,11 +95,11 @@ print(shutil.which('chroot'))
# Perform the steps for sysa -> sysc transition that would occur within # Perform the steps for sysa -> sysc transition that would occur within
# qemu if we were running not in chroot # qemu if we were running not in chroot
# We skip sysb as that is only pertinent to "hardware" (not chroot) # We skip sysb as that is only pertinent to "hardware" (not chroot)
# system_c.chroot_transition(system_a.tmp_dir) system_c.chroot_transition(system_a.tmp_dir)
# sysc # sysc
print("Bootstrapping %s -- SysC" % (args.arch)) print("Bootstrapping %s -- SysC" % (args.arch))
# init = os.path.join(os.sep, 'init') init = os.path.join(os.sep, 'init')
# run('sudo', chroot_binary, system_c.tmp_dir, init) run('sudo', chroot_binary, system_c.tmp_dir, init)
elif args.minikernel: elif args.minikernel:
if os.path.isdir('kritis-linux'): if os.path.isdir('kritis-linux'):
@ -116,7 +117,7 @@ print(shutil.which('chroot'))
'--kernel', '3.18.140', '--kernel', '3.18.140',
'--features', 'kflock,highrestimers', '--features', 'kflock,highrestimers',
# Hack to add -hda /dev/blah # Hack to add -hda /dev/blah
'--ramsize', str(args.qemu_ram) + 'M -hda ' + sysb.dev_name, '--ramsize', str(args.qemu_ram) + 'M -hda ' + system_b.dev_name,
'--initrd', system_a.initramfs_path, '--initrd', system_a.initramfs_path,
'--log', '/tmp/bootstrap.log') '--log', '/tmp/bootstrap.log')

View File

@ -5,19 +5,19 @@
# SPDX-FileCopyrightText: 2021 Melg Eight <public.melg8@gmail.com> # SPDX-FileCopyrightText: 2021 Melg Eight <public.melg8@gmail.com>
# SPDX-FileCopyrightText: 2021 fosslinux <fosslinux@aussies.space> # SPDX-FileCopyrightText: 2021 fosslinux <fosslinux@aussies.space>
import glob
import os import os
from distutils.dir_util import copy_tree from distutils.dir_util import copy_tree
import shutil import shutil
import subprocess
from lib.utils import mount, umount, copytree, get_target from lib.utils import copytree
from lib.sysgeneral import SysGeneral from lib.sysgeneral import SysGeneral
# pylint: disable=consider-using-with
class SysA(SysGeneral): class SysA(SysGeneral):
""" """
Class responsible for preparing sources for System A. Class responsible for preparing sources for System A.
""" """
# pylint: disable=too-many-instance-attributes,too-many-arguments
def __init__(self, arch, preserve_tmp, tmpdir, chroot, sysb_tmp): def __init__(self, arch, preserve_tmp, tmpdir, chroot, sysb_tmp):
self.git_dir = os.path.dirname(os.path.join(__file__)) self.git_dir = os.path.dirname(os.path.join(__file__))
self.arch = arch self.arch = arch

View File

@ -9,8 +9,8 @@ src_prepare() {
} }
src_configure() { src_configure() {
./configure --prefix=${PREFIX} \ ./configure --prefix=${PREFIX}
--target=i386-unknown-linux-gnu \ # --target=i386-unknown-linux-gnu \
--host=i386-unknown-linux-gnu \ # --host=i386-unknown-linux-gnu \
--build=i386-unknown-linux-gnu # --build=i386-unknown-linux-gnu
} }

View File

@ -1464,7 +1464,7 @@ CONFIG_NET_VENDOR_EXAR=y
CONFIG_NET_VENDOR_HP=y CONFIG_NET_VENDOR_HP=y
# CONFIG_HP100 is not set # CONFIG_HP100 is not set
CONFIG_NET_VENDOR_INTEL=y CONFIG_NET_VENDOR_INTEL=y
CONFIG_E100=y # CONFIG_E100 is not set
CONFIG_E1000=y CONFIG_E1000=y
CONFIG_E1000E=y CONFIG_E1000E=y
CONFIG_E1000E_HWTS=y CONFIG_E1000E_HWTS=y
@ -1548,7 +1548,7 @@ CONFIG_NET_VENDOR_SUN=y
# CONFIG_CASSINI is not set # CONFIG_CASSINI is not set
# CONFIG_NIU is not set # CONFIG_NIU is not set
CONFIG_NET_VENDOR_SYNOPSYS=y CONFIG_NET_VENDOR_SYNOPSYS=y
CONFIG_NET_VENDOR_TEHUTI=y # CONFIG_NET_VENDOR_TEHUTI is not set
# CONFIG_TEHUTI is not set # CONFIG_TEHUTI is not set
CONFIG_NET_VENDOR_TI=y CONFIG_NET_VENDOR_TI=y
# CONFIG_TI_CPSW_ALE is not set # CONFIG_TI_CPSW_ALE is not set
@ -2705,7 +2705,7 @@ CONFIG_USB_SERIAL_AIRCABLE=y
CONFIG_USB_SERIAL_ARK3116=y CONFIG_USB_SERIAL_ARK3116=y
CONFIG_USB_SERIAL_BELKIN=y CONFIG_USB_SERIAL_BELKIN=y
CONFIG_USB_SERIAL_CH341=y CONFIG_USB_SERIAL_CH341=y
CONFIG_USB_SERIAL_WHITEHEAT=y # CONFIG_USB_SERIAL_WHITEHEAT is not set
CONFIG_USB_SERIAL_DIGI_ACCELEPORT=y CONFIG_USB_SERIAL_DIGI_ACCELEPORT=y
CONFIG_USB_SERIAL_CP210X=y CONFIG_USB_SERIAL_CP210X=y
CONFIG_USB_SERIAL_CYPRESS_M8=y CONFIG_USB_SERIAL_CYPRESS_M8=y
@ -2714,21 +2714,21 @@ CONFIG_USB_SERIAL_FTDI_SIO=y
CONFIG_USB_SERIAL_VISOR=y CONFIG_USB_SERIAL_VISOR=y
CONFIG_USB_SERIAL_IPAQ=y CONFIG_USB_SERIAL_IPAQ=y
CONFIG_USB_SERIAL_IR=y CONFIG_USB_SERIAL_IR=y
CONFIG_USB_SERIAL_EDGEPORT=y # CONFIG_USB_SERIAL_EDGEPORT is not set
CONFIG_USB_SERIAL_EDGEPORT_TI=y # CONFIG_USB_SERIAL_EDGEPORT_TI is not set
CONFIG_USB_SERIAL_F81232=y CONFIG_USB_SERIAL_F81232=y
CONFIG_USB_SERIAL_GARMIN=y CONFIG_USB_SERIAL_GARMIN=y
CONFIG_USB_SERIAL_IPW=y CONFIG_USB_SERIAL_IPW=y
CONFIG_USB_SERIAL_IUU=y CONFIG_USB_SERIAL_IUU=y
CONFIG_USB_SERIAL_KEYSPAN_PDA=y # CONFIG_USB_SERIAL_KEYSPAN_PDA is not set
CONFIG_USB_SERIAL_KEYSPAN=y # CONFIG_USB_SERIAL_KEYSPAN is not set
CONFIG_USB_SERIAL_KLSI=y CONFIG_USB_SERIAL_KLSI=y
CONFIG_USB_SERIAL_KOBIL_SCT=y CONFIG_USB_SERIAL_KOBIL_SCT=y
CONFIG_USB_SERIAL_MCT_U232=y CONFIG_USB_SERIAL_MCT_U232=y
CONFIG_USB_SERIAL_METRO=y CONFIG_USB_SERIAL_METRO=y
CONFIG_USB_SERIAL_MOS7720=y CONFIG_USB_SERIAL_MOS7720=y
CONFIG_USB_SERIAL_MOS7840=y CONFIG_USB_SERIAL_MOS7840=y
CONFIG_USB_SERIAL_MXUPORT=y # CONFIG_USB_SERIAL_MXUPORT is not set
CONFIG_USB_SERIAL_NAVMAN=y CONFIG_USB_SERIAL_NAVMAN=y
CONFIG_USB_SERIAL_PL2303=y CONFIG_USB_SERIAL_PL2303=y
CONFIG_USB_SERIAL_OTI6858=y CONFIG_USB_SERIAL_OTI6858=y
@ -2739,9 +2739,9 @@ CONFIG_USB_SERIAL_SAFE=y
CONFIG_USB_SERIAL_SAFE_PADDED=y CONFIG_USB_SERIAL_SAFE_PADDED=y
CONFIG_USB_SERIAL_SIERRAWIRELESS=y CONFIG_USB_SERIAL_SIERRAWIRELESS=y
CONFIG_USB_SERIAL_SYMBOL=y CONFIG_USB_SERIAL_SYMBOL=y
CONFIG_USB_SERIAL_TI=y # CONFIG_USB_SERIAL_TI is not set
CONFIG_USB_SERIAL_CYBERJACK=y CONFIG_USB_SERIAL_CYBERJACK=y
CONFIG_USB_SERIAL_XIRCOM=y # CONFIG_USB_SERIAL_XIRCOM is not set
CONFIG_USB_SERIAL_WWAN=y CONFIG_USB_SERIAL_WWAN=y
CONFIG_USB_SERIAL_OPTION=y CONFIG_USB_SERIAL_OPTION=y
CONFIG_USB_SERIAL_OMNINET=y CONFIG_USB_SERIAL_OMNINET=y
@ -2775,7 +2775,7 @@ CONFIG_USB_SERIAL_QT2=y
# CONFIG_USB_EHSET_TEST_FIXTURE is not set # CONFIG_USB_EHSET_TEST_FIXTURE is not set
# CONFIG_USB_ISIGHTFW is not set # CONFIG_USB_ISIGHTFW is not set
# CONFIG_USB_YUREX is not set # CONFIG_USB_YUREX is not set
CONFIG_USB_EZUSB_FX2=y # CONFIG_USB_EZUSB_FX2 is not set
# CONFIG_USB_HSIC_USB3503 is not set # CONFIG_USB_HSIC_USB3503 is not set
# CONFIG_USB_HSIC_USB4604 is not set # CONFIG_USB_HSIC_USB4604 is not set
# CONFIG_USB_LINK_LAYER_TEST is not set # CONFIG_USB_LINK_LAYER_TEST is not set

View File

@ -34,7 +34,7 @@ src_prepare() {
# Deblob the kernel # Deblob the kernel
chmod +x deblob-4.9 deblob-check chmod +x deblob-4.9 deblob-check
# Don't use gawk, use sed # Don't use gawk, use sed
AWK=dosentexist ./deblob-4.9 AWK=dosentexist ./deblob-4.9
# Remove shipped files # Remove shipped files
find . -name "*_shipped*" -delete find . -name "*_shipped*" -delete

View File

@ -2,7 +2,7 @@ SPDX-FileCopyrightText: 2021 fosslinux <fosslinux@aussies.space>
SPDX-License-Identifier: GPL-2.0-only SPDX-License-Identifier: GPL-2.0-only
Our older version of binutils dosen't play very nicely with binutils for a Our older version of binutils doesn't play very nicely with binutils for a
couple of edgecase macros. It seems that ALTERNATIVE is one of these. As we couple of edgecase macros. It seems that ALTERNATIVE is one of these. As we
know what your system will be (not Xen), we can manually evaluate and write know what your system will be (not Xen), we can manually evaluate and write
out the ALTERNATIVEs. out the ALTERNATIVEs.

View File

@ -1,10 +1,7 @@
<<<<<<< HEAD
SPDX-FileCopyrightText: 2021 fosslinux <fosslinux@aussies.space> SPDX-FileCopyrightText: 2021 fosslinux <fosslinux@aussies.space>
SPDX-License-Identifier: GPL-2.0-only SPDX-License-Identifier: GPL-2.0-only
=======
>>>>>>> 1bbc946 (Add kbd-1.15.)
--- include/uapi/asm-generic/termios.h.bak 2021-07-23 14:23:51.330460544 +1000 --- include/uapi/asm-generic/termios.h.bak 2021-07-23 14:23:51.330460544 +1000
+++ include/uapi/asm-generic/termios.h 2021-07-23 19:08:27.112810109 +1000 +++ include/uapi/asm-generic/termios.h 2021-07-23 19:08:27.112810109 +1000
@@ -12,13 +12,6 @@ @@ -12,13 +12,6 @@

View File

@ -1,4 +1,4 @@
# SPDX-FileCopyrightText: 2021 fosslinux <fosslinux@aussies.space> # SPDX-FileCopyrightText: 2021 fosslinux <fosslinux@aussies.space>
# #
# SPDX-License-Identifier: GPL-3.0-or-later # SPDX-License-Identifier: GPL-3.0-or-later

View File

@ -1 +0,0 @@
95bfa9867c273ae5e5ff8126b377952907b33ff00dd1cf0059aa587c1dfc2ec5 /usr/bin/pkg-config

View File

@ -7,8 +7,9 @@
# SPDX-License-Identifier: GPL-3.0-or-later # SPDX-License-Identifier: GPL-3.0-or-later
set -e set -e
# shellcheck source=sysa/helpers.sh # shellcheck source=sysglobal/helpers.sh
. helpers.sh . helpers.sh
# shellcheck source=/dev/null
. bootstrap.cfg . bootstrap.cfg
export PREFIX=/usr export PREFIX=/usr
@ -16,18 +17,6 @@ export SOURCES=/after
mkdir -p "${PREFIX}/sbin" mkdir -p "${PREFIX}/sbin"
export PATH="${PREFIX}/bin:${PREFIX}/sbin" export PATH="${PREFIX}/bin:${PREFIX}/sbin"
populate_device_nodes() {
# http://www.linuxfromscratch.org/lfs/view/6.1/chapter06/devices.html
mkdir -p "${1}/dev"
test -c "${1}/dev/null" || mknod -m 666 "${1}/dev/null" c 1 3
test -c "${1}/dev/zero" || mknod -m 666 "${1}/dev/zero" c 1 5
test -c "${1}/dev/ptmx" || mknod -m 666 "${1}/dev/ptmx" c 5 2
test -c "${1}/dev/tty" || mknod -m 666 "${1}/dev/tty" c 5 0
test -c "${1}/dev/random" || mknod -m 444 "${1}/dev/random" c 1 8
test -c "${1}/dev/urandom" || mknod -m 444 "${1}/dev/urandom" c 1 9
test -c "${1}/dev/console" || mknod -m 666 "${1}/dev/console" c 5 1
}
create_sysb() { create_sysb() {
# Copy everything in # Copy everything in
echo "Creating sysb rootfs" echo "Creating sysb rootfs"

View File

@ -4,9 +4,9 @@ SPDX-License-Identifier: GPL-2.0-or-later
We disable the following programs for the following reasons: We disable the following programs for the following reasons:
* script: dosen't build with musl. * script: doesn't build with musl.
* flock: GCC dosen't like some directive. * flock: GCC doesn't like some directive.
* fstrim: ??? dosen't build (missing/bad linux header?) * fstrim: ??? doesn't build (missing/bad linux header?)
* fsfreeze: ditto. * fsfreeze: ditto.
* hexdump: musl incompatibility. * hexdump: musl incompatibility.
* column: musl incompatibility. * column: musl incompatibility.

View File

@ -9,13 +9,14 @@ src_prepare() {
AUTOPOINT=true autoreconf -fi AUTOPOINT=true autoreconf -fi
} }
# --target=i386-unknown-linux-gnu \
# --host=i386-unknown-linux-gnu \
# --build=i386-unknown-linux-gnu \
src_configure() { src_configure() {
./configure --prefix=${PREFIX} \ ./configure --prefix=${PREFIX} \
--bindir="${PREFIX}/bin" \ --bindir="${PREFIX}/bin" \
--sbindir="${PREFIX}/sbin" \ --sbindir="${PREFIX}/sbin" \
--target=i386-unknown-linux-gnu \ --libdir="${PREFIX}/lib/musl" \
--host=i386-unknown-linux-gnu \
--build=i386-unknown-linux-gnu \
--disable-libuuid \ --disable-libuuid \
--without-ncurses \ --without-ncurses \
--enable-static \ --enable-static \

View File

@ -2,13 +2,11 @@
"""System B""" """System B"""
# SPDX-License-Identifier: GPL-3.0-or-later # SPDX-License-Identifier: GPL-3.0-or-later
# SPDX-FileCopyrightText: 2021 Andrius Štikonas <andrius@stikonas.eu> # SPDX-FileCopyrightText: 2021 Andrius Štikonas <andrius@stikonas.eu>
# SPDX-FileCopyrightText: 2021 fosslinux <fosslinux@aussies.space> # SPDX-FileCopyrightText: 2021 fosslinux <fosslinux@aussies.space>
import os import os
import shutil import shutil
import getpass
from lib.utils import mount, umount, copytree, create_disk, run
from lib.sysgeneral import SysGeneral from lib.sysgeneral import SysGeneral
class SysB(SysGeneral): class SysB(SysGeneral):

View File

@ -6,6 +6,9 @@
set -e set -e
# shellcheck source=sysglobal/helpers.sh
. helpers.sh
# shellcheck source=/dev/null
. bootstrap.cfg . bootstrap.cfg
export PATH=/usr/bin:/usr/sbin export PATH=/usr/bin:/usr/sbin
@ -13,16 +16,6 @@ export PATH=/usr/bin:/usr/sbin
# Unload the current kernel before things go weird # Unload the current kernel before things go weird
kexec -u kexec -u
populate_device_nodes() {
# http://www.linuxfromscratch.org/lfs/view/6.1/chapter06/devices.html
test -c /dev/null || mknod -m 666 /dev/null c 1 3
test -c /dev/zero || mknod -m 666 /dev/zero c 1 5
test -c /dev/ptmx || mknod -m 666 /dev/ptmx c 5 2
test -c /dev/tty || mknod -m 666 /dev/tty c 5 0
test -c /dev/random || mknod -m 444 /dev/random c 1 8
test -c /dev/urandom || mknod -m 444 /dev/urandom c 1 9
}
create_hdx() { create_hdx() {
# Create all of the sd{a,b,c..} # Create all of the sd{a,b,c..}
minor=0 minor=0
@ -48,7 +41,7 @@ echo "Mounting sysc"
mkdir /sysc mkdir /sysc
# All the various structures that don't exist but needed to mount # All the various structures that don't exist but needed to mount
mkdir -p /etc /dev mkdir -p /etc /dev
populate_device_nodes populate_device_nodes ""
create_hdx create_hdx
mount -t ext4 "/dev/${DISK}" /sysc mount -t ext4 "/dev/${DISK}" /sysc

46
sysc.py
View File

@ -1,20 +1,22 @@
#!/usr/bin/env python3 #!/usr/bin/env python3
"""System C""" """System C"""
# SPDX-License-Identifier: GPL-3.0-or-later # SPDX-License-Identifier: GPL-3.0-or-later
# SPDX-FileCopyrightText: 2021 fosslinux <fosslinux@aussies.space>
# SPDX-FileCopyrightText: 2021 Andrius Štikonas <andrius@stikonas.eu> # SPDX-FileCopyrightText: 2021 Andrius Štikonas <andrius@stikonas.eu>
# SPDX-FileCopyrightText: 2021 fosslinux <fosslinux@aussies.space>
import os import os
import shutil import shutil
import getpass import getpass
from lib.utils import mount, umount, copytree, create_disk, run from lib.utils import mount, umount, create_disk, run
from lib.sysgeneral import SysGeneral from lib.sysgeneral import SysGeneral
# pylint: disable=consider-using-with
class SysC(SysGeneral): class SysC(SysGeneral):
""" """
Class responsible for preparing sources for System C. Class responsible for preparing sources for System C.
""" """
# pylint: disable=too-many-instance-attributes
def __init__(self, arch, preserve_tmp, tmpdir, chroot): def __init__(self, arch, preserve_tmp, tmpdir, chroot):
self.git_dir = os.path.dirname(os.path.join(__file__)) self.git_dir = os.path.dirname(os.path.join(__file__))
self.arch = arch self.arch = arch
@ -56,7 +58,7 @@ class SysC(SysGeneral):
run('sudo', 'chown', getpass.getuser(), self.rootfs_dir) run('sudo', 'chown', getpass.getuser(), self.rootfs_dir)
else: else:
self.rootfs_dir = self.tmp_dir self.rootfs_dir = self.tmp_dir
# Expand to the full base dir # Expand to the full base dir
self.base_dir = os.path.join(self.rootfs_dir, 'usr', 'src') self.base_dir = os.path.join(self.rootfs_dir, 'usr', 'src')
os.makedirs(self.base_dir) os.makedirs(self.base_dir)
@ -71,25 +73,27 @@ class SysC(SysGeneral):
if not self.chroot: if not self.chroot:
umount(self.rootfs_dir) umount(self.rootfs_dir)
def chroot_transition(sysb_tmp, self): def chroot_transition(self, original):
# See create_sysb in sysb/run.sh """
# We skip sysb when using chroot, as sysb is entirely irrelevant For chroot, transition sysa -> sysc
# to chrooting (only for kernel shenanigans) See create_sysc in sysb/run.sh
# Copy directories from /after (sysa) -> /usr (sysc) We skip sysb when using chroot, as sysb is entirely irrelevant
usr_dirs = ['bin', 'include', 'lib', 'sbin', 'share'] to chrooting (only for kernel shenanigans)
for d in usr_dirs: Copy directories from /usr (sysa) -> /usr (sysc)
copy_tree(os.path.join(sysa_tmp, 'after', d), """
os.path.join(self.rootfs_dir, 'usr')) run('sudo', 'chown', '-R', getpass.getuser(), original)
# Copy /boot run('sudo', 'chown', '-R', getpass.getuser(), self.rootfs_dir)
copy_tree(os.path.join(sysa_tmp, 'after', 'boot'), shutil.copytree(os.path.join(original, 'usr'),
os.path.join(self.rootfs_dir, 'boot')) os.path.join(self.rootfs_dir, 'usr'),
ignore=shutil.ignore_patterns("src"),
dirs_exist_ok=True, symlinks=True)
def deploy_scripts(self): def deploy_scripts(self):
"""Add the scripts to the chroot""" """Add the scripts to the chroot"""
src_files = ['run.sh', 'run2.sh'] src_files = ['run.sh', 'run2.sh']
for f in src_files: for file in src_files:
shutil.copy2(os.path.join(self.sys_dir, f), shutil.copy2(os.path.join(self.sys_dir, file),
os.path.join(self.base_dir, f)) os.path.join(self.base_dir, file))
# init script # init script
os.mkdir(os.path.join(self.rootfs_dir, 'sbin')) os.mkdir(os.path.join(self.rootfs_dir, 'sbin'))
shutil.copy2(os.path.join(self.sys_dir, 'init'), self.rootfs_dir) shutil.copy2(os.path.join(self.sys_dir, 'init'), self.rootfs_dir)
@ -120,6 +124,12 @@ class SysC(SysGeneral):
self.get_file(["https://git.savannah.gnu.org/cgit/coreutils.git/snapshot/coreutils-8.32.tar.gz", self.get_file(["https://git.savannah.gnu.org/cgit/coreutils.git/snapshot/coreutils-8.32.tar.gz",
"https://git.savannah.gnu.org/cgit/gnulib.git/snapshot/gnulib-d279bc.tar.gz"]) "https://git.savannah.gnu.org/cgit/gnulib.git/snapshot/gnulib-d279bc.tar.gz"])
# pkg-config 0.29.2
self.get_file("https://pkgconfig.freedesktop.org/releases/pkg-config-0.29.2.tar.gz")
# make 4.2.1
self.get_file("https://ftp.gnu.org/gnu/make/make-4.2.1.tar.gz")
# gmp 6.2.1 # gmp 6.2.1
self.get_file("https://mirrors.kernel.org/gnu/gmp/gmp-6.2.1.tar.xz") self.get_file("https://mirrors.kernel.org/gnu/gmp/gmp-6.2.1.tar.xz")

View File

@ -30,4 +30,6 @@ src_configure() {
src_install() { src_install() {
# Do not install prebuilt .mo translation catalogs # Do not install prebuilt .mo translation catalogs
install bash "${DESTDIR}${PREFIX}/bin" install bash "${DESTDIR}${PREFIX}/bin"
# Work around weird symlink bug
install bash "${DESTDIR}${PREFIX}/bin/sh"
} }

View File

@ -1 +1 @@
1065290aaf14b395e6ad4601f786ce9917387bee69cc8e16455edd5e0602d7e4 /usr/bin/bash aad790a9682031012511c51e4a3fcb12365b92180552e494b60326248b9ec427 /usr/bin/bash

View File

@ -1 +1 @@
5f32418b2681b9c26a845689d9761f0c28bbaadce32c58d6b203f4ad8ebe0234 /usr/bin/bison-2.3 398fa6ef7952ee4c1a0781c701ed39c9c95bf8a1459512ffd6f0662cb2f4b78b /usr/bin/bison-2.3

View File

@ -1 +1 @@
7659e6caa1c0f82722bc2d80b614a1fa500e531ce0f359c3a813b742738ad7c6 /usr/bin/bison b9bb8201f3e5add724c6a1e9e06ab4455c15f3d2246255c93ae39eddc72721c9 /usr/bin/bison

View File

@ -1,107 +1,107 @@
4b1cb2c39577f107feb8def55982f789594ed26cac2440dbd794d0efc1060113 /usr/bin/[ 39117f2f2acf137579e8db2854ac39ffce3419d17a0216006cde8a229c495743 /usr/bin/[
226c2c0185f322f375bcdc0723fd306b2b68fe532168926b19fc90de4be3db60 /usr/bin/b2sum 71a01772af98af39a943b1b50f7ffbc76793943ec17c39ae5bb75f64cbc85abe /usr/bin/b2sum
9c4fe4ce411f086c3daaa0e85a96d15214482e1e8cbe66286594dc02620ddd97 /usr/bin/base32 c15fe49a99866a7c231146b853ba471e4a9d5d4fd1f97bc4238f18095b6d582d /usr/bin/base32
fd6dcb61a183b9a0342276f77a310a4faf14b20e9aa58c8d9755d49db263aba3 /usr/bin/base64 f03a4fc3b948802baa196f46bbc868f051520dde6f1b9cc88bcc47640d2f90b7 /usr/bin/base64
fe7d1f2f778a2e4f1cb100e901472cdbf50bb66ed0e64ef0e0899198e9795464 /usr/bin/basename d0acdfda68891700f3a4e3df1e963e1036f19ee7ea3003080d3b63d5d8b8f9c7 /usr/bin/basename
40abb4ddaee9f983a38599d1a11816fe376a842e09194bd0c3708afc20185cb0 /usr/bin/basenc 0e77aafe3ee96003315fd42dfac33d2c8f711ab91fe0a4eae2471e479f2a2c12 /usr/bin/basenc
5921f992032733277031c65ba4b5ac03a2168d731c90513e2cffd2f6defc013e /usr/bin/cat 418ae14a756761b3be645b845a91a0294a26e0b41ee90c396240bbe3e2617ea7 /usr/bin/cat
cd2187495f4f5adf59e48b62ad92d01c8d7c8b3d4f5bb76fc7c790217ab9bcce /usr/bin/chcon 3dc42d61768ff6cf9b783e7f114378db0b1d2250d7d7fdc19d657fe6358aa8de /usr/bin/chcon
944e56b469d9dca8e888b0a6a8bb90d126279e6a19a40e71c077ce6fe668c0a2 /usr/bin/chgrp 6c390f3516be3e249ae84107369f2a219fe7f143bba9d5f01f6f80c08868917b /usr/bin/chgrp
6e7aa98b4f221282e1fef34d8e266239e095ee9c7e76847e3a91412ba2c0b7c8 /usr/bin/chmod 6764655173236d984c8cab0ff6725ef39707b0c5406c7dcd0313077b9d9a8432 /usr/bin/chmod
453cb0c1cba85966823d91dfcb79fe494736839656bd757b790de7c3b1403d8c /usr/bin/chown 76aebc6296e1358ac45419cb69257fdd24d9a1d674a037b7b79f0e7e2bbd5db9 /usr/bin/chown
6b90b8354b9fe3c8804384a8c028f01b6b04df764c3af5e8a8fbe1fa38aeca0c /usr/bin/chroot 7250c855d175bb92bb71020c6cd5234f63997bc735f0d1700621c9a6cd778925 /usr/bin/chroot
1cf4e54e3bf96739b5cd184dad44f40ed19f3a8b0aafd19f72997cef9b473db6 /usr/bin/cksum c3eb968327749cecba3dd8f22738fc685000c069451007f1055628bdce69daf5 /usr/bin/cksum
c969da84baa070bbdab9e269e6e3fec4f4b6ca385ed74632970ab7fbda78f4d1 /usr/bin/comm 5be0df25c3098b9c68e4fa7d1644bc081182d97ea4f8043944480e0d152f024b /usr/bin/comm
8e1ef24a88b8e032c2e1af3186a206212e8939fe011ff9c6fe278bbae5536d47 /usr/bin/cp ef96e439b9fd930b16ab45b963d4137b4897d07eed54b41f212b1c99d2613328 /usr/bin/cp
d46f3c060d5edbea25a2fcf7c65dcbeed3d0084eb2f1a15c1b8f8eeed6642d67 /usr/bin/csplit 447e480e0c8f25e4bcdc7dd8787dbac58cc932435d5f3f479cc07efd0effc206 /usr/bin/csplit
fb8faa5610e38b9e3c186aa9cdfcbe7ca07809c3569e3dafe3890678c36ebeac /usr/bin/cut 73b31bc5a6caf38780243735827f58fbe363887ec6d67e3a602a3329242f81c9 /usr/bin/cut
8146b6270016150120854b3eec6382d52d44e72f80abbde00c6c8238a78839b6 /usr/bin/date 8a5f40870220f5d6589897574a5fe9dfe4367f121ba3cb93f95cca2cfc49dd58 /usr/bin/date
2d70f5bda07a63a645db04b7c0908ca96873f075e8a1d89422b90f48bffb04fa /usr/bin/dd 5c5e264978f77c0f94578af632e7036748e0e3209492483eee3552d5e6ab7585 /usr/bin/dd
7831d760c20670064963fa41b0939ac19932d8b04a4c7b56aabfd4d917962675 /usr/bin/df 15f47c032ff42b13926a5b90759b2b0aa7d37136196de3479d8f8a273ba31f2f /usr/bin/df
8c7c9de8ee2792b12cd0eeb795a366bb1d3812244a6eaee1b4d32ce878c6e077 /usr/bin/dir 2c9f60bdbaa2ac25910f8fa6ae70c3cea8240ceff6a83937490cf3c19eb47a16 /usr/bin/dir
5601dc48fe224812071c2c1de6a73223aaf90921ec90c6575596f4fbeb92a570 /usr/bin/dircolors a6ed34191f52388b0b4695cb59de8b3d37befb87646e550e7c57bba071499270 /usr/bin/dircolors
2ba169c8791696adc37779dcc35eb689af5bebce3ea05ba46d3c1b667dc6bc04 /usr/bin/dirname cc34d083c4559137702405c5766ad350fc53b711dc31a26d0fd5ce0dc65a624b /usr/bin/dirname
ce57fade16775a802e3b14643dd3e2d41db8bd6fe8a5005cc8ba2290c9d2be91 /usr/bin/du 5e3bd3139f17ccd42ddef9dd916f98c53b7752def69ee5f689963fba634917f1 /usr/bin/du
1613e25b9b8ead7db666b9c77ec0e4f37239a5d847bb475ba89881231e8050c9 /usr/bin/echo c19f61d927b1870c485f5fff6cd43976f6f9df3b03b21130d0137330429a469f /usr/bin/echo
bb822886e49633840975978af4cada542a951522ac753dfc0b67b5054d5be0d8 /usr/bin/env 2f1eb96790073729198e8f4662dcab47a39f2bd8e2ebbeee9595e3b5bc192cc6 /usr/bin/env
7240ea8a4139df493be025d41503d827c64b6051ac3651c0d2448694991f4051 /usr/bin/expand 4a8941313086374c4d3572d22c1b9c087c36ef34df2089574e9b4db26929a002 /usr/bin/expand
10e7908eda22cf34ae2fb7b578497c60aca01adb9b93865af4b24659ed4731ad /usr/bin/expr 16e829247f7cda2b7fef0afb529c47484c69e535443a8270464bc45177c3b186 /usr/bin/expr
f21cd98cbae3c93ba86893cbde49177f068b097aa75b9dad63bc233b8c0eff55 /usr/bin/factor d1006624ab52ea307446afc924eca86e076915a1dc46cbbaa08a82360822b500 /usr/bin/factor
2e31dcb31b02e1665d95948ef9fba420c3d03f77f15314b8dc39b82e09112821 /usr/bin/false 823ce2d30f37db909739d16152b9b08d6bdb0a80c4c29fe1be46da4470707c56 /usr/bin/false
993f48bf28d51ef0631c54c5d43692db891959950ccff7b012c9fe622a4dc23f /usr/bin/fmt 34a583f79cd255c6113105bf718719fda7ab5bffd9cc2bb2b5fced343f673ab6 /usr/bin/fmt
0dcdbcd7578726d424d5873d1b0907867db67430b456bbb6d617a7769013af95 /usr/bin/fold d04bdb149ce72e7bef502a12d9ad5df6190fc0319805c47646c83eb378e8e7ea /usr/bin/fold
072b49fe3e8c3ed889cb9756d23bb3040a633b44889e2e8f2d033ea795f16e32 /usr/bin/groups 0126ecfe31292a2545ba8b9220607d3671eff4a25d180d62bf1b4c44f18fd574 /usr/bin/groups
8af0f46e031b8c6aa13367cfaf24dc3d7861d7a92785e3483e1b4e7d0d1035ef /usr/bin/head dc26e7056a2b7dcc7cb1b48c75c063187132517c1f7441db884ddca7df355bb7 /usr/bin/head
b14cae09e34d8ff404fff1d44c9d5eb28ace744b25e18c097b2304b475195b49 /usr/bin/hostid 4072ab64841e227d9dc3280b731a5ad0726f8e2e5c60f9ef1ed0068c1ab87b86 /usr/bin/hostid
a064920bb701620402aca4e73e53b0aa92dd98003d265f1b90e7d71e53bdd9ee /usr/bin/id 9bb86449f0134f8e86e44d69803d78c3fabacaf4ae418330e9c20382d1410143 /usr/bin/id
efc206df123a0fc345347ca9d67a0c257af9751f860707f32729f7c4c0a713ee /usr/bin/install 2fe10256595d050f6ab91a9d9f1b4be75e3ab58f3bdc0d28e7dc5e869d79d36e /usr/bin/install
261a508fc2db1b42c40f37a96c3fbde8cdc527ad408c07558dede622513333f8 /usr/bin/join 3503f301d1f7717f3e3aa9eb77f2e1c68b4d1be552ad054bd595213c98f39d8e /usr/bin/join
e0a9c45e9ecd9a50fec3bf50246ddf77c3e6220e295928878166fab92dea41bb /usr/bin/kill 7bbba79fe4b8705ebfeb60bf06c28ff23fa975794787f6c407960cab2f13c70e /usr/bin/kill
daa02c83dd3ab0d5e9fd3945500aae8838fd660f102f3e9826858235101c0e3c /usr/bin/link 05d028339f76b43e25296f35cb98f4c8317d96d88332195f8f19e65156354b92 /usr/bin/link
b2c4f2b084743a12c9bad0fa5403484c5ead4192eab69fc9b2f84971294eef8d /usr/bin/ln 2bb76faf7543c830ab6275c0002998be3e4096e71dd120af6e2cad28dc6b26be /usr/bin/ln
37dc27b546188d9a7525002c3557480fd53189819f5cea0e3ec9a5d0bf4edc4f /usr/bin/logname 839345ea921ed150f2226a31a7d2bcae12f543b118ab46998bddafc814f56ecf /usr/bin/logname
aa6b09e8cf5c4c992eaf41e92d085a2bfc56e9ff6f1e2fee7c7f9255a71d4187 /usr/bin/ls 5489e0f2b55c192393bbcd2eb9c074692c30dfaf5268eaec849382bac1fe405a /usr/bin/ls
1efa01b8f1295fa476366b7d1a15c823e9763a4f4d67195b27c2ba542d3e1048 /usr/bin/md5sum adf0430544c7ad704c9c0db6954658a7915252ba7729fa21f2c35f5cd587a60d /usr/bin/md5sum
cf4c167f97ee4c120371b34759f2742e2eb35bb457585742d47c064d1cd20d20 /usr/bin/mkdir 3606b3bbe7ec646bdf42b7d64c4bf880fd8581b65168a8f36074b7fbc55e89dc /usr/bin/mkdir
3b0b76786a1f2259f50eb479caf8389535522578e286780d0de0d8b5f5504d98 /usr/bin/mkfifo 5c0cc542f43fa73524a4b88fbc22f62344996cea95a5a29fa795b388bead5ee4 /usr/bin/mkfifo
753351bf70cf50988318b4c3e75178d77dbf0af453764a92b9d0813accf92438 /usr/bin/mknod 47602ec856576a6b65f2e252f181f0f5d8226d923f418bd41dd66c1cf27464ff /usr/bin/mknod
b2e5fac44cd937921a96eab1d6de49158d794b69d98904c6197eb927f49eee3f /usr/bin/mktemp a8f01db60c802e7f8a12dfe94da3b9e128bff4063f3de0c21a233f0f65e190cc /usr/bin/mktemp
4e4e8125a649146c92b6d663f4a503e296c238549a56084666e2dc96a43cf280 /usr/bin/mv fba010ac4c4750814ef8002f92a88fb3da661e41749425cee7840686b76f7ab2 /usr/bin/mv
fd8f3a5773c1e5ec53afdb566c40a48d48cf522136cd1be7e6007cb32168347b /usr/bin/nice 473f7baf39aa201dc179cef12ccd5b6bf103c9f7a681d1cb65cb749f6996ac14 /usr/bin/nice
119d0a16ffb5249299fe4a1016e854b55c4664e89428f34afba489c050b6616c /usr/bin/nl aedfc6f59c1e5f61ce988318601156d50a9b7e852681497248b1d55f0077aa0b /usr/bin/nl
2f0ba52b0cea906e5bed48634a0a72962cbc37ca7a4d9018f14f36a9a7078aff /usr/bin/nohup 9dadb6c557c755e81f7545c8ac31c5104110868dcd51569b7302cf144ba03de3 /usr/bin/nohup
adb3a4ee51b6142640052983cf61ab1c1a8cd949d0cb087baa53b7e68bc7d2eb /usr/bin/nproc 45ba50d767a7de034fe757e70c479c2da50a80452aa0a1d1a2a663cbdbd61f55 /usr/bin/nproc
9b2e9da81d9cdd5ee6b0c824a89841855dc52c9ca2650be9a28b9e13bac2d2e0 /usr/bin/numfmt 355d0788b594e49d6364f891a0d58002ef562bc911714588f12c85488241f3ea /usr/bin/numfmt
5085d336706f08f3bad923aa897de93ac438374f9852f0d2dec9b1e6e6dad1d7 /usr/bin/od 80da0aa3c90ae6d0c2ee5678efc79a4a5d8d90e0d1a37445a24e09ff090c5e8b /usr/bin/od
7ed640050e9868ad1fed9e7834b40277b9d3b42d873b3b28c01192fce33b12c9 /usr/bin/paste 8758fb3467b8e68bd77f22d3ef075c2298398ac4b40f876b6a7e8fd9ee30f9b0 /usr/bin/paste
53636efdd4fc5c4dcda3888e572dfbe1c39c7574e16fb88219e8fee12397305e /usr/bin/pathchk b3edf864ea8d7c2f2ae7e8b46fcfdb6167aa6b29c819a1df7e0c4836428af074 /usr/bin/pathchk
62539a81f0de9df7b5e2176668ed4b22c5d3e85d9ffe02164fc0b3dc3caf34e9 /usr/bin/pinky 8687ce13c427b1d9d15fec49078df777e697f98ca7fd77bb3a29a0ee6d0d43e4 /usr/bin/pinky
b8200442dcb94c2bc6918ce59e061247f7b1f7dea0514c789e23c5eb8491cece /usr/bin/pr 79d5278afe486319d6bdff743c24adf58c5721004cceb1b18800f8430b12a18e /usr/bin/pr
1b1505e75514d057d8819391abbb6cdd30fcca89cda0b852393d62059476f6e1 /usr/bin/printenv a3090855314e50608e291419d0f2f5b7b1382c31757ef9456369624744f4d064 /usr/bin/printenv
369d7b4d49b4d7710e284c4d0713c7abdfa01ee5e0239f8e8be6c7cc521a5723 /usr/bin/printf bdd1c07b4665fd379dff4c3043fb8b12ebbf9c43edc79d4f5d27c6ba6d64571c /usr/bin/printf
2bc17d7bdfc3a855be1e1c82089809e1339aa8a09701b2d8fe0d33219336d905 /usr/bin/ptx adc42f46b6ff511d893caed09055e33b7823a7eae7cc18948ff82271afad2f90 /usr/bin/ptx
5ee1f648fdd305f478e1dd71e4befbc524cac46c23708c0649b1f055ff305286 /usr/bin/pwd 7d5aa40e2294090a94bfc83b1e6b82112527c1b14ab2ff8c7961f4e8793a9b2c /usr/bin/pwd
61a30394510e94c5f7be84fa341948a6f4cf65f5931a9107dd23d0cd66a2b82a /usr/bin/readlink cd49180cce63fa80335cb13eedc5bba3808953cf3f3622a83225d00e7d90ba57 /usr/bin/readlink
319c34f870304012d3c491853c16f6e0d5255ef7ceaffd118dcf0acd57f88606 /usr/bin/realpath 47777942866562052317ec4b8a0a6140e445a76d44c252cfbe60767932e28043 /usr/bin/realpath
dd51e28c1a922c459d81f08d6a596614cf1f9383b856623f8e02b6de94cbe22a /usr/bin/rm 403b1bd702ffb546027b243a80bdbb11840887004a219521144adcb123b139d8 /usr/bin/rm
7b342e22dfd4e51c063bb434b330ac650b452878555543a54d7c8becbec64a71 /usr/bin/rmdir b0cb13eb70d23ed70f7988c5dc75c5f367231acd2f1992086737563f5b1dd697 /usr/bin/rmdir
0da00f19781fca93b3b12c8a1e86348b139a087ca3fcc8d30bbd52c1ac7f1470 /usr/bin/runcon 05d624c4773be051ae05aae152bcf5bc64ff9e579c271c2a2c8217ac760cc49b /usr/bin/runcon
2cafd71e25c88b7641655890146f2899c71459f9bd1ac902aa4fbcf45d485ea6 /usr/bin/seq 4f766987944d7dd799a616715aa9d986ce00a45049274dfa85395d29054e68d7 /usr/bin/seq
9825fb6c054dd81fee7bac2b21e34f46ffbd7e06d4101846ea83387395ce74ef /usr/bin/sha1sum 1efc6d55b3d6ee6779de4806fd671e9a5ed2dcac8311e766f4de97408d81aa0b /usr/bin/sha1sum
159f7650b7367309df6b4a3dff65c7815211a21a35bff9c44a083ac257d5c984 /usr/bin/sha224sum 7901e0b96243f207f60a11e0e5402c0e5b1402c3421edf94430345bbe7464f8d /usr/bin/sha224sum
bbedf99768efbd9f3c1e8b3ad5537109ef0a0c0832e5f1255aa07278b7791ab5 /usr/bin/sha256sum 67f985f04cf4a9561565f201d39dc5db83f7c3adcd0aefa9ce974435f9e33171 /usr/bin/sha256sum
3d23b8a7faf5b86b4330c787adeb9a234fea32480b05cd1a47ea8e59ffb41a76 /usr/bin/sha384sum 98c16abd183d78888c63152949523847eefea3e108691f09ebf022d8eb7c89bd /usr/bin/sha384sum
b0ee23e6205993d8c148641f40e71a0d532454b60ce4af81ee31ed9efa0b6c2c /usr/bin/sha512sum 7af681596feedc829ff27c2cf270a99b1709a4ef51f65a2db8127e27277e6dd1 /usr/bin/sha512sum
e5121aee699f38aaffd1f13396cc511d0cbdf2ce6f99cd2a383ab44b13ac560f /usr/bin/shred b8e64a7e09082c65eb2e5fd060bde9c17d8e7273877439bcab825168fa8a2f91 /usr/bin/shred
62a7ca82d151ca73d4bca464bd89c1fe32caa5aaa6f0bd22ac43ae304b9cd074 /usr/bin/shuf e3eeeb70f360d1fa9c3eeae3424fe97466405d866365cab623f19f9b1a8593fb /usr/bin/shuf
60788da914956ef6308bb48fe98ea0bb6b993c4cffa99bd23bc901252a688105 /usr/bin/sleep e107a7d750bd72bc5a56ccd8eeb27bc7e664e90c7d1a3032dbacf17a67e8f2b2 /usr/bin/sleep
16ce2fe78a9f32c5eb41c507a0ca7b5e8e8fd1a70c00c911317d9e6a1f59262a /usr/bin/sort 0a4f950507e70b5fd62bfd3e81a6f25f713a8c093fbbc528dd7c98616b3a291d /usr/bin/sort
8bf2bdb2ad64a52bd8c40cb5388de9420acd776e24eb9f41087fcbb5f88d2705 /usr/bin/split 9f73f0ac1fe944733bf331697f316798d7672a27da8dd300f1c16527dc40ff9f /usr/bin/split
6f67d8777f310cb65ef069e95619f1baa7a577d64b4e56e9bf4da55c572da1be /usr/bin/stat d9209c6737068463549da42f29201ca9cbd1d87af4157f2b70e61db5c7dcf879 /usr/bin/stat
614b2c0b19e34d3ba2cb093ec5723bff27c8ac0e7b3accf4de69168f93fdfca1 /usr/bin/stdbuf 17f3815d67eeb5b3d6c1a0c59fa53237e0f7d0a34409f604f80e252e2e91dbc1 /usr/bin/stdbuf
a2895039858ebe3c0675c9a5d5846ecd802f0e2b776df3358eda4b9a40294ed0 /usr/bin/stty deaf3fcf54c12328b1ccf13500c80382fd5bac23bc775638f6536fd41b6b1c17 /usr/bin/stty
be5ae441381df95c156fdda4e9b7a9909327d81a119e8563a133ffaa00c4bf76 /usr/bin/sum 112baa2724db2a134e2bb8eab63b6ef4a03858f06d18a1bbe3f8a4d8dda3783b /usr/bin/sum
6b71e4f6a51f9f3f3abd10dfe177217fb8ddcadff6edbb75fbf84296d00645e0 /usr/bin/sync 635a6291a8c9160272298407f57f0a7c22988f792d1d1dbeade56fe4f15b36ef /usr/bin/sync
e3dcdfedfe4fda19b07411e7ae7e8c32aae797932ca8c5bbf95ebd85ee1e0934 /usr/bin/tac 9cb68485015b08d81d67ea9bf1f62f84c757cd14bec3ebb0b2732c9ad80e4044 /usr/bin/tac
34bb92fda0e49f488322742f9527fbb840b85feea084cba8cc252b697f6ade45 /usr/bin/tail 7118403be097ce966ac70471ca80ef173da96020af0cb19b45d530402c6abdae /usr/bin/tail
945739b04260b4114ebb9757bc13a582c3dde6f00bffc5de25703e851fa112fd /usr/bin/tee 288f957f7cd1f17ca3f5ea1a149c2709db6eb3cf18091911820f49748b1dea82 /usr/bin/tee
a2e22163aaf77d89293567393ad4d9b198b712e824591241c639f69a5cf671b5 /usr/bin/test cb19da43ed3116f4647066b780242bd7b1ab5f5076cc23094dc9624f99595c8f /usr/bin/test
365a00f40d8e6e5e07aa9e00bd2819c0b7e15e74d4c99aeea52337d168cd54ab /usr/bin/timeout 39a0e88d6459159503aa33a33170fffb4c2b01df3fcc50f4f4b652c2b437e02d /usr/bin/timeout
484e588f4e5c38f10cf5dd70c4087b19c6049bb728f07c43801d80bd263d1b15 /usr/bin/touch 6bd0844a23f794185c2724f39d132b22f355a9019c92bea99cb6dd67ff38de87 /usr/bin/touch
cf704419a2d480bce878e244ec394b5504d06e7bc5357483f01e89f9745dfdd9 /usr/bin/tr fc017fe498508c555c80f5c43156bb4b398a11580ad015de123bf72939036e1f /usr/bin/tr
062ab3a391741063b4c33b990b9e3eefc5d9e9bbe6e283ac515724efd9785e66 /usr/bin/true c78501b8c1707955ff3739181cc404cf0f5cd6c534cfeb976d17b8cf2aec0f12 /usr/bin/true
c4fe5e836e2371ad66cf2123c656de3761d79fce1b4eff4e5add9aed6cc954e4 /usr/bin/truncate 7968d8421c33a032aac33d3735b977ff46b5361973feb35e778d772069fc0fe2 /usr/bin/truncate
a683492998ae6cdeb221f6f0c404fe1bffae42024e91531060bc03a72a06ef09 /usr/bin/tsort 8967c5a75ef36d809434b2f728ff1f265fe186c2169455c8ba4769e0b0d60d9a /usr/bin/tsort
ff52caff909a08bf23ad85acf30a5019b5569846cda014d64d30c0336b9758a6 /usr/bin/tty ee21c9721ddbdf9cd0649f78b8b547a6ecd2536c6b57fb6e70322454b326c30c /usr/bin/tty
0128ce2ff9556dba801c0acc35a727de8525e7ceefc6ff518b88de8a3463857f /usr/bin/uname 9030063917529fac10116f1114028bb9d4d1d1ca711669ebef77d9bd057c3fbf /usr/bin/uname
28a13bdd01fc216f35bb39b28254038e64563571bea1dc5b56c9b88cee758e8f /usr/bin/unexpand e1b2067f5f8693b239d00fc0a8fb5f1f1fe8e5c6537dd9aca34f1aac56b48c46 /usr/bin/unexpand
73ea7c3aa47e17d398762c7d0a6594564792a1cba251eef865ad5d83af0b8488 /usr/bin/uniq 3e65fa408624ab8260ddf6e913b991c01c796bbcbca77ff166e15e0d3a0561e2 /usr/bin/uniq
008ec49612fb884c43505fefbab0609c768d8169648df51b4411776a18089b41 /usr/bin/unlink 7f6b44ac662d010b15e9280abcc395b0a4695ac2cccad66af710efc6bcfaa33d /usr/bin/unlink
7497fb11caa2bb7ce43d3673b5045baf5caecac9208366ec28620a3981669c55 /usr/bin/uptime cd828201478ce40f32fd99bf32d87d9cb82aaf529a1e15a685bd9f72bf1a3315 /usr/bin/uptime
fe64d199e3fdbda804a00d4f5ca988a90efc7afb41b7a53171d1c6406c724623 /usr/bin/users b9c2f16ea80f8c3b38ebd03d256fdc307cfb917ddea9baac0f2eb5bc4a105159 /usr/bin/users
5da613c7860de85805d5fe13084e0d8aedbb8a300bad0d36fdac0afbca24f6f9 /usr/bin/vdir a41f0463a48c181706927cba4ec22e844b73a6adf68eb2727de789c35f0fed86 /usr/bin/vdir
aa143b5801454739d12007fc535651ab7ce76bbfba49018723f98b77e32b17da /usr/bin/wc 35a0aa798d433c5e1125e650646341fcf3182ef466ba51e98945ad9cb689acd4 /usr/bin/wc
4418606dfb0c770d7ba182f28761be07019678dc1e9b4e2eb02a62a6c2be60c3 /usr/bin/who cad2361c5237bbd7a070440d1b19af75c56dcd15f0fe9cdd1072c4ae17e2b629 /usr/bin/who
090e03584c0b9754c76ba23689321a8b114fdbeb3d158e15da4e700a78b33eed /usr/bin/whoami 8de06d2449473f6ed7dc9a0dfb4bd6facd5f9e20fbaf2ec6330bf36745f7648c /usr/bin/whoami
829c9904baeeb08f8f074223b7f0a8d7dfc375779cca0626a020c1323d4f7abb /usr/bin/yes cc007c4f723de81863fc29dd541877e7a7127ed69651c1fe191966afc57aa8be /usr/bin/yes
02ae56360b3c7a21a83c0bffba077f82f851fbf08ac26e740779060bebb2e006 /usr/libexec/coreutils/libstdbuf.so 02ae56360b3c7a21a83c0bffba077f82f851fbf08ac26e740779060bebb2e006 /usr/libexec/coreutils/libstdbuf.so

View File

@ -1,2 +1,2 @@
f679483476abe1b25fb2dd558a2770f51c9f81a85cce009079f884c75eb7f666 /usr/bin/metaconfig 99cd214c16a82ec0e7bb9310c62b1a0596badadc6e27d98aa6a7983bafabd2fc /usr/bin/metaconfig
a7c30101cc041d1ffd0e9d4c940885ac31c78a9a066a56b1c33e166f75ff1a17 /usr/bin/manifake a7c30101cc041d1ffd0e9d4c940885ac31c78a9a066a56b1c33e166f75ff1a17 /usr/bin/manifake

View File

@ -1 +1 @@
7bee256ff9d5a635bd14ac8b41aab445d36cab309e0a4bc7859218801228a211 /usr/bin/flex-2.5.33 192b298a53e5fa36c7a0de97a868082af4dc378ebb640dda26c580909161faf8 /usr/bin/flex-2.5.33

View File

@ -1,25 +1,25 @@
8f4b1c859ad99f4ef17970dafb4c7b818a4e01744c4a1e7d632c09598bea737d /image/bin/cpp fe98df95f9c7ecc5dccf6c59df2998aaca63d794eb4a243d995be58ee6ee1822 /usr/bin/cpp
4b522a12cdc654809e796e41062de1d48458626060ec0fac492f9a4757df38da /image/bin/gcc cbd11f44e42e8349c938387adbe9fb379cbb166e2a851da194e2ae0d57c81ba7 /usr/bin/gcc
8e7bde329795793d2d2f71c5d011376ab93a7673645ea44c0d9aee7e8bb9f058 /image/bin/gcc-ar be077b0a419ceed6ca56f1878b6f8712906ff10330a8e20767cf5afbded094ff /usr/bin/gcc-ar
ede1d40ad93ab8daf788b1362ce1deb4946865398e991725487f25af66a42bed /image/bin/gcc-nm 4776b1a7add7453b0368d1c6d193c904859dca4de13a8ce41ec420fdf9413f95 /usr/bin/gcc-nm
d93e0b44788e1111073f9ced886e9b41b906075ddcdf73a1cf911cc72b1bcbde /image/bin/gcc-ranlib c1451a91d6fd7d4feea414effa3ba773cd42a77824344e4837461cc37aaabfb9 /usr/bin/gcc-ranlib
1657ba8afdac845ddfa8842efa5e7bf3cfc9be23aa31f6265e3f43eead1316d4 /image/bin/gcov 3e5430037e98eb538f96b54b1d1dbeecb14771639a93b6d5682d49048b854a67 /usr/bin/gcov
77adc8cb0648cd8b3546254e7277d16a04b18fe643b889352717c361cc8a4309 /image/libexec/gcc/i386-unknown-linux-musl/4.7.4/cc1 72159b5fa021af9a11e24a23fdabab2840068090557ec7aa85c43f1d74c718c9 /usr/libexec/gcc/i386-unknown-linux-musl/4.7.4/cc1
a96e1cd5eff7904cfcd260e859a65bf38c45eafe3f81b7df537e0bb68543e856 /image/libexec/gcc/i386-unknown-linux-musl/4.7.4/collect2 6e3f634e5192d377da06eeb9c10848985a1cadf23da95fca66e21ed57605989c /usr/libexec/gcc/i386-unknown-linux-musl/4.7.4/collect2
4dd787d729d8d57434fb7cfaf2a7a42dfca2bdf665e6e5246fb56e4cee0f10fd /image/libexec/gcc/i386-unknown-linux-musl/4.7.4/lto-wrapper 0050fa2ad53a285b33937ca0b15dcbbc5994808979cdfbcd6ff12009600557d9 /usr/libexec/gcc/i386-unknown-linux-musl/4.7.4/lto-wrapper
b85d6aabe0ffa30cc2fa1f6a1c899256b4051086c566d9c75299c6b2f6cbd618 /image/lib/musl/gcc/i386-unknown-linux-musl/4.7.4/crtbegin.o b85d6aabe0ffa30cc2fa1f6a1c899256b4051086c566d9c75299c6b2f6cbd618 /usr/lib/musl/gcc/i386-unknown-linux-musl/4.7.4/crtbegin.o
db6caa96b09785d820b2b5a6fc0e2c49dc1980a18b6a6472aa2ccdb5f38fef57 /image/lib/musl/gcc/i386-unknown-linux-musl/4.7.4/crtbeginS.o db6caa96b09785d820b2b5a6fc0e2c49dc1980a18b6a6472aa2ccdb5f38fef57 /usr/lib/musl/gcc/i386-unknown-linux-musl/4.7.4/crtbeginS.o
b85d6aabe0ffa30cc2fa1f6a1c899256b4051086c566d9c75299c6b2f6cbd618 /image/lib/musl/gcc/i386-unknown-linux-musl/4.7.4/crtbeginT.o b85d6aabe0ffa30cc2fa1f6a1c899256b4051086c566d9c75299c6b2f6cbd618 /usr/lib/musl/gcc/i386-unknown-linux-musl/4.7.4/crtbeginT.o
42a533b816b6c060f4269a310112bde2e07329cb3c2fa5b21bbad6d2d03e90b5 /image/lib/musl/gcc/i386-unknown-linux-musl/4.7.4/crtend.o 42a533b816b6c060f4269a310112bde2e07329cb3c2fa5b21bbad6d2d03e90b5 /usr/lib/musl/gcc/i386-unknown-linux-musl/4.7.4/crtend.o
e5059cb3aaec30653dfb2cbc09ee555218d276d6b49b1ddc05ba8c4d63e3edfb /image/lib/musl/gcc/i386-unknown-linux-musl/4.7.4/crtendS.o e5059cb3aaec30653dfb2cbc09ee555218d276d6b49b1ddc05ba8c4d63e3edfb /usr/lib/musl/gcc/i386-unknown-linux-musl/4.7.4/crtendS.o
042ed2a9c7c8ea05291f79d30ad6f2bb61a9d1a58494ee835e1cb5473b5b5b4b /image/lib/musl/gcc/i386-unknown-linux-musl/4.7.4/crtfastmath.o 50e1b8832b7d220228f515bc42dfa67a6ee94d8098daff16ab435d3217593369 /usr/lib/musl/gcc/i386-unknown-linux-musl/4.7.4/crtfastmath.o
135b6793737d181031ac9042fd42c38f7c627468447f9c90f687156968282c6f /image/lib/musl/gcc/i386-unknown-linux-musl/4.7.4/crtprec32.o fdc24faeedd430202ab0949220955160afdd364db8929bdf644835cbd425c7de /usr/lib/musl/gcc/i386-unknown-linux-musl/4.7.4/crtprec32.o
67ea5a6dc10582c4b4c3f53763c7408874c625e054dc4f7137206a1c927bc0b5 /image/lib/musl/gcc/i386-unknown-linux-musl/4.7.4/crtprec64.o a1937b300ffdb11a3370e785608fa54b7cd4679b80238b927c1e7fbe96012d1d /usr/lib/musl/gcc/i386-unknown-linux-musl/4.7.4/crtprec64.o
412c06a772f2bceaef31514685c7634358b9d7a5e01b30c3b1aef2dd24ad68f9 /image/lib/musl/gcc/i386-unknown-linux-musl/4.7.4/crtprec80.o d88ba8337035f994404e0d7a3b6a9d0da6a5130232cb003311d8cfefe3b34c26 /usr/lib/musl/gcc/i386-unknown-linux-musl/4.7.4/crtprec80.o
65082b00fb62e18e816e99a533835a5025794907b8f4d8b5075d3a607249ab08 /image/lib/musl/gcc/i386-unknown-linux-musl/4.7.4/libgcc.a 00a5c380bbea4cbeeea831492d72d4cbdc8e717732ba157d712dd6f31ea2b663 /usr/lib/musl/gcc/i386-unknown-linux-musl/4.7.4/libgcc.a
af7c0180e5f5854947414ff8f4dac6dcc8b853cb56e592be367760fd4869829d /image/lib/musl/gcc/i386-unknown-linux-musl/4.7.4/libgcov.a cf6fa34188b7f4c8e4fa079c93ff22d6163d81ee49da6f63f9c3bca8febcdf42 /usr/lib/musl/gcc/i386-unknown-linux-musl/4.7.4/libgcov.a
f0b8f0639b0d596a6028b2eb4f1b738d2ef41243a652083bbb59ade32d0e5a7f /image/lib/musl/libstdc++.a 86eff4250e0b1f0f61a1b0b0f07cbdc3fcd75acca9094ce30b8832d771cd88c2 /usr/lib/musl/libstdc++.a
9ed64bd654c3a9be96e4d60637a9e65183cd94c32f946d5a88370ee9228f280a /image/lib/musl/libstdc++.a-gdb.py 874d9ac5ff580cddb6fee095be70fb33a01e579a3f64f8d89765cdf7078ce6ee /usr/lib/musl/libstdc++.a-gdb.py
b82cbc46d5977ba01330dc2091656f13df5391a14afcecc729269ceab7fa7706 /image/lib/musl/libstdc++.la 947460385fa2b874275b6e2656e24bcbe321cd7aaca110a02700528bbdf9abab /usr/lib/musl/libstdc++.la
f209ea28cf192f18817724f462402d5d7c307ed2c5256ffe462e93478b751d4d /image/lib/musl/libsupc++.a 5e245a8d3586ea99652513162a16dea6f97bf945fc19fbb80e42155370d0c1a9 /usr/lib/musl/libsupc++.a
963b895bf80dccc967cde0a03e9de439cad6f25fd912e0e7765cd2924768a5ac /image/lib/musl/libsupc++.la 6fd2e3b0f31a5b54df04da6631086d0e239aa26ad9b254c29b638b19a34034b5 /usr/lib/musl/libsupc++.la

View File

@ -1,5 +1,6 @@
# SPDX-FileCopyrightText: 2021 Andrius Štikonas <andrius@stikonas.eu> # SPDX-FileCopyrightText: 2021 Andrius Štikonas <andrius@stikonas.eu>
# SPDX-FileCopyrightText: 2021 Paul Dersey <pdersey@gmail.com> # SPDX-FileCopyrightText: 2021 Paul Dersey <pdersey@gmail.com>
# SPDX-FileCopyrightText: 2021 fosslinux <fosslinux@aussies.space>
# SPDX-License-Identifier: GPL-3.0-or-later # SPDX-License-Identifier: GPL-3.0-or-later
@ -109,19 +110,30 @@ src_compile() {
for dir in libiberty libcpp libdecnumber gcc; do for dir in libiberty libcpp libdecnumber gcc; do
# We have makeinfo now but it is not happy with gcc .info files, so skip it # We have makeinfo now but it is not happy with gcc .info files, so skip it
make -C build/$dir LIBGCC2_INCLUDES=-I"${PREFIX}/include" \ make -C build/$dir LIBGCC2_INCLUDES=-I"${PREFIX}/include" \
STMP_FIXINC= GMPLIBS="-lmpc -lmpfr -lgmp" MAKEINFO=true STMP_FIXINC= GMPLIBS="-lmpc -lmpfr -lgmp" MAKEINFO=true
done done
# host_subdir is necessary because we have slightly different build directory layout # host_subdir is necessary because we have slightly different build directory layout
make -C build/libgcc PATH="${PATH}:../gcc" CC=../gcc/xgcc \ make -C build/libgcc PATH="${PATH}:../gcc" CC=../gcc/xgcc \
host_subdir=build CFLAGS="-I../gcc/include -I/${PREFIX}/include" host_subdir=build CFLAGS="-I../gcc/include -I/${PREFIX}/include"
make -C build/libstdc++-v3 PATH="${PATH}:${PWD}/build/gcc" \ make -C build/libstdc++-v3 PATH="${PATH}:${PWD}/build/gcc" \
CXXFLAGS="-I${PWD}/build/gcc/include -I ${PREFIX}/include" CXXFLAGS="-I${PWD}/build/gcc/include -I ${PREFIX}/include"
# Fix ordering of libstdc++.a
pushd build/libstdc++-v3/src
mkdir order-a
pushd order-a
ar x ../.libs/libstdc++.a
rm ../.libs/libstdc++.a
ar cru ../.libs/libstdc++.a *.o
popd
popd
} }
src_install() { src_install() {
make -C build/gcc install STMP_FIXINC= DESTDIR="${DESTDIR}" MAKEINFO=true make -C build/gcc install STMP_FIXINC= DESTDIR="${DESTDIR}" MAKEINFO=true
make -C build/libgcc install DESTDIR="${DESTDIR}" host_subdir=build make -C build/libgcc install DESTDIR="${DESTDIR}" host_subdir=build
make -C build/libstdc++-v3 install DESTDIR="${DESTDIR}" make -C build/libstdc++-v3 install DESTDIR="${DESTDIR}"
cp gcc/gsyslimits.h ${DESTDIR}${PREFIX}/lib/musl/gcc/i386-unknown-linux-musl/4.7.4/include/syslimits.h
} }

View File

@ -1,33 +1,33 @@
0b49887ba15ae4c28c9801a3456f6344a24aacaeee54d35514348de1b43a0f8e /usr/bin/autopoint 8cfbf63c2c4bdd333df638eaa72f0d105a3216fb351a4501dac735579bf094ba /usr/bin/autopoint
de3829ef981879ad69a5871627e5279d8dd41e0a9c2a2267f8f97c29db08bb8f /usr/bin/gettextize 9c9408bc2437ec8a12397a866d8573b8ccc63746c66e05bab48d02a358b44e61 /usr/bin/gettextize
7509a6d251647b4c6e9e4a565e59131bcf04790ddf7ae217593e443548658f3c /usr/bin/recode-sr-latin 8a3a8a3a8997cc52230cb4332ea23d4d8ce8eba1b678f61da5abebca232e80a0 /usr/bin/recode-sr-latin
779d697ce3f75620f976fd74c6fc94cb385bb4c5341d88499e50dd3c94871f2c /usr/bin/msguniq 6d8dd0f52c7bf32fe6da610b1a35b91ae094871670953ce9c9e91b2a9999c2a5 /usr/bin/msguniq
8de43fec98e71ef617c63b8ef33281059b1c80f21ae6ebc2c916f66eaa4d5dd4 /usr/bin/msginit 608a2c8b6a856848b84f233f65b9f6f1fae1f6a13aa83f73f93ab2c866d218ee /usr/bin/msginit
e3ce76a27c5817e4bb67c7f5bed48443e21cd236cd512817bc52154e42f08a5b /usr/bin/msggrep 996cc7bf4e4b7cc503d71c70d35bfb200b024699d8038812170e773f3003e591 /usr/bin/msggrep
bf9f1b9ba9462cdf661060c16286b7bb7963548f522d18a0283bdb82a0afe234 /usr/bin/msgfilter c3b5aa8ad21ef58c9e508653a3b878e388384f119fe89be53633594794887aba /usr/bin/msgfilter
4ec559f229421478b9b990ed2440673b216b8804f51e0142ca2fb04e9ba15b9f /usr/bin/msgexec 7ca0667688b613f8d808381b88802b7d86b101e0045debdd69977fc5d65c1749 /usr/bin/msgexec
4c5fa0d74bbf3cb0fba5fc0b5808aa8f5096a8acef1e3de19867044b044f3f3a /usr/bin/msgen ab6725896d0355bcc3ee09acf7bd71da9a6ce93f7fac63a892a6bb93a341553c /usr/bin/msgen
d0d36b2fdbe0603e357107076ffa28e8c1b1082aec9cd0aeabdf8ad9a8350cdf /usr/bin/msgconv f5736055861cfe71de50614c196af1445ae7bbf4f1c60bbfcd090cb4585fc7e6 /usr/bin/msgconv
cf51994289d1a000c4f046a897f5870d91c4e13f08fdb6356f8746f7d944d979 /usr/bin/msgcomm 2afbf532aa7e61038c51aec7024bf2e3130dafd9ec07d11a6972aa539667038c /usr/bin/msgcomm
9866a5a8882e4a1335009b53c0078a9c2d60c004a4fa0bfd9015bc2a22eca657 /usr/bin/msgcat 71a419b12aaf36b86f124fe9bc5875448a46f1223453b528e63fd60649942391 /usr/bin/msgcat
7dc26dfc1fc63514902378d9169bd394554d13102b5d28890a58df501b14d89e /usr/bin/msgattrib fa12a9c3229aefb7f13011fb2ce41b96634dfdfccd3cfeaa21a5688108740590 /usr/bin/msgattrib
306e34cb106f5bcdd10470fa2447c6fe2b12a3bed368266ecea2222a54041cc2 /usr/bin/xgettext fbfed551c82fa0e081a770b01b2e3fc418f7877863d096ee69e6a40af8401bc8 /usr/bin/xgettext
140f5fa0e205f8fe98f9363eced4549eb9548f18481cbd2f1b413c0e84c6310d /usr/bin/msgunfmt e2cddaf0f34112c531a29504dd6e6551e2f5db98781c11f77c7b9075b4c76e59 /usr/bin/msgunfmt
260dd447ced109d54231dede7af3a0334aed6bc59e14aa00a8d6805a0760656d /usr/bin/msgmerge f480e1ebc74502df7e3f0a54c51ff8d7ee14805eabee3c495b3aa579f062c68b /usr/bin/msgmerge
1d3a8a60a282606414eefb6c4864e6a7aa8dcf027694ef665a053454586b3133 /usr/bin/msgfmt 6532960a190651253d83fff9e4f7df60adfb926b61bc037d76891bed799b363b /usr/bin/msgfmt
2098c9d7de2e371b1126888bc0e2082f9867cc04abc180067d9095f8c4751ab2 /usr/bin/msgcmp 9aeb7176fba0f674a7c3b654f70efc321e1c7c0b3d2dd121c0189d80a794ac25 /usr/bin/msgcmp
b1c70a26633d0096404a6cd40a78ea61fba5d2d2b49359950241613ed29561db /usr/bin/gettext.sh b1c70a26633d0096404a6cd40a78ea61fba5d2d2b49359950241613ed29561db /usr/bin/gettext.sh
72900e493569e30a9fd24cb60219e8f6ebbd95d1983a78fe3b0f332831cd5b33 /usr/bin/envsubst e43d3981cfcc18408bab8491cfe3090a72e36d699285805cb1306cdae34dc9ac /usr/bin/envsubst
e6facf97d489693a75a13172e66ca966ea99e5fd63424dc3589d8af6a0b60b60 /usr/bin/ngettext 4460fa84cf0878fff294692c2092c636a6aa475c3a381c7297bd62c9a9dfe20e /usr/bin/ngettext
2ffc5bb3cd1f1d1003f396c2f4de971b6f7c2f00abbbff3475e10bfe2cd03679 /usr/bin/gettext 5f6d0882519555782870e5eb1c5b58fe5e259c07fc94252a7fbb31d3b6dc116c /usr/bin/gettext
c35c35a6ec47cb39fdb28a4e937100fb54b6c8a9526b990a16ad6b18bfe2f220 /usr/lib/libgettextpo.a 48f7a63f3bf2af55a5497b3717790a83b549e12b9fa2aade0904722511745c34 /usr/lib/libgettextpo.a
ce01691a07cde9641280ba3e519754acf9c138bf222f827c381f9f90382f8245 /usr/lib/libgettextpo.la a1eb1fe1091004250eccc6966d0b0bac5fcb628429bbee5b53ba73581b6da04b /usr/lib/libgettextpo.la
d6ae3f511cc498740005918e41b64517c7cc69fb0259ac3ecd88919f0eae0173 /usr/lib/gettext/project-id d6ae3f511cc498740005918e41b64517c7cc69fb0259ac3ecd88919f0eae0173 /usr/lib/gettext/project-id
647e15c1984950fb6565842fb0f230e80a581e3222eef6f1171f9847e356acf1 /usr/lib/gettext/user-email 2b104323e93ae4d9b0af1c0c8c3762d1bceba3d5cd6a66837c86fe5b6d740331 /usr/lib/gettext/user-email
b069aab7140675d22d8f911a4e81f0ed3b59671d072032a2c66dea8d55d910a8 /usr/lib/gettext/cldr-plurals 291ba5106c894389d58e9c81ab751a726bc0a9594790f0a34f8a22c6b8d7644a /usr/lib/gettext/cldr-plurals
a743f596b1ad2ee382bb39c27e0f52dbf50680127c1436d279b08be592ca1121 /usr/lib/gettext/urlget 88e23c3fef7b2f3f9f0d2d70adee194d9eef93e1516e3ce11a5a7b77d454c69b /usr/lib/gettext/urlget
aa477fba3b3e509d7d1ba241bda85550b3444445a5484264a09be99f99f15ebb /usr/lib/gettext/hostname 08b9f7cc26aebd6093b5eef101270034f4c812f4e1a55a539e4a00be06c051ca /usr/lib/gettext/hostname
3a87cea1eff091def343084ceef113598d84e1a6591dd98ab88c2197f24215c0 /usr/lib/libgettextsrc.la c950f6578eb95f00cf6da08d0d94cf009441b9769ab53c55bdb08d151308a37b /usr/lib/libgettextsrc.la
7e2804b5a97a509d72dcd6e2a93a6439f78a3675f79d5f976e043b0706f3f7d5 /usr/lib/libgettextlib.la 1f2a3af73fb151c6dc49f9d81856411f1734bab5fdae76043a42e69ab48cf2ef /usr/lib/libgettextlib.la
24957e93b8d64e81368fbcd58e55fabb0bab283bee23a0911297d9588d75cafe /usr/lib/libtextstyle.a aa8bbb6fb5704fb0619a80ca3a3aa95ec5c2a84fc737dcf9ba625f20dbdff46f /usr/lib/libtextstyle.a
fc57ae9b0c7c796cd21ac6391319bfe47e2015aff7296d644015c11086024203 /usr/lib/libtextstyle.la 7242b4e8382b024a087bb604ba0a62be4052956a1f5cf65c4434658dd8f03997 /usr/lib/libtextstyle.la

View File

@ -1,3 +1,2 @@
bfaced23588bc183f34364896cdfbf63cf63418f577a7cd1b2964753445621a7 /usr/lib/musl/libgmp.a 4c456afa2adaa0bf4965796881cf698bd1d0dae1c90c8f413b9a6463b1dacb59 /usr/lib/musl/libgmp.a
98f66015b6199dceefce41ff46337e41db52d82d01d0d0b91ca2a382ce5c9ee2 /usr/lib/musl/libgmp.la d9b9921baa8d4a63949721c4e0397802fcdce27e6a810f2e8513fdb21f016a64 /usr/lib/musl/libgmp.la
89c9be645cd64ed5ed835460ad6305c945227c8e53f631dde96808d5cba3e4b7 /usr/lib/musl/libgmp.so.10.4.1

View File

@ -1 +1 @@
1f2a11dd9afd812a40ab44e5297ef375daddeda589c79d08be65958430c4ef82 /image/bin/gperf 683c5cc4f700c85baf5069a0f0d63c46fc5b43b4dc82a5b93d4a98199327b899 /usr/bin/gperf

View File

@ -1,2 +1,2 @@
41a415de1416cb8d8f325c5b4668ea080e6426f5700daa725268835f47714f9b /usr/lib/musl/libunistring.a 5489c42b193e1585801b4b63ebef8ae9fcaad90a6bb215bb4f61292decf5923d /usr/lib/musl/libunistring.a
92fdc350d4141210cf1d01d271dd5a564ff6b4337b4de2f1f135a91a6541e0c2 /usr/lib/musl/libunistring.la 12d933456165cde38c7685bc84f938ff8e83485bdc729326d47186ccfd702754 /usr/lib/musl/libunistring.la

View File

@ -1 +1 @@
31c7dfc9bf0a5e52a689b06e693c38cab47290b3499558846d6b3a8a3b4a4bcb /usr/bin/make 4080eb69755c4c152eed62ff9c556d9bf691d20b57872cc45034cad0114be079 /usr/bin/make

View File

@ -1,3 +1,2 @@
c2c288f7a58cb409b253ff9288e09e11c998722ff34f2308083bad868cdcaf26 /usr/lib/musl/libmpc.a c2c288f7a58cb409b253ff9288e09e11c998722ff34f2308083bad868cdcaf26 /usr/lib/musl/libmpc.a
193c4cf258c8c2eea8ab87d12c441cfe8b51a44d5e81519f190f8ce9f67a035d /usr/lib/musl/libmpc.la 0aeb41231cc81b34ad509eba5b7599725f27c5159a506026a4daa28de1595d30 /usr/lib/musl/libmpc.la
b2b8e91b72368570ed5b2fb0dd7ff516173ee893437c73fa648bb8d79ff6f52e /usr/lib/musl/libmpc.so.3.2.1

View File

@ -1,3 +1,2 @@
c37eb935fe06afa7467369ac16d83b39d55f83aa01a53e15f5b8b1595dce298f /usr/lib/musl/libmpfr.a e371f927701ce87c8d1ba18232c071c4ec8bfb472506bbfc85ce3cbe0ff9a07e /usr/lib/musl/libmpfr.la
6fc2e9a148554acd7c96e3d25bac5da6f2f2fe6bb20f626d26265a5efe7d0a22 /usr/lib/musl/libmpfr.la df94005ccbf27cdd6d8234bcaf2e1da69a718de47a8d158a5a55f936267e51f5 /usr/lib/musl/libmpfr.a
9866e9a47fe3f2c53120792fd0abefee147339e07b86c2414a686b403ccc82b4 /usr/lib/musl/libmpfr.so.6.1.0

View File

@ -1 +1,2 @@
b887260c73947c5293804f42cbfcd2d48728f7ed395fdfe5ffde0aa96e381fd1 /usr/bin/patch b0633c4f65ed67c545d7019e35b976bdc80c049c0be92f9d8f792067c13e3c58 /usr/bin/patch

View File

@ -1 +1 @@
ac2180d0a618d8de08e8793bb92ca3f146b98cca20ed9b8e165deddfd17c124b /usr/bin/perl bd17ef8e54857cf692d9dbdbd22b02bc2f3dc1bd874029a72ec4cdd680877428 /usr/bin/perl

View File

@ -1,43 +1,43 @@
c626794d37f98f1b4039a35dbfb0b448453fc66a6fbb183c266daeaf6fcee854 /usr/bin/pod2man 787b44d170897cf7cd25055fd3262c3172fc0a08061c520992197544d9e21195 /usr/bin/pod2man
f7373390f5e226340b0a8600565a9ed914b14a769cd83dab56a00a42c4995732 /usr/bin/pod2text 3d1271451a600279fe8aaa0e7d58d7fdf4385a8fb025962709db1d540376a0a5 /usr/bin/pod2text
34d935b734c56377f82bc3a2848de01dfb69205921a39fb4b3819fa6c4e5f9c7 /usr/bin/pod2usage 6b03a993c7f1c964cbf9de6e92a8b1ed3a854c14e24f4bc701ea24937d8013a9 /usr/bin/pod2usage
a25fb0443a96fff587f0f35da7765e9f081378cbeb36fd40afc711298f422f24 /usr/bin/podchecker b41c90733b7f4051dbe82d289177add630133f0679660fbfa3f3051ecd309dbb /usr/bin/podchecker
1f88b5c0fc6731c85de115b0e09140c921583b88faf5a43e86724a4f291a4211 /usr/bin/cpan 10d606f8aa83d7e3829410be18d0d1eddc6d24d97c147788fe904574d287da9f /usr/bin/cpan
12293e3557c7c17f1586c7b88f5d5a4da11101e89030554becbb8ba3b12c7f27 /usr/bin/corelist 09ba4074926bb1a919391c6a0f46b6816c299babe65617f29f44b9410d57f5bd /usr/bin/corelist
324dc9f1ff565a366c557b6d1b089f2ae386b391bb81c923c3da5443f329f3f9 /usr/bin/enc2xs 5dc8628205f1532094be2bf8803cda649cd6d459391ba9f1ba1402e8a76aa1c1 /usr/bin/enc2xs
981c47625f82abab9eb2cc60f20ec7f5d9af35ac872ef0b2bd187581f004f136 /usr/bin/encguess 4bbee0c19ca7e434472fe17bd4de89be72decab7887cba174b492e71b2f75d36 /usr/bin/encguess
c2128381f41980ac814614762a1af700e07b76be925355680837d5522222949a /usr/bin/h2ph 207c545ff0751771b2bc609648cffd42f0d1d8c85a1233d3657a6a2a09375069 /usr/bin/h2ph
af117b37191eb40bf62f0a061a3d0d4f01c88b37cca3db18a5d3fd7b04f75c42 /usr/bin/h2xs 0c1f29e127e1b07333e6470d84c063ee5962e83f24abc40c92231fe9a71adac0 /usr/bin/h2xs
41db48f0483d62f00e18241badc70451f5330fc27a2cb7e3d64cfd2181034ae8 /usr/bin/instmodsh 1b14f2db68ebdac1894d505baae45a961ac6452d9639b07723e195de534f6d27 /usr/bin/instmodsh
eaf37738d3d96a3fe900b99bb74c1692da6bf5ef11ee31161ac0bf55d8233719 /usr/bin/json_pp ac54203f274e13f6a16b6796f752ee4cc939d4859d51f569253397b2a48dd4f8 /usr/bin/json_pp
5d977bcb813aa7159173800659eaf58bbedb4f697d78add293ce973096d18049 /usr/bin/libnetcfg 03ea004e8921626bdfecbc5d4b200fca2185da59ce4b4bd5407109064525defa /usr/bin/libnetcfg
d81566565457a438b9617e50bf687af773246866227752004804776397d212a9 /usr/bin/perlbug aed8b1b10650cdda61d4c5fe697ebfc9c2b9c281016c9986be67f91f5ad5ddb5 /usr/bin/perlbug
8367e734e47ff243cbe89af0239c24a2826f1bfbf2e13bbbe0913ba0b97cb309 /usr/bin/perldoc 0e046b26f9bfaa2cab9f1f5ab396c50a03242b69adb4b0c888d076e34258fa90 /usr/bin/perldoc
bd81fbf0a3e0d4601a42cdf8b3a4715d6c232e3f7dd4541a1b4516ae0408c3dd /usr/bin/perlivp 1b8beb0e1fb651618203cf6b3ec323fcb42c4fbc23a41cf80ae378d4a94ec459 /usr/bin/perlivp
e738cef96e9a03b3341a1f2d9ad6ab48508cb786a43046ed53f9c35bd5e1a945 /usr/bin/piconv 74788a37d0aaa0989a51de03c3a5405f2c786fe9791dc82a271639806192c85e /usr/bin/piconv
ea7361352e3d8657b860aa5ab32f7525852277ce43bf97c6af68fb8c826f12fe /usr/bin/pl2pm 0aeb39f44c416602c8dfcb2ddc52be99cf6525b3a1b9e16617176b5f42234c6d /usr/bin/pl2pm
5bd720a5c3bf7a1d17f71031064359072894890e30dd6a86f5c3dd9f3a16da8b /usr/bin/pod2html 568e24abd79bf3b148220d3799ee4f3f001f908ce4219c1e08607e7ae9f17fd4 /usr/bin/pod2html
4e687cacc7a9a26e6d90a3f7b3824b37cccd9a2c8a7fbf1b91fda1141048b656 /usr/bin/prove 86e35537ec241a5d096283d91a30876021fc44d341f3f67e3d7ab8cd47909e93 /usr/bin/prove
c82cac435633e123b52ed34fd56f769e0c5b7a1efb90144f36998ec85406a33f /usr/bin/ptar 72a57943988109afa78543208d44d075a1618e5f21d123f98e15cd2bea2ed168 /usr/bin/ptar
d61c67c54350aeee79b8dbd2bdb9f7f399baf78c3d3a1f0947e8646ed1dd5373 /usr/bin/ptardiff 902c515503657fd8b595c250a64884163a05bae119dda9492859b5c8f170dbb5 /usr/bin/ptardiff
1c4541419f7a46787f74121424a57c6e314c1c4aa84a415b9970379b7ee793be /usr/bin/ptargrep 8ae89e01884cc2de48636189996cda7cf44cd2a97a7e933c9553c2c401ca6e67 /usr/bin/ptargrep
85cd345abe83d717c889a29d8e843984012051e1f6c6f050d3ad9a1eda71ae49 /usr/bin/shasum ea96c9230f9b92fc5be55640a40f165430b5c05bd2440b6df3894248989fe1c1 /usr/bin/shasum
a3c7f404c061fd35035907ff14bce2478d763f90e72b951cba8b49d60c9c1cef /usr/bin/splain 7907a40b1db8477be08cba5ef843baccf2d3a69ab5812743118861e9b559e482 /usr/bin/splain
8cb399866c7e9d8cc9139aee78e5fb87203cedf836f76067b7b3c3aeabde7ce8 /usr/bin/streamzip 17ea3d7804b6c17234af4a71987c76197270338d304d11b8c7114071940c8a87 /usr/bin/streamzip
7ea581a6abea1d0a4f959c8f2c5b1888e01ccb56b9182b3c4db879276425877e /usr/bin/xsubpp 72da7d1c49d92ded59004b411903f7eaaad12eed2df381fefd46c46f0f44599c /usr/bin/xsubpp
a71c03ec0417b868e8dd97456e42ce1a0ee8c919f6c6788d041d8f1310577ebb /usr/bin/zipdetails 83358152ce1a886cd5478a0aa3c404b65971750bfd08871a676955201d50e9ba /usr/bin/zipdetails
d81566565457a438b9617e50bf687af773246866227752004804776397d212a9 /usr/bin/perlthanks aed8b1b10650cdda61d4c5fe697ebfc9c2b9c281016c9986be67f91f5ad5ddb5 /usr/bin/perlthanks
38f2bbeb21f9d8e443d8a7d083ef88ae3e8be3c9df697e1de94dec08fa672a51 /usr/bin/perl 07f375ab290d45625b85d43a0e66c57915384a9e9e4deb9b7b31ae73b5ef4877 /usr/bin/perl
38f2bbeb21f9d8e443d8a7d083ef88ae3e8be3c9df697e1de94dec08fa672a51 /usr/bin/perl5.32.1 07f375ab290d45625b85d43a0e66c57915384a9e9e4deb9b7b31ae73b5ef4877 /usr/bin/perl5.32.1
d39e63c4b73f41c95170b5424d9e55acd8f4421c05b70bf75d81225e0d6b534f /usr/lib/perl5/5.32.1/i386-linux/CORE/libperl.a 3fa29ca7be6b053045ba96d48c5ad6557b641024d4aa194cc249d6ab1fb4ce2e /usr/lib/perl5/5.32.1/i386-linux/CORE/libperl.a
b9aa5df8e7790d25b610d3568a1fb5ec19d4b7a24ea89032b3e48e6baeff7829 /usr/lib/perl5/5.32.1/i386-linux/auto/IO/IO.a b9aa5df8e7790d25b610d3568a1fb5ec19d4b7a24ea89032b3e48e6baeff7829 /usr/lib/perl5/5.32.1/i386-linux/auto/IO/IO.a
a00d9d1d16cb84df222e42726962751d6296aa4ef5b43d3e3d39b5db677524be /usr/lib/perl5/5.32.1/i386-linux/auto/B/B.a b8038a7b322c7194bd46f23353c16b6bbb9f13a4777fb954c583e1873d61d246 /usr/lib/perl5/5.32.1/i386-linux/auto/B/B.a
97297837e713b3c32fdf15d3beb4df27dd04d36770520a39cb9609bfe03e8b95 /usr/lib/perl5/5.32.1/i386-linux/auto/Compress/Raw/Bzip2/Bzip2.a 97297837e713b3c32fdf15d3beb4df27dd04d36770520a39cb9609bfe03e8b95 /usr/lib/perl5/5.32.1/i386-linux/auto/Compress/Raw/Bzip2/Bzip2.a
cbace9433582cb7a952f8765351e5e8ac24c3d08c5cc659fc57fc5d001f85a46 /usr/lib/perl5/5.32.1/i386-linux/auto/Compress/Raw/Zlib/Zlib.a cbace9433582cb7a952f8765351e5e8ac24c3d08c5cc659fc57fc5d001f85a46 /usr/lib/perl5/5.32.1/i386-linux/auto/Compress/Raw/Zlib/Zlib.a
11a5a396f223fca1c0f663f92e2ccca804c0e1bcc8ebdc7aa6c02007c0ef6eb2 /usr/lib/perl5/5.32.1/i386-linux/auto/Cwd/Cwd.a 11a5a396f223fca1c0f663f92e2ccca804c0e1bcc8ebdc7aa6c02007c0ef6eb2 /usr/lib/perl5/5.32.1/i386-linux/auto/Cwd/Cwd.a
40bd3da520ef0b12afb7a6e422bba60618a294ea48315a0c3788b238ceec1cff /usr/lib/perl5/5.32.1/i386-linux/auto/Data/Dumper/Dumper.a 399911ed4ac9665894c52f45a7f29abb2ee491b98fc26006cd1851214b0520f1 /usr/lib/perl5/5.32.1/i386-linux/auto/Data/Dumper/Dumper.a
913b4c30b4444bb5d20fdfb1235b0bad897900247d6c90f20453f4b3fff88d22 /usr/lib/perl5/5.32.1/i386-linux/auto/Devel/Peek/Peek.a 913b4c30b4444bb5d20fdfb1235b0bad897900247d6c90f20453f4b3fff88d22 /usr/lib/perl5/5.32.1/i386-linux/auto/Devel/Peek/Peek.a
1adda90e944ad90f66a6d6beeb73f36eb15346868f86fcf2428e9468e0df924c /usr/lib/perl5/5.32.1/i386-linux/auto/Digest/MD5/MD5.a 2bea2d32605f6454e266ad4e0b2f51e7c6832ae6b7f9992edd5e30ecbcb2c1b4 /usr/lib/perl5/5.32.1/i386-linux/auto/Digest/MD5/MD5.a
ca94220bc83615eacfe76c219681cc5bbf60b20f967d4e0050115411cce4b5d3 /usr/lib/perl5/5.32.1/i386-linux/auto/Digest/SHA/SHA.a ca94220bc83615eacfe76c219681cc5bbf60b20f967d4e0050115411cce4b5d3 /usr/lib/perl5/5.32.1/i386-linux/auto/Digest/SHA/SHA.a
9f63bd4cba00691b802276da76cf44e0d1c42ac2a785d523ebf4ae0baba120cb /usr/lib/perl5/5.32.1/i386-linux/auto/Encode/Byte/Byte.a 9f63bd4cba00691b802276da76cf44e0d1c42ac2a785d523ebf4ae0baba120cb /usr/lib/perl5/5.32.1/i386-linux/auto/Encode/Byte/Byte.a
6d583d90aa9d93a081dd23e59a4ccb67566213075277b2f576f0bc70be0ae45f /usr/lib/perl5/5.32.1/i386-linux/auto/Encode/CN/CN.a 6d583d90aa9d93a081dd23e59a4ccb67566213075277b2f576f0bc70be0ae45f /usr/lib/perl5/5.32.1/i386-linux/auto/Encode/CN/CN.a
@ -48,34 +48,34 @@ ca94220bc83615eacfe76c219681cc5bbf60b20f967d4e0050115411cce4b5d3 /usr/lib/perl5
7c1eab792c8cdd25bd3db0fe932a7025106de4f5a5477859feac4efcd7ed2758 /usr/lib/perl5/5.32.1/i386-linux/auto/Encode/TW/TW.a 7c1eab792c8cdd25bd3db0fe932a7025106de4f5a5477859feac4efcd7ed2758 /usr/lib/perl5/5.32.1/i386-linux/auto/Encode/TW/TW.a
7945204be71d45eac99d52c8ba80f4a415e5a442ba9118045835130fcb793278 /usr/lib/perl5/5.32.1/i386-linux/auto/Encode/Unicode/Unicode.a 7945204be71d45eac99d52c8ba80f4a415e5a442ba9118045835130fcb793278 /usr/lib/perl5/5.32.1/i386-linux/auto/Encode/Unicode/Unicode.a
d435dad257f8a3062fdf0ed36ef1ff8bf459035bf91666a053f1a825d619c7ba /usr/lib/perl5/5.32.1/i386-linux/auto/Encode/Encode.a d435dad257f8a3062fdf0ed36ef1ff8bf459035bf91666a053f1a825d619c7ba /usr/lib/perl5/5.32.1/i386-linux/auto/Encode/Encode.a
de952455eb6c8920eb83b24d116fba667148e3ced2c300d09fbcd0695460d503 /usr/lib/perl5/5.32.1/i386-linux/auto/Fcntl/Fcntl.a b3583f87f511ede9e8d9f8c0c8a865f89a6e8d812913ccb0e0f29d9d1dd8c7bd /usr/lib/perl5/5.32.1/i386-linux/auto/Fcntl/Fcntl.a
d1477681608164d970571537fe57a4f57c2ff079827a2c7836e098cdb116725a /usr/lib/perl5/5.32.1/i386-linux/auto/File/DosGlob/DosGlob.a d1477681608164d970571537fe57a4f57c2ff079827a2c7836e098cdb116725a /usr/lib/perl5/5.32.1/i386-linux/auto/File/DosGlob/DosGlob.a
e71679d8b946cfc769d28579d7277f5c3f6026bbd012c804de044cf960920596 /usr/lib/perl5/5.32.1/i386-linux/auto/File/Glob/Glob.a 8edb2e9536c8cb08dfebdbbabef32af941818f79c92a38aa5d6eec1aa31d01e1 /usr/lib/perl5/5.32.1/i386-linux/auto/File/Glob/Glob.a
e4585db5d46bdb7ce6a1f755596131e15e9a6170dfb8911025b1a8aa0d5084bc /usr/lib/perl5/5.32.1/i386-linux/auto/Filter/Util/Call/Call.a e4585db5d46bdb7ce6a1f755596131e15e9a6170dfb8911025b1a8aa0d5084bc /usr/lib/perl5/5.32.1/i386-linux/auto/Filter/Util/Call/Call.a
e78509cd064d5b33e4183472569f477759b31ebaaaebda7f7de5210d49f8f01a /usr/lib/perl5/5.32.1/i386-linux/auto/Hash/Util/FieldHash/FieldHash.a e78509cd064d5b33e4183472569f477759b31ebaaaebda7f7de5210d49f8f01a /usr/lib/perl5/5.32.1/i386-linux/auto/Hash/Util/FieldHash/FieldHash.a
ac19d921e8c417aac14aed76e301636c4665d8ce0b8b8cc60db99e6fe6d78c6b /usr/lib/perl5/5.32.1/i386-linux/auto/Hash/Util/Util.a ac19d921e8c417aac14aed76e301636c4665d8ce0b8b8cc60db99e6fe6d78c6b /usr/lib/perl5/5.32.1/i386-linux/auto/Hash/Util/Util.a
6c149bdde39147d4a78ecef243509c9de02ce247113332249122657caedf0fe9 /usr/lib/perl5/5.32.1/i386-linux/auto/I18N/Langinfo/Langinfo.a f6543bf69f745b1c73452494f5ce28e64f69c15a0b62ed48fc11176fad0fab4a /usr/lib/perl5/5.32.1/i386-linux/auto/I18N/Langinfo/Langinfo.a
17bca9d539f4267ee479d0e04accc0261855287ab05628def3af50aabf8fa091 /usr/lib/perl5/5.32.1/i386-linux/auto/IPC/SysV/SysV.a 17bca9d539f4267ee479d0e04accc0261855287ab05628def3af50aabf8fa091 /usr/lib/perl5/5.32.1/i386-linux/auto/IPC/SysV/SysV.a
c31d93eede732e7e3077c942c1cf98c0837dc29f7f481d377dfc2e54f9734e0b /usr/lib/perl5/5.32.1/i386-linux/auto/List/Util/Util.a c31d93eede732e7e3077c942c1cf98c0837dc29f7f481d377dfc2e54f9734e0b /usr/lib/perl5/5.32.1/i386-linux/auto/List/Util/Util.a
5cf46c40bd99950add133ff1be1e829ebbf6be51271ce74e362516daaddaa268 /usr/lib/perl5/5.32.1/i386-linux/auto/MIME/Base64/Base64.a 5cf46c40bd99950add133ff1be1e829ebbf6be51271ce74e362516daaddaa268 /usr/lib/perl5/5.32.1/i386-linux/auto/MIME/Base64/Base64.a
19a514c34f9379d6fc9b9cd0b0847983cf070a552ae3ad99da3bc28f26960342 /usr/lib/perl5/5.32.1/i386-linux/auto/Math/BigInt/FastCalc/FastCalc.a 19a514c34f9379d6fc9b9cd0b0847983cf070a552ae3ad99da3bc28f26960342 /usr/lib/perl5/5.32.1/i386-linux/auto/Math/BigInt/FastCalc/FastCalc.a
37a428027797b6482e91a04da997005a34d64e5614ae7607e2b85ea6795ab198 /usr/lib/perl5/5.32.1/i386-linux/auto/Opcode/Opcode.a 37a428027797b6482e91a04da997005a34d64e5614ae7607e2b85ea6795ab198 /usr/lib/perl5/5.32.1/i386-linux/auto/Opcode/Opcode.a
9cf4db7b20230c803821094bc910fc27783814046fa1e5fcc39348b076c2a838 /usr/lib/perl5/5.32.1/i386-linux/auto/POSIX/POSIX.a f092d09964fdaea7f763a9fdbd4bc1d4fe2a1f7365887623c803f3071dc5fdfe /usr/lib/perl5/5.32.1/i386-linux/auto/POSIX/POSIX.a
ed1b19fbe06597635a6015447c68fdac7a5ce0e5ba814b020d260237fe007489 /usr/lib/perl5/5.32.1/i386-linux/auto/PerlIO/encoding/encoding.a ed1b19fbe06597635a6015447c68fdac7a5ce0e5ba814b020d260237fe007489 /usr/lib/perl5/5.32.1/i386-linux/auto/PerlIO/encoding/encoding.a
2dce279ba070676998d7b2d08cd53102107bddfa8cc4150f0dfb513360507127 /usr/lib/perl5/5.32.1/i386-linux/auto/PerlIO/mmap/mmap.a 2dce279ba070676998d7b2d08cd53102107bddfa8cc4150f0dfb513360507127 /usr/lib/perl5/5.32.1/i386-linux/auto/PerlIO/mmap/mmap.a
a4834b1e3bc003dc3a556ae4a1f07d0d1caee784930c15c9bb3b80f33adefa0a /usr/lib/perl5/5.32.1/i386-linux/auto/PerlIO/scalar/scalar.a a4834b1e3bc003dc3a556ae4a1f07d0d1caee784930c15c9bb3b80f33adefa0a /usr/lib/perl5/5.32.1/i386-linux/auto/PerlIO/scalar/scalar.a
9e1f4f68be71a56656b76f0e189b2e1fadc12683b34662250cf25130a420786e /usr/lib/perl5/5.32.1/i386-linux/auto/PerlIO/via/via.a 9e1f4f68be71a56656b76f0e189b2e1fadc12683b34662250cf25130a420786e /usr/lib/perl5/5.32.1/i386-linux/auto/PerlIO/via/via.a
08a5d9d75f149b00493e656752375710a636fa1fbd33d51bbf8386b6c020360c /usr/lib/perl5/5.32.1/i386-linux/auto/SDBM_File/SDBM_File.a 08a5d9d75f149b00493e656752375710a636fa1fbd33d51bbf8386b6c020360c /usr/lib/perl5/5.32.1/i386-linux/auto/SDBM_File/SDBM_File.a
b33eb13f4b8682e95c6d0d69e142c737f946cbc711fd0217b1c42fa5dd830d23 /usr/lib/perl5/5.32.1/i386-linux/auto/Socket/Socket.a f61c416bf4ba5c1ab22419f17c92cb716bc66b5c2bacb5ff3bf30897401eaa91 /usr/lib/perl5/5.32.1/i386-linux/auto/Socket/Socket.a
1569d0e1d134bec913093c3cf08231b310707843e276e2687fe2350b298c4cfd /usr/lib/perl5/5.32.1/i386-linux/auto/Storable/Storable.a b661dc753ecf99720333ca6322ce2f71fc9fa526cd3485ffc242083b48072b5e /usr/lib/perl5/5.32.1/i386-linux/auto/Storable/Storable.a
cf65ae0455595319fbf2f6102b1c71df9b0711d5d5a5d0f77ab2c128f678b5dc /usr/lib/perl5/5.32.1/i386-linux/auto/Sys/Hostname/Hostname.a cf65ae0455595319fbf2f6102b1c71df9b0711d5d5a5d0f77ab2c128f678b5dc /usr/lib/perl5/5.32.1/i386-linux/auto/Sys/Hostname/Hostname.a
200aab211a4b3c56e4f2c3a5b57ac67155894c042a22e07d7b3d88033d8fb36b /usr/lib/perl5/5.32.1/i386-linux/auto/Sys/Syslog/Syslog.a 4f2fd36f658d78f7665bc8c81323dae479c3ce3bcc7b16ecc5228cb5ebcfdf34 /usr/lib/perl5/5.32.1/i386-linux/auto/Sys/Syslog/Syslog.a
4472ab7f81d0c67ceece4c66985ba95e4a399182fcb889465f81d009fd66b735 /usr/lib/perl5/5.32.1/i386-linux/auto/Time/HiRes/HiRes.a 4472ab7f81d0c67ceece4c66985ba95e4a399182fcb889465f81d009fd66b735 /usr/lib/perl5/5.32.1/i386-linux/auto/Time/HiRes/HiRes.a
4a4dadffbe8d7ccd71fb6fbe13696f42b8985d3517d48b2f5697d3a243d538c9 /usr/lib/perl5/5.32.1/i386-linux/auto/Time/Piece/Piece.a 4a4dadffbe8d7ccd71fb6fbe13696f42b8985d3517d48b2f5697d3a243d538c9 /usr/lib/perl5/5.32.1/i386-linux/auto/Time/Piece/Piece.a
81b92d161e5b456901a5e297981d10fc889fcd94baa4bdf687d90c2a0510fdf6 /usr/lib/perl5/5.32.1/i386-linux/auto/Unicode/Collate/Collate.a 81b92d161e5b456901a5e297981d10fc889fcd94baa4bdf687d90c2a0510fdf6 /usr/lib/perl5/5.32.1/i386-linux/auto/Unicode/Collate/Collate.a
3de37e2608ee975d2be422b716722b622558e9a16ad7cb01a4909108e8da565f /usr/lib/perl5/5.32.1/i386-linux/auto/Unicode/Normalize/Normalize.a 3de37e2608ee975d2be422b716722b622558e9a16ad7cb01a4909108e8da565f /usr/lib/perl5/5.32.1/i386-linux/auto/Unicode/Normalize/Normalize.a
5685a0b7e09fa209b44e92b6ffeef3ffaf45c88f5ce3a210982820107bcc845a /usr/lib/perl5/5.32.1/i386-linux/auto/attributes/attributes.a 5685a0b7e09fa209b44e92b6ffeef3ffaf45c88f5ce3a210982820107bcc845a /usr/lib/perl5/5.32.1/i386-linux/auto/attributes/attributes.a
20b56fd11c78ae924ad3ac6da04e412067732f051688865dc9271c19b30b7bff /usr/lib/perl5/5.32.1/i386-linux/auto/mro/mro.a 20b56fd11c78ae924ad3ac6da04e412067732f051688865dc9271c19b30b7bff /usr/lib/perl5/5.32.1/i386-linux/auto/mro/mro.a
5c1adcd8427427a1f6feb1b3dfd52a16f6a57435c1ad74abc8f8ba7c78ec0a6d /usr/lib/perl5/5.32.1/i386-linux/auto/re/re.a 367556d0d55016d965eb1e708ae1940002dc6d1afba7b78c24a197399b01c1db /usr/lib/perl5/5.32.1/i386-linux/auto/re/re.a
f5e09198bbacd7eef23375e1a7eb2166c884666c8fd14dfeeab11f1bda5d313d /usr/lib/perl5/5.32.1/i386-linux/auto/threads/shared/shared.a f5e09198bbacd7eef23375e1a7eb2166c884666c8fd14dfeeab11f1bda5d313d /usr/lib/perl5/5.32.1/i386-linux/auto/threads/shared/shared.a
d850f9ecb18bb102876c8e0b9032efdef2c70a66243fb3f686d770699d643a8f /usr/lib/perl5/5.32.1/i386-linux/auto/threads/threads.a d850f9ecb18bb102876c8e0b9032efdef2c70a66243fb3f686d770699d643a8f /usr/lib/perl5/5.32.1/i386-linux/auto/threads/threads.a

View File

@ -0,0 +1 @@
f92d3a73adae8cef9d016f665bf825411b07f5b258ae607237fadc320d6b52f1 /usr/bin/pkg-config

View File

@ -8,6 +8,7 @@
set -e set -e
# shellcheck source=sysglobal/helpers.sh
. helpers.sh . helpers.sh
export PATH=/usr/bin:/usr/sbin export PATH=/usr/bin:/usr/sbin
@ -26,6 +27,8 @@ create_fhs() {
mount -t tmpfs tmpfs /tmp mount -t tmpfs tmpfs /tmp
} }
populate_device_nodes ""
create_fhs create_fhs
build bash-5.1 build bash-5.1

View File

@ -9,11 +9,12 @@
set -e set -e
trap "env - PATH=${PREFIX}/bin PS1='\w # ' bash -i" EXIT trap 'env - PATH=${PREFIX}/bin PS1="\w # " bash -i' EXIT
# shellcheck source=sysglobal/helpers.sh
. helpers.sh
# shellcheck source=/dev/null
. helpers.sh . helpers.sh
. bootstrap.cfg
trap bash EXIT trap bash EXIT
@ -77,4 +78,4 @@ fi
echo "Bootstrapping completed." echo "Bootstrapping completed."
cd "${PREFIX}" cd "${PREFIX}"
exec env - PATH=${PREFIX}/bin PS1="\w # " bash -i exec env - PATH="${PREFIX}/bin" PS1="\w # " bash -i

View File

@ -1,2 +1,2 @@
b536d37ab131f9980f066d6272012c62de791b80fed664062a9d115070804a40 /usr/bin/tar d4f7dfe8ffca15372053cf605382815fcf56932382d89014e80813c3d1003a66 /usr/bin/tar
831bd662258cfe46ccca317d9334d71b73fc95fcf86df24ef6737dbd4ba3dc3b /usr/libexec/rmt 19a0cb3c2620395453c04aaa8ee13fbbf00f42d8ea2dc60f608d8c598d994894 /usr/libexec/rmt

View File

@ -1,8 +1,8 @@
6b7360dac62bb1fbfc1cb9a52aae4b4578802f7e936dedc57128637a9a3447ea /usr/bin/install-info 67142f0a05fbbad8058a54e7dd0aa8e5514dc6fabb14c8cb9229d26f6e1f9600 /usr/bin/install-info
ce7a5fa1b123d2c04761a942d0786ff410330cd0428119fb477a5ee6cbde7b89 /usr/bin/makeinfo 86134968b409320d5aadb52c86b745728bbbb7fb2cac49e2d0fbc545d25d7ea4 /usr/bin/makeinfo
93fafa11310722900c521df7a831faa5827b542bad7feebbf2b3d67dc2c01ffe /usr/bin/pdftexi2dvi 93fafa11310722900c521df7a831faa5827b542bad7feebbf2b3d67dc2c01ffe /usr/bin/pdftexi2dvi
3f75371015b97159399be11122a07c0b9e63386531eaa61a8ed9bb9f536c4b7d /usr/bin/pod2texi 927bbdffe8967b038e6146bb1a3381d22ac8316bad4eaf250ba635fb7591879b /usr/bin/pod2texi
ce7a5fa1b123d2c04761a942d0786ff410330cd0428119fb477a5ee6cbde7b89 /usr/bin/texi2any 86134968b409320d5aadb52c86b745728bbbb7fb2cac49e2d0fbc545d25d7ea4 /usr/bin/texi2any
0f0a456c939940453e30668f23f5dbf9151d56088117ef03eec817d3e229f29d /usr/bin/texi2dvi 0f0a456c939940453e30668f23f5dbf9151d56088117ef03eec817d3e229f29d /usr/bin/texi2dvi
93fafa11310722900c521df7a831faa5827b542bad7feebbf2b3d67dc2c01ffe /usr/bin/texi2pdf 93fafa11310722900c521df7a831faa5827b542bad7feebbf2b3d67dc2c01ffe /usr/bin/texi2pdf
09490236e9a02747d0409c898d9a21abecfdf6612e755cb23954b378097b30f9 /usr/bin/texindex 07c62fc99277b6d0484f005ee0fc253739654c26bd8e60bc5cbe0ab323d2caaa /usr/bin/texindex

View File

@ -2,9 +2,9 @@
03c58dbf8315fef2a50dcaf987a935090e4b069db56e7ce3aac785dfc5cd4a3d /usr/bin/lzmainfo 03c58dbf8315fef2a50dcaf987a935090e4b069db56e7ce3aac785dfc5cd4a3d /usr/bin/lzmainfo
57ac10e085b18e865bf5aec0c86da6518ccb42159353fb5e4d210e97733186a8 /usr/bin/xz 57ac10e085b18e865bf5aec0c86da6518ccb42159353fb5e4d210e97733186a8 /usr/bin/xz
5ca6e4964032b8fda32423052a695f6a1763a5c1a73e2653a2afa6b4facc98f1 /usr/bin/xzdec 5ca6e4964032b8fda32423052a695f6a1763a5c1a73e2653a2afa6b4facc98f1 /usr/bin/xzdec
f72fcec59483e07fcc03790b81865d44f313de3818db76ca7de3ada54f9a3495 /usr/bin/xzdiff 104548a69cb9ced78dd4fd08f5e8a1b6b07230ada5e6554a07368ed84191da86 /usr/bin/xzdiff
77efabca83a977e5ace314fa5a55c7609fee6fea04b5119dec5a06366c58dd6e /usr/bin/xzgrep 34db9e45f4ca4bc96b8280ac438ac6c4fab95e44e812e20cf86a2248bf2f7579 /usr/bin/xzgrep
879d4f0b6d11dca72b990c5df244cd91fe919e9c2180d85cc5691b990c6ce0b1 /usr/bin/xzless 2ce262d47007d17dc668e9a9a3263f7fe3f145d61971f189c21f59b25498a4e3 /usr/bin/xzless
6891f7f187bdbcdfe567ac7c28def7d8953be43c47af0090f5ab011f23b1cad9 /usr/bin/xzmore a050699ff5484e063154d11bf05a9a4eb6c2d38bac09a975a96b42c8b45a72ef /usr/bin/xzmore
8cb3dc211e6bc5b8d7a85d927e0ed523f223383711740c9370f496bf563bbc03 /usr/lib/musl/liblzma.a 8cb3dc211e6bc5b8d7a85d927e0ed523f223383711740c9370f496bf563bbc03 /usr/lib/musl/liblzma.a
c63166c42cf6a0225aa845f1c86acc138705b1dcc9120094bdcec8910d290ab6 /usr/lib/musl/liblzma.la c63166c42cf6a0225aa845f1c86acc138705b1dcc9120094bdcec8910d290ab6 /usr/lib/musl/liblzma.la

View File

@ -1 +1 @@
8e8255b1f90615cbb69f45697edcfd17dae492e090ca31c9d5390cb2d076e1b4 /image/lib/musl/libz.a 9440eb051ab29c7f103adea17890180091238155473bb8b8a25dbba8b37af3e6 /usr/lib/musl/libz.a

View File

@ -166,3 +166,15 @@ default() {
canonicalise_all_files_timestamp() { canonicalise_all_files_timestamp() {
find / -exec touch --no-dereference -t 197001010000.00 {} + find / -exec touch --no-dereference -t 197001010000.00 {} +
} }
populate_device_nodes() {
# http://www.linuxfromscratch.org/lfs/view/6.1/chapter06/devices.html
mkdir -p "${1}/dev"
test -c "${1}/dev/null" || mknod -m 666 "${1}/dev/null" c 1 3
test -c "${1}/dev/zero" || mknod -m 666 "${1}/dev/zero" c 1 5
test -c "${1}/dev/ptmx" || mknod -m 666 "${1}/dev/ptmx" c 5 2
test -c "${1}/dev/tty" || mknod -m 666 "${1}/dev/tty" c 5 0
test -c "${1}/dev/random" || mknod -m 444 "${1}/dev/random" c 1 8
test -c "${1}/dev/urandom" || mknod -m 444 "${1}/dev/urandom" c 1 9
test -c "${1}/dev/console" || mknod -m 666 "${1}/dev/console" c 5 1
}