Commit Graph

169 Commits

Author SHA1 Message Date
Red Bear OS 57c80cbc33 config: don't leak nested-group names into the flat package set
expand_group inserted the group's own name into `resolved` (the package
accumulator), so a nested-group reference (kde-desktop -> dbus-services)
added a bogus "dbus-services" package. `repo cook --filesystem` then
failed with 'Package PackageName("dbus-services") not found'.

Track expanded GROUP names in a separate `expanded` set used only for
dedup/cycle short-circuit; only real leaf package names go into
`resolved`. Groups contribute their members, never themselves.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-31 06:06:45 +09:00
Red Bear OS 700620569c config: resolve package groups to a serializable spec, not the Empty unit variant
resolve_package_groups inserted PackageConfig::default() (the untagged `Empty`
unit variant) for group-expanded packages. `Empty` cannot serialize to TOML, so
`toml::to_string_pretty(&config)` (used to embed filesystem.toml, and run on
every install/--filesystem-size) panicked with UnsupportedType(Some("unit")) for
any config using [package_groups] (e.g. redbear-full). Insert the same all-None
Spec that an explicit `pkg = {}` entry deserializes to.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-29 12:04:34 +09:00
Red Bear OS 89e1c67006 installer: compute filesystem_size from the package set (target-agnostic)
--filesystem-size previously just echoed config.general.filesystem_size (or 0),
so every target hardcoded a magic image size that either wasted space or
overflowed (ENOSPC / os error 28) as the package set changed.

