Commit graph

2871 commits

Author SHA1 Message Date
Jonas 'Sortie' Termansen
7eb6a5f517 Modernize chroot(8). 2024-06-22 17:26:05 +02:00
Jonas 'Sortie' Termansen
3cb2bf4590 Prevent init(8) from using the tty when a daemon uses it. 2024-06-22 17:26:05 +02:00
Jonas 'Sortie' Termansen
e88c1ca56c Run daemons in their own session. 2024-06-22 17:26:05 +02:00
Jonas 'Sortie' Termansen
035cd9b1a2 Add init groups.
Every process now has an init process like it has a session, and each
session belong to an init. Orphaned processes are reparented to its init
process. All descendent processes are SIGKILL'd when an init process exits
and creating additional processes/threads fails.

Add setinit(2) for becoming the init process for your child processes and
add getinit(2) for locating your init process.

Add TIOCSCTTY force flag that releases a terminal from its current session
and makes it the controlling terminal for the current session. This ioctl
is essential to transferring the controlling terminal to a nested init,
which has its own session.

Add TIOCUCTTY that releases the terminal as the controlling terminal for
its current session.

Remove INIT_PID as it is replaced by getinit(2).
2024-06-22 17:26:05 +02:00
Jonas 'Sortie' Termansen
189e79d62d Add service(8). 2024-06-22 17:26:05 +02:00
Jonas 'Sortie' Termansen
08a834d932 Add checksum(1) --cache option. 2024-06-22 17:26:05 +02:00
Jonas 'Sortie' Termansen
504415bc22 Add php port. 2024-06-22 17:26:05 +02:00
Jonas 'Sortie' Termansen
7de016539a Revert "Update to perl-5.39.5."
This reverts commit 781ff8880f3e2d29e31460427bccf50cc1ec436e.

File/Spec was no longer being installed when --all-static, breaking
texinfo.
2024-06-22 17:26:05 +02:00
Jonas 'Sortie' Termansen
bc2cf40dab Update to perl-5.39.5. 2024-06-22 17:26:05 +02:00
Jonas 'Sortie' Termansen
e76b19fd2b Revert "Update to python-3.12.1."
This reverts commit 8ae8363167cc195f92803489e2f97391e2527c5f.

The libglib build broke due to no distutils module.
2024-06-22 17:26:05 +02:00
Jonas 'Sortie' Termansen
5cec2e2f55 Update to python-3.12.1. 2024-06-22 17:26:05 +02:00
Jonas 'Sortie' Termansen
4ba880938e Revert "Update to texinfo-7.1."
This reverts commit 9813bb1d13c625d48ecd950bfaafc274383ca049.

ffmpeg fails to build natively with the new makeinfo:

perl ./doc/texidep.pl . doc/ffmpeg-utils.texi doc/ffmpeg-utils.html >doc/ffmpeg-utils.html.d
makeinfo --html -I doc --no-split -D config-not-all --init-file=./doc/t2h.pm --output doc/ffmpeg-utils.html doc/ffmpeg-utils.texi
makeinfo: error parsing ./doc/t2h.pm: Undefined subroutine &Texinfo::Config::set_from_init_file called at ./doc/t2h.pm line 24.
2024-06-22 17:26:05 +02:00
Jonas 'Sortie' Termansen
005eb40d27 Update to texinfo-7.1. 2024-06-22 17:26:05 +02:00
Jonas 'Sortie' Termansen
adb08e530d Revert "Update to dash-0.5.12."
This reverts commit 16bedfc9630779c01ebae5513fd307e969c329de.

Something is wrong with the case pattern matching, maybe fnmatch?
2024-06-22 17:26:05 +02:00
Jonas 'Sortie' Termansen
544b52583e Update to dash-0.5.12. 2024-06-22 17:26:05 +02:00
Jonas 'Sortie' Termansen
8f879f75a3 Revert "Update to freetype-2.13.2."
This reverts commit 5ad1e5f6054dd1e44ecb955b9326c1198ef17ff0.

configure runs make and crashes on a stack overflow in make.
2024-06-22 17:26:05 +02:00
Jonas 'Sortie' Termansen
e5ae1e62e3 Update to freetype-2.13.2. 2024-06-22 17:26:05 +02:00
Jonas 'Sortie' Termansen
6b158f7795 Revert "Update to bison-3.8.2."
This reverts commit b82fae810b42c5426d21c4dc153b32f086dd7fde.
2024-06-22 17:26:05 +02:00
Jonas 'Sortie' Termansen
e74efce270 Update to bison-3.8.2. 2024-06-22 17:26:05 +02:00
Jonas 'Sortie' Termansen
372370f37d Revert "Schedule interactive threads fairly under load."
This reverts commit 47731b91c37933943a73010c5a4494101cce52dc.

