Commit graph

2741 commits

Author SHA1 Message Date
Jonas 'Sortie' Termansen
ccf98df93c Handle SIGTERM in chroot(8). 2023-07-16 16:00:23 +02:00
Jonas 'Sortie' Termansen
77e777423c Add sysmerge(8) --target option. 2023-07-16 16:00:22 +02:00
Jonas 'Sortie' Termansen
33c1e98f0e Fix tar race condition when tix-port(8) strips programs. 2023-07-16 12:58:45 +02:00
Jonas 'Sortie' Termansen
d189183900 Third generation Tix.
The .tix.tar.xz binary package format now stores the contents in the root
rather than the data/ subdirectory and the tix metadata now has the same
layout as the loose files in /tix, such that a .tix.tar.xz package can
simply be directly extracted into the filesystem. The /tix/manifest/ is now
included in the binary package rather than being generated on installation.

The /tix/collection.conf and /tix/tixinfo metadata files are now in the
tix-vars(1) format in the style of port(5).

The /tix/installed.list file has been removed since it isn't loose file
compatible and one can list the /tix/tixinfo directory instead.

The /tix/repository.list file has been removed since the feature is unused
and doesn't match the future direction of tix.

The kernel support for tix binary packages has been removed since it will
simply install by extracting the tar archive into the root filesystem.

Add the post-install sha256sum to the port version stamp.
2023-07-15 16:43:27 +02:00
Jonas 'Sortie' Termansen
b819428bd2 Remove outdated statement that ports can't be built natively. 2023-07-12 23:10:39 +02:00
Jonas 'Sortie' Termansen
4990cef43c Reposition windows when the display resolution changes. 2023-07-12 23:10:39 +02:00
Jonas 'Sortie' Termansen
ab9f2353e5 Add sysinstall(8) --system and --ports options. 2023-07-12 21:55:32 +02:00
Jonas 'Sortie' Termansen
edd8566155 Modernize extfs(8) error handling. 2023-07-12 21:54:57 +02:00
Jonas 'Sortie' Termansen
ffc1b02b94 Remove workaround for qemu 1.4.x and 1.5.x.
These releases are now 10 years old and are no longer a concern.
2023-07-12 21:54:57 +02:00
Jonas 'Sortie' Termansen
e933eb5a1c Replace mkinitrd(1) with tar(1).
The custom initrd format was originally useful when it was mounted,
however it has been extracted into the ramfs for a very long time and
has no advantages over the standard tar format which can be readily
created and modified using standard tools. The kernel initrd(7) support
already supports tar, so this change simply switches the format.
2023-07-12 21:45:11 +02:00
Jonas 'Sortie' Termansen
917722cf70 Add display server.
This change adds the display(1) graphical user interface and desktop
environment with basic windowing support and the graphical terminal(1)
emulator along with integrations in chkblayout(1), chvideomode(1),
sysinstall(8), sysupgrade(8), as well as the games and ports.

Adopt the Aurora procedural wallpaper in display(1) and login(8).

Remove the obsolete dispd.

Juhani contributed keyboard and video mode APIs to the display protocol
and other miscellaneous changes.

dzwdz contributed the initial functioning window buttons, improved title
bar, window tiling, and minor bug fixes

Co-authored-by: Juhani Krekelä <juhani@krekelä.fi>
Co-authored-by: dzwdz <kg67199@gmail.com>
2023-06-24 00:43:36 +02:00
Jonas 'Sortie' Termansen
b384bce28c Switch trianglix(1) from dispd to dispmsg_issue(2). 2023-06-24 00:00:10 +02:00
Juhani Krekelä
e4ce686576 Use standard termios flags and functions in chvideomode(1).
Previously chvideomode(1) used {get,set}termmode(2) as well as
tcgetwincurpos(2), which are non-standard and only work in the kernel
terminal.

