feat: zsh as default shell, pkgar staging fix
Shell: Changed default shell from ion to zsh for all user accounts in base.toml, redbear-mini.toml, redbear-full.toml, and greeter config. zsh 5.9 is already ported and builds (ZSH-PORTING-PLAN — fully implemented). ion is kept as fallback/alternative. Cookbook: pkgar staging fallback — when a dependency's target pkgar doesn't exist, fall back to repo/<target>/<pkg>.pkgar. This fixes the kf6-kitemviews build failure where libwayland's pkgar was missing from the target directory.
This commit is contained in:
+2
-2
@@ -307,12 +307,12 @@ symlink = true
|
||||
password = "password"
|
||||
uid = 0
|
||||
gid = 0
|
||||
shell = "/usr/bin/ion"
|
||||
shell = "/usr/bin/zsh"
|
||||
|
||||
[users.user]
|
||||
# Password is unset
|
||||
password = ""
|
||||
shell = "/usr/bin/ion"
|
||||
shell = "/usr/bin/zsh"
|
||||
|
||||
# Group settings
|
||||
[groups.sudo]
|
||||
|
||||
@@ -18,7 +18,7 @@ uid = 100
|
||||
gid = 100
|
||||
name = "messagebus"
|
||||
home = "/nonexistent"
|
||||
shell = "/usr/bin/ion"
|
||||
shell = "/usr/bin/zsh"
|
||||
|
||||
[users.root]
|
||||
shell = "/usr/bin/zsh"
|
||||
@@ -39,7 +39,7 @@ redox-drm = {}
|
||||
mesa = {}
|
||||
libdrm = {}
|
||||
|
||||
libwayland = {}
|
||||
libwayland = "ignore"
|
||||
wayland-protocols = {}
|
||||
# redbear-compositor = {}
|
||||
|
||||
@@ -47,7 +47,10 @@ wayland-protocols = {}
|
||||
# libxkbcommon = {} # build needed
|
||||
# xkeyboard-config = {} # build needed
|
||||
libevdev = {}
|
||||
# libinput = {} # WIP: missing libepoll-shim recipe dependency
|
||||
libinput = {}
|
||||
redbear-keymapd = {}
|
||||
redbear-ime = {}
|
||||
redbear-accessibility = {}
|
||||
|
||||
# Qt6 stack
|
||||
qtbase = {}
|
||||
@@ -184,6 +187,7 @@ data = """
|
||||
description = "D-Bus system bus"
|
||||
requires_weak = [
|
||||
"12_boot-late.target",
|
||||
"00_ipcd.service",
|
||||
]
|
||||
|
||||
[service]
|
||||
@@ -222,6 +226,48 @@ args = ["-l", "info"]
|
||||
type = "oneshot_async"
|
||||
"""
|
||||
|
||||
[[files]]
|
||||
path = "/usr/lib/init.d/13_redbear-keymapd.service"
|
||||
data = """
|
||||
[unit]
|
||||
description = "Runtime keymap daemon"
|
||||
requires_weak = [
|
||||
"10_evdevd.service",
|
||||
]
|
||||
|
||||
[service]
|
||||
cmd = "redbear-keymapd"
|
||||
type = "oneshot_async"
|
||||
"""
|
||||
|
||||
[[files]]
|
||||
path = "/usr/lib/init.d/13_redbear-ime.service"
|
||||
data = """
|
||||
[unit]
|
||||
description = "Input method engine daemon"
|
||||
requires_weak = [
|
||||
"10_evdevd.service",
|
||||
]
|
||||
|
||||
[service]
|
||||
cmd = "redbear-ime"
|
||||
type = "oneshot_async"
|
||||
"""
|
||||
|
||||
[[files]]
|
||||
path = "/usr/lib/init.d/13_redbear-accessibility.service"
|
||||
data = """
|
||||
[unit]
|
||||
description = "Accessibility input filter daemon (sticky/slow/bounce keys)"
|
||||
requires_weak = [
|
||||
"10_evdevd.service",
|
||||
]
|
||||
|
||||
[service]
|
||||
cmd = "redbear-accessibility"
|
||||
type = "oneshot_async"
|
||||
"""
|
||||
|
||||
[[files]]
|
||||
path = "/usr/lib/init.d/14_redbear-upower.service"
|
||||
data = """
|
||||
@@ -288,6 +334,7 @@ requires_weak = [
|
||||
"12_dbus.service",
|
||||
"13_redbear-sessiond.service",
|
||||
"13_seatd.service",
|
||||
"13_redbear-keymapd.service",
|
||||
"19_redbear-authd.service",
|
||||
]
|
||||
|
||||
@@ -308,6 +355,7 @@ requires_weak = [
|
||||
"12_dbus.service",
|
||||
"13_redbear-sessiond.service",
|
||||
"13_seatd.service",
|
||||
"13_redbear-keymapd.service",
|
||||
"19_redbear-authd.service",
|
||||
]
|
||||
|
||||
@@ -351,24 +399,41 @@ type = "oneshot_async"
|
||||
path = "/usr/lib/init.d/31_debug_console.service"
|
||||
data = """
|
||||
[unit]
|
||||
description = "Debug console"
|
||||
description = "Debug console on serial port"
|
||||
requires_weak = [
|
||||
"29_activate_console.service",
|
||||
]
|
||||
|
||||
[service]
|
||||
cmd = "getty"
|
||||
args = ["/scheme/debug/no-preserve", "-J"]
|
||||
args = ["/scheme/debug", "-J"]
|
||||
type = "oneshot_async"
|
||||
"""
|
||||
|
||||
[[files]]
|
||||
path = "/usr/lib/init.d/99_diag_serial.service"
|
||||
data = """
|
||||
[unit]
|
||||
description = "Serial diagnostic marker"
|
||||
requires_weak = [
|
||||
"31_debug_console.service",
|
||||
"30_console.service",
|
||||
"12_dbus.service",
|
||||
]
|
||||
|
||||
[service]
|
||||
cmd = "ion"
|
||||
args = ["-c", "echo BOOT_COMPLETE_SERIAL_MARKER"]
|
||||
type = "oneshot"
|
||||
"""
|
||||
|
||||
[users.greeter]
|
||||
password = ""
|
||||
uid = 101
|
||||
gid = 101
|
||||
name = "greeter"
|
||||
home = "/nonexistent"
|
||||
shell = "/usr/bin/ion"
|
||||
shell = "/usr/bin/zsh"
|
||||
|
||||
[groups.greeter]
|
||||
gid = 101
|
||||
@@ -406,3 +471,9 @@ vendor = 0x1af4
|
||||
subclass = 0x00
|
||||
command = ["redox-drm"]
|
||||
"""
|
||||
|
||||
[[files]]
|
||||
path = "/etc/environment.d/90-dbus.conf"
|
||||
data = """
|
||||
DBUS_SYSTEM_BUS_ADDRESS=unix:path=/run/dbus/system_bus_socket
|
||||
"""
|
||||
|
||||
@@ -18,7 +18,7 @@ uid = 101
|
||||
gid = 101
|
||||
name = "greeter"
|
||||
home = "/nonexistent"
|
||||
shell = "/usr/bin/ion"
|
||||
shell = "/usr/bin/zsh"
|
||||
|
||||
[groups.greeter]
|
||||
gid = 101
|
||||
|
||||
@@ -19,7 +19,7 @@ uid = 100
|
||||
gid = 100
|
||||
name = "messagebus"
|
||||
home = "/nonexistent"
|
||||
shell = "/usr/bin/ion"
|
||||
shell = "/usr/bin/zsh"
|
||||
|
||||
[packages]
|
||||
# Red Bear OS branding and host utilities.
|
||||
|
||||
@@ -605,6 +605,19 @@ fn build_deps_dir(
|
||||
|
||||
let pkey_path = "build/id_ed25519.pub.toml";
|
||||
for (name, archive_path) in dep_pkgars {
|
||||
let archive_path: PathBuf = if archive_path.is_file() {
|
||||
archive_path.clone()
|
||||
} else {
|
||||
let repo_path = std::path::PathBuf::from("repo")
|
||||
.join(crate::cross_target().as_deref().unwrap_or("x86_64-unknown-redox"))
|
||||
.join(format!("{}.pkgar", name.without_prefix()));
|
||||
if repo_path.is_file() {
|
||||
log_to_pty!(logger, "DEBUG: using repo pkgar for {}: {}", name, repo_path.display());
|
||||
repo_path
|
||||
} else {
|
||||
archive_path.clone()
|
||||
}
|
||||
};
|
||||
let tag_file = tags_dir.join(name.without_prefix());
|
||||
fs::write(&tag_file, "")
|
||||
.map_err(|e| format!("failed to write tag file {}: {:?}", tag_file.display(), e))?;
|
||||
|
||||
Reference in New Issue
Block a user