There is a rare freeze when the scheduler fails to run anything.
2024-06-22 17:26:05 +02:00
Jonas 'Sortie' Termansen
8826615b48 Schedule interactive threads fairly under load.
Preempted threads are now removed from the runnable list until every
other thread has been preempted or the system goes idle. This ensures
threads that roundtrip to other threads get a full chance to perform
their work cooperatively without being starved by CPU intensive threads
whenever they yield.
2024-06-22 17:26:05 +02:00
Jonas 'Sortie' Termansen
1e2a1f155a Kinda fix pager(1) man bullet points. 2024-06-22 17:26:05 +02:00
Jonas 'Sortie' Termansen
257b3abe40 Fix ESP endian. 2024-06-22 17:26:05 +02:00
Jonas 'Sortie' Termansen
4ea8396b5d Support booting with EFI. 2024-06-22 17:26:05 +02:00
Jonas 'Sortie' Termansen
0871fa71c3 Add kernel(7) --firmware option. 2024-06-22 17:26:05 +02:00
Jonas 'Sortie' Termansen
f9a346a6dc Add fatfs(8). 2024-06-22 17:26:05 +02:00
Jonas 'Sortie' Termansen
ffafa81cd0 Add getty(8). 2024-06-22 17:26:05 +02:00
Jonas 'Sortie' Termansen
0ab8901f8b Add terminal and interrupt support to com(4). 2024-06-22 17:26:05 +02:00
Jonas 'Sortie' Termansen
8f4c3371f5 Add nyan(1). 2024-06-22 17:26:05 +02:00
Jonas 'Sortie' Termansen
e9bfbc8d03 Work around pty deadlock. 2024-06-22 17:26:05 +02:00
Jonas 'Sortie' Termansen
456e2ac596 Add cdrom mounting live environment. 2024-06-22 17:26:05 +02:00
Jonas 'Sortie' Termansen
faff59cffc Revert "Parallelize driver initialization."
This reverts commit 0fef08bbc4.
2024-06-22 17:26:05 +02:00
Jonas 'Sortie' Termansen
06fcbdb6ae Parallelize driver initialization. 2024-06-22 17:26:05 +02:00
Jonas 'Sortie' Termansen
3fe2a32914 Speed up ata(4) 400 ns waits.
Waiting for any non-zero duration currently waits for at least one timer
cycle (10 ms), which is especially expensive during early boot.

The current workaround of simply reading the status 14 times seems really
suspicious although the osdev wiki documents it, but let's see how well it
works on real hardware, it's probably good enough.

Try to determine the initial selected drive to save one drive selection.
2024-06-22 17:26:05 +02:00
Jonas 'Sortie' Termansen
a9b15bffe6 Decrease PS/2 timeouts. 2024-06-22 17:26:05 +02:00
Jonas 'Sortie' Termansen
35e68109c9 Add uptime(1) -pr options. 2024-06-22 17:26:05 +02:00
Jonas 'Sortie' Termansen
5248220e40 Add iso9660 filesystem implementation. 2024-06-22 17:26:05 +02:00
Jonas 'Sortie' Termansen
35f4d2f000 Add kernel virtual address space usage debug information. 2024-06-22 17:26:05 +02:00
Jonas 'Sortie' Termansen
9d317c462e Debug TCP socket state listing. 2024-06-22 17:26:05 +02:00
Jonas 'Sortie' Termansen
250b95616b Add kernel heap allocation tracing debug facility. 2024-06-22 17:26:05 +02:00
Jonas 'Sortie' Termansen
204576b7a8 Trianglix 4. 2024-06-22 17:26:05 +02:00
Jonas 'Sortie' Termansen
8e3e058fd6 Add tix-check(8). 2024-06-22 17:26:05 +02:00
Jonas 'Sortie' Termansen
bf2d489da1 Volatile release. 2024-06-22 17:26:05 +02:00
Jonas 'Sortie' Termansen
d3d339b616 Add tix-upgrade(8). 2024-06-22 17:26:05 +02:00
Jonas 'Sortie' Termansen
83ac75a083 Add tix-repository(8).
Support renaming, splitting, and deleting ports via RENAMES.

Unify on RUNTIME_DEPS for runtime dependencies.
2024-06-22 17:26:05 +02:00
Jonas 'Sortie' Termansen
cc182e7912 Add signify port. 2024-06-22 17:26:05 +02:00
Jonas 'Sortie' Termansen
d75c716891 Add pty(1). 2024-06-22 17:26:05 +02:00
Jonas 'Sortie' Termansen
704ddbe061 Add getaddrinfo(1). 2024-06-22 17:26:05 +02:00
Jonas 'Sortie' Termansen
96d4615aee Enable stack smash protection by default. 2024-06-22 17:26:05 +02:00
Jonas 'Sortie' Termansen
12a69346a0 Enable undefined behavior sanitization by default. 2024-06-22 17:26:05 +02:00