Stage 6: server image with a console installer (0.4.0)

- server/ profile and build-iso.sh [desktop|server]; make iso-server,
  make qemu-server, run-qemu.sh --serial; login on tty and ttyS0
- das-server: SSH, chrony, NetworkManager/dhcpcd, Docker with Compose,
  nftables (closed except SSH, own table), fail2ban reading socklog,
  sshd without root passwords, Docker log rotation, tools
- das-server-install: dialog installer in Ukrainian and English, or
  unattended with --config; GPT + Btrfs subvolumes, GRUB for UEFI and BIOS,
  serial console, SSH key with optional keys-only logins
- das-install-common: mount-source and postinstall shared with Calamares
- dsv: runit service manager (list, enable, disable, start, stop,
  restart, status, logs) with bash completion, also on the desktop
- das-update split into a subpackage without GTK; the window and tray
  icon move to /usr/libexec/das/das-update-gui
- das-snapper-setup enables dbus, which snapper needs
- TODO: ISO size review with measured numbers and options

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
das
2026-10-19 21:28:26 +03:00
co-authored by Claude Opus 5.5
parent 5349a028c8
commit eba4516998
42 changed files with 1454 additions and 114 deletions
+15 -3
View File
@@ -1,18 +1,19 @@
# Template file for 'das-tools'
# In-tree package: Go sources are in files/src (FILESDIR).
pkgname=das-tools
version=0.2.0
version=0.3.0
revision=1
create_wrksrc=yes
# Like build_style=go: the Go linker decides about PIE, xbps-src must not check it
nopie=yes
hostmakedepends="go pkg-config"
makedepends="gtk+3-devel"
depends="dbus libnotify polkit sudo xdg-user-dirs xdg-utils"
short_desc="Das OS tools: das-update (updates with snapshots) and das-welcome"
depends="das-update>=${version}_${revision} dbus libnotify polkit xdg-user-dirs xdg-utils"
short_desc="Das OS desktop tools: update window and tray icon, das-welcome"
maintainer="Das <anry.das@gmail.com>"
license="MIT"
homepage="https://git.das.org.ua/das/Das-OS"
subpackages="das-update"
do_build() {
cp -rL "${FILESDIR}/src/." .
@@ -24,6 +25,7 @@ do_build() {
do_install() {
vbin bin/das-update
vinstall bin/das-update-gui 755 usr/libexec/das
vbin bin/das-welcome
vinstall "${FILESDIR}/data/das-update.desktop" 644 usr/share/applications
vinstall "${FILESDIR}/data/das-welcome.desktop" 644 usr/share/applications
@@ -32,3 +34,13 @@ do_install() {
vinstall "${FILESDIR}/data/ua.org.das.update.policy" 644 usr/share/polkit-1/actions
vlicense "${FILESDIR}/LICENSE"
}
# Without GTK, for servers: the window and the tray icon stay in das-tools.
das-update_package() {
short_desc="Das OS updates with a snapper snapshot to roll back to"
depends="sudo"
pkg_install() {
vmove usr/bin/das-update
vmove usr/share/polkit-1
}
}