Compare commits
67 Commits
7d2a3137dd
...
eb6cbad712
Author | SHA1 | Date |
---|---|---|
fosslinux | eb6cbad712 | |
Andrius Štikonas | f98161581c | |
Andrius Štikonas | c38a58e474 | |
Andrius Štikonas | 737bf61a26 | |
Andrius Štikonas | 9b81f13714 | |
Andrius Štikonas | abb46a27b3 | |
Andrius Štikonas | aae7c4a672 | |
Seppo Yli-Olli | f893df52fe | |
fosslinux | 7747e86834 | |
Seppo Yli-Olli | f9ed2d7a42 | |
fosslinux | 47feb75b08 | |
Andrius Štikonas | 493ddfa829 | |
fosslinux | 80e65b7c23 | |
ajherchenroder | 7be4933ab1 | |
fosslinux | fd9e8d547f | |
Paul Dersey | 184535e2df | |
fosslinux | 46d80b8605 | |
Andrius Štikonas | 10fd92f9c7 | |
Andrius Štikonas | 8d96234d22 | |
Dor Askayo | 2227a2053a | |
Andrius Štikonas | b3ffe8bb19 | |
Andrius Štikonas | 9638a796e9 | |
Dor Askayo | 7123b48876 | |
Dor Askayo | 5b058a2b81 | |
Dor Askayo | 6276da59cd | |
Dor Askayo | 1026440104 | |
Dor Askayo | 3da50962fd | |
Dor Askayo | b58c513e8f | |
Dor Askayo | 3479d65f58 | |
Dor Askayo | 5899991961 | |
fosslinux | 49a2676551 | |
rick-masters | 5e5f309db7 | |
Andrius Štikonas | 83013cea5e | |
Paul Dersey | 5b9fd08dc0 | |
Paul Dersey | c61b4afd8a | |
Andrius Štikonas | 7a31257eaa | |
Eduardo Sánchez Muñoz | d75114d4a4 | |
fosslinux | 48df095226 | |
Andrius Štikonas | 914b84377a | |
Andrius Štikonas | f531e1cc5f | |
fosslinux | e3a2ca1b3f | |
Paul Dersey | 247b2a2a89 | |
Paul Dersey | 87601931b2 | |
fosslinux | 82f2204f91 | |
rick-masters | d2870cf17a | |
fosslinux | 9dffcd7c8a | |
Emily Trau | a8752029f6 | |
Andrius Štikonas | 87e9d7db9d | |
rick-masters | ef08891401 | |
rick-masters | 1603b81602 | |
rick-masters | 0d4394aa0d | |
Andrius Štikonas | 26552a928f | |
rick-masters | 8604871997 | |
rick-masters | 68429917c0 | |
rick-masters | 12026cb100 | |
rick-masters | a2fcf1ced9 | |
fosslinux | e86db47b6e | |
fosslinux | 724c6cca13 | |
fosslinux | a4e5829971 | |
fosslinux | aa2d6c4137 | |
fosslinux | e2ceb13e57 | |
fosslinux | ce33a6e9f9 | |
fosslinux | f124bc86be | |
Emily Trau | 7a13158e79 | |
fosslinux | dd7905c05c | |
rick-masters | 9b37fa2ed7 | |
fosslinux | 3723747562 |
|
@ -12,8 +12,8 @@ on:
|
|||
- master
|
||||
|
||||
jobs:
|
||||
run:
|
||||
name: Run under bubblewrap
|
||||
sysa:
|
||||
name: Run sysa under bubblewrap
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Install bubblewrap
|
||||
|
@ -45,8 +45,78 @@ jobs:
|
|||
sysc/distfiles
|
||||
key: cache-${{ hashFiles('sys*/*/sources') }}
|
||||
- name: Run bootstrap
|
||||
id: bootstrap
|
||||
run: ./rootfs.py --bwrap --external-sources --build-kernels --preserve --cores 2
|
||||
run: ./rootfs.py --bwrap --external-sources --build-kernels --preserve --cores 2 --internal-ci pass1
|
||||
- name: Archive created packages
|
||||
if: failure() # archive failed builds progress
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: packages
|
||||
path: tmp/sysa/usr/src/repo/**
|
||||
- name: Tar sysc_image
|
||||
run: tar -cf sysc_image.tar tmp/sysa/sysc_image/
|
||||
- name: Archive sysc_image
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: internal_sysc_image
|
||||
path: sysc_image.tar
|
||||
|
||||
sysc1:
|
||||
name: Run sysc (part 1) under bubblewrap
|
||||
needs: sysa
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Install bubblewrap
|
||||
run: sudo apt install bubblewrap
|
||||
- name: Checkout repo
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
submodules: recursive
|
||||
# There is a strange bug(?) in nongnu, when you clone a git repository
|
||||
# against a commit != HEAD with depth=1, it errors out.
|
||||
fetch-depth: 0
|
||||
- name: Get sysc_image
|
||||
uses: actions/download-artifact@v3
|
||||
with:
|
||||
name: internal_sysc_image
|
||||
- name: Extract sysc_image
|
||||
run: tar -xf sysc_image.tar
|
||||
- name: Run bootstrap
|
||||
run: ./rootfs.py --bwrap --external-sources --build-kernels --preserve --cores 2 --internal-ci pass2
|
||||
- name: Archive created packages
|
||||
if: always() # archive failed builds progress
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: internal_packages_sysc1
|
||||
path: tmp/sysa/sysc_image/usr/src/repo/**
|
||||
|
||||
sysc2:
|
||||
name: Run sysc (part 2) under bubblewrap
|
||||
needs: sysc1
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Install bubblewrap
|
||||
run: sudo apt install bubblewrap
|
||||
- name: Checkout repo
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
submodules: recursive
|
||||
# There is a strange bug(?) in nongnu, when you clone a git repository
|
||||
# against a commit != HEAD with depth=1, it errors out.
|
||||
fetch-depth: 0
|
||||
- name: Get sysc_image
|
||||
uses: actions/download-artifact@v3
|
||||
with:
|
||||
name: internal_sysc_image
|
||||
- name: Extract sysc_image
|
||||
run: tar -xf sysc_image.tar
|
||||
# By doing this, all packages that have already been compiled will come from the preseed.
|
||||
- name: Get packages repo progress
|
||||
uses: actions/download-artifact@v3
|
||||
with:
|
||||
name: internal_packages_sysc1
|
||||
path: tmp/sysa/sysc_image/usr/src/repo-preseeded/
|
||||
- name: Run bootstrap
|
||||
run: ./rootfs.py --bwrap --external-sources --build-kernels --preserve --cores 2 --internal-ci pass3
|
||||
- name: Archive created packages
|
||||
if: always() # archive failed builds
|
||||
uses: actions/upload-artifact@v3
|
||||
|
|
|
@ -9,6 +9,6 @@ Source: https://github.com/fosslinux/live-bootstrap
|
|||
# Copyright: $YEAR $NAME <$CONTACT>
|
||||
# License: ...
|
||||
|
||||
Files: sys*/*/sources sys*/SHA256SUMS.sources sysa/checksum-transcriber.*.SHA256SUM sysa/pre-sha.sha256sums sysa/*/*.checksums sysa/SHA256SUMS.pkgs sysc/musl-1.2.3/ld-musl-i386.path sysa/*/simple-patches/*
|
||||
Files: sys*/*/sources sysa/checksum-transcriber.*.SHA256SUM sysa/*/*.checksums sysa/SHA256SUMS.pkgs sysa/*/simple-patches/*
|
||||
Copyright: none
|
||||
License: MIT
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -12,7 +12,7 @@ import getpass
|
|||
import os
|
||||
import shutil
|
||||
|
||||
from lib.utils import mount, umount, create_disk, run
|
||||
from lib.utils import mount, umount, create_disk, run_as_root
|
||||
|
||||
class TmpType(enum.Enum):
|
||||
"""Different types of tmpdirs we can have"""
|
||||
|
@ -45,7 +45,7 @@ class Tmpdir:
|
|||
if not self.preserve:
|
||||
for disk in self._disks.values():
|
||||
print(f"Detaching {disk}")
|
||||
run("sudo", "losetup", "-d", disk)
|
||||
run_as_root("losetup", "-d", disk)
|
||||
|
||||
if self._type == TmpType.TMPFS:
|
||||
print(f"Unmounting tmpdir from {self.path}")
|
||||
|
@ -69,13 +69,13 @@ class Tmpdir:
|
|||
os.mkdir(sys_path)
|
||||
return sys_path
|
||||
|
||||
def add_disk(self, name, size="8G", filesystem="ext4"):
|
||||
def add_disk(self, name, size="16G", filesystem="ext4"):
|
||||
"""Add a disk"""
|
||||
disk_path = os.path.join(self.path, f"{name}.img")
|
||||
self._disks[name] = create_disk(disk_path, "msdos", filesystem, size)
|
||||
self._disk_filesystems[name] = filesystem
|
||||
# Allow executing user to access it
|
||||
run("sudo", "chown", getpass.getuser(), self._disks[name])
|
||||
run_as_root("chown", getpass.getuser(), self._disks[name])
|
||||
|
||||
def mount_disk(self, name, mountpoint=None):
|
||||
"""Mount the disk"""
|
||||
|
@ -85,7 +85,7 @@ class Tmpdir:
|
|||
os.mkdir(mountpoint)
|
||||
mount(self._disks[name] + "p1", mountpoint, self._disk_filesystems[name])
|
||||
# Allow executing user to access it
|
||||
run("sudo", "chown", getpass.getuser(), mountpoint)
|
||||
run_as_root("chown", getpass.getuser(), mountpoint)
|
||||
self._mountpoints[name] = mountpoint
|
||||
return mountpoint
|
||||
|
||||
|
|
21
lib/utils.py
21
lib/utils.py
|
@ -25,27 +25,34 @@ def run(*args, **kwargs):
|
|||
print("Bootstrapping failed")
|
||||
sys.exit(1)
|
||||
|
||||
def run_as_root(*args, **kwargs):
|
||||
"""A helper for run that invokes sudo when unprivileged"""
|
||||
if os.geteuid() != 0:
|
||||
run("sudo", *args, **kwargs)
|
||||
else:
|
||||
run(*args, **kwargs)
|
||||
|
||||
def create_disk(image, disk_type, fs_type, size):
|
||||
"""Create a disk image, with a filesystem on it"""
|
||||
run('truncate', '-s', size, image)
|
||||
# First find the device we will use, then actually use it
|
||||
loop_dev = run('sudo', 'losetup', '-f', capture_output=True).stdout.decode().strip()
|
||||
run('sudo', 'losetup', '-P', loop_dev, image)
|
||||
loop_dev = run_as_root('losetup', '-f', capture_output=True).stdout.decode().strip()
|
||||
run_as_root('losetup', '-P', loop_dev, image)
|
||||
# Create the partition
|
||||
if disk_type != "none":
|
||||
run('sudo', 'parted', '--script', image, 'mklabel', disk_type, 'mkpart',
|
||||
run_as_root('parted', '--script', image, 'mklabel', disk_type, 'mkpart',
|
||||
'primary', 'ext4', '0%', '100%')
|
||||
run('sudo', 'partprobe', loop_dev)
|
||||
run('sudo', 'mkfs.' + fs_type, loop_dev + "p1")
|
||||
run_as_root('partprobe', loop_dev)
|
||||
run_as_root('mkfs.' + fs_type, loop_dev + "p1")
|
||||
return loop_dev
|
||||
|
||||
def mount(source, target, fs_type, options='', **kwargs):
|
||||
"""Mount filesystem"""
|
||||
run('sudo', 'mount', source, target, '-t', fs_type, '-o', options, **kwargs)
|
||||
run_as_root('mount', source, target, '-t', fs_type, '-o', options, **kwargs)
|
||||
|
||||
def umount(target, **kwargs):
|
||||
"""Unmount filesystem"""
|
||||
run('sudo', 'umount', '--recursive', target, **kwargs)
|
||||
run_as_root('umount', '--recursive', target, **kwargs)
|
||||
|
||||
def copytree(src, dst, ignore=shutil.ignore_patterns('*.git*')):
|
||||
"""Copy directory tree into another directory"""
|
||||
|
|
96
rootfs.py
96
rootfs.py
|
@ -15,10 +15,11 @@ you can run bootstap inside chroot.
|
|||
|
||||
import argparse
|
||||
import os
|
||||
import shutil
|
||||
|
||||
from sysa import SysA
|
||||
from sysc import SysC
|
||||
from lib.utils import run
|
||||
from lib.utils import run, run_as_root
|
||||
from lib.sysgeneral import stage0_arch_map
|
||||
from lib.tmpdir import Tmpdir
|
||||
|
||||
|
@ -34,10 +35,13 @@ def create_configuration_file(args):
|
|||
config.write(f"CHROOT_ONLY_SYSA={args.bwrap}\n")
|
||||
config.write(f"UPDATE_CHECKSUMS={args.update_checksums}\n")
|
||||
config.write(f"JOBS={args.cores}\n")
|
||||
config.write("DISK=sda1\n")
|
||||
config.write(f"INTERNAL_CI={args.internal_ci}\n")
|
||||
config.write(f"BARE_METAL={args.bare_metal}\n")
|
||||
if (args.bare_metal or args.qemu) and not args.kernel:
|
||||
config.write("DISK=sda\n")
|
||||
config.write("KERNEL_BOOTSTRAP=True\n")
|
||||
else:
|
||||
config.write("DISK=sda1\n")
|
||||
config.write("KERNEL_BOOTSTRAP=False\n")
|
||||
config.write(f"BUILD_KERNELS={args.update_checksums or args.build_kernels}\n")
|
||||
|
||||
|
@ -84,6 +88,7 @@ def main():
|
|||
help="Path to prebuilt binary packages.", nargs=None)
|
||||
parser.add_argument("--early-preseed",
|
||||
help="Skip early stages of live-bootstrap.", nargs=None)
|
||||
parser.add_argument("--internal-ci", help="INTERNAL for github CI")
|
||||
|
||||
# QEMU arguments
|
||||
parser.add_argument("-q", "--qemu", help="Use QEMU",
|
||||
|
@ -120,7 +125,7 @@ def main():
|
|||
|
||||
# Arch validation
|
||||
if args.arch != "x86":
|
||||
raise ValueError("Only x86 is supported at the moment.")
|
||||
print("Only x86 is supported at the moment, other arches are for development only.")
|
||||
|
||||
# Tmp validation
|
||||
if args.bwrap and args.tmpfs:
|
||||
|
@ -131,9 +136,6 @@ def main():
|
|||
raise ValueError("Must use one or more cores.")
|
||||
|
||||
# bootstrap.cfg
|
||||
if args.bare_metal:
|
||||
args.no_create_config = True
|
||||
|
||||
try:
|
||||
os.remove(os.path.join('sysa', 'bootstrap.cfg'))
|
||||
except FileNotFoundError:
|
||||
|
@ -166,53 +168,61 @@ def bootstrap(args, system_a, system_c, tmpdir):
|
|||
import shutil
|
||||
print(shutil.which('chroot'))
|
||||
"""
|
||||
chroot_binary = run('sudo', 'python3', '-c', find_chroot,
|
||||
capture_output=True).stdout.decode().strip()
|
||||
chroot_binary = run_as_root('python3', '-c', find_chroot,
|
||||
capture_output=True).stdout.decode().strip()
|
||||
|
||||
system_c.prepare(create_disk_image=False)
|
||||
system_a.prepare(create_initramfs=False)
|
||||
|
||||
arch = stage0_arch_map.get(args.arch, args.arch)
|
||||
init = os.path.join(os.sep, 'bootstrap-seeds', 'POSIX', arch, 'kaem-optional-seed')
|
||||
run('sudo', 'env', '-i', 'PATH=/bin', chroot_binary, system_a.tmp_dir, init)
|
||||
run_as_root('env', '-i', 'PATH=/bin', chroot_binary, system_a.tmp_dir, init)
|
||||
|
||||
elif args.bwrap:
|
||||
system_c.prepare(create_disk_image=False)
|
||||
system_a.prepare(create_initramfs=False)
|
||||
if not args.internal_ci or args.internal_ci == "pass1":
|
||||
system_c.prepare(create_disk_image=False)
|
||||
system_a.prepare(create_initramfs=False)
|
||||
|
||||
arch = stage0_arch_map.get(args.arch, args.arch)
|
||||
init = os.path.join(os.sep, 'bootstrap-seeds', 'POSIX', arch, 'kaem-optional-seed')
|
||||
run('bwrap', '--unshare-user',
|
||||
'--uid', '0',
|
||||
'--gid', '0',
|
||||
'--unshare-net',
|
||||
'--clearenv',
|
||||
'--setenv', 'PATH', '/usr/bin',
|
||||
'--bind', system_a.tmp_dir, '/',
|
||||
'--dir', '/dev',
|
||||
'--dev-bind', '/dev/null', '/dev/null',
|
||||
'--dev-bind', '/dev/zero', '/dev/zero',
|
||||
'--dev-bind', '/dev/random', '/dev/random',
|
||||
'--dev-bind', '/dev/urandom', '/dev/urandom',
|
||||
init)
|
||||
arch = stage0_arch_map.get(args.arch, args.arch)
|
||||
init = os.path.join(os.sep, 'bootstrap-seeds', 'POSIX', arch, 'kaem-optional-seed')
|
||||
run('bwrap', '--unshare-user',
|
||||
'--uid', '0',
|
||||
'--gid', '0',
|
||||
'--unshare-net',
|
||||
'--clearenv',
|
||||
'--setenv', 'PATH', '/usr/bin',
|
||||
'--bind', system_a.tmp_dir, '/',
|
||||
'--dir', '/dev',
|
||||
'--dev-bind', '/dev/null', '/dev/null',
|
||||
'--dev-bind', '/dev/zero', '/dev/zero',
|
||||
'--dev-bind', '/dev/random', '/dev/random',
|
||||
'--dev-bind', '/dev/urandom', '/dev/urandom',
|
||||
'--dev-bind', '/dev/ptmx', '/dev/ptmx',
|
||||
'--dev-bind', '/dev/tty', '/dev/tty',
|
||||
init)
|
||||
|
||||
run('bwrap', '--unshare-user',
|
||||
'--uid', '0',
|
||||
'--gid', '0',
|
||||
'--unshare-net' if args.external_sources else None,
|
||||
'--clearenv',
|
||||
'--setenv', 'PATH', '/usr/bin',
|
||||
'--bind', system_a.tmp_dir + "/sysc_image", '/',
|
||||
'--dir', '/dev',
|
||||
'--dev-bind', '/dev/null', '/dev/null',
|
||||
'--dev-bind', '/dev/zero', '/dev/zero',
|
||||
'--dev-bind', '/dev/random', '/dev/random',
|
||||
'--dev-bind', '/dev/urandom', '/dev/urandom',
|
||||
'--tmpfs', '/dev/shm',
|
||||
'--proc', '/proc',
|
||||
'--bind', '/sys', '/sys',
|
||||
'--tmpfs', '/tmp',
|
||||
'/init')
|
||||
if not args.internal_ci or args.internal_ci == "pass2" or args.internal_ci == "pass3":
|
||||
shutil.copy2(os.path.join('sysa', 'bootstrap.cfg'),
|
||||
os.path.join('tmp', 'sysa', 'sysc_image', 'usr', 'src', 'bootstrap.cfg'))
|
||||
run('bwrap', '--unshare-user',
|
||||
'--uid', '0',
|
||||
'--gid', '0',
|
||||
'--unshare-net' if args.external_sources else None,
|
||||
'--clearenv',
|
||||
'--setenv', 'PATH', '/usr/bin',
|
||||
'--bind', system_a.tmp_dir + "/sysc_image", '/',
|
||||
'--dir', '/dev',
|
||||
'--dev-bind', '/dev/null', '/dev/null',
|
||||
'--dev-bind', '/dev/zero', '/dev/zero',
|
||||
'--dev-bind', '/dev/random', '/dev/random',
|
||||
'--dev-bind', '/dev/urandom', '/dev/urandom',
|
||||
'--dev-bind', '/dev/ptmx', '/dev/ptmx',
|
||||
'--dev-bind', '/dev/tty', '/dev/tty',
|
||||
'--tmpfs', '/dev/shm',
|
||||
'--proc', '/proc',
|
||||
'--bind', '/sys', '/sys',
|
||||
'--tmpfs', '/tmp',
|
||||
'/init')
|
||||
|
||||
elif args.bare_metal:
|
||||
if args.kernel:
|
||||
|
|
21
sysa.py
21
sysa.py
|
@ -13,7 +13,6 @@ import shutil
|
|||
import tarfile
|
||||
|
||||
from lib.sysgeneral import SysGeneral, stage0_arch_map
|
||||
from lib.utils import run
|
||||
|
||||
# pylint: disable=consider-using-with
|
||||
# pylint: disable=too-many-instance-attributes
|
||||
|
@ -113,6 +112,8 @@ class SysA(SysGeneral):
|
|||
for root, _, filepaths in os.walk(dirpath):
|
||||
if 'stage0-posix' in root:
|
||||
continue
|
||||
if root == os.path.join('sysc', 'distfiles'):
|
||||
continue
|
||||
with open(file_list_path, 'a', encoding="utf-8") as file_list:
|
||||
for filepath in filepaths:
|
||||
file_list.write(f"/{os.path.join(root, filepath)}\n")
|
||||
|
@ -193,12 +194,20 @@ class SysA(SysGeneral):
|
|||
|
||||
def create_builder_hex0_disk_image(self, image_file_name):
|
||||
"""Create builder-hex0 disk image"""
|
||||
run(os.path.join('sysa', 'stage0-posix', 'src',
|
||||
'bootstrap-seeds', 'POSIX', 'x86', 'hex0-seed'),
|
||||
os.path.join('kernel-bootstrap', 'builder-hex0-x86.hex0'),
|
||||
image_file_name)
|
||||
shutil.copyfile(os.path.join('sysa', 'stage0-posix', 'src', 'bootstrap-seeds',
|
||||
'NATIVE', 'x86', 'builder-hex0-x86-stage1.img'),
|
||||
image_file_name)
|
||||
|
||||
with open(image_file_name, 'ab') as image_file:
|
||||
# Append stage2 hex0 source
|
||||
with open(os.path.join('kernel-bootstrap', 'builder-hex0-x86-stage2.hex0'),
|
||||
encoding="utf-8") as infile:
|
||||
image_file.write(infile.read().encode())
|
||||
# Pad to next sector
|
||||
current_size = os.stat(image_file_name).st_size
|
||||
while current_size % 512 != 0:
|
||||
image_file.write(b'\0')
|
||||
current_size += 1
|
||||
self.append_srcfs(image_file)
|
||||
|
||||
current_size = os.stat(image_file_name).st_size
|
||||
|
@ -213,6 +222,6 @@ class SysA(SysGeneral):
|
|||
|
||||
# fill file with zeros up to desired size, one megabyte at a time
|
||||
with open(image_file_name, 'ab') as image_file:
|
||||
while current_size < 1008 * megabyte:
|
||||
while current_size < 16384 * megabyte:
|
||||
image_file.write(b'\0' * megabyte)
|
||||
current_size += megabyte
|
||||
|
|
|
@ -9,7 +9,7 @@ d5fcce4baea5e11f983a7e4b7148545ab6720bb4e010898c73387f6711be67f4 autoconf-2.64_
|
|||
298dcf17a439adb306237b308e3c4ed3d376cb863ae0f0f08bfdf1f3199a548b autoconf-2.69_0.tar.bz2
|
||||
8c2401edf1c68910005bbcb8b8e84727a46f7d9643d2ad1267bd0259078dadc4 autoconf-2.71_0.tar.bz2
|
||||
6ff691e3ddd4f3d1796d28b07a2a96691dbd9801844c99ccbe660da59dabd74b autoconf-archive-2021.02.19_0.tar.bz2
|
||||
ebd9b5168122561aca6f9c686f97cf1b61b035eccb716f36710efe72aad694f0 autogen-5.18.16_0.tar.bz2
|
||||
6a5cc1eb9ebc7e0ace8365e4c4aad5607ad1878ec9a90b384b55f8399cdbcb14 autogen-5.18.16_0.tar.bz2
|
||||
02a426e82a52d4a2cd7e73fe3dc5a2c58b3ed100f24a92c57e42511fd86e247c automake-1.10.3_0.tar.bz2
|
||||
34925adeaa2876a5e068adeb17b71fe7c7105244c3cb5439d33f7406310674da automake-1.11.2_0.tar.bz2
|
||||
a7bd12bd0c639783ce1c0e9f640cf004a87460bbda8154bc550c5e6884457b48 automake-1.15.1_0.tar.bz2
|
||||
|
@ -20,98 +20,99 @@ e8ff13753943e43972a8cf1672819f001718ed38e5497cf7b554c21a507ba22b automake-1.7.8
|
|||
ef08694bf8e78ffcf56f9c8a63b0f189e301c06f02ab240e15e4c7fe354c2a0d automake-1.7_0.tar.bz2
|
||||
9922651b64ad2e29b944082f26db223008220155048f25d64df1f6d82071ff1c automake-1.8.5_0.tar.bz2
|
||||
c5807850a377e4bb9aa4121d9781d145bdd80327626a9419630a75ce2c8d9c71 automake-1.9.6_0.tar.bz2
|
||||
46282b2a7c2e3d50bac2d3f90fee56629c4a533a962ad61eabac6395a3b676db bash-5.2.15_0.tar.bz2
|
||||
05bcb569640576e53e40c2bfbeea988fd4fc4e0b5b1311668eabd5cdaacd6657 bc-1.07.1_0.tar.bz2
|
||||
5078d40dbdf5910cf9e89853765342366c19d9f2638e103b8158facd5655b6f6 bash-5.2.15_0.tar.bz2
|
||||
f6e0a6d1a10c399101d2178063918750d271dab4da3db56955acf77ce11b6ba4 bc-1.07.1_0.tar.bz2
|
||||
7b8ea17311f22e987a39b814658c72b46201650c4dfbc707e8fd9eb42bf1ed28 binutils-2.30_0.tar.bz2
|
||||
543fb17af4d08fe3ba6bfbd824aa607f7eda5fd09bc11c2384bd91667c052053 binutils-2.38_0.tar.bz2
|
||||
868e1e600754638674c626e2b5fa017be18c03cbabc94f0c9d7b3e070779b9e8 binutils-2.38_1.tar.bz2
|
||||
2e2102a9a41f3ad35683e67f6f9cc09e4edad25b7acb1ae0ca3ad94e19fbbdaf bison-2.3_0.tar.bz2
|
||||
abc76e210e1cae4a02b56686ed555ef6e5167deccdb96c021718e93fdb420ec4 binutils-2.38_0.tar.bz2
|
||||
d7aac3185d1b19193f535e2c5377e2e41be872d55a6ae9a3c3d14b488df88277 binutils-2.38_1.tar.bz2
|
||||
f0bb18831983493b82fde53917e8d16c6a380761ac5e71e14769a82193fee788 bison-2.3_0.tar.bz2
|
||||
df9539b52384757d927bca5a27b1b58325b6024b23b0470e557f135eb69bae30 bison-3.4.1_0.tar.bz2
|
||||
fed9e13409f6378f97e8cef61e6faac992f3b767dfdac22f32453ff57cf29e7b bison-3.4.1_1.tar.bz2
|
||||
44d143d9dcb4098138a8b8eee0e29de1c7e282b9582df153f75ae301336c0927 bison-3.4.1_2.tar.bz2
|
||||
e38ed21c4b4fa514e9a64d2b84bad72f3d242568183b6b84a6a2d0e8c49d0af2 bison-3.4.2_0.tar.bz2
|
||||
6d5e4debdec03aee096dbcefcad878fb5c6a069f895ee7ade878d9eeb97fb83e bison-3.4.2_0.tar.bz2
|
||||
80e541fc4d3dfce4451318f26c31ccfe580848139672bd437131cdfd5e3664b2 bzip2-1.0.8_0.tar.bz2
|
||||
c511d571d24675a141258e0e198c5ed1bcfd4889ddd736ff8e25c0d97b44e2cf ca-certificates-3.88.1_0.tar.bz2
|
||||
acd3ba50a33ea0172c3ca59e341a48e4233be48ded26fa031fd2e9417a2dfb31 coreutils-5.0_0.tar.bz2
|
||||
09092e187588c5d33c023ac41671b367aef9f7ee967d2c7c03430b33cc03f251 coreutils-6.10_0.tar.bz2
|
||||
e41aba2caa7514704731d3b7a49f63ff8ffb2d22a64f14afdbaadbd0b24073f0 coreutils-8.32_0.tar.bz2
|
||||
8df7fe3124243028cc9fd9a00fe8ab55c2143a9b7551426447867d2e1de436b6 curl-7.88.1_0.tar.bz2
|
||||
d7d0a5fc9117f9b3ebd287851a48716c96a3c11991365edb8890f0e203d3b810 curl-7.88.1_1.tar.bz2
|
||||
ed1581d1ef5d42c809a7db1c27614e0a900076e7ce08349ea4797944d41c7bc7 dhcpcd-10.0.1_0.tar.bz2
|
||||
b19f9c44fa7711b93f62a6e7d7696219a819b7331c16662264acc43f7bd61251 coreutils-8.32_0.tar.bz2
|
||||
d65348e9abcb961b6d060acb875b6ca3d75c14b1519426075d4644c6196b0ef2 curl-7.88.1_0.tar.bz2
|
||||
93d5319fc83ea992f1db0fd163b4106b8bbb164475af40ce496244fed2a17422 curl-7.88.1_1.tar.bz2
|
||||
0a11416b8d49f4fdf81e05ba81cc43fa3f33504f2c493935a3a7e9dbcb10a035 dhcpcd-10.0.1_0.tar.bz2
|
||||
c4008ae6b168aee4120b0f3624a1875f9e413d8f0c637708b8b04a1fb5be173c diffutils-2.7_0.tar.bz2
|
||||
bda6afcd3a390a34a57443269a4857ccc470129f7a557981778c145fd841cbd1 dist-3.5-236_0.tar.bz2
|
||||
c0514138e251062c9ac2ff1e432e01a541777bfd61480c77479ea55f5b75cdd1 e2fsprogs-1.45.7_0.tar.bz2
|
||||
d7b7453ad400eac1ba39f99971afdc392cb8a92c557ef5d6fd9fa2625124de4a ed-1.4_0.tar.bz2
|
||||
258282c136145d8fba4d66f7e150800e7ca33e024483083a15d0dba3aeb5e86b file-5.44_0.tar.bz2
|
||||
1219dc5ffb33251b3b8e5ee2d605f5a648acccbc593ad766004441e9904e350f e2fsprogs-1.45.7_0.tar.bz2
|
||||
dd2bc9708213816b752ea40cd7ff4d5b89336be47b3c76b2aff683708f9dcbbc ed-1.4_0.tar.bz2
|
||||
9a680b6aaabd7c301438579389c500cce72472af3d78d8ba8f88c99feb9cc721 file-5.44_0.tar.bz2
|
||||
5984d3f2d5513dd04dc97619e2809d634fc7e3692f36f770e0202a61b6b2921d findutils-4.2.33_0.tar.bz2
|
||||
3c85ce52e37c313d699a21cc741d24e808048461b105f58445a645a54ea55436 flex-2.5.11_0.tar.bz2
|
||||
88d5e3cc92eaeb21f62635d2ca8bfa116d1ccc4067a782b0c3a45488125b358a flex-2.5.33_0.tar.bz2
|
||||
41902ec0383ea977a8d008dee37150e022e0714cd99f54c37f29c153464b758a flex-2.5.11_0.tar.bz2
|
||||
b3a8d59229289ca5a1de6a24c9c828d2847144f6662e0d5b7f41e7ff6e57abaa flex-2.5.33_0.tar.bz2
|
||||
408131b1c033a5f8a6845997b049784be0b466cec107a71270e5a04dae2c1e6c flex-2.6.4_0.tar.bz2
|
||||
5ff7fbe16b55563719b108260bd6a34ebabab0465d758ca98cba522932532e45 gawk-3.0.4_0.tar.bz2
|
||||
6de1c1380026ef9948387e665610185b6014f47a80453177a6c81898c95cbbd3 gc-8.0.4_0.tar.bz2
|
||||
cb1aca35878f7c53e7dc96294ceca2ce3c72cf89359fe2bec46336d5f0849387 gcc-10.4.0_0.tar.bz2
|
||||
0c58c12e71c8571f9c958dbebf53677cb4612eaa5cfd2aaa9ed7a1b76a081dae gcc-12.2.0_0.tar.bz2
|
||||
374b54f568d7c67eb91f68a95b09322c9f6dc9c55cc6d49803ca3f5a8a3f6dbc gcc-10.4.0_0.tar.bz2
|
||||
e2af44250ca4a29d505ddd7182db7f9c702d7dedcc0604d6f8ddac3872a0c057 gcc-13.1.0_0.tar.bz2
|
||||
b09580c3972ff4e5f6e624bdc83d5328ce017422e0b92a7c170b51b6f04a47d2 gcc-4.0.4_0.tar.bz2
|
||||
58d0d431bb2e96a273965b5e7aa760fb6961a7f7f2fd98ef5fc5a6b7b44bc989 gcc-4.0.4_1.tar.bz2
|
||||
a2301d8dbbfbfcdd18444f01848e8e4366780281009640acbd3af0fab9b11aea gcc-4.7.4_0.tar.bz2
|
||||
36610ec18a01c43b5fa9dc032c7c66fc5a812fbc85f48e86b96b67ffd11b7cb5 gettext-0.21_0.tar.bz2
|
||||
5a98486bccf976d9077f52ce56ab6a1db94d2888d17fdb87ba81ad2140f206f6 gmp-6.2.1_0.tar.bz2
|
||||
db3f8088a8aa74a7ff300b45c2070397ed7538fe5cc45480ea968014ccf7bc20 gperf-3.1_0.tar.bz2
|
||||
c16e9eaab6ac62df3a2a880f35c8da413be150fa00b66f992e37a1b411f32bcf gcc-4.0.4_1.tar.bz2
|
||||
ed1eadc2b40eb3716801eaeaff0dbbc28c79101cf7880753d150bc8f2a4439c6 gcc-4.7.4_0.tar.bz2
|
||||
dc67fc1b132fa3945349efe74c5b2197bd0b6babf4d29d2deddd04f09d9af680 gettext-0.21_0.tar.bz2
|
||||
309282ba840f80b5e10897b1221f3ff3329b9e05b982c788d03652f411974524 gmp-6.2.1_0.tar.bz2
|
||||
f5917ffad5dd282d5ea17e791b470455c328ea0ebc845ed5ec80937a8d0eb933 gperf-3.1_0.tar.bz2
|
||||
67d706423e079a9cd764fd9607027d296c0ff2380c1104006a2230a299eb2c1d grep-2.4_0.tar.bz2
|
||||
d85cff8f9ff76533287891ec2019416fa585815e514743e5b76efd9f17f5ef5c grep-3.7_0.tar.bz2
|
||||
b38422d646590600444f0ff12fee6fd738baaf471338aa67899db950d3521127 guile-3.0.9_0.tar.bz2
|
||||
0939a34d58ff31e2c234f6f47f964633ceae4839de49ce368ad027c016850d58 grep-3.7_0.tar.bz2
|
||||
d4c6b39136bbdb4a213a4229c5c460a6abefcda76285e4019d63e61382fbb8e8 guile-3.0.9_0.tar.bz2
|
||||
8d2015b87337abbf287f7a39ee4cf53514120b5d3e90a93fe7d533dcc43f14fa help2man-1.36.4_0.tar.bz2
|
||||
3f06d1a7f1b1770d4550ff6316c7f06fd26e30bddad7c1b665f1fae80e409c8c kbd-1.15_0.tar.bz2
|
||||
2a661da13801028f5af98e5d9f6de417c21c90df1bcef4809caf0c2094fdd8f4 kexec-tools-2.0.22_0.tar.bz2
|
||||
e89e4fc8ba4f917f4f609ba781fc13e43d31479d47a9da2ba3bc7ce5fcbbe6b3 libarchive-3.5.2_0.tar.bz2
|
||||
72a0f7b561b6ef5dd29f9ddb1f4fd61a60230e41c6f18967afa8af40bfdf5473 kbd-1.15_0.tar.bz2
|
||||
fd35fc5e14e7cb3c018964c43bf24dec2b3575d8fea38da3a2ea93349806a33c kexec-linux-1.0.0_0.tar.bz2
|
||||
ca33ded1a8769dca42d6a1f9c05395e8da856fd9eecbb747cccb57d20b84459c kexec-tools-2.0.22_0.tar.bz2
|
||||
a3f47ec4d26387952b22791d4d7d6837b90d81515d0a5ffe2804cf492fb090e1 libarchive-3.5.2_0.tar.bz2
|
||||
36550df491767bb24d2ccab304ce70a3b4956e7c0c0e0c343d922fd57cdafbdd libatomic_ops-7.6.10_0.tar.bz2
|
||||
b39826742e236890f3562cdf19492e7ef4224b271f3e75ddeab1f07982b03ebe libffi-3.3_0.tar.bz2
|
||||
daae709e98d2df2190d1d13b4e86f7f3fe90fa7a975282fe0bb03289b6539f29 libtool-2.2.4_0.tar.bz2
|
||||
f255cfb75f1764460e60febccfa70fa20bc2ebb7f8ad2629be21fc188fb6dbcd libtool-2.4.7_0.tar.bz2
|
||||
c1577cee0b82534699dc4385ecea9f521516303f773216d00bc30e4bf0053758 libtool-2.4.7_0.tar.bz2
|
||||
503007bbcddcf4e49d26514c59b4c9501f8b42f0c994a59dfdc388b1ae6b7900 libunistring-0.9.10_0.tar.bz2
|
||||
1d07aaf7049be45853fd409340cdb52bb3a1b6dfa4dbc8b69358c1ee966cd67f linux-4.9.10_0.tar.bz2
|
||||
2fd5bec0c086cb89596f14894cbf078b3d1e990d297ba02b6cc4135e7d64996b linux-headers-5.10.41_0.tar.bz2
|
||||
3864f2c66516fc4f5086f626f4da2b2a7635e21babca86ba478f866920868e2b m4-1.4.7_0.tar.bz2
|
||||
680672991ee527836237c98cb218c050cce73af4aa0a2f35eed72cb9e3b4931b make-3.82_0.tar.bz2
|
||||
7f08b1f57f55f4a2898454c27538e54902b82f3e8ce7cdbeba824211004f067a make-4.2.1_0.tar.bz2
|
||||
cc203f338771ed1a99df17310bbe3e4885638d42141af8d0b3e8ed987e0fccca make-3.82_0.tar.bz2
|
||||
6d24960d6a987f68a7e0e3abf6edb52d2e0fe4c86f6ba45327e9634dbf7d40b4 make-4.2.1_0.tar.bz2
|
||||
17cd976bc0f6e897c6fffe43dd7c55d93ce0adadf1b4dc72925b80e2d266519f mpc-1.2.1_0.tar.bz2
|
||||
6ddf27c49c59e241ad3dadbb5d7ef94b8c24e6de7b9f8717d5643352e46233e2 mpfr-4.1.0_0.tar.bz2
|
||||
98a9f55c01ed375fae21913284e7fa07ff434c0810f34d791f3fbaa1df221302 mpfr-4.1.0_0.tar.bz2
|
||||
a724c91a43e282c3d338a977e4eeac3b970df241db7872f9d5cf27984b609814 musl-1.1.24_0.tar.bz2
|
||||
2a03a3707593997a0e03ce3aa6b2ee647cf2e5bfe1deb028357a2dfab56e33e2 musl-1.1.24_1.tar.bz2
|
||||
b79e0f8a39ba8880d43aa27551b72915655c62af39125e1f4ac8f8e69e71aaca musl-1.1.24_2.tar.bz2
|
||||
a675ead0f146a96973fca9cc9e4f16081b14c26630ae17405e3ba5e9510ff30d musl-1.2.3_0.tar.bz2
|
||||
054c6a5f1c07d124b701e590267aa8fb2ba1c88bed9a69a473724f8534cdb728 musl-1.2.3_1.tar.bz2
|
||||
5ba73e250b0325f690b2c5c3afd4a14cf4612c682e9b358727ebcb7bc6b758ef musl-1.2.3_2.tar.bz2
|
||||
e0c91898e771c65e6a462600243a7858b069db5726680193f86d7dbac3f740ae openssl-1.1.1l_0.tar.bz2
|
||||
69daf6ffbf26fea500426c6936e5a16e82833f03ad0dc6109697f69a8516b4c7 patch-2.7.6_0.tar.bz2
|
||||
81f79a0faf58e105c5f12d9f538d3ea7578a3b361e633ab8f47324ec23ec9de6 musl-1.2.4_0.tar.bz2
|
||||
6dc5e763b747b66f72692c6820d7f46b7f4cf2e2fe05229a1d01c03919c1c936 musl-1.2.4_1.tar.bz2
|
||||
538a65e8a55d476099f403ef4b3d13265022efb34d365124663f320262e04f3a musl-1.2.4_2.tar.bz2
|
||||
97351f0df3d08ffdbe728a4b7fb36f91b1d83396be13ef6005ce62b9b62a9e07 openssl-1.1.1l_0.tar.bz2
|
||||
61eedd6037ed342d069c48cf81792f9bd131ae2e9b937cd5c5e799f62d88c15c patch-2.7.6_0.tar.bz2
|
||||
914a7abf36a64723b6e9f9b0b6ccd19c8e544fa798896a2bb1151dc341890c22 perl-5.000_0.tar.bz2
|
||||
887d835562d471653bcda60e652fceb4b3ef58a83321a4eb5af0431dc182781b perl-5.003_0.tar.bz2
|
||||
a2e1f93eeaa3985c660cc73645930489bad6d68011e4ae6892c6b09c8f02395b perl-5.10.1_0.tar.bz2
|
||||
8f2730b029a4e62792460ea0448b8f1806d15e5175f3004b31b153d16cb7f4d1 perl-5.32.1_0.tar.bz2
|
||||
74d64a8af080022432fa94dba449090419d25b103d247710dc0b6102a4ad86a6 perl-5.10.1_0.tar.bz2
|
||||
71ad3cadba5801cb19d4520825d4b3606713807b1eaa5eb3c49b3149bc2675ad perl-5.32.1_0.tar.bz2
|
||||
9fa8850897248d77d554caa2b3d52e7890308cbf28750ffc24c09f498aee563c perl-5.6.2_0.tar.bz2
|
||||
b86fc586d72a6d204d0b9017afe17aa2439529e13f43befc56648b78de17c8f8 perl5.004-05_0.tar.bz2
|
||||
451ae6bb6e996a1c857fe92ec379654413fadec180c6477cf5fd4b5d7a079e26 perl5.005-03_0.tar.bz2
|
||||
d0c03003eaf21045e13afd2551df952a568e97cea91dec7edb0b829016d434b4 pkg-config-0.29.2_0.tar.bz2
|
||||
bbe7955df4eec1e4c21ae397545943abc0ef55d1b136d6f30f1550f82cf0cb22 python-2.0.1_0.tar.bz2
|
||||
281cc79f24007f4667ae5914f89c671be3b2d008fb5296d66b65314d30a7e768 python-2.0.1_1.tar.bz2
|
||||
66f1571ecc2f00cee322e419f0d53127b2465330bbd8fe01d2fe0af91b9084fc python-2.3.7_0.tar.bz2
|
||||
7c65497273651adda57d156f7380f07bbeb73dfa96fd6432ed0e3b82a44b7d65 python-2.3.7_1.tar.bz2
|
||||
203119d5d6bc56f9253abbf6583c9a8bccd00e7b34d2a126b7f4c61294abb0d5 python-2.5.6_0.tar.bz2
|
||||
b8e03286ff4aae2a47e61dd7a11d4b272717a181cbcfa8da3fee91e67c007f94 python-3.1.5_0.tar.bz2
|
||||
4857037c9db993f8feef1de8e4918692a066771713aa25b66e69392b987a0122 python-3.1.5_1.tar.bz2
|
||||
284ef5e0c44e5e3f2a2e6c3a9dd55ad26a200d6701279383cdbaca0fb2dc831b python-3.11.1_0.tar.bz2
|
||||
8bcf91d546333a2af3bfef23aeb0f3e98979715100b48a7c373cd2f22ebb6fb9 python-3.3.7_0.tar.bz2
|
||||
4568978b5bc0cb501ff6ef5c632c0018ca0c1ed6361b8d18c2fd8bf3d03fc62e python-3.4.10_0.tar.bz2
|
||||
f19dceb161ed1d1d7cdad8ef54d2688a022ab6e26fe73e66d52b2dc362acb3c5 python-3.8.16_0.tar.bz2
|
||||
1b9d4260edf7b2241d10e4c4ad17d0f90047bd4bf42f2487a7133902529e9dfe pkg-config-0.29.2_0.tar.bz2
|
||||
5c4d4ff26c44b92caf08350f0e24f97b343961c4fd73f511f6bcef6a5e645b3f python-2.0.1_0.tar.bz2
|
||||
f0c7bb60faae8eaf6960dfaad43acc7e30d5487ae114e44ec3c184c946adbc6f python-2.0.1_1.tar.bz2
|
||||
5163e798e204b0e4ea1ab5d513ad618e11fb6dd01414991f7c7408dc74d54400 python-2.3.7_0.tar.bz2
|
||||
ce21de104f50a65012f42df46b53beaf1dc2d8c5bf8f09ad20f80f64a2eb4d68 python-2.3.7_1.tar.bz2
|
||||
2788ab6ae1c411898de035aadfdbed9b77812c73d9c68a79813390d6f1e3f87f python-2.5.6_0.tar.bz2
|
||||
eba41b855f378e004648b1b3453485d2d4401cd72cf7b993c1be06b7cebf71a2 python-3.1.5_0.tar.bz2
|
||||
e10a0eceb1fcb9ca80dfcaf53bfa0d311adbaccdaf6846a6c5abfbea1e7db879 python-3.1.5_1.tar.bz2
|
||||
bc87d4b8b0d2f26ed7d632c73ef9cd937bc9b6cb3bdcb57fdea78d29e38722bc python-3.11.1_0.tar.bz2
|
||||
be89de80f75679c07e59f72b8d3ee4f14edcaa306dccd9d8a2c8adbb83245a43 python-3.3.7_0.tar.bz2
|
||||
e4a6dd6ff78b4f46e17e2b867e1562e1fa3a6c75db890c136818382d31619b78 python-3.4.10_0.tar.bz2
|
||||
1e0c73270bec02c323981d75ce4c731677672719ea34abf06ba145b56aae178e python-3.8.16_0.tar.bz2
|
||||
6081832f1fc258df7dd927986821991b49fa78a71b76f4b37b5c34a8ebc9bc86 sed-4.0.9_0.tar.bz2
|
||||
b3dfb430d6657233cd129c9838c2ab0de3cb02762b15a448b1a82d42fb69ffc5 sed-4.8_0.tar.bz2
|
||||
edcb2a8665c58c08ca90f4e612c6931fd7a6dc95b3d6f38d1d08c1971d29773c tar-1.34_0.tar.bz2
|
||||
a07edeebe88d27afe01ae4b9c2fec7d26f54d87928976927f73d9dba5f50782b tcc-0.9.27_0.tar.bz2
|
||||
e58d8ec46c5b31175de9598bf0da214b88ccbd4cca7a787f3d048c44edaf3ceb sed-4.8_0.tar.bz2
|
||||
912d8f344104f1322255d6210c7c7e1371413ab530b2c6796e6aa565c74bf647 tar-1.34_0.tar.bz2
|
||||
a297b20252833d5c7b95ca343c85e84f9e5262e71beab9176ccf542833b75b4e tcc-0.9.27_0.tar.bz2
|
||||
41a4b0fbf461dd26ecd31d77b300c979a4decae185c9e2d50c0470bc49d0b893 tcc-0.9.27_1.tar.bz2
|
||||
cbfc578c709f677ec3e9792a8620e4e2a88d13d93969fd54aac93e4a29c2604d tcc-0.9.27_2.tar.bz2
|
||||
2b503cd31d3326ac1ed0eb9f506ac93c93770da51164e152a812cd248961069c tcc-0.9.27_3.tar.bz2
|
||||
ff1ccbe06d00d4c16f76640372e5370b6cf87fc5b9ea4f180c988188a3becc0b texinfo-6.7_0.tar.bz2
|
||||
8e5d7ab54f224da30414fc8b53b47003f16a0cfe24850494ff02f25b4dea29ab util-linux-2.19.1_0.tar.bz2
|
||||
c992ffabed4278588590352c824df2018e6a4492ca83865eba560692765fde11 which-2.21_0.tar.bz2
|
||||
5ebfb0894b25606432d120eefabe5335abcbf123bbad23fb11871b74acd6a7e5 xz-5.4.1_0.tar.bz2
|
||||
195c26bb0642eb146c6f113fe3dbbe516a35a514aee7d2fe4bcd15addf1b0f43 zlib-1.2.13_0.tar.bz2
|
||||
50ebaa1d8fcc4a03a43d431eb71e2f435cc8712ae47d400564df3716037d553a texinfo-6.7_0.tar.bz2
|
||||
a8e53f863b2ab7aa027ed5522702b451afd524b2c09d2f3d0daba1f460b26c91 util-linux-2.19.1_0.tar.bz2
|
||||
5a1fdd2b42080f3b4808ceb1bf80a95873e614a25524545e6803b7d9f1fd5605 which-2.21_0.tar.bz2
|
||||
17aa8a94450f3bb9fe6f2c6f59dde8aa6194f951bf3ab58249cb75ad472e864d xz-5.4.1_0.tar.bz2
|
||||
ca8ec9876a7334f5f87e1159e0efe343b8b497ffb0dea8b548223035ecd67f9e zlib-1.2.13_0.tar.bz2
|
||||
|
|
|
@ -1 +1 @@
|
|||
a11ab8528cd79c67a0514ce2581ee81f50398cea1b4c616a22c488c0cc2d619e /usr/bin/bash
|
||||
79d7f5e9f4f735575a6a163023150017587a97c5f911d81fc91380cea8bb4362 /usr/bin/bash
|
||||
|
|
|
@ -1 +1 @@
|
|||
532b2455e0b0c6fd3ef067776a61ebd0620437d1f55145ce56ce1ddad23844c5 /usr/bin/bzip2
|
||||
ce63f5ac31e9a0b9740df12d8c1ce1dd635aac270687e5ede2e32990f301ebe2 /usr/bin/bzip2
|
||||
|
|
|
@ -0,0 +1 @@
|
|||
4d1a7b8a0e42f278df20893610dd37dec62b609c2c342d9252917907e4d73c03 /usr/bin/checksum-transcriber
|
|
@ -0,0 +1 @@
|
|||
b6145df4b2a92d5ee75902f4367e7a1a5456a5cef7a2e1365610637b054c477a /usr/bin/checksum-transcriber
|
|
@ -1,54 +1,61 @@
|
|||
dafe043ca795c8bea27a6bc5cbdfbc4f59671809f6f9774b9e94831ea6405a80 /usr/bin/install
|
||||
78cf8e0ee96e7428496d0fdccc60e8465f7aaf3728a463123fefb8f46bc5d073 /usr/bin/basename
|
||||
70146b4ce3092cd7ccaf933d2eb6e93c1b12358240838f66a1a7743a8100e870 /usr/bin/cat
|
||||
c0b5b1eb102784c8202ec82990fffc4c57ba0da5724ac44544994a1d5a50615f /usr/bin/chmod
|
||||
113910e58f8bb9506f5fd3c5394e7792b47bf9c7e7479941882c1368481b2e40 /usr/bin/cksum
|
||||
2f666cac19e38d7653975e68485ade9f6a4bb9414fa9364716414b294f3720d1 /usr/bin/cp
|
||||
27f6fe3aa713d62cd9367ccafb2c52029f1f87e2d07cbadf7b71023240149fda /usr/bin/csplit
|
||||
11068650333e2c0af8e9c8abb79c3d5c8fbe261b5a72b454ca632ad3ec5b965b /usr/bin/cut
|
||||
ecbbb0202e9b8274c93e41d831eddc809f7714c6e8004136e2fc7f1a0a30e799 /usr/bin/echo
|
||||
a2962caac7a407f50a94c1d6496de9ca65c8ff66a3aa3e814a69f6aa3253dea2 /usr/bin/expand
|
||||
1a851ce640196e1562d392f2a71cf294937513a43fd9b52e146c803722bd6c9e /usr/bin/false
|
||||
fda23f5d23a65799794b49b3befa8d515e1e0f221c4b67e9dead07ca4b492c4c /usr/bin/fmt
|
||||
2241e52196cc6f204528c32d844361cb917031cdfe5efda90ee6f2f3b2fb6a1a /usr/bin/fold
|
||||
813bc16b973c2d13b96980d22d8ad49974aac356226781868af68973ba8229a2 /usr/bin/head
|
||||
fd55b2ed55a27de3c57dccf64c1457613a109c231dc0f8a40b650fb2f6114ab2 /usr/bin/id
|
||||
9cb2877544e4dfc2521d54c3b18811dad170a6b31aeaa7556b73edcf57cb6668 /usr/bin/join
|
||||
a532dfb88e4226ba1600ab8eb3c7a2801b6b7bc2d50200ba70470723322babfe /usr/bin/kill
|
||||
495a20a8342ab6d61806342ef61d8ad135a7c8f2bfa8a2edbd6cb5e839d577a7 /usr/bin/link
|
||||
38b90400c1be7792872bbb0781627b2dba35a70abf41899e9ee19d59ef351fe9 /usr/bin/ln
|
||||
323097645c46aab33711f562ff7ed1fda4609970d7e55e6ab2fd31dd1ed0bfb0 /usr/bin/logname
|
||||
354547f7467df48dd0bbaf9c7f36c8168dc8a38ccfe97409847dbb50c05cba90 /usr/bin/mkfifo
|
||||
2326009b57ace4bc7da598d322fcf7c2cdcd702723c6cdb81a50a1ceb0631933 /usr/bin/mkdir
|
||||
f964752c462185f7ea54246b4e53bca7ee84cfc4b590bef04baa8700312e2224 /usr/bin/mknod
|
||||
a9311865c1e95766e3be810617fce3892d5ea693fd3cdb26d680f75c579670f2 /usr/bin/nl
|
||||
c68b80b2dff6423f5c92ec1cf02f30c61c9560f2a3499acf617aeee7c407d7b5 /usr/bin/od
|
||||
775ec8b0a5c37a7360535c1c040b5c98e6177e69f978f520ee928efab39ed519 /usr/bin/paste
|
||||
b45c0d13af7f9b1cad618fdcd48ec7db80d9e59acf37ced076c4a65412b3a5a7 /usr/bin/pathchk
|
||||
6375dd4cb3d1326c895844fa7128d3d7c88df9da7b85830e23bc61d99e0bc186 /usr/bin/printf
|
||||
9665a522e43fb6d2a7d66c217873cc9eb02936a51ff97b426214316b76a92792 /usr/bin/ptx
|
||||
7af4c3a707f382730836223ce8651850e78e9aac4079cf2e0e7996cac8449011 /usr/bin/pwd
|
||||
6c2fc79aef8bcb5ce79961481b6d30fb5bf3648d71e60ab1df9a75621f0471d0 /usr/bin/readlink
|
||||
3249f3b8a09e6862ce1a0c09b4e805fa03f6cfef70ee81c70704f0b481b20f45 /usr/bin/rmdir
|
||||
014f6c56864a02903fcddc8f681459ab455524f12ace562fb4ff50b67cd07dab /usr/bin/seq
|
||||
de46fe9655bad40463d8af57ec6fe0dd4d56fb4056a7fcef9e57eebf9c497959 /usr/bin/sleep
|
||||
7d62c06a21c4eb9989f01bacf406bffe1b7e9d69596eac4fa6373e9ce7f7cb3b /usr/bin/split
|
||||
00a0f9b9dc137193e6ddb0b7dba679ee98865dfc69589bcb619de0044fdb5550 /usr/bin/sum
|
||||
38b82cf9f2a4818061cabc32e78df8cc552c1384cecf669b8a221f44fb1cf06b /usr/bin/tail
|
||||
e2683f200a8c14eef6d92d6ee3b4fdbc48b4f1cf5ea58ccab57259f6b8a315d5 /usr/bin/tee
|
||||
ff9492d8e088acf1a689e907c9550ba78029a778bd2818674d4989cddbc28853 /usr/bin/tr
|
||||
159651d7a72db3e4752ee184288c55a1fee0484443aa67e4f3a9984ad7320e78 /usr/bin/tsort
|
||||
9f6f55239fa384564f78347b70c1287310283121446d63071045f6fd3eac90b1 /usr/bin/unexpand
|
||||
1c6c0306829c5c0695d9e5336682aac3494eb78b86b0806fb8b94b4edbe9e670 /usr/bin/unlink
|
||||
c601ba79b716d782bd8f01e2e3804bd2a66fdc6519c7c27dc709def51558ed53 /usr/bin/wc
|
||||
762c3ac63eeafd49de5f324b16b1895167110e2ddee553c6f5198c7d71880caf /usr/bin/whoami
|
||||
e0a3acd8a5ea91c112bc63281f54a1e56d11991f0ec3b72d5a5becaf11bf6c9a /usr/bin/tac
|
||||
a728386f022a00b79a683ab39f9f85a2561e110ff6e6786d304320d8ed9e4e97 /usr/bin/test
|
||||
3948a25742e25552b30b018269038723d7f6eb80a4c18c2f85bb84fe13729930 /usr/bin/touch
|
||||
f4f039c380c8f979bd40b02fc458840db3f1086d7e7f9a209e860340a548a42b /usr/bin/true
|
||||
43e5a7794084a505fdfd367d6d66e5f0b8ba3c3d843cdc6036416d49c68b79b5 /usr/bin/yes
|
||||
3e187de38d3c75ef52d74c4bba8dae228dad81e81e9209e3994a6bffe8ee09c9 /usr/bin/ls
|
||||
4917fb8bb8a4fb9e24b6cc27de9dd1944acef84b8f5f9b150c0aa9f87b37f6ca /usr/bin/md5sum
|
||||
8c8ed60125c5b34b4d3d156baf2b4c682dee313bc795bb1b4b15427827d62ca8 /usr/bin/mv
|
||||
48c1f9f1847bff208be5bf04ea5897a0c1454f5b8e748a451e755631519c85f1 /usr/bin/rm
|
||||
5d717b9176ebb05216c869e7ee9711e0fdc6ac2f8dec15d9e94a2ed35832c9c9 /usr/bin/sha1sum
|
||||
292fcbf47ee383832767bb2bb8b378f96a14dd68725270ae0db5539a94d031f3 /usr/bin/install
|
||||
a57f7328c2a81bd50fe5c83015406634baa8747211f912c9090e162e70735110 /usr/bin/basename
|
||||
f2e6cf099ee87d2f4a3b1e62db57075fab98ee3d2d5839ff9e81eb0ac0e37137 /usr/bin/cat
|
||||
9c77061b24adf9ba42951f8008dc457bcefff17b87d867f09a61f0c96817f083 /usr/bin/chmod
|
||||
669211c275348cff62c580d96119af225735746c0168edb63492116bf9647bd1 /usr/bin/cksum
|
||||
5be51d83898d33ffced444433fb977bd576e7bd3c37330f311458502f990083a /usr/bin/cp
|
||||
e72996b66d573cfb1f27120ade2fd29bc9582e79057d8d43b6081aea510562d4 /usr/bin/csplit
|
||||
a22cc2f79c70fac946e79fd93551578505c69a76beba68cbebb8d32e323a3e49 /usr/bin/cut
|
||||
9e2b178412eaa6b8442940b632452d931af50dc8be1c770d47e752248d9fd4ea /usr/bin/dirname
|
||||
42d8967cdfdd14e9f6f4ad6feb3e899f491ce2dcb6cb62f5160b6bd217bc4a04 /usr/bin/echo
|
||||
dda7112d7c33fe77486f4336d5d57cc3228ce9a18082332250af2c0be57391b0 /usr/bin/expand
|
||||
6f32c1383580aa37c9877eaed65090839dd3d12d8868ded3147c1adbdeb9a909 /usr/bin/expr
|
||||
d8eaa5d9d8e601fdbbe4715e5632a55efa986e691027590ac5905c150d8e4f94 /usr/bin/factor
|
||||
9f1f38e219d15070ece6229c3f75e40f11e5a3aaf426ee17745b95bb5205c94d /usr/bin/false
|
||||
98915280c8bad059cfb1bf99636dc69bf33532f7a982bd086d2114e0daa39a76 /usr/bin/fmt
|
||||
a8f6d99bc641f486ebdbc1bc5adb1b9fa424aceb4d9e0cc62ce08ceb43541c88 /usr/bin/fold
|
||||
4d215db24218e8b6dfeeea05268477fac56b11651d789a5972945a15ab7b2917 /usr/bin/head
|
||||
52718fa65c99150a773da13f4b155f8843391219f89d4aa0d5fe1d3cc9cf36b0 /usr/bin/hostname
|
||||
fc845714f8d461698daaadcd7bb507d4228c09504b886a679c129226727186d0 /usr/bin/id
|
||||
2fbe6af8f5c01521edacff2d145b8ee392489684e1624157e1e1841aade290a2 /usr/bin/join
|
||||
ea4e13ec9e2f622600d961be4f41de96251e429e7ed8a881be8fb70c379b80de /usr/bin/kill
|
||||
5c606a0febaeca39455847b11ea2ad1445cd4bfd40e187e4e3499c23e0dc2d43 /usr/bin/link
|
||||
52c561306a91197034106b20678da1b06e77228ab77a3ce40639fa1c132d44bc /usr/bin/ln
|
||||
2d7450a962ffdb434d2061aa36e74aa18e1e3e5d237eb39ccd3851a34a819694 /usr/bin/logname
|
||||
bb651823aa51315576d30c79c84248577bce2daab9be4cbcaedabdf2aef882a5 /usr/bin/mkfifo
|
||||
051a8465ba5e34d0f8c84f34f618b2ff059e566bf52d36c572d164762eca3618 /usr/bin/mkdir
|
||||
50be768057f0284b4b9cc034b990cc739228b96449c1c2062d9d98c778b1d4b5 /usr/bin/mknod
|
||||
e7c50e668907ce88388f127b2f07aed6dc10ddb6a8c9313f4269ed5b7e923c92 /usr/bin/nl
|
||||
ae1033bcc79daca95df1feefa3b4d64c0313cc2bf021efcf14760cccc5b42215 /usr/bin/od
|
||||
79aa11388de19028de66b06ce6e0983ba0d558b146aed51ce293d599fcaec627 /usr/bin/paste
|
||||
70eb12b8db8550d5b642df34d28f19e76a768a425efccaa8dfaee18c41db1228 /usr/bin/pathchk
|
||||
1fa81f879efc48472ab093eb82edc429736a10078aecab04d2b2cfb9634b47ef /usr/bin/pr
|
||||
8913fd449afc122c42b99b89b04428a22e7f07e032eaa530cbd076e611849a23 /usr/bin/printf
|
||||
b87663d81cc361221e643ca9f064995c7333f7c650f918393c9bb4482d8667e3 /usr/bin/ptx
|
||||
d31910a5308cfe80f2136677234d515728a06c84f60441f131d2b8dd878ce3aa /usr/bin/pwd
|
||||
84290d1d0a662ffc8d0ec314bbffa53aaacdae4104d8ba8f9a56d8896e97923b /usr/bin/readlink
|
||||
55dfb9a4c9c1f4efe74aaceaad37baff1e9f24acea83ac92a7008b703394edd4 /usr/bin/rmdir
|
||||
fec6d4f310ee0ad79fc76a23ed440b916502bc30af41c4a5e1ed578d2dca91f3 /usr/bin/seq
|
||||
1d0c39f163aa5029d867a091e5d1963b8e55aec09c33cd99da237df7e5b31e60 /usr/bin/sleep
|
||||
355ba0b4e1e655cfde75c493d907a68dbe2acf12adec88eaad019f231de1e75b /usr/bin/sort
|
||||
96ab28039a859a5b78f142aabe75f55b560e340e350751ce3696d02903dfb31f /usr/bin/split
|
||||
8852646f277cfbb01eff42c903f03248a7e3e9833cf3655c78a34f02687872ee /usr/bin/sum
|
||||
79b02fef988b77c1e3adee565aa474aec05e522ef4a5fd4635ca9bb6b1e65b6c /usr/bin/tail
|
||||
91038661556a3c6e91d4f45b41e44388bf62aea5a37abeca3395740344e03890 /usr/bin/tee
|
||||
0c4517c49db58cd700f588281557514894e5c924bfad5df129a70ff46d4a8dae /usr/bin/tr
|
||||
2d897818467998063800a4e92c50fa855b090202da11831f87be17665fd44a29 /usr/bin/tsort
|
||||
f8ca50f4d91ef6233049e2bd68cf6aa05a300a16d9fba2dce2e90e085ab8f401 /usr/bin/unexpand
|
||||
c8066c50b1a6f654a4cd1adc69e3a7fd58c6fa6ce987617c54b0d2668cb39daf /usr/bin/uniq
|
||||
93feee6a854be3a733f9e7a4e421e274f0781d235c02421b837fee3134c47897 /usr/bin/unlink
|
||||
a31f4b48b7517a348b44621e8d572eda835ffcdb7a97f64b1d7e78d67a38c84f /usr/bin/wc
|
||||
fae709b45aca8b7e4630aa853681b6f1d053135b4a5c8f72477a1e311f1e4616 /usr/bin/whoami
|
||||
11a17c10d03e56012685851f96145fe8a4701fd4ecbf05bad1c19b92fe97f347 /usr/bin/tac
|
||||
ceac9200b63c7b8b3cda19ca4e90b7d619c3bbd412834a7cb14ae022e5f05fa2 /usr/bin/test
|
||||
958a28e582bb69c684f666e2b47b98ff27d3b9a6177549444b85c03aad746c3d /usr/bin/touch
|
||||
05dc8f5f6d78716f649eb7ad5d355a67b6e133e241efcd0b99d5bd1b3c01b3b1 /usr/bin/true
|
||||
2203da05ecbf1d8be50e4c9669d78f8c45aa09055e55486322e18f9874cb3b4e /usr/bin/yes
|
||||
7ec9570369e239d3f295490250fc0d79c32fd6cf2d7d4eb02042c56c67d8bc86 /usr/bin/ls
|
||||
8323119905c2d42d9aefafb214ae314b7b9103247263328472d909fd794ffe8a /usr/bin/md5sum
|
||||
e2ed596c2adba6cab2853cea203f66bf5aeee85d3424685acffc567dc417459a /usr/bin/mv
|
||||
cb67b297e4e4f124f6c0a2a392fb8934ea8c07af4155bd7d49f367b9c77f4719 /usr/bin/rm
|
||||
b51e023e8e70a8cc6dadaba1a789c5c8c96dc526f224a1e8de44e57aad31ca7a /usr/bin/sha1sum
|
||||
|
|
|
@ -3,6 +3,7 @@
|
|||
# SPDX-FileCopyrightText: 2021 Andrius Štikonas <andrius@stikonas.eu>
|
||||
# SPDX-FileCopyrightText: 2021 Paul Dersey <pdersey@gmail.com>
|
||||
# SPDX-FileCopyrightText: 2021-22 fosslinux <fosslinux@aussies.space>
|
||||
# SPDX-FileCopyrightText: 2023 Emily Trau <emily@downunderctf.com>
|
||||
#
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
|
@ -39,6 +40,9 @@ patch -Np0 -i ../../patches/ls-strcmp.patch
|
|||
patch -Np0 -i ../../patches/touch-getdate.patch
|
||||
patch -Np0 -i ../../patches/touch-dereference.patch
|
||||
patch -Np0 -i ../../patches/tac-uint64.patch
|
||||
patch -Np0 -i ../../patches/expr-strcmp.patch
|
||||
patch -Np0 -i ../../patches/sort-locale.patch
|
||||
patch -Np0 -i ../../patches/uniq-fopen.patch
|
||||
|
||||
# Build and install
|
||||
make -f Makefile PREFIX=${prefix}
|
||||
|
@ -58,12 +62,16 @@ if match x${UPDATE_CHECKSUMS} xTrue; then
|
|||
/usr/bin/cp \
|
||||
/usr/bin/csplit \
|
||||
/usr/bin/cut \
|
||||
/usr/bin/dirname \
|
||||
/usr/bin/echo \
|
||||
/usr/bin/expand \
|
||||
/usr/bin/expr \
|
||||
/usr/bin/factor \
|
||||
/usr/bin/false \
|
||||
/usr/bin/fmt \
|
||||
/usr/bin/fold \
|
||||
/usr/bin/head \
|
||||
/usr/bin/hostname \
|
||||
/usr/bin/id \
|
||||
/usr/bin/join \
|
||||
/usr/bin/kill \
|
||||
|
@ -77,6 +85,7 @@ if match x${UPDATE_CHECKSUMS} xTrue; then
|
|||
/usr/bin/od \
|
||||
/usr/bin/paste \
|
||||
/usr/bin/pathchk \
|
||||
/usr/bin/pr \
|
||||
/usr/bin/printf \
|
||||
/usr/bin/ptx \
|
||||
/usr/bin/pwd \
|
||||
|
@ -84,6 +93,7 @@ if match x${UPDATE_CHECKSUMS} xTrue; then
|
|||
/usr/bin/rmdir \
|
||||
/usr/bin/seq \
|
||||
/usr/bin/sleep \
|
||||
/usr/bin/sort \
|
||||
/usr/bin/split \
|
||||
/usr/bin/sum \
|
||||
/usr/bin/tail \
|
||||
|
@ -91,6 +101,7 @@ if match x${UPDATE_CHECKSUMS} xTrue; then
|
|||
/usr/bin/tr \
|
||||
/usr/bin/tsort \
|
||||
/usr/bin/unexpand \
|
||||
/usr/bin/uniq \
|
||||
/usr/bin/unlink \
|
||||
/usr/bin/wc \
|
||||
/usr/bin/whoami \
|
||||
|
|
File diff suppressed because one or more lines are too long
|
@ -0,0 +1,26 @@
|
|||
SPDX-FileCopyrightText: 2023 Emily Trau <emily@downunderctf.com>
|
||||
|
||||
SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
strcoll() does not exist in mes libc, change it to strcmp.
|
||||
|
||||
--- src/expr.c
|
||||
+++ src/expr.c
|
||||
@@ -332,7 +332,7 @@ nextarg (char *str)
|
||||
return 0;
|
||||
else
|
||||
{
|
||||
- int r = strcoll (*args, str) == 0;
|
||||
+ int r = strcmp (*args, str) == 0;
|
||||
args += r;
|
||||
return r;
|
||||
}
|
||||
@@ -668,7 +668,7 @@ eval2 (void)
|
||||
r = eval3 ();
|
||||
tostring (l);
|
||||
tostring (r);
|
||||
- lval = strcoll (l->u.s, r->u.s);
|
||||
+ lval = strcmp (l->u.s, r->u.s);
|
||||
rval = 0;
|
||||
if (toarith (l) && toarith (r))
|
||||
{
|
|
@ -0,0 +1,37 @@
|
|||
SPDX-FileCopyrightText: 2023 Emily Trau <emily@downunderctf.com>
|
||||
|
||||
SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
strcoll() does not exist in mes libc, change it to strcmp.
|
||||
hard_LC_COLLATE is used but not declared when HAVE_SETLOCALE is unset.
|
||||
|
||||
--- lib/memcoll.c
|
||||
+++ lib/memcoll.c
|
||||
@@ -47,7 +47,7 @@ memcoll (char *s1, size_t s1len, char *s2, size_t s2len)
|
||||
s1[s1len++] = '\0';
|
||||
s2[s2len++] = '\0';
|
||||
|
||||
- while (! (errno = 0, (diff = strcoll (s1, s2)) || errno))
|
||||
+ while (! (errno = 0, (diff = strcmp (s1, s2)) || errno))
|
||||
{
|
||||
/* strcoll found no difference, but perhaps it was fooled by NUL
|
||||
characters in the data. Work around this problem by advancing
|
||||
|
||||
--- src/sort.c
|
||||
+++ src/sort.c
|
||||
@@ -91,13 +91,13 @@ double strtod ();
|
||||
#define NEGATION_SIGN '-'
|
||||
#define NUMERIC_ZERO '0'
|
||||
|
||||
+/* Nonzero if the corresponding locales are hard. */
|
||||
+static int hard_LC_COLLATE;
|
||||
#if HAVE_SETLOCALE
|
||||
|
||||
static char decimal_point;
|
||||
static int th_sep; /* if CHAR_MAX + 1, then there is no thousands separator */
|
||||
|
||||
-/* Nonzero if the corresponding locales are hard. */
|
||||
-static int hard_LC_COLLATE;
|
||||
# if HAVE_NL_LANGINFO
|
||||
static int hard_LC_TIME;
|
||||
# endif
|
|
@ -0,0 +1,68 @@
|
|||
SPDX-FileCopyrightText: 2005 Paul Eggert <eggert@cs.ucla.edu>
|
||||
SPDX-FileCopyrightText: 2023 Emily Trau <emily@downunderctf.com>
|
||||
|
||||
SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
uniq: don't assume fopen cannot return stdin or stdout.
|
||||
Backport of https://git.savannah.gnu.org/cgit/coreutils.git/commit/?id=786ebb2ceca72f69aa2de701671fb41f53cb1489
|
||||
|
||||
--- src/uniq.c
|
||||
+++ src/uniq.c
|
||||
@@ -30,6 +30,7 @@
|
||||
#include "error.h"
|
||||
#include "hard-locale.h"
|
||||
#include "posixver.h"
|
||||
+#include "stdio-safer.h"
|
||||
#include "xmemcoll.h"
|
||||
#include "xstrtol.h"
|
||||
#include "memcasecmp.h"
|
||||
@@ -267,20 +268,26 @@ check_file (const char *infile, const char *outfile)
|
||||
FILE *ostream;
|
||||
struct linebuffer lb1, lb2;
|
||||
struct linebuffer *thisline, *prevline;
|
||||
+ bool is_stdin = STREQ (infile, "-");
|
||||
+ bool is_stdout = STREQ (outfile, "-");
|
||||
|
||||
- if (STREQ (infile, "-"))
|
||||
+ if (is_stdin)
|
||||
istream = stdin;
|
||||
else
|
||||
- istream = fopen (infile, "r");
|
||||
- if (istream == NULL)
|
||||
- error (EXIT_FAILURE, errno, "%s", infile);
|
||||
+ {
|
||||
+ istream = fopen_safer (infile, "r");
|
||||
+ if (! istream)
|
||||
+ error (EXIT_FAILURE, errno, "%s", infile);
|
||||
+ }
|
||||
|
||||
- if (STREQ (outfile, "-"))
|
||||
+ if (is_stdout)
|
||||
ostream = stdout;
|
||||
else
|
||||
- ostream = fopen (outfile, "w");
|
||||
- if (ostream == NULL)
|
||||
- error (EXIT_FAILURE, errno, "%s", outfile);
|
||||
+ {
|
||||
+ ostream = fopen_safer (outfile, "w");
|
||||
+ if (! ostream)
|
||||
+ error (EXIT_FAILURE, errno, "%s", outfile);
|
||||
+ }
|
||||
|
||||
thisline = &lb1;
|
||||
prevline = &lb2;
|
||||
@@ -377,12 +384,12 @@ check_file (const char *infile, const char *outfile)
|
||||
}
|
||||
|
||||
closefiles:
|
||||
- if (ferror (istream) || fclose (istream) == EOF)
|
||||
+ if (!is_stdin && (ferror (istream) || fclose (istream) != 0))
|
||||
error (EXIT_FAILURE, errno, _("error reading %s"), infile);
|
||||
|
||||
/* Close ostream only if it's not stdout -- the latter is closed
|
||||
via the atexit-invoked close_stdout. */
|
||||
- if (ostream != stdout && (ferror (ostream) || fclose (ostream) == EOF))
|
||||
+ if (!is_stdout && (ferror (ostream) || fclose (ostream) != 0))
|
||||
error (EXIT_FAILURE, errno, _("error writing %s"), outfile);
|
||||
|
||||
free (lb1.buffer);
|
|
@ -28,8 +28,11 @@ src_prepare() {
|
|||
}
|
||||
|
||||
src_configure() {
|
||||
# defrag fails to build with musl 1.2.4
|
||||
./configure --prefix="${PREFIX}" \
|
||||
--sbindir="${PREFIX}/bin" \
|
||||
--disable-tls \
|
||||
--disable-defrag \
|
||||
with_udev_rules_dir=no \
|
||||
with_systemd_unit_dir=no
|
||||
}
|
||||
|
|
|
@ -1 +0,0 @@
|
|||
dd9e799311b3c505fa8efe045b969b851c60499ab41db546e5c8b545b3e19ec8 /boot/fiwix
|
|
@ -1 +0,0 @@
|
|||
https://github.com/rick-masters/Fiwix/releases/download/v1.4.0-lb1/fiwix-1.4.0-lb1.tar.gz ff57d1fbf0547a27dec4d7146eb9c17d01158ca5886de54e5b9bac2bec473ef3
|
|
@ -0,0 +1 @@
|
|||
eda65efb4ca7b1e37cb5e0872e8267251870cdf86b341e6d967c856a926cc3f5 /boot/fiwix
|
|
@ -18,9 +18,9 @@ cd build
|
|||
untar --file ../src/${pkg}.tar
|
||||
cd ${pkg}
|
||||
|
||||
alias as="tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM=\"/init\" -DUTS_SYSNAME=\"Linux\" -D__VERSION__=\"tcc\" -traditional -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include"
|
||||
alias as="tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DNO_CONFIG_OFFSET64 -DCONFIG_64BIT_SYSCALLS -DCONFIG_KEXEC -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM=\"/init\" -DUTS_SYSNAME=\"Linux\" -D__VERSION__=\"tcc\" -traditional -I/sysa/${pkg}/build/${pkg}/include"
|
||||
|
||||
alias cc="tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM=\"/init\" -DUTS_SYSNAME=\"Linux\" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes"
|
||||
alias cc="tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DNO_CONFIG_OFFSET64 -DCONFIG_64BIT_SYSCALLS -DCONFIG_KEXEC -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM=\"/init\" -DUTS_SYSNAME=\"Linux\" -D__VERSION__=\"tcc\" -I/sysa/${pkg}/build/${pkg}/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes"
|
||||
|
||||
cd kernel
|
||||
as -c -o boot.o boot.S
|
||||
|
@ -42,6 +42,7 @@ cc -c -o sleep.o sleep.c
|
|||
cc -c -o signal.o signal.c
|
||||
cc -c -o process.o process.c
|
||||
cc -c -o multiboot.o multiboot.c
|
||||
cc -c -o kexec.o kexec.c
|
||||
|
||||
cd syscalls
|
||||
cc -c -o umount.o umount.c
|
||||
|
@ -278,6 +279,7 @@ cc -c -o floppy.o floppy.c
|
|||
cc -c -o part.o part.c
|
||||
cc -c -o ata.o ata.c
|
||||
cc -c -o ata_hd.o ata_hd.c
|
||||
cc -c -o ata_pci.o ata_pci.c
|
||||
cc -c -o atapi.o atapi.c
|
||||
cc -c -o atapi_cd.o atapi_cd.c
|
||||
cc -c -o ramdisk.o ramdisk.c
|
||||
|
@ -321,6 +323,7 @@ tcc -m32 -Wl,-Ttext=0xC0100000 -static -nostdlib -nostdinc \
|
|||
kernel/signal.o \
|
||||
kernel/process.o \
|
||||
kernel/multiboot.o \
|
||||
kernel/kexec.o \
|
||||
kernel/syscalls/umount.o \
|
||||
kernel/syscalls/getgid.o \
|
||||
kernel/syscalls/getppid.o \
|
||||
|
@ -529,6 +532,7 @@ tcc -m32 -Wl,-Ttext=0xC0100000 -static -nostdlib -nostdinc \
|
|||
drivers/block/part.o \
|
||||
drivers/block/ata.o \
|
||||
drivers/block/ata_hd.o \
|
||||
drivers/block/ata_pci.o \
|
||||
drivers/block/atapi.o \
|
||||
drivers/block/atapi_cd.o \
|
||||
drivers/block/ramdisk.o \
|
|
@ -0,0 +1 @@
|
|||
https://github.com/rick-masters/Fiwix/releases/download/v1.4.0-lb3/fiwix-1.4.0-lb3.tar.gz 525a24e32571e574da76e2a8c898f4eab371dfb85302d545c498a21c8028283d
|
|
@ -1 +1 @@
|
|||
6608aee8c4a8fdb0945e8b7b0a6f9fe3ca5336394bbcbc564879971e0129a6f1 /usr/bin/gzip
|
||||
2eea6424aebf9d68e674c48c729e2eff72cfe330f5d4a5cc3918b7275c36e679 /usr/bin/gzip
|
||||
|
|
|
@ -26,6 +26,18 @@ cp ../../mk/main.mk Makefile
|
|||
catm gzip.c.new ../../files/stat_override.c gzip.c
|
||||
cp gzip.c.new gzip.c
|
||||
|
||||
# Remove generated crc table from util.c
|
||||
patch -Np0 -i ../../patches/removecrc.patch
|
||||
|
||||
# Since IO redirection is not available yet, patch makecrc.c so that it writes
|
||||
# C code to file crc.c that can be appended to util.c
|
||||
patch -Np0 -i ../../patches/makecrc-write-to-file.patch
|
||||
|
||||
tcc -static -o makecrc sample/makecrc.c
|
||||
./makecrc
|
||||
catm util.c.new util.c crc.c
|
||||
cp util.c.new util.c
|
||||
|
||||
# Build
|
||||
make
|
||||
|
||||
|
|
|
@ -0,0 +1,31 @@
|
|||
SPDX-FileCopyrightText: 2023 Paul Dersey <pdersey@gmail.com>
|
||||
|
||||
SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
Modify makecrc so that it outputs C code to a file that
|
||||
can be appended to util.c
|
||||
|
||||
--- sample/makecrc.c
|
||||
+++ sample/makecrc.c
|
||||
@@ -47,7 +47,9 @@ main()
|
||||
e |= 1L << (31 - p[i]);
|
||||
|
||||
/* Compute and print table of CRC's, five per line */
|
||||
- printf(" 0x00000000L");
|
||||
+ FILE *output = fopen("crc.c", "w");
|
||||
+ fprintf(output, "ulg crc_32_tab[] = {\n");
|
||||
+ fprintf(output," 0x00000000L");
|
||||
for (i = 1; i < 256; i++)
|
||||
{
|
||||
c = i;
|
||||
@@ -56,8 +58,8 @@ main()
|
||||
*/
|
||||
for (k = 8; k; k--)
|
||||
c = c & 1 ? (c >> 1) ^ e : c >> 1;
|
||||
- printf(i % 5 ? ", 0x%08lxL" : ",\n 0x%08lxL", c);
|
||||
+ fprintf(output, i % 5 ? ", 0x%08lxL" : ",\n 0x%08lxL", c);
|
||||
}
|
||||
- putchar('\n');
|
||||
+ fprintf(output,"\n};\n");
|
||||
return 0;
|
||||
}
|
|
@ -0,0 +1,66 @@
|
|||
SPDX-FileCopyrightText: 2023 Paul Dersey <pdersey@gmail.com>
|
||||
|
||||
SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
Remove generated CRC table
|
||||
|
||||
--- util.c
|
||||
+++ util.c
|
||||
@@ -406,57 +406,3 @@ voidp xmalloc (size)
|
||||
/* ========================================================================
|
||||
* Table of CRC-32's of all single-byte values (made by makecrc.c)
|
||||
*/
|
||||
-ulg crc_32_tab[] = {
|
||||
- 0x00000000L, 0x77073096L, 0xee0e612cL, 0x990951baL, 0x076dc419L,
|
||||
- 0x706af48fL, 0xe963a535L, 0x9e6495a3L, 0x0edb8832L, 0x79dcb8a4L,
|
||||
- 0xe0d5e91eL, 0x97d2d988L, 0x09b64c2bL, 0x7eb17cbdL, 0xe7b82d07L,
|
||||
- 0x90bf1d91L, 0x1db71064L, 0x6ab020f2L, 0xf3b97148L, 0x84be41deL,
|
||||
- 0x1adad47dL, 0x6ddde4ebL, 0xf4d4b551L, 0x83d385c7L, 0x136c9856L,
|
||||
- 0x646ba8c0L, 0xfd62f97aL, 0x8a65c9ecL, 0x14015c4fL, 0x63066cd9L,
|
||||
- 0xfa0f3d63L, 0x8d080df5L, 0x3b6e20c8L, 0x4c69105eL, 0xd56041e4L,
|
||||
- 0xa2677172L, 0x3c03e4d1L, 0x4b04d447L, 0xd20d85fdL, 0xa50ab56bL,
|
||||
- 0x35b5a8faL, 0x42b2986cL, 0xdbbbc9d6L, 0xacbcf940L, 0x32d86ce3L,
|
||||
- 0x45df5c75L, 0xdcd60dcfL, 0xabd13d59L, 0x26d930acL, 0x51de003aL,
|
||||
- 0xc8d75180L, 0xbfd06116L, 0x21b4f4b5L, 0x56b3c423L, 0xcfba9599L,
|
||||
- 0xb8bda50fL, 0x2802b89eL, 0x5f058808L, 0xc60cd9b2L, 0xb10be924L,
|
||||
- 0x2f6f7c87L, 0x58684c11L, 0xc1611dabL, 0xb6662d3dL, 0x76dc4190L,
|
||||
- 0x01db7106L, 0x98d220bcL, 0xefd5102aL, 0x71b18589L, 0x06b6b51fL,
|
||||
- 0x9fbfe4a5L, 0xe8b8d433L, 0x7807c9a2L, 0x0f00f934L, 0x9609a88eL,
|
||||
- 0xe10e9818L, 0x7f6a0dbbL, 0x086d3d2dL, 0x91646c97L, 0xe6635c01L,
|
||||
- 0x6b6b51f4L, 0x1c6c6162L, 0x856530d8L, 0xf262004eL, 0x6c0695edL,
|
||||
- 0x1b01a57bL, 0x8208f4c1L, 0xf50fc457L, 0x65b0d9c6L, 0x12b7e950L,
|
||||
- 0x8bbeb8eaL, 0xfcb9887cL, 0x62dd1ddfL, 0x15da2d49L, 0x8cd37cf3L,
|
||||
- 0xfbd44c65L, 0x4db26158L, 0x3ab551ceL, 0xa3bc0074L, 0xd4bb30e2L,
|
||||
- 0x4adfa541L, 0x3dd895d7L, 0xa4d1c46dL, 0xd3d6f4fbL, 0x4369e96aL,
|
||||
- 0x346ed9fcL, 0xad678846L, 0xda60b8d0L, 0x44042d73L, 0x33031de5L,
|
||||
- 0xaa0a4c5fL, 0xdd0d7cc9L, 0x5005713cL, 0x270241aaL, 0xbe0b1010L,
|
||||
- 0xc90c2086L, 0x5768b525L, 0x206f85b3L, 0xb966d409L, 0xce61e49fL,
|
||||
- 0x5edef90eL, 0x29d9c998L, 0xb0d09822L, 0xc7d7a8b4L, 0x59b33d17L,
|
||||
- 0x2eb40d81L, 0xb7bd5c3bL, 0xc0ba6cadL, 0xedb88320L, 0x9abfb3b6L,
|
||||
- 0x03b6e20cL, 0x74b1d29aL, 0xead54739L, 0x9dd277afL, 0x04db2615L,
|
||||
- 0x73dc1683L, 0xe3630b12L, 0x94643b84L, 0x0d6d6a3eL, 0x7a6a5aa8L,
|
||||
- 0xe40ecf0bL, 0x9309ff9dL, 0x0a00ae27L, 0x7d079eb1L, 0xf00f9344L,
|
||||
- 0x8708a3d2L, 0x1e01f268L, 0x6906c2feL, 0xf762575dL, 0x806567cbL,
|
||||
- 0x196c3671L, 0x6e6b06e7L, 0xfed41b76L, 0x89d32be0L, 0x10da7a5aL,
|
||||
- 0x67dd4accL, 0xf9b9df6fL, 0x8ebeeff9L, 0x17b7be43L, 0x60b08ed5L,
|
||||
- 0xd6d6a3e8L, 0xa1d1937eL, 0x38d8c2c4L, 0x4fdff252L, 0xd1bb67f1L,
|
||||
- 0xa6bc5767L, 0x3fb506ddL, 0x48b2364bL, 0xd80d2bdaL, 0xaf0a1b4cL,
|
||||
- 0x36034af6L, 0x41047a60L, 0xdf60efc3L, 0xa867df55L, 0x316e8eefL,
|
||||
- 0x4669be79L, 0xcb61b38cL, 0xbc66831aL, 0x256fd2a0L, 0x5268e236L,
|
||||
- 0xcc0c7795L, 0xbb0b4703L, 0x220216b9L, 0x5505262fL, 0xc5ba3bbeL,
|
||||
- 0xb2bd0b28L, 0x2bb45a92L, 0x5cb36a04L, 0xc2d7ffa7L, 0xb5d0cf31L,
|
||||
- 0x2cd99e8bL, 0x5bdeae1dL, 0x9b64c2b0L, 0xec63f226L, 0x756aa39cL,
|
||||
- 0x026d930aL, 0x9c0906a9L, 0xeb0e363fL, 0x72076785L, 0x05005713L,
|
||||
- 0x95bf4a82L, 0xe2b87a14L, 0x7bb12baeL, 0x0cb61b38L, 0x92d28e9bL,
|
||||
- 0xe5d5be0dL, 0x7cdcefb7L, 0x0bdbdf21L, 0x86d3d2d4L, 0xf1d4e242L,
|
||||
- 0x68ddb3f8L, 0x1fda836eL, 0x81be16cdL, 0xf6b9265bL, 0x6fb077e1L,
|
||||
- 0x18b74777L, 0x88085ae6L, 0xff0f6a70L, 0x66063bcaL, 0x11010b5cL,
|
||||
- 0x8f659effL, 0xf862ae69L, 0x616bffd3L, 0x166ccf45L, 0xa00ae278L,
|
||||
- 0xd70dd2eeL, 0x4e048354L, 0x3903b3c2L, 0xa7672661L, 0xd06016f7L,
|
||||
- 0x4969474dL, 0x3e6e77dbL, 0xaed16a4aL, 0xd9d65adcL, 0x40df0b66L,
|
||||
- 0x37d83bf0L, 0xa9bcae53L, 0xdebb9ec5L, 0x47b2cf7fL, 0x30b5ffe9L,
|
||||
- 0xbdbdf21cL, 0xcabac28aL, 0x53b39330L, 0x24b4a3a6L, 0xbad03605L,
|
||||
- 0xcdd70693L, 0x54de5729L, 0x23d967bfL, 0xb3667a2eL, 0xc4614ab8L,
|
||||
- 0x5d681b02L, 0x2a6f2b94L, 0xb40bbe37L, 0xc30c8ea1L, 0x5a05df1bL,
|
||||
- 0x2d02ef8dL
|
||||
-};
|
|
@ -1,5 +1,5 @@
|
|||
9f5186c86f8a2c7a0eb39d11f7017fc70d5a3940d56c648f93f6a3189ac1d67f /usr/bin/yacc
|
||||
0fa43f12e3e32987211a433a9692f939b2c5d0dc32cd5523f9ad50bb441ac580 /usr/bin/lex
|
||||
671a1b5f07f5c5facc7cf502d5471ceabd82927180b127fe61f9ada04dfb4de0 /usr/bin/yacc
|
||||
c8c51b6f773d5d14deb73216181a2c3975376082d411cd044d7033b3b5553202 /usr/bin/lex
|
||||
ffe696afc1bda32a5f4035e29b3275cab73a27df7635ccbe02ed49a30374ccdd /usr/lib/mes/libl.a
|
||||
bf3fb293f1ff89ee3dbcb08166c64b7a6793b49a12673d7633e3353ebea80d4d /yaccpar
|
||||
ee0f187b844f50d64c912bfcb5d73706662846d6d8a90b8b1fb20dda60464734 /lex/ncform
|
||||
|
|
|
@ -472,12 +472,14 @@ populate_device_nodes() {
|
|||
test -c "/dev/random" || mknod -m 444 "/dev/random" c 1 8
|
||||
test -c "/dev/urandom" || mknod -m 444 "/dev/urandom" c 1 9
|
||||
|
||||
test -c "/dev/ptmx" || mknod -m 666 "/dev/ptmx" c 5 2
|
||||
test -c "/dev/tty" || mknod -m 666 "/dev/tty" c 5 0
|
||||
|
||||
if command -v mount >/dev/null 2>&1; then
|
||||
test -d "/dev/shm" || (mkdir /dev/shm && mount -t tmpfs tmpfs /dev/shm)
|
||||
fi
|
||||
|
||||
if [ "${CHROOT}" = False ]; then
|
||||
test -c "/dev/tty" || mknod -m 666 "/dev/tty" c 5 0
|
||||
test -c "/dev/console" || mknod -m 666 "/dev/console" c 5 1
|
||||
fi
|
||||
}
|
||||
|
|
|
@ -1 +1 @@
|
|||
afb30f2e80adefc979bdffdb525cf2862897f0beefbb0740fbd05ab3246a32c9 /usr/bin/kexec-fiwix
|
||||
6301eb2b25e777b464b5de79a1c6c453708a5f15de7a396e638eb51141a16440 /usr/bin/kexec-fiwix
|
||||
|
|
|
@ -77,10 +77,19 @@ int main() {
|
|||
puts("Preparing multiboot info for kernel...");
|
||||
|
||||
char cmdline[256];
|
||||
sprintf(cmdline, "fiwix console=/dev/ttyS0 root=/dev/ram0 ramdisksize=%d initrd=sysa.ext2", INITRD_MB * 1024);
|
||||
/* Don't use a serial console if configured for bare metal */
|
||||
char *bare_metal = getenv("BARE_METAL");
|
||||
if (bare_metal != NULL && strcmp(bare_metal, "True") == 0)
|
||||
{
|
||||
sprintf(cmdline, "fiwix root=/dev/ram0 ramdisksize=%d initrd=sysa.ext2 kexec_proto=linux kexec_size=67000 kexec_cmdline=\"init=/init\"", INITRD_MB * 1024);
|
||||
}
|
||||
else
|
||||
{
|
||||
sprintf(cmdline, "fiwix console=/dev/ttyS0 root=/dev/ram0 ramdisksize=%d initrd=sysa.ext2 kexec_proto=linux kexec_size=67000 kexec_cmdline=\"init=/init console=ttyS0\"", INITRD_MB * 1024);
|
||||
}
|
||||
char * boot_loader_name = "kexec-fiwix";
|
||||
|
||||
unsigned int next_avail_mem = 0x8000;
|
||||
unsigned int next_avail_mem = 0x9800;
|
||||
multiboot_info_t * pmultiboot_info = (multiboot_info_t *) next_avail_mem;
|
||||
memset(pmultiboot_info, 0, sizeof(multiboot_info_t));
|
||||
|
||||
|
|
|
@ -0,0 +1,82 @@
|
|||
/* SPDX-FileCopyrightText: 2023 Richard Masters <grick23@gmail.com> */
|
||||
/* SPDX-License-Identifier: MIT */
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <stdint.h>
|
||||
#include <unistd.h>
|
||||
#include <sys/reboot.h>
|
||||
#include <sys/stat.h>
|
||||
#include <time.h>
|
||||
|
||||
int append_file(FILE *dst_file, char *src_file_name);
|
||||
|
||||
|
||||
int main(int argc, char **argv) {
|
||||
char *ramdrive_file_name, *kernel_file_name, *initramfs_file_name;
|
||||
FILE *ramdrive_file;
|
||||
struct stat stats;
|
||||
uint32_t size;
|
||||
|
||||
if (argc < 3) {
|
||||
puts("Usage: fiwix-kexec-linux <ram-drive-name> <kernel-file-name> <initramfs-file-name>");
|
||||
exit(1);
|
||||
}
|
||||
|
||||
ramdrive_file_name = argv[1];
|
||||
kernel_file_name = argv[2];
|
||||
initramfs_file_name = argv[3];
|
||||
|
||||
|
||||
ramdrive_file = fopen(ramdrive_file_name, "wb");
|
||||
|
||||
/* Write length of kernel */
|
||||
if (stat(kernel_file_name, &stats) == 0) {
|
||||
size = (uint32_t) stats.st_size;
|
||||
fwrite(&size, sizeof(size), 1, ramdrive_file);
|
||||
} else {
|
||||
fprintf(stderr, "Cannot stat kernel file '%s'\n", kernel_file_name);
|
||||
exit(1);
|
||||
}
|
||||
|
||||
/* Write length of initramfs */
|
||||
if (stat(initramfs_file_name, &stats) == 0) {
|
||||
size = (uint32_t) stats.st_size;
|
||||
fwrite(&size, sizeof(size), 1, ramdrive_file);
|
||||
} else {
|
||||
fprintf(stderr, "Cannot stat initramfs file '%s'\n", initramfs_file_name);
|
||||
exit(1);
|
||||
}
|
||||
|
||||
if (append_file(ramdrive_file, kernel_file_name)) {
|
||||
fprintf(stderr, "Cannot append kernel '%s'\n", kernel_file_name);
|
||||
exit(1);
|
||||
}
|
||||
if (append_file(ramdrive_file, initramfs_file_name)) {
|
||||
fprintf(stderr, "Cannot append initramfs '%s'\n", initramfs_file_name);
|
||||
exit(1);
|
||||
}
|
||||
fclose(ramdrive_file);
|
||||
|
||||
/* Flush ram drive writes to device */
|
||||
sync();
|
||||
|
||||
/* Perform syscall reboot to initiate kexec */
|
||||
reboot(RB_HALT_SYSTEM);
|
||||
}
|
||||
|
||||
int append_file(FILE *dst_file, char *src_file_name) {
|
||||
FILE *src_file;
|
||||
char buff[BUFSIZ];
|
||||
size_t n;
|
||||
|
||||
if (src_file = fopen(src_file_name, "rb")) {
|
||||
while ((n = fread(buff, 1, BUFSIZ, src_file)) != 0) {
|
||||
fwrite(buff, 1, n, dst_file );
|
||||
}
|
||||
fclose(src_file);
|
||||
return 0;
|
||||
} else {
|
||||
printf("Cannot open file '%s'\n", src_file_name);
|
||||
return 1;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,15 @@
|
|||
#!/bin/bash
|
||||
# SPDX-FileCopyrightText: 2023 Richard Masters <grick23@gmail.com>
|
||||
# SPDX-License-Identifier: MIT
|
||||
src_get() {
|
||||
:
|
||||
}
|
||||
|
||||
src_unpack() {
|
||||
dirname=kexec-linux-1.0.0
|
||||
mkdir ${dirname}
|
||||
}
|
||||
|
||||
src_install() {
|
||||
install -D "kexec-linux" "${DESTDIR}${PREFIX}/bin/kexec-linux"
|
||||
}
|
|
@ -0,0 +1,4 @@
|
|||
# SPDX-FileCopyrightText: 2023 Richard Masters <grick23@gmail.com>
|
||||
# SPDX-License-Identifier: MIT
|
||||
kexec-linux: kexec-linux.c
|
||||
gcc -static -m32 -march=i386 -o $@ $^
|
|
@ -23,7 +23,7 @@ src_compile() {
|
|||
}
|
||||
|
||||
src_install() {
|
||||
export base_dir="${PWD}"
|
||||
base_dir="${PWD}"
|
||||
# We "compile" the headers here because it is easier
|
||||
for d in include/uapi arch/x86/include/uapi; do
|
||||
cd "${d}"
|
||||
|
|
|
@ -21,6 +21,7 @@
|
|||
/usr/bin/checksum-transcriber
|
||||
/usr/bin/tcc
|
||||
/usr/bin/tcc-0.9.26
|
||||
/usr/bin/kexec-linux
|
||||
/usr/lib/mes/libc.a
|
||||
/usr/lib/mes/libgetopt.a
|
||||
/usr/lib/mes/crt1.o
|
||||
|
@ -72,6 +73,7 @@
|
|||
/usr/include/mes/config.h
|
||||
/usr/include/mes/constants.h
|
||||
/usr/include/mes/lib.h
|
||||
/usr/include/mes/lib-cc.h
|
||||
/usr/include/mes/lib-mini.h
|
||||
/usr/include/mes/mes.h
|
||||
/usr/include/mes/symbols.h
|
||||
|
|
|
@ -71,7 +71,7 @@ static bool open_filedev(void)
|
|||
file_dev_name_set(input_name);
|
||||
bd = file_dev_get();
|
||||
if (!bd) {
|
||||
printf("open_filedev: fail\n");
|
||||
puts("open_filedev: fail");
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
|
@ -85,7 +85,7 @@ bool lwext4_mount(struct ext4_blockdev *bdev, struct ext4_bcache *bcache)
|
|||
bd = bdev;
|
||||
|
||||
if (!bd) {
|
||||
printf("lwext4_mount: no block device\n");
|
||||
puts("lwext4_mount: no block device");
|
||||
return false;
|
||||
}
|
||||
|
||||
|
@ -155,21 +155,21 @@ bool copy_file(char *src_path, char *dest_path)
|
|||
|
||||
err = ext4_fopen(&dest_file, dest_path, "wb");
|
||||
if (err != EOK) {
|
||||
printf("ext4_open error: %d \n", err);
|
||||
printf("ext4_open error: %d\n", err);
|
||||
return EXIT_FAILURE;
|
||||
}
|
||||
|
||||
if (src_len > 0) {
|
||||
err = ext4_fwrite(&dest_file, src_mem, src_len, 0);
|
||||
if (err != EOK) {
|
||||
printf("ext4_fwrite error: %d \n", err);
|
||||
printf("ext4_fwrite error: %d\n", err);
|
||||
return EXIT_FAILURE;
|
||||
}
|
||||
}
|
||||
|
||||
err = ext4_fclose(&dest_file);
|
||||
if (err != EOK) {
|
||||
printf("ext4_fclose error: %d \n", err);
|
||||
printf("ext4_fclose error: %d\n", err);
|
||||
return EXIT_FAILURE;
|
||||
}
|
||||
|
||||
|
@ -226,7 +226,7 @@ int main(int argc, char **argv)
|
|||
|
||||
err = ext4_mkfs(&fs, bd, &info, F_SET_EXT2_V0);
|
||||
if (err != EOK) {
|
||||
printf("ext4_mkfs error: %d \n", err);
|
||||
printf("ext4_mkfs error: %d\n", err);
|
||||
return EXIT_FAILURE;
|
||||
}
|
||||
|
||||
|
@ -255,32 +255,44 @@ int main(int argc, char **argv)
|
|||
if (!lwext4_mount(bd, bc))
|
||||
return EXIT_FAILURE;
|
||||
|
||||
printf("ext4_dir_mk /mp/dev\n");
|
||||
puts("ext4_dir_mk /mp/dev");
|
||||
err = ext4_dir_mk("/mp/dev");
|
||||
if (err != EOK) {
|
||||
printf("ext4_dir_mk error: %d \n", err);
|
||||
printf("ext4_dir_mk error: %d\n", err);
|
||||
}
|
||||
|
||||
printf("ext4_mknod /mp/dev/console\n");
|
||||
puts("ext4_mknod /mp/dev/console");
|
||||
err = ext4_mknod("/mp/dev/console", EXT4_DE_CHRDEV, MKDEV(5, 1));
|
||||
if (err != EOK) {
|
||||
printf("ext4_mknod error: %d \n", err);
|
||||
printf("ext4_mknod error: %d\n", err);
|
||||
return EXIT_FAILURE;
|
||||
}
|
||||
puts("ext4_mknod /mp/dev/ram0");
|
||||
err = ext4_mknod("/mp/dev/ram0", EXT4_DE_BLKDEV, MKDEV(1, 0));
|
||||
if (err != EOK) {
|
||||
printf("ext4_mknod error: %d\n", err);
|
||||
return EXIT_FAILURE;
|
||||
}
|
||||
puts("ext4_mknod /mp/dev/ram1");
|
||||
err = ext4_mknod("/mp/dev/ram1", EXT4_DE_BLKDEV, MKDEV(1, 1));
|
||||
if (err != EOK) {
|
||||
printf("ext4_mknod error: %d\n", err);
|
||||
return EXIT_FAILURE;
|
||||
}
|
||||
|
||||
copy_file("/usr/bin/kaem", "/mp/init");
|
||||
copy_file("/sysa/after2.kaem", "/mp/kaem.run");
|
||||
copy_file_list("/sysa/lwext4-1.0.0-lb1/files/fiwix-file-list.txt");
|
||||
printf("ext4_dir_mk /mp/tmp\n");
|
||||
puts("ext4_dir_mk /mp/tmp");
|
||||
ext4_dir_mk("/mp/tmp");
|
||||
printf("ext4_dir_mk /mp/usr\n");
|
||||
puts("ext4_dir_mk /mp/usr");
|
||||
ext4_dir_mk("/mp/usr");
|
||||
printf("ext4_dir_mk /mp/usr/src\n");
|
||||
puts("ext4_dir_mk /mp/usr/src");
|
||||
ext4_dir_mk("/mp/usr/src");
|
||||
|
||||
if (!lwext4_umount())
|
||||
return EXIT_FAILURE;
|
||||
|
||||
printf("Fiwix ext2 initrd created successfully.\n");
|
||||
puts("Fiwix ext2 initrd created successfully.");
|
||||
return EXIT_SUCCESS;
|
||||
}
|
||||
|
|
|
@ -1 +1 @@
|
|||
0a3f0012c01cb5aee0643f1674f265e68b5eeadb37596bcc4fe60aad55c9d3d7 /usr/bin/make_fiwix_initrd
|
||||
a1c3fc496659b55e3600c06c76c374b76da5f19d153f44dbf5796fe7a0d8283d /usr/bin/make_fiwix_initrd
|
||||
|
|
|
@ -1 +1 @@
|
|||
aa57178c15d44020d30cc893a5cf75278a38a801361f0373cf17600cf534c73c /usr/bin/make
|
||||
7dac94ec2651bb6ca9666c2234171ebe51278cbb7ff533ee84ab0fb1b3dd432e /usr/bin/make
|
||||
|
|
|
@ -1,14 +0,0 @@
|
|||
b2a48b2724a7b791df66efc2384a405a91d26579459a6797514dec89c2e76658 /usr/bin/mes
|
||||
148ce096422535832802494f1128c26b6580cf3b66635e56abb33f7b3fc26043 /usr/bin/mes-m2
|
||||
17c86665c2f925d88e3c1f827f312bbc7575b9e6006ef57833e895b6e73b8087 /usr/bin/mescc.scm
|
||||
4feafab424611c976dc4628aa862e37b4e92b5869aebbcf7655e684c3f589041 /usr/lib/x86-mes/crt1.s
|
||||
69e9ec2ee2ebf065575cdaf878629178b85330257dde0da790a428c0280d1ecb /usr/lib/x86-mes/crt1.o
|
||||
c9944a799d584abfa76f385c14ac0caf6f46d03b34bf2712493602b12826c6b2 /usr/lib/x86-mes/x86.M1
|
||||
d8646707db6aa2a76fdc5dbb3521376439e357f9f1de1d67f02a1afeefd342ac /usr/lib/x86-mes/libmescc.s
|
||||
7ec49fbcbc70b49648150b021a2ff9ab2b27e89eb8815919a7ffabe375ab1edc /usr/lib/x86-mes/libc+tcc.s
|
||||
b935d4c30213b49d899ab8bccce33117057ea0f3a1a8d3afc5e07fb8ce4590db /usr/lib/x86-mes/libc.s
|
||||
52f697278ccdff5e457f27e10f465a91ab9858f0c6cee0683831cadb3109bbb7 /usr/lib/x86-mes/libmescc.a
|
||||
840ee884db456e1982f40bce82209515a8e0b09bc404c4bc2a26d237bfa4d9ca /usr/lib/x86-mes/libc+tcc.a
|
||||
32be26479096c52dbffe9c8bf14765f753d6882c3ae43760eda03406c0cf2539 /usr/lib/x86-mes/libc.a
|
||||
b16ab368bc4c7b8bd896d03cba565a60e97760dea4da9f5c8a1a3d2902a79df6 /usr/lib/linux/x86-mes/elf32-header.hex2
|
||||
f9873d9aab12e70f24d97f8319e17a1e698ca60779ae9a6ab3ede648cd60fc61 /usr/lib/linux/x86-mes/elf32-footer-single-main.hex2
|
|
@ -0,0 +1,14 @@
|
|||
7493daf2b2777dcaddbc2fcdac7898b76b224ab3a6092deee03cddbda42e3185 /usr/bin/mes
|
||||
5729f623e8175ea5cbd611798b4765bc747e086344a9788d8162f2fc70b81fa5 /usr/bin/mes-m2
|
||||
8867e32ca3c3f50628918033bcb5e2773a0c92e3d7fe2fc1e802e6efb6348de5 /usr/bin/mescc.scm
|
||||
c66de1ba72b8019eee113271638e4e30543aa7d34f45c9cc751346dba0d8817c /usr/lib/x86_64-mes/crt1.s
|
||||
d0a80b94228deb99bda15244f0ed3736badd0632c78a3379195ba24a78f68a75 /usr/lib/x86_64-mes/crt1.o
|
||||
ff5640d78b9924dd40157596438da4108a97fe658806fbbadced38b4020395f4 /usr/lib/x86_64-mes/x86_64.M1
|
||||
684bfcde34f118026d875acf2dbe2e4a39dce96d5f938f534995b582ba1a4241 /usr/lib/x86_64-mes/libmescc.s
|
||||
aaee649b01e8792d87c3f4e3224d3af7b50ca8ff8990884176d3399fa533fac3 /usr/lib/x86_64-mes/libc+tcc.s
|
||||
53de3c338d82cb45848193b95d319b7a860d289a14824f1961c655b167aabd68 /usr/lib/x86_64-mes/libc.s
|
||||
ad1f1e390f675db2a3545aecc63df798d49317cad2ae5eadb9382df960bbd9f3 /usr/lib/x86_64-mes/libmescc.a
|
||||
de562df5c7232ee87629a4cf93ca63be9b91453f9a1538c1c62ad09c597840c9 /usr/lib/x86_64-mes/libc+tcc.a
|
||||
264bfb52a14957759e65c9c1224f0ca750713107586db367a2e235729797ecda /usr/lib/x86_64-mes/libc.a
|
||||
48c57492e80a99bf16eeba55e242b60b9e759992482b651d1b512f07ddd9a65a /usr/lib/linux/x86_64-mes/elf64-header.hex2
|
||||
94c796cb34a6e581491d0cf609e7fad01715c84a17b8b2017178a36568a80e48 /usr/lib/linux/x86_64-mes/elf64-footer-single-main.hex2
|
File diff suppressed because one or more lines are too long
|
@ -0,0 +1,14 @@
|
|||
4c722a7455db030122072f3bb7b2733a1b826460c1022308d314775685838447 /usr/bin/mes
|
||||
c149469a741b170bfe3da4e737b3d68490996cc957d593ea5555301de0329afc /usr/bin/mes-m2
|
||||
3296b313d02fe4a4f7ba37446b5cdf9e7c472426a942b7e7227fe7f9929ad97f /usr/bin/mescc.scm
|
||||
50441b03b915bd51fb811749901a56b3c42186b45f7f466dbf23337eafad520c /usr/lib/riscv64-mes/crt1.s
|
||||
a96a0a8f1b2dd1e5a7dad8264c92b5448be7d29aa7706d40d67be978d5ddc305 /usr/lib/riscv64-mes/crt1.o
|
||||
1511e99da81caa02490078c7a880ac97d439b6fec99cf846dc2044468e2444b8 /usr/lib/riscv64-mes/riscv64.M1
|
||||
8f7e94270c7cbb076ff5fe3cdd0d6c891537e7945e5aa4bdbf167867471bfbc2 /usr/lib/riscv64-mes/libmescc.s
|
||||
dc017df6d381bd13909f01eea43a9baf5210312715e1bb95c8d4df5f35566276 /usr/lib/riscv64-mes/libc+tcc.s
|
||||
409ef724a5f67bcfec1696e5f99d15b089e7e2b9d8c9a91134d6e2bcdb515d9c /usr/lib/riscv64-mes/libc.s
|
||||
5027a055f6c564417bf5194a9b43a8a93ae59d9a26ce75a55895f253a6aab2c2 /usr/lib/riscv64-mes/libmescc.a
|
||||
938cbb375ca287c3a3e19d3b86ccf1e805963f6b47c4f7fcf3c857edf77f19f3 /usr/lib/riscv64-mes/libc+tcc.a
|
||||
a994b9aeeff0b7a0cc36e0214848ede3b0dc9d11dd3986562713a672dcb6d3f6 /usr/lib/riscv64-mes/libc.a
|
||||
22ad5f7b6e5ea07b275619956bddd913b061d6ad492a442e4b6b2f28898e50ae /usr/lib/linux/riscv64-mes/elf64-header.hex2
|
||||
94c796cb34a6e581491d0cf609e7fad01715c84a17b8b2017178a36568a80e48 /usr/lib/linux/riscv64-mes/elf64-footer-single-main.hex2
|
|
@ -0,0 +1,14 @@
|
|||
bd873a7b98939a9430c278755db485daaaa92f8fc8990b5dcad6895d0f714db1 /usr/bin/mes
|
||||
6572d1298f3a25da5a3543b783ec8cb5798ccfe4b11dcaebffa633f47c246f84 /usr/bin/mes-m2
|
||||
5b158971c9bb6eceba00d438dc605fe186b46058b89e7118aca4037f5678834c /usr/bin/mescc.scm
|
||||
234c264965116a24583dd569050adc766d7cc2da83b1db38085210f26031b70c /usr/lib/x86-mes/crt1.s
|
||||
494f184a87175abc485a898c250c3831b2b5dcf5aead46591e00b39d1c5529fc /usr/lib/x86-mes/crt1.o
|
||||
8afe05c3e1e8848b6f3e8de751524de5f69818eb8524659827918e3fddde3e1e /usr/lib/x86-mes/x86.M1
|
||||
771988b1df0dfa04bf5f1ab72af18c32b1a8205a07f10e5235d79dac0a072b00 /usr/lib/x86-mes/libmescc.s
|
||||
89024362827679beffb4a70287d66609d07a3cf4a1972c1c40797bfa0324a49e /usr/lib/x86-mes/libc+tcc.s
|
||||
5ea659501bda293f9297b599b1385ed4d54bab0e6daf3207fc61429adc9abc78 /usr/lib/x86-mes/libc.s
|
||||
52f697278ccdff5e457f27e10f465a91ab9858f0c6cee0683831cadb3109bbb7 /usr/lib/x86-mes/libmescc.a
|
||||
7c737307c870d74a309cec58f6b67fa4961d582614f3ed0f39b5794e3705794a /usr/lib/x86-mes/libc+tcc.a
|
||||
db62874a6cebeb0652945cb91cb91ade9783e631aaef5ec279e11aeca6adc421 /usr/lib/x86-mes/libc.a
|
||||
82cac4353375a52efecc6fda1f8b37373988fe41ed197b63d8e906321b105d77 /usr/lib/linux/x86-mes/elf32-header.hex2
|
||||
f9873d9aab12e70f24d97f8319e17a1e698ca60779ae9a6ab3ede648cd60fc61 /usr/lib/linux/x86-mes/elf32-footer-single-main.hex2
|
|
@ -1,2 +1,2 @@
|
|||
https://mirrors.kernel.org/gnu/mes/mes-0.24.2.tar.gz 7ddae0854e46ebfa18c13ab37e64839a7b86ea88aeed366a8d017efd11dae86e
|
||||
https://mirrors.kernel.org/gnu/mes/mes-0.25.tar.gz 325250b3567ed9203ba70161c835af01079e73ebed97b4b5bb77ca500b828940
|
||||
https://download.savannah.gnu.org/releases/nyacc/nyacc-1.00.2.tar.gz f36e4fb7dd524dc3f4b354d3d5313f69e7ce5a6ae93711e8cf6d51eaa8d2b318
|
|
@ -1 +0,0 @@
|
|||
https://musl.libc.org/releases/musl-1.2.3.tar.gz 7d5b0b6062521e4627e099e4c9dc8248d32a30285e959b7eecaa780cf8cfd4a4
|
|
@ -0,0 +1 @@
|
|||
https://musl.libc.org/releases/musl-1.2.4.tar.gz 7a35eae33d5372a7c0da1188de798726f68825513b7ae3ebe97aaaa52114f039
|
|
@ -1 +1 @@
|
|||
0ad4338d5aaf61d126984508172e731da3162fea3d46b9fb34b2dc71beb96a1c /usr/bin/patch
|
||||
cdb22238dfa7f659c3d7afae6e93f27b4c84a40e082b20bc78a8b19a0dc79536 /usr/bin/patch
|
||||
|
|
|
@ -15,8 +15,8 @@ cd build
|
|||
|
||||
# Extract
|
||||
cp ${distfiles}/${pkg}.tar.gz ../src/
|
||||
gzip -d -f ../src/${pkg}.tar.gz
|
||||
tar xf ../src/${pkg}.tar
|
||||
ungz --file ../src/${pkg}.tar.gz --output ../src/${pkg}.tar
|
||||
untar --file ../src/${pkg}.tar
|
||||
cd ${pkg}
|
||||
cp ../../mk/main.mk Makefile
|
||||
|
||||
|
|
|
@ -39,6 +39,12 @@ cd ${pkg}
|
|||
kaem --file ${pkg}.kaem
|
||||
cd ..
|
||||
|
||||
# patch
|
||||
pkg="patch-2.5.9"
|
||||
cd ${pkg}
|
||||
kaem --file ${pkg}.kaem
|
||||
cd ..
|
||||
|
||||
# gzip
|
||||
pkg="gzip-1.2.4"
|
||||
cd ${pkg}
|
||||
|
@ -57,12 +63,6 @@ cd ${pkg}
|
|||
kaem --file ${pkg}.kaem
|
||||
cd ..
|
||||
|
||||
# patch
|
||||
pkg="patch-2.5.9"
|
||||
cd ${pkg}
|
||||
kaem --file ${pkg}.kaem
|
||||
cd ..
|
||||
|
||||
# bzip2
|
||||
pkg="bzip2-1.0.8"
|
||||
cd ${pkg}
|
||||
|
|
|
@ -15,11 +15,11 @@ M2-Mesoplanet --architecture ${ARCH} -f checksum-transcriber.c -o ${bindir}/chec
|
|||
sha256sum -c checksum-transcriber.${ARCH}.SHA256SUM
|
||||
|
||||
# simple patch tool based on before and after chunks
|
||||
M2-Mesoplanet --architecture x86 -f simple-patch.c -o /x86/bin/simple-patch
|
||||
M2-Mesoplanet --architecture x86 -f simple-patch.c -o ${bindir}/simple-patch
|
||||
|
||||
# Environmental variables needed for mes
|
||||
NYACC_PKG=nyacc-1.00.2
|
||||
MES_VERSION=0.24.2
|
||||
MES_VERSION=0.25
|
||||
MES_PKG=mes-${MES_VERSION}
|
||||
MES_PKG_DIR=${MES_PKG}
|
||||
MES_PREFIX=${sysa}/${MES_PKG}/build/${MES_PKG_DIR}
|
||||
|
@ -57,7 +57,7 @@ fi
|
|||
|
||||
if match x${BUILD_FIWIX} xTrue; then
|
||||
# The Fiwix kernel
|
||||
pkg="fiwix-1.4.0-lb1"
|
||||
pkg="fiwix-1.4.0-lb3"
|
||||
cd ${pkg}
|
||||
kaem --verbose --file ${pkg}.kaem
|
||||
cd ..
|
||||
|
|
47
sysa/run2.sh
47
sysa/run2.sh
|
@ -25,16 +25,26 @@ create_sysb() {
|
|||
}
|
||||
|
||||
go_sysb() {
|
||||
# Mount proc for kexec
|
||||
mkdir /proc /etc
|
||||
mount -t proc proc /proc
|
||||
# kexec time
|
||||
echo "Loading kernel + sysb initramfs using kexec"
|
||||
kexec -l "/boot/linux-4.9.10" --console-serial \
|
||||
--initrd="/boot/initramfs-sysb.cpio.gz" \
|
||||
--append="init=/init console=ttyS0"
|
||||
echo "kexecing into sysb"
|
||||
kexec -e
|
||||
if [ "${KERNEL_BOOTSTRAP}" = True ]; then
|
||||
kexec-linux "/dev/ram1" "/boot/linux-4.9.10" "/boot/initramfs-sysb.cpio.gz"
|
||||
else
|
||||
# Mount proc for kexec
|
||||
mkdir /proc /etc
|
||||
mount -t proc proc /proc
|
||||
# kexec time
|
||||
echo "Loading kernel + sysb initramfs using kexec"
|
||||
if [ "${BARE_METAL}" = True ]; then
|
||||
kexec -l "/boot/linux-4.9.10" \
|
||||
--initrd="/boot/initramfs-sysb.cpio.gz" \
|
||||
--append="init=/init"
|
||||
else
|
||||
kexec -l "/boot/linux-4.9.10" --console-serial \
|
||||
--initrd="/boot/initramfs-sysb.cpio.gz" \
|
||||
--append="init=/init console=ttyS0"
|
||||
fi
|
||||
echo "kexecing into sysb"
|
||||
kexec -e
|
||||
fi
|
||||
}
|
||||
|
||||
build automake-1.15.1
|
||||
|
@ -53,7 +63,7 @@ build gcc-4.0.4 pass1.sh
|
|||
|
||||
build findutils-4.2.33
|
||||
|
||||
build musl-1.2.3
|
||||
build musl-1.2.4
|
||||
|
||||
build linux-headers-5.10.41 '' '' linux-5.10.41
|
||||
|
||||
|
@ -75,33 +85,30 @@ build bc-1.07.1
|
|||
|
||||
if [ "${CHROOT}" = False ] || [ "${BUILD_KERNELS}" = True ]; then
|
||||
# Save because linux deletes all distfiles to save space
|
||||
cp "${DISTFILES}"/musl-1.2.3.tar.gz "${SOURCES}"/musl-1.2.3
|
||||
cp "${DISTFILES}"/musl-1.2.4.tar.gz "${SOURCES}"/musl-1.2.4
|
||||
fi
|
||||
|
||||
mkdir -p /sysc/distfiles
|
||||
cp "${DISTFILES}"/curl-7.88.1.tar.bz2 /sysc/distfiles
|
||||
|
||||
# Clear up some RAM space
|
||||
grep --no-filename '^build' "${SOURCES}"/run*.sh | grep -v musl-1.2.3 | sed "s/build //" | sed "s/ .*$//" | while read -r p ; do
|
||||
grep --no-filename '^build' "${SOURCES}"/run*.sh | grep -v musl-1.2.4 | sed "s/build //" | sed "s/ .*$//" | while read -r p ; do
|
||||
rm -rf "${SOURCES:?}/${p:?}"
|
||||
done
|
||||
|
||||
if [ "${CHROOT}" = False ] || [ "${BUILD_KERNELS}" = True ]; then
|
||||
build kexec-linux-1.0.0
|
||||
|
||||
build kexec-tools-2.0.22
|
||||
|
||||
build linux-4.9.10
|
||||
fi
|
||||
|
||||
build musl-1.2.3 '' no-patches
|
||||
build musl-1.2.4 '' no-patches
|
||||
|
||||
if [ "${CHROOT}" = False ]; then
|
||||
create_sysb
|
||||
if [ "${KERNEL_BOOTSTRAP}" = True ]; then
|
||||
echo "Kernel bootstrapping successful."
|
||||
echo "NOTE: Transition to Linux and building remaining packages is under development."
|
||||
else
|
||||
go_sysb
|
||||
fi
|
||||
go_sysb
|
||||
else
|
||||
# In chroot mode transition directly into System C.
|
||||
SYSC=/sysc_image
|
||||
|
|
|
@ -1 +1 @@
|
|||
bf0d4ef807c706a2b201c7d132c70314ad96aa24353d444bcaed4eca6c95a528 /usr/bin/sed
|
||||
27dbc29d04ad2a2905ab56c198660510010377062d716bc791a8d0e281fec4d4 /usr/bin/sed
|
||||
|
|
|
@ -1 +1 @@
|
|||
Subproject commit fe529ef2e1053cb0551fb71276f9ced9fe229d87
|
||||
Subproject commit a5c382e9ab5d070d192841122e453ca72754eec1
|
|
@ -1 +1 @@
|
|||
2186b01ab8d953222f15cab0d257f80215f4a17c53b30a5a7467b80e49c2cc34 /usr/bin/tar
|
||||
0b14f1849c2c8dab671399905753e0503f7ba60bfc807b0be13132da6c9814e9 /usr/bin/tar
|
||||
|
|
|
@ -1 +1 @@
|
|||
https://lilypond.org/janneke/tcc/tcc-0.9.26-1136-g5bba73cc.tar.gz 23cacd448cff2baf6ed76c2d1e2d654ff4e557046e311dfb6be7e1c631014ef8 tcc-0.9.26.tar.gz
|
||||
https://lilypond.org/janneke/tcc/tcc-0.9.26-1147-gee75a10c.tar.gz 6b8cbd0a5fed0636d4f0f763a603247bc1935e206e1cc5bda6a2818bab6e819f tcc-0.9.26.tar.gz
|
||||
|
|
|
@ -1,13 +0,0 @@
|
|||
7897c2ba182e92765856a9e3ddd2bdfcd69988b3ddc45b3ef932dc3ec041041a /usr/bin/mes-tcc
|
||||
64bdb36f0048744957454b6ad186d37db4a7fcc392f67bf052b9bc7ec033b963 /usr/bin/boot0-tcc
|
||||
18af79e0e3c4bfeaced2b0867561bc9fd370cbfcc78860de5a70926374ba7c53 /usr/bin/boot1-tcc
|
||||
d6fa0c2006f6c8fefb4f3750fade14aa884670637098857d06aef3c7a9bd02d8 /usr/bin/boot2-tcc
|
||||
93b2c1c567f5938435fbe6c0115276f6073bd46a0a92791b164ca2752180caf5 /usr/bin/boot3-tcc
|
||||
a40305e6d2acb3dc64dbc80f64952431f4728eeff03f6e7c91c737cbf6e1bdda /usr/bin/boot4-tcc
|
||||
c56d99e284dfecae047e792b049c0cee022452f13262d6b3c869ec1c9935b276 /usr/bin/tcc
|
||||
96f93f2d281ee6996767b25fbff4441e8335e7eeaeab060c1d4b698366b277c9 /usr/lib/mes/libc.a
|
||||
12c07ae103e7e3b390150a79e5c600d88de14e9bb73a066f6342582729ef5a3f /usr/lib/mes/libgetopt.a
|
||||
d1168ee9b528e39f0b40e8d51fb7fa3619c4a5ee928137f7faf6d0879b0916b0 /usr/lib/mes/crt1.o
|
||||
09d4f9821a2566f7e56381a19259c41bd97f3c5ed83f490705acbfd1139a7736 /usr/lib/mes/crti.o
|
||||
461ca1494737fab86fe1c1d3addeaf9d0ece413e353abcdea8674db3f700cda3 /usr/lib/mes/crtn.o
|
||||
ac11f09698f092ed76ae40ebcd56cf3f2b903ea1333ef7537a00673dd6f73da7 /usr/lib/mes/tcc/libtcc1.a
|
File diff suppressed because one or more lines are too long
|
@ -0,0 +1,10 @@
|
|||
22c74eec2ee1694247fae2958979c2326bab41ecbf5ba279b38417f63bf8892d /usr/bin/tcc-mes
|
||||
4aff7e61488c03322a682a086405831aa4d99681b2761ddc8b0a76888395a11b /usr/bin/tcc-boot0
|
||||
9973b5e730c0b9d65aa0ad2332a51adbb247546478d2e86697bba6de4f2f03fc /usr/bin/tcc-boot1
|
||||
5b5b131cc6bb7f62b11bc99092a1e48c2975af00c7d22fb52de5f561dbdc749a /usr/bin/tcc
|
||||
93fbb5473bfaf2abaf6598a21dd5f0ac3c6237bfa15bc0c85328608233de55bc /usr/lib/mes/libc.a
|
||||
98e2d2d543a113c82c8de39f32d4d43b1fe7f3159c5956c5e3224e7f4162601f /usr/lib/mes/libgetopt.a
|
||||
c05ad094fbadc8914806566c4ee512c6deb92b2b8d33325a607c3577826b8a54 /usr/lib/mes/crt1.o
|
||||
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 /usr/lib/mes/crti.o
|
||||
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 /usr/lib/mes/crtn.o
|
||||
ec63d619a871831066e028e63a5b9e48ceeeffee91d9556bfcc41724d59bd3f8 /usr/lib/mes/tcc/libtcc1.a
|
|
@ -0,0 +1,10 @@
|
|||
df26fbd23970aabf234c4788079a48f12b6ca371edf35108d91b6a48df6123e1 /usr/bin/tcc-mes
|
||||
bf1740e71fc255b9debb5dc8211ea640c7a7fcf46b20c81657dcfa4fb4de3d07 /usr/bin/tcc-boot0
|
||||
627e9263fb7746a0356937d514cf4eb2fb688b36c8a4101a35f62c55e246c3a1 /usr/bin/tcc-boot1
|
||||
dca963a46a4b9828bb279201486a90b2f6db8aa6ff2cbb270f2c9838f8af9fdd /usr/bin/tcc
|
||||
3bfd10dfe347c4fb40fbf5f2f705cd806c77e0f80cf4ad1ecfd4beddada2937c /usr/lib/mes/libc.a
|
||||
12c07ae103e7e3b390150a79e5c600d88de14e9bb73a066f6342582729ef5a3f /usr/lib/mes/libgetopt.a
|
||||
76d280e0733f2c84aad180968167d789a825ac56526bddba4f100d6d74851027 /usr/lib/mes/crt1.o
|
||||
09d4f9821a2566f7e56381a19259c41bd97f3c5ed83f490705acbfd1139a7736 /usr/lib/mes/crti.o
|
||||
461ca1494737fab86fe1c1d3addeaf9d0ece413e353abcdea8674db3f700cda3 /usr/lib/mes/crtn.o
|
||||
136f97c356445ef95c35ae1b6fb2f7a0546e3cf47b45cb4ee79d0a8f29cd04b4 /usr/lib/mes/tcc/libtcc1.a
|
|
@ -1 +1 @@
|
|||
e5f00ef66c5796f436089d3f6e67af001182e6fbb439d13bb65eef8cf82f5973 /usr/bin/tcc
|
||||
428251dc2b2de01b9cfe27b3bfd5c8fdc170e442027361e7070f3bc41841a4b7 /usr/bin/tcc
|
||||
|
|
File diff suppressed because one or more lines are too long
|
@ -37,7 +37,10 @@ install_tar util-linux-2.19.1 0
|
|||
# Begin sysb bootstrapping process
|
||||
cd "${SOURCES}"
|
||||
|
||||
echo "PREFIX=${PREFIX}" > .env
|
||||
echo "SOURCES=${SOURCES}" >> .env
|
||||
cat > .env <<- EOF
|
||||
export PATH=${PATH}
|
||||
PREFIX=${PREFIX}
|
||||
SOURCES=${SOURCES}
|
||||
EOF
|
||||
|
||||
exec ./run.sh
|
||||
exec env -i bash run.sh
|
||||
|
|
16
sysb/run.sh
16
sysb/run.sh
|
@ -65,17 +65,17 @@ if [ -z "${DISK}" ] || ! [ -e "/dev/${DISK}" ]; then
|
|||
echo "DISK=${DISK}" >> /usr/src/bootstrap.cfg
|
||||
fi
|
||||
|
||||
# Is it a full disk, and not a partition
|
||||
# Is it a full disk, and not a partition?
|
||||
# shellcheck disable=SC2012
|
||||
if [ $(($(ls -l "/dev/${DISK}" | sed "s/.*, *//" | sed "s/ .*//") % 8)) -eq 0 ]; then
|
||||
if ! fdisk -l "/dev/${DISK}" | grep -qE "${DISK}p?[0-9]" ; then
|
||||
echo "Creating partition table and partition"
|
||||
echo ";" | sfdisk "/dev/${DISK}"
|
||||
mkfs.ext4 "/dev/${DISK}1"
|
||||
DISK="${DISK}1"
|
||||
fi
|
||||
echo "Creating partition table..."
|
||||
echo ";" | sfdisk "/dev/${DISK}"
|
||||
fdisk -l "/dev/${DISK}"
|
||||
echo "Creating ext4 partition..."
|
||||
mkfs.ext4 "/dev/${DISK}1"
|
||||
DISK="${DISK}1"
|
||||
fi
|
||||
echo "export DISK=${DISK}" >> /usr/src/bootstrap.cfg
|
||||
echo "DISK=${DISK}" >> /usr/src/bootstrap.cfg
|
||||
|
||||
SYSC=/sysc
|
||||
|
||||
|
|
2
sysc.py
2
sysc.py
|
@ -37,7 +37,7 @@ class SysC(SysGeneral):
|
|||
|
||||
if self.external_sources:
|
||||
if create_disk_image:
|
||||
rootfs_dir = self._tmpdir.mount_disk("sysc")
|
||||
rootfs_dir = self._tmpdir.mount_disk("sysc", size="16G")
|
||||
else:
|
||||
rootfs_dir = self.tmp_dir
|
||||
source_manifest = self.get_source_manifest()
|
||||
|
|
|
@ -4,7 +4,35 @@
|
|||
# SPDX-License-Identifier: MIT
|
||||
|
||||
# Replace this hook if you wish to do more
|
||||
|
||||
# Add Dev Nodes
|
||||
# Disk Nodes
|
||||
# 3 disks 3 partitions
|
||||
major=0
|
||||
alpha="a b c"
|
||||
# For each disk...
|
||||
for a in ${alpha}; do
|
||||
mknod -m 600 "/dev/sd${a}" b 8 "$((major*16))"
|
||||
#For each partition do...
|
||||
minor=1
|
||||
for p in $(seq 3); do
|
||||
mknod -m 600 "/dev/sd${a}${p}" b 8 "$((major*16+minor++))"
|
||||
done
|
||||
((major++))
|
||||
done
|
||||
# NVME Nodes
|
||||
# 3 NVME disk with 3 partitions
|
||||
major=0
|
||||
# For each disk...
|
||||
for a in $(seq 3); do
|
||||
mknod -m 600 "/dev/nvme${a}" c 259 0 # NVME CHAR node
|
||||
mknod -m 600 "/dev/nvme${a}n1" b 259 "$((major))"
|
||||
((major++))
|
||||
# For each partition...
|
||||
for q in $(seq 3); do
|
||||
mknod -m 600 "/dev/nvme${a}n1p${q}" b 259 "$((major++))"
|
||||
done
|
||||
done
|
||||
# add cd-rom drive
|
||||
mknod -m 600 /dev/sr0 b 11 0
|
||||
. /usr/src/.env
|
||||
|
||||
exec env - PATH="${PREFIX}/bin" PS1="\w # " bash -i
|
||||
|
|
|
@ -15,13 +15,13 @@ src_prepare() {
|
|||
src_compile() {
|
||||
(
|
||||
set -e
|
||||
export PKG_CONFIG_PATH="${LIBDIR}/pkgconfig"
|
||||
declare -x PKG_CONFIG_PATH="${LIBDIR}/pkgconfig"
|
||||
sed -i "s/make install/make install DESTDIR=\${DESTDIR}/" bootstrap_tarball.sh
|
||||
sed -i "/make check/d" bootstrap_tarball.sh
|
||||
export FINALPREFIX="${PREFIX}"
|
||||
export GUILE_STATIC="--static"
|
||||
export GNULIBDIR="${PWD}"/../gnulib-8f4538a5
|
||||
export MAN_PAGE_DATE=1970-01-01
|
||||
declare -x FINALPREFIX="${PREFIX}"
|
||||
declare -x GUILE_STATIC="--static"
|
||||
declare -x GNULIBDIR="${PWD}"/../gnulib-8f4538a5
|
||||
declare -x MAN_PAGE_DATE=1970-01-01
|
||||
|
||||
SKIP_MAIN=1 . ./bootstrap_tarball.sh
|
||||
prepare_tarball
|
||||
|
@ -41,7 +41,7 @@ src_compile() {
|
|||
|
||||
SOURCE_DIR="$PWD" ./config/bootstrap
|
||||
# Specify timeout to avoid non-reproducibility
|
||||
./configure \
|
||||
CPPFLAGS=-D_LARGEFILE64_SOURCE=1 ./configure \
|
||||
--prefix="${FINALPREFIX}" \
|
||||
--libdir="${FINALPREFIX}/lib/i386-unknown-linux-musl" \
|
||||
--disable-shared \
|
||||
|
|
|
@ -1,43 +0,0 @@
|
|||
SPDX-FileCopyrightText: 2023 fosslinux <fosslinux@aussies.space>
|
||||
SPDX-FileCopyrightText: 2022 Thomas Schwinge <thomas@codesourcery.com>
|
||||
|
||||
SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
Backport of commit 25861cf3a88a07c8dca3fb32d098c0ad756bbe38
|
||||
|
||||
====
|
||||
With that, we may then run plain 'autoreconf' for all of GCC's subpackages,
|
||||
instead of for some of those (that don't use Automake) manually having to run
|
||||
the applicable combination of 'aclocal', 'autoconf', 'autoheader'.
|
||||
|
||||
See also 'AC_CONFIG_MACRO_DIRS'/'AC_CONFIG_MACRO_DIR' usage elsewhere.
|
||||
|
||||
diff --git gcc/configure.ac gcc/configure.ac
|
||||
index e1ef2ecf026..45bf7560e6f 100644
|
||||
--- gcc/configure.ac
|
||||
+++ gcc/configure.ac
|
||||
@@ -25,6 +25,7 @@
|
||||
|
||||
AC_INIT
|
||||
AC_CONFIG_SRCDIR(tree.cc)
|
||||
+AC_CONFIG_MACRO_DIRS([../config] [..])
|
||||
AC_CONFIG_HEADER(auto-host.h:config.in)
|
||||
|
||||
gcc_version=`cat $srcdir/BASE-VER`
|
||||
diff --git libobjc/configure libobjc/configure
|
||||
index a8fdc643349..6da20b8e4ff 100755
|
||||
diff --git libobjc/configure.ac libobjc/configure.ac
|
||||
index f8f577cfbef..6f58a45d4cb 100644
|
||||
--- libobjc/configure.ac
|
||||
+++ libobjc/configure.ac
|
||||
@@ -20,6 +20,7 @@
|
||||
|
||||
AC_INIT(package-unused, version-unused,, libobjc)
|
||||
AC_CONFIG_SRCDIR([objc/objc.h])
|
||||
+AC_CONFIG_MACRO_DIRS([../config] [..])
|
||||
GCC_TOPLEV_SUBDIRS
|
||||
|
||||
# We need the following definitions because AC_PROG_LIBTOOL relies on them
|
||||
--
|
||||
2.31.1
|
||||
|
|
@ -1,34 +0,0 @@
|
|||
SPDX-FileCopyrightText: 2023 fosslinux <fosslinux@aussies.space>
|
||||
SPDX-FileCopyrightText: 2022 Simon Marchi <simon.marchi@efficios.com>
|
||||
|
||||
SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
Backport of commit 1f237573caa5cf72218ea31fe78eb3983a717ca6
|
||||
|
||||
====
|
||||
|
||||
Add
|
||||
|
||||
AC_CONFIG_MACRO_DIRS([../config])
|
||||
|
||||
So that just running:
|
||||
|
||||
$ autoreconf -vf
|
||||
|
||||
... does the right thing (no need to specify -I ../config).
|
||||
|
||||
diff --git libiberty/configure.ac libiberty/configure.ac
|
||||
index 84a7b378fad..28d996f9cf7 100644
|
||||
--- libiberty/configure.ac
|
||||
+++ libiberty/configure.ac
|
||||
@@ -2,6 +2,7 @@ dnl Process this file with autoconf to produce a configure script
|
||||
|
||||
AC_INIT
|
||||
AC_CONFIG_SRCDIR([xmalloc.c])
|
||||
+AC_CONFIG_MACRO_DIRS([../config])
|
||||
|
||||
# This works around the fact that libtool configuration may change LD
|
||||
# for this particular configuration, but some shells, instead of
|
||||
--
|
||||
2.31.1
|
||||
|
|
@ -1,35 +0,0 @@
|
|||
SPDX-FileCopyrightText: 2023 fosslinux <fosslinux@aussies.space>
|
||||
SPDX-FileCopyrightText: 2020 Timo Teräs <timo.teras@iki.fi>
|
||||
|
||||
SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
The original motivation from this patch from Alpine Linux:
|
||||
|
||||
Subject: [PATCH] Alpine musl package provides libssp_nonshared.a. We link to
|
||||
it unconditionally, as otherwise we get link failures if some objects are
|
||||
-fstack-protector built and final link happens with -fno-stack-protector.
|
||||
This seems to be the common case when bootstrapping gcc, the piepatches do
|
||||
not seem to fully fix the crosstoolchain and bootstrap sequence wrt.
|
||||
stack-protector flag usage.
|
||||
|
||||
Which matches precisely the problem when compiling GCC with --enable-bootstrap
|
||||
in live-bootstrap.
|
||||
|
||||
---
|
||||
gcc/gcc.cc | 3 +--
|
||||
1 file changed, 1 insertion(+), 2 deletions(-)
|
||||
|
||||
diff --git gcc/gcc.cc gcc/gcc.cc
|
||||
index cc99d0b7aa1..c60a75371f8 100644
|
||||
--- gcc/gcc.cc
|
||||
+++ gcc/gcc.cc
|
||||
@@ -1004,8 +1004,7 @@ proper position among the other output files. */
|
||||
|
||||
#ifndef LINK_SSP_SPEC
|
||||
#ifdef TARGET_LIBC_PROVIDES_SSP
|
||||
-#define LINK_SSP_SPEC "%{fstack-protector|fstack-protector-all" \
|
||||
- "|fstack-protector-strong|fstack-protector-explicit:}"
|
||||
+#define LINK_SSP_SPEC "-lssp_nonshared"
|
||||
#else
|
||||
#define LINK_SSP_SPEC "%{fstack-protector|fstack-protector-all" \
|
||||
"|fstack-protector-strong|fstack-protector-explicit" \
|
|
@ -1 +0,0 @@
|
|||
http://ftp.gnu.org/gnu/gcc/gcc-12.2.0/gcc-12.2.0.tar.xz e549cf9cf3594a00e27b6589d4322d70e0720cdd213f39beb4181e06926230ff
|
|
@ -84,8 +84,6 @@ src_configure() {
|
|||
--host=i386-unknown-linux-musl \
|
||||
--enable-bootstrap \
|
||||
--enable-static \
|
||||
--enable-default-pie \
|
||||
--enable-default-ssp \
|
||||
--disable-plugins \
|
||||
--disable-libssp \
|
||||
--disable-libsanitizer \
|
|
@ -0,0 +1 @@
|
|||
https://ftp.gnu.org/gnu/gcc/gcc-13.1.0/gcc-13.1.0.tar.xz 61d684f0aa5e76ac6585ad8898a2427aade8979ed5e7f85492286c4dfc13ee86
|
13
sysc/init
13
sysc/init
|
@ -45,7 +45,7 @@ install_tar binutils-2.30 0
|
|||
install_tar bzip2-1.0.8 0
|
||||
install_tar bison-3.4.1 2
|
||||
install_tar coreutils-6.10 0
|
||||
install_tar dhcpcd-9.5.0 0
|
||||
install_tar dhcpcd-10.0.1 0
|
||||
install_tar diffutils-2.7 0
|
||||
install_tar findutils-4.2.33 0
|
||||
install_tar flex-2.6.4 0
|
||||
|
@ -57,7 +57,7 @@ install_tar libtool-2.2.4 0
|
|||
install_tar linux-headers-5.10.41 0
|
||||
install_tar m4-1.4.7 0
|
||||
install_tar make-3.82 0
|
||||
install_tar musl-1.2.3 1
|
||||
install_tar musl-1.2.4 1
|
||||
install_tar perl-5.6.2 0
|
||||
install_tar util-linux-2.19.1 0
|
||||
|
||||
|
@ -68,9 +68,9 @@ ln -s /usr/bin/bash /usr/bin/sh
|
|||
cd "${SOURCES}"
|
||||
|
||||
cat > .env <<- EOF
|
||||
export PATH="${PREFIX}/bin:${PREFIX}/sbin"
|
||||
export HOME=/tmp
|
||||
export SOURCE_DATE_EPOCH=0
|
||||
export PATH=${PATH}
|
||||
export HOME=${HOME}
|
||||
export SOURCE_DATE_EPOCH=${SOURCE_DATE_EPOCH}
|
||||
PREFIX=${PREFIX}
|
||||
LIBDIR=${LIBDIR}
|
||||
SOURCES=${SOURCES}
|
||||
|
@ -78,6 +78,7 @@ DESTDIR=${DESTDIR}
|
|||
DISTFILES=${DISTFILES}
|
||||
SRCDIR=${SRCDIR}
|
||||
MAKEJOBS=${MAKEJOBS}
|
||||
INTERNAL_CI=${INTERNAL_CI}
|
||||
EOF
|
||||
|
||||
exec ./run.sh
|
||||
exec env -i bash run.sh
|
||||
|
|
|
@ -1 +0,0 @@
|
|||
https://musl.libc.org/releases/musl-1.2.3.tar.gz 7d5b0b6062521e4627e099e4c9dc8248d32a30285e959b7eecaa780cf8cfd4a4
|
|
@ -14,19 +14,11 @@ src_configure() {
|
|||
|
||||
src_compile() {
|
||||
make "${MAKEJOBS}" CROSS_COMPILE=
|
||||
|
||||
# Provide libssp_nonshared.a to avoid GCC's messy libssp
|
||||
# (Taken from Alpine Linux)
|
||||
gcc -c __stack_chk_fail_local.c -o __stack_chk_fail_local.o
|
||||
ar r libssp_nonshared.a __stack_chk_fail_local.o
|
||||
}
|
||||
|
||||
src_install() {
|
||||
default
|
||||
|
||||
# Install libssp_nonshared.a
|
||||
install -m 644 libssp_nonshared.a "${DESTDIR}${PREFIX}/lib/"
|
||||
|
||||
# Make dynamic linker symlink relative in ${PREFIX}/lib
|
||||
rm "${DESTDIR}/lib/ld-musl-i386.so.1"
|
||||
rmdir "${DESTDIR}/lib"
|
|
@ -0,0 +1 @@
|
|||
https://musl.libc.org/releases/musl-1.2.4.tar.gz 7a35eae33d5372a7c0da1188de798726f68825513b7ae3ebe97aaaa52114f039
|
|
@ -23,7 +23,7 @@ src_configure() {
|
|||
}
|
||||
|
||||
src_compile() {
|
||||
export SOURCE_DATE_EPOCH=1638831119
|
||||
declare -x SOURCE_DATE_EPOCH=1638831119
|
||||
default
|
||||
}
|
||||
|
||||
|
|
|
@ -1 +1 @@
|
|||
http://gentoo.osuosl.org/distfiles/pkg-config-0.29.2.tar.gz 6fc69c01688c9458a57eb9a1664c9aba372ccda420a02bf4429fe610e7e7d591
|
||||
http://distfiles.macports.org/pkgconfig/pkg-config-0.29.2.tar.gz 6fc69c01688c9458a57eb9a1664c9aba372ccda420a02bf4429fe610e7e7d591
|
||||
|
|
|
@ -0,0 +1,36 @@
|
|||
SPDX-FileCopyrightText: 2011 Antoine Pitrou <solipsis@pitrou.net>
|
||||
|
||||
SPDX-License-Identifier: PSF-2.0
|
||||
|
||||
Don't run pgen twice when using make -j
|
||||
Don't ignore pgen error (on "make Parser/pgen.stamp")
|
||||
|
||||
diff --git a/Makefile.pre.in b/Makefile.pre.in
|
||||
index 25a82aff01..03f85fd04b 100644
|
||||
--- Makefile.pre.in
|
||||
+++ Makefile.pre.in
|
||||
@@ -471,10 +471,12 @@ Modules/getpath.o: $(srcdir)/Modules/getpath.c Makefile
|
||||
Modules/python.o: $(srcdir)/Modules/python.c
|
||||
$(MAINCC) -c $(PY_CFLAGS) -o $@ $(srcdir)/Modules/python.c
|
||||
|
||||
-
|
||||
-$(GRAMMAR_H) $(GRAMMAR_C): $(PGEN) $(GRAMMAR_INPUT)
|
||||
+# Use a stamp file to prevent make -j invoking pgen twice
|
||||
+$(GRAMMAR_H) $(GRAMMAR_C): Parser/pgen.stamp
|
||||
+Parser/pgen.stamp: $(PGEN) $(GRAMMAR_INPUT)
|
||||
-@ mkdir Include
|
||||
- -$(PGEN) $(GRAMMAR_INPUT) $(GRAMMAR_H) $(GRAMMAR_C)
|
||||
+ $(PGEN) $(GRAMMAR_INPUT) $(GRAMMAR_H) $(GRAMMAR_C)
|
||||
+ -touch Parser/pgen.stamp
|
||||
|
||||
$(PGEN): $(PGENOBJS)
|
||||
$(CC) $(OPT) $(LDFLAGS) $(PGENOBJS) $(LIBS) -o $(PGEN)
|
||||
@@ -1030,7 +1032,7 @@ clean: pycremoval
|
||||
|
||||
clobber: clean
|
||||
-rm -f $(BUILDPYTHON) $(PGEN) $(LIBRARY) $(LDLIBRARY) $(DLLLIBRARY) \
|
||||
- tags TAGS \
|
||||
+ tags TAGS Parser/pgen.stamp \
|
||||
config.cache config.log pyconfig.h Modules/config.c
|
||||
-rm -rf build platform
|
||||
-rm -rf $(PYTHONFRAMEWORKDIR)
|
|
@ -62,4 +62,4 @@ fi
|
|||
|
||||
build bash-5.2.15
|
||||
|
||||
exec env -i PATH="${PATH}" HOME="${HOME}" SOURCE_DATE_EPOCH="${SOURCE_DATE_EPOCH}" bash run2.sh
|
||||
exec env -i bash run2.sh
|
||||
|
|
|
@ -96,7 +96,7 @@ build sed-4.8
|
|||
|
||||
build autogen-5.18.16 autogen-5.18.16.sh
|
||||
|
||||
build musl-1.2.3
|
||||
build musl-1.2.4
|
||||
|
||||
build python-2.0.1 stage1.sh
|
||||
|
||||
|
@ -120,11 +120,13 @@ build python-3.8.16
|
|||
|
||||
build python-3.11.1
|
||||
|
||||
[ "${INTERNAL_CI}" = "pass2" ] && exit 0
|
||||
|
||||
build gcc-10.4.0
|
||||
|
||||
build binutils-2.38 pass2.sh
|
||||
|
||||
build gcc-12.2.0
|
||||
build gcc-13.1.0
|
||||
|
||||
if [ "$FORCE_TIMESTAMPS" = True ] ; then
|
||||
echo 'Forcing all files timestamps to be 0 unix time.'
|
||||
|
|
Loading…
Reference in New Issue