Add compute_filesystem_size_mb(): when filesystem_size is not pinned, size the
RedoxFS image from the ACTUAL package contents — walk the transitive package
closure (config [packages] + each pkgar's `depends`), do per-file block
accounting (ceil(size/BLOCK_SIZE) data blocks + one node block per entry), add
record-tree/header structural overhead and a free-space margin so the live/
writable filesystem is usable. An explicit filesystem_size still overrides.

Identical logic for mini/full/bare/grub/any config.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-29 11:26:31 +09:00
Red Bear OS bb243fb3e5 config(mod): add package_groups resolution with cycle detection 2026-07-26 05:44:47 +09:00
Red Bear OS bf43c0a34f installer: commit collision-tracker WIP to satisfy clean-fork build gate
Pre-existing uncommitted work (materialized by the build's local-over-WIP
preflight): CollisionTracker detects config [[files]] (Layer 1) being
silently overwritten by package staging (Layer 2) — the D-Bus regression
class. Committed as-is so the fork has a clean HEAD for pkgar fingerprints;
no functional change intended by this commit beyond tracking it.
2026-07-18 16:07:53 +09:00
Red Bear OS 460d9530a5 config: warn on file-path override across included configs
Replace silent files.extend() with explicit override detection: when a
later-included config redefines a [[files]] path, warn on the console and
replace in place (last definition wins, no duplicate left). Makes the
previously-invisible, order-dependent config override visible.
2026-07-16 11:16:01 +09:00
Red Bear OS 1e9dcdee98 rb: reapply Red Bear patches on upstream 05bf2eb 2026-07-12 16:53:48 +03:00
Wildan M 227606752d Use builtin bytes format string 2026-06-16 14:48:13 +07:00
Frank Li e1b20c59c4 Added cookbook commit hash for /etc/os-release 2026-05-27 05:22:01 -06:00
Ziwen Li(Frank) be3e5097bc Add append support for filesystem files 2026-05-21 12:23:49 +12:00
bjorn3 474ff08431 Fix bootloader location 2026-03-11 20:53:46 +01:00
bjorn3 f691afabab Fix usage message 2026-03-11 20:31:03 +01:00
bjorn3 f74e3fad19 Make home directories 700 instead of 777 2026-03-11 20:12:40 +01:00
Wildan M a6fd457652 Update pkg to use new API 2026-03-08 20:53:33 +07:00
Jeremy Soller 7806f87c56 Merge branch 'move_bootloader_to_user' into 'master'
Bootloader is now stored in /usr/lib/boot

See merge request redox-os/installer!71
2026-03-07 08:36:04 -07:00
bjorn3 70b8cb0e37 Bootloader is now stored in /usr/lib/boot 2026-03-07 16:30:35 +01:00
Jeremy Soller 397974cb68 Workaround for existing symlinks by overwriting them 2026-03-04 11:18:14 -07:00
Jeremy Soller 8765c51696 Log target of symlink 2026-03-04 10:53:22 -07:00
Jeremy Soller 2d3b2ed38a Improve some error reporting 2026-03-04 10:49:09 -07:00
Wildan M 59d0872197 Fix redox compilation error 2026-02-15 01:47:13 +07:00
Wildan M 730eb9a606 Copy /etc/skel to users directory 2026-02-14 18:13:27 +07:00
Wildan M b33f3c1a80 Make missing file clear when locally installing 2026-02-10 01:35:44 +07:00
Wildan M c4ed26e3d4 Don't confirm password if empty 2026-01-31 05:10:03 +07:00
Wildan M cfc7938ecc Shorten remote packages log 2026-01-31 04:53:30 +07:00
Wildan M 15de2b4272 Add help hint, remove repo_binary 2026-01-31 04:17:54 +07:00
Wildan M fed265252d Unify password prompt code 2026-01-31 04:17:11 +07:00
Wildan M d40619d66c Implement Display for Config 2026-01-31 04:15:10 +07:00
Wildan M 86d2af6ca0 Expose custom mount API and bump version 2025-12-16 05:27:09 +07:00
Wildan M 433aa99660 Add no_mount option and tidy up flags 2025-12-16 01:41:55 +07:00
Wildan M 7a85862733 Split installer code to cargo feature 2025-11-22 09:15:25 -08:00
Wildan M 7308cfe259 Move installer code 2025-11-22 09:15:24 -08:00
Jeremy Soller 58f161e019 Fix compilation on Redox 2025-11-20 08:58:51 -07:00
Jeremy Soller 693d9470f9 Merge branch 'always-local' into 'master'
Always Install binaries locally if cookbook set

See merge request redox-os/installer!59
2025-11-20 06:48:09 -07:00
Wildan M 5fad110e5e Always Install binaries locally if cookbook set 2025-11-20 01:50:47 -08:00
Wildan M 09531dfdc8 Fix fmt 2025-11-20 01:24:41 -08:00
Wildan M e5233171ae Remove list_packages 2025-11-20 01:22:02 -08:00
Wildan M 9594e87937 Fix local package head install path 2025-11-12 20:55:33 +07:00
bjorn3 f30179a889 Allow installing for i586-unknown-redox 2025-11-01 16:33:21 +01:00
Wildan M 8e6a1c3aa4 Bump pkgar and rand 2025-10-01 21:41:02 +07:00
Wildan M 43c1cd987f Fix local dependency install 2025-09-30 19:19:01 +07:00
Wildan M 0fa085c0f2 Make install order predictable 2025-09-29 20:29:43 +07:00
Jeremy Soller 69de3d62a1 Fix build on non-Redox 2025-09-26 15:52:31 -06:00
Jeremy Soller c540ed8f9d 0.2.37 - add support for fast install 2025-09-26 15:49:04 -06:00
Wildan M e74c9279cf Apply postconfig configuration 2025-09-26 17:27:27 +07:00
Wildan M ee5a94dbe4 Tidy up file config init 2025-09-26 17:26:09 +07:00
Wildan Mubarok b425b12cf5 Allow overwriting package files 2025-09-26 08:32:28 +00:00
Jeremy Soller 01a3adb662 Merge branch 'opt-pkg' into 'master'
Handle metapackages for local install

See merge request redox-os/installer!50
2025-07-27 10:31:27 -06:00
Wildan M 81e8bc09f8 Handle metapackages for local install 2025-07-27 22:49:37 +07:00
Wildan Mubarok 64b047195d Add CI Tests 2025-07-09 12:42:59 -06:00
auronandace 721d49adfb apply some simple clippy lints 2025-06-30 17:11:48 +01:00