This necessitates changing the keybind for exiting the menu from esc to
Q, as there is no good standard way to disambiguate between escape
character by itself and the start of an escape sequence.
2023-06-20 01:06:20 +03:00
Juhani Krekelä
0660d420f3 Fix pagination in chvideomode(1).
Pagination code deals with two indices for video modes, one relative to
the start of video modes array and one relative to the start of current
page. Previously when displaying the list of modes, the video mode array
would be accessed using the one relative to the start of the current
page, meaning that pages 2 and onwards displayed repeats of the video
modes on page 1. This changes the the display code to use indices
relative to the start of the video modes array when accessing the array.
2023-06-14 20:05:03 +03:00
Juhani Krekelä
1773d6a131 Fix setting custom modes on command line in chvideomode(1).
Previously setting a mode from the command line would only work if it
was one of the pre-set resolutions offered by the driver. If the driver
supported custom resolutions and a user tried to set one on the command
line, chvideomode(1) would instead launch in interactive mode.
2023-06-14 01:28:11 +03:00
Jonas 'Sortie' Termansen
9d4eec4267 Add reinit support to init(8). 2023-06-08 22:50:03 +02:00
Juhani Krekelä
d671516e9c Change chvideomode(1) to use "WIDTHxHEIGHTxBPP" consistently.
Previously chvideomode(1) used "WIDTHxHEIGHTxBPP" on the command line
while interactively it used "BPP x WIDTH x HEIGHT". Change everything
to "WIDTHxHEIGHTxBPP".
2023-05-22 00:50:27 +03:00
Juhani Krekelä
f6d6b60c10 Use getopt_long(3) and err(3) family in chvideomode(1). 2023-05-18 19:20:54 +03:00
Juhani Krekelä
2c0a559309 Use getopt_long(3) and err(3) family in chkblayout(1). 2023-05-18 19:20:54 +03:00
Juhani Krekelä
66c4b7486a Move chkblayout(1) and chvideomode(1) into their own directories. 2023-05-16 02:25:18 +03:00
Juhani Krekelä
610b51ffdc Fix getopt_long(3) handling of required argument at the end of argv.
Previously if argv ended with a long option that required an argument
followed by said argument, getopt_long(3) would generate an error saying
that the option requires an argument even though it was provided. This
was because the comparison of optind against argc did not account for
the fact that optind had already been incremented, causing an
off-by-one.
2023-05-16 02:17:22 +03:00
Jonas 'Sortie' Termansen
1e17e7fab7 Add automatic installer and upgrader. 2023-05-15 23:25:19 +02:00
Jonas 'Sortie' Termansen
77c2e7f59e Fix chvideomode(1) --max- option parsing. 2023-05-15 23:24:33 +02:00
Jonas 'Sortie' Termansen
e9d9eabb6e Add non-interactive mode to disked(8). 2023-04-23 23:35:08 +02:00
Jonas 'Sortie' Termansen
b029127df5 Add passwd(1) -H option. 2023-04-23 23:35:08 +02:00
Jonas 'Sortie' Termansen
c77745e447 Change chvidemode(1) to set requested mode instead of running command. 2023-04-22 19:54:40 +02:00
Juhani Krekelä
adcf11944f Update to libressl-3.7.2. 2023-04-21 23:00:33 +03:00
Juhani Krekelä
4657132716 Fix tix-port(8) diffs on non-English locales.
tix-port(8) parses the diff(1) output, to remove the "Only in …"
informational messages. As they are meant to be human-readable, not
machine-readable, they are translated to different languages, which
causes tix-port(8) to miss them. This patch sets LC_ALL=C for the diff
invocation, so that the messages are always in English.
2023-04-12 14:01:11 +03:00
Jonas 'Sortie' Termansen
caa92556c5 Try the router when ARP hasn't found neighbors. 2023-04-08 17:17:30 +02:00
Jonas 'Sortie' Termansen
a773199a90 Add nginx port. 2023-04-07 14:20:56 +02:00
Jonas 'Sortie' Termansen
755f2cf539 Mix in the current random seed when writing the new one.
This behavior lets the sysadmin add entropy to the random seed effective
after the next reboot.
2023-04-06 23:26:10 +02:00
Jonas 'Sortie' Termansen
cb88c18bf0 Fix system calls returning errno values instead of setting errno. 2023-04-06 23:26:10 +02:00
Juhani Krekelä
eeea3bdcc6 Update to links-2.29. 2023-04-06 20:35:31 +03:00
Jonas 'Sortie' Termansen
af92d5cae8 Fix strftime(3) %I off by one. 2023-04-04 20:44:38 +02:00
dzwdz
d3aee98c1a Allow overriding the login session, refactor special users. 2023-04-04 21:00:00 +03:00
Jonas 'Sortie' Termansen
2799f04cad Add date(1) -drs options. 2023-03-27 00:06:33 +02:00
Jonas 'Sortie' Termansen
e9e57dc9af Add ntpd port. 2023-03-27 00:06:33 +02:00
Jonas 'Sortie' Termansen
9033153c47 Add sub_leap_seconds(3) and add_leap_seconds(3).
Advertise leap seconds being counted via CLOCK_REALTIME_HAS_LEAP_SECONDS.
2023-03-27 00:06:33 +02:00
Jonas 'Sortie' Termansen
97c57ca604 Add strptime(3). 2023-03-22 00:16:15 +01:00
Jonas 'Sortie' Termansen
4ac7072f2a Add AI_ADDRCONFIG to getaddrinfo(3). 2023-03-19 21:56:54 +01:00
Jonas 'Sortie' Termansen
c57ff050e9 Add include and comment support to passwd(5) and group(5). 2023-03-19 21:53:21 +01:00
Jonas 'Sortie' Termansen
da86ca1873 Fix typo in ssh instructions in installation(7). 2023-03-19 11:08:01 +01:00
Jonas 'Sortie' Termansen
e9877d8080 Fix fmemopen(3) fseeko(3) overflow detection. 2023-03-19 11:08:01 +01:00
Jonas 'Sortie' Termansen
03ee6d4d89 Update to libressl-3.7.1. 2023-03-16 11:11:33 +01:00
Jonas 'Sortie' Termansen
98c92bcdcc Update to openssh-9.3p1. 2023-03-16 10:49:47 +01:00
Jonas 'Sortie' Termansen
47e1cc439a Add glob(3).
Switch sh(1) to use glob(3).

Remove compatibility for no glob(3) from the ports.
2023-03-16 00:20:43 +01:00
Jonas 'Sortie' Termansen
4e0ed30861 Fix native cross issue in xz. 2023-03-11 14:55:40 +01:00
Jonas 'Sortie' Termansen
8a4548db7d Add memory statistics to struct psctl_stat.
This is an incompatible ABI change.
2023-03-09 20:27:18 +01:00
Jonas 'Sortie' Termansen
2cd7361294 Add memusage(2).
Switch xz to memusage(2) and fix native self-cross issue.

This is a compatible ABI change.
2023-03-09 20:27:17 +01:00
Jonas 'Sortie' Termansen
7963da689d Fix internal types in fgetpwent_r and fgetgrent_r. 2023-03-06 20:18:33 +01:00