100 Commits
Author SHA1 Message Date
cat d236c9eaf7 cmd/mbf: improve title format
This is cleaner for long-running daemon processes, and the additional information is more intuitive.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-08-08 13:10:18 +09:00
cat 3c1a6f0793 internal/rosa/package/python: vcs-versioning 2.2.3 to 2.2.4
Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-08-08 13:05:30 +09:00
cat 16f84f9499 internal/rosa/package/kernel: 6.18.42 to 6.18.43
Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-08-08 12:52:27 +09:00
cat 9deed030f0 internal/rosa/package/p11-kit: 0.26.4 to 0.26.5
Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-08-08 12:51:55 +09:00
cat 69095e03c9 internal/rosa/package/nss: nspr 4.39 to 4.40
Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-08-08 12:51:29 +09:00
cat 8138b2a3f0 internal/rosa/package/lvm2: 2.03.41 to 2.03.42
Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-08-08 12:50:58 +09:00
cat 308c7d1846 internal/rosa/package/gcc: 16.1.0 to 16.2.0
Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-08-08 12:50:13 +09:00
cat 807f4ccbeb replace goreportcard badge
Closes #40.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-08-07 21:57:06 +09:00
cat f1dd3a085b command: hard wrap help message flags
This greatly improves readability when lots of flags are registered.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-08-07 20:32:24 +09:00
cat b37c1d8993 command: use NUL for magic usage string
This change also improves documentation.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-08-07 18:57:01 +09:00
cat 6a7f124deb internal/rosa/package: cryptsetup
Useful for now, will likely be replaced by a native implementation.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-08-06 18:16:41 +09:00
cat a9a32284b6 internal/rosa/package/mesa: 26.1.6 to 26.2.0
Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-08-06 18:16:08 +09:00
cat 255a1bbf74 internal/rosa/package/fontconfig: 2.18.2 to 2.18.3
Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-08-06 18:15:48 +09:00
cat 96cdf4cc07 internal/rosa/package/python: 3.14.6 to 3.14.7
Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-08-06 18:15:24 +09:00
cat 35a55854fd internal/rosa/package/python: flit-core 3.12.0 to 4.0.2
Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-08-06 18:14:57 +09:00
cat 2f057cc72f internal/rosa/package/python: packaging 26.2 to 26.3
Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-08-06 18:13:58 +09:00
cat 3356ca3e46 internal/rosa/package/python: mako 1.3.12 to 1.4.1
Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-08-06 18:13:33 +09:00
cat ccef0a086a internal/rosa/package/pango: 1.58.1 to 1.58.2
Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-08-06 18:12:39 +09:00
cat edb694fb41 internal/rosa/package/x: libXfont2 2.0.8 to 2.0.9
Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-08-06 18:12:17 +09:00
cat 90535adc89 internal/rosa/package: lvm2
This is only really packaged for devmapper, and will eventually be replaced by a native implementation.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-08-06 16:50:02 +09:00
cat 6fed6d67bd internal/rosa/package: libaio
Library for the dreaded AIO syscalls. Test suite is absurdly expensive. Required by lvm2.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-08-06 15:51:05 +09:00
cat dcaf67b3d7 internal/rosa/package: e2fsprogs
These are probably not worth reimplementing, and are quite useful for debugging, regardless.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-08-06 15:13:33 +09:00
cat c7de3d45e3 internal/rosa/package: popt
Somewhat widely-used library. Required by cryptsetup.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-08-06 15:12:37 +09:00
cat d9bddff160 internal/rosa/package/kernel: 6.18.41 to 6.18.42
A change to a single field in a btrfs struct caused world rebuild.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-08-04 15:04:54 +09:00
cat 5c6dcce543 internal/rosa/package/glslang: switch to vulkan-sdk tags
This restores compatibility with other SPIRV packages.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-08-04 13:12:13 +09:00
cat 905a69d2a0 internal/rosa/package/pango: 1.58.0 to 1.58.1
Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-08-04 13:10:34 +09:00
cat e453bc67d0 internal/rosa/package/lua: 5.5.0 to 5.5.1
Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-08-04 13:10:11 +09:00
cat 0fa145a1a0 internal/rosa/package/libpsl: 0.23.0 to 0.23.1
Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-08-02 10:15:12 +09:00
cat b5a65d1255 internal/rosa/package/cmake: 4.4.1 to 4.4.2
Those regressions sure came quickly. Concerning.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-08-01 16:38:46 +09:00
cat ccdc0fa37e internal/rosa/package/libudev-zero: 1.0.4 to 1.0.5
Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-08-01 16:38:20 +09:00
cat b97518552d internal/rosa/package/spirv: spirv-llvm-translator 22.1.4 to 22.1.5
Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-08-01 16:37:51 +09:00
cat 67d14dc12c internal/rosa/package/noto: 2026.07.01 to 2026.08.01
Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-08-01 16:37:18 +09:00
cat 695b1b4845 internal/rosa/package/harfbuzz: 14.2.1 to 14.3.0
Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-08-01 16:36:58 +09:00
cat 2e5d954f49 internal/rosa/package/hwdata: 0.409 to 0.410
Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-07-31 21:07:22 +09:00
cat e6af0c405a internal/rosa/package: pipewire/wireplumber
These are built separately to avoid meson wrap.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-07-31 17:06:26 +09:00
cat 599a761b27 internal/rosa/package: lua
Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-07-31 17:03:02 +09:00
cat b7aa91f08f cmd/mbf: set window title
This displays ongoing and complete cures via the notify channel.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-07-31 15:49:07 +09:00
cat 280a736ce3 internal/pkg: cure entry/exit notification
This enables cure status display without inspecting internal state.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-07-31 13:58:32 +09:00
cat 4e41b9bc99 cmd/mbf: all command
This is a convenience command to cure all registered packages to avoid relying on the test.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-07-31 13:16:36 +09:00
cat 153c980a61 internal/rosa/package/kernel: 6.18.40 to 6.18.41
Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-07-30 23:16:17 +09:00
cat a2f97f7e0f internal/rosa/package: use mirrors.kernel.org
The GNU mirror redirector was down yet again, and I have had enough. This change replaces all mentions of ftpmirror.gnu.org with mirrors.kernel.org.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-07-30 22:59:08 +09:00
cat 5e1b4bb0b8 cmd/mbf: print checksum to stdout
Same as the cure command, enables usage in scripts.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-07-30 22:45:05 +09:00
cat e73f9e0626 internal/pkg: highlight miscellaneous verbose output
These were missed when adding highlight for core cache verbose output.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-07-30 22:41:18 +09:00
cat ddd90b780b internal/rosa: drain optional unstructured input
This was missed, causing non-minimal kindEtc IR to be rejected.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-07-30 22:39:29 +09:00
cat 89c32f5614 cmd/mbf: print outcome pathname to stdout
This enables use of the cure command in scripts.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-07-30 17:39:56 +09:00
cat 1567a3e582 internal/pkg: highlight cache verbose output
This highlights sections of messages, increasing readability in some cases.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-07-30 17:35:49 +09:00
cat aa9952cd9e internal/rosa/package/spirv: 1.4.350.1 to 1.4.357.0
This also switches spirv-tools to the vulkan-sdk tags to remain compatible with spriv-headers.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-07-30 16:52:25 +09:00
cat 99efc551ad internal/rosa/package/meson: respect CLICOLOR_FORCE
Upstream had ticket and patch available since 2017, still unmerged and refuses to support the environment variable, so patch it in. This also strips out the variable for test execution to work around buggy test suites like glib.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-07-30 08:51:46 +09:00
cat 4dbfee0698 internal/rosa: force output colouring
This sets known de facto standard environment variables to enable colours during builds.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-07-30 06:01:54 +09:00
cat 4e65e41101 internal/rosa/package/mesa: 26.1.5 to 26.1.6
Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-07-30 05:19:55 +09:00
cat b8306fe9e2 internal/rosa/package/python: vcs-versioning 2.2.2 to 2.2.3
Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-07-30 05:19:21 +09:00
cat 6b246e9036 internal/rosa/package/glib: 2.89.2 to 2.89.3
Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-07-30 05:18:23 +09:00
cat 869820ec6d cmd/mbf: enable output colouring
This respects the de facto standards, on top of checking stderr.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-07-30 05:16:39 +09:00
cat 6fb2065a51 internal/pkg: optionally colour output
This increases readability in some cases.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-07-30 05:15:19 +09:00
cat 698fd2d66a internal/rosa/package/libarchive: 3.8.8 to 3.8.9
Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-07-30 04:02:23 +09:00
cat 4cfbc93aa0 internal/rosa/package/gcc: binutils 2.46.1 to 2.47
Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-07-30 04:02:00 +09:00
cat feec4b0d22 internal/rosa/package/cmake: 4.4.0 to 4.4.1
Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-07-30 03:24:48 +09:00
cat 6487b41d92 internal/rosa: remove legacy exec helper
This change also adds a fourth stage to the bootstrap machinery, offering more correct toolchain validation that works around LLVM dynamic linking flaws.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-07-30 00:18:22 +09:00
cat 7908fb9583 internal/rosa/llvm: exclude runtime symbols
These leak by default when static linking, which is considered unacceptable for many libraries.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-07-29 03:00:59 +09:00
cat 95aa7c205c internal/rosa: remove calls to low-level exec helper
This method predates the helper infrastructure, it is awkward to use and difficult to maintain for the replacement bootstrap mechanism. This change prepares for its removal.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-07-27 18:24:38 +09:00
cat bd0cc3656f internal/rosa/llvm: statically link libc++
This avoids unnecessarily depending on the toolchain.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-07-27 18:15:00 +09:00
cat 0219240adb internal/rosa/package/qemu: 11.0.2 to 11.0.3
Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-07-25 14:23:25 +09:00
cat aa4a15fc2c cmd/mbf: move gentoo bootstrap path
This is a lot more flexible for troubleshooting when used with the cure command.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-07-25 14:17:03 +09:00
cat 0d3efeb456 internal/rosa: remove xz utils hack
This replaces all xz invocations with the native decompressor. This also significantly cleans up the Gentoo stage3 bootstrap path.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-07-25 14:14:34 +09:00
cat 35147f6dfb internal/pkg: skip character device nodes
This allows unpacking of tarballs containing these entries.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-07-25 14:07:38 +09:00
cat e5abf51296 internal/pkg: decompress xz streams
This uses a port of the public domain xz implementation.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-07-25 14:03:34 +09:00
cat e26914cd6f internal/rosa/package/kernel: 6.18.39 to 6.18.40
Kernel headers bumped due to struct bpf_map_info changes and IFLA_BOND_LACP_STRICT.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-07-25 13:58:12 +09:00
cat b647170d0c internal/rosa/package/strace: build from git sources
This removes xz input. This change also enables tests.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-07-25 01:40:47 +09:00
cat 5e655a0bf6 internal/rosa/package: gawk
Reintroduce this to build strace without xz-compressed release tarball: bootstrap script explicitly requires gawk.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-07-25 01:21:41 +09:00
cat 89eb3d27aa internal/rosa/package/util-linux: add ncurses
This enables more.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-07-25 00:54:25 +09:00
cat 3b7a22ff9b cmd/dist: default to /usr/local prefix
This conventionally makes more sense for software not installed by the package manager.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-07-24 19:12:59 +09:00
cat 6c2ca507b9 internal/rosa/package: byacc
Much cleaner than bison and compiles much faster. This should be used whenever possible.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-07-24 18:48:20 +09:00
cat 1a8212ee02 internal/rosa/package/libdisplay-info: 0.3.0 to 0.4.0
Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-07-24 11:53:59 +09:00
cat 84bb2a5038 internal/rosa: update stage0 distribution
This also replaces the slow bzip2 compression with zstd.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-07-24 11:10:59 +09:00
cat 46b247f911 internal/rosa/package/zstd: use zstd-compressed tarball
Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-07-24 00:06:18 +09:00
cat 390f3b2dae internal/pkg: decompress zstd streams
This uses internal/zstd until compress/zstd becomes available.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-07-23 22:18:06 +09:00
cat 5d3e47d8e7 internal/rosa/package/libarchive: add runtime dependencies
These were missed due to being implied by the toolchain.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-07-23 22:02:06 +09:00
cat 6f2852547b internal/rosa/package/netfilter: use git protocol
The https service is down but somehow the git protocol is still accessible. Security implications do not apply due to KnownChecksum measurement.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-07-23 21:56:52 +09:00
cat 3cff369368 internal/rosa/package/xkbcommon: use fallback update filter
Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-07-23 18:10:50 +09:00
cat 09de939955 internal/rosa: make build script executable
This makes it slightly easier to invoke when working on a package via --enter.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-07-23 18:02:50 +09:00
cat e0eec632d0 internal/pkg: optional executable files
This enables a FileArtifact implementation to specify whether its resulting file should be executable. This change also implements shebang and ELF magic checks in the file artifact.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-07-23 17:10:22 +09:00
cat 67dbb68818 internal/pkg: implementation revisions
This enables changing the behaviour of an artifact implementation without changing its IR structure. Unfortunately this changes the IR header structure resulting in many rebuilds.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-07-23 16:39:34 +09:00
cat 0e689d9983 internal/rosa/package: codeberg prefer release tarballs
Source archives are unstable.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-07-22 11:26:12 +09:00
cat 21a4067592 internal/rosa/package/perl: 5.42.2 to 5.44.0
Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-07-22 11:24:46 +09:00
cat 639766dfca internal/rosa/package/gnu: parallel 20260622 to 20260722
Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-07-22 11:23:50 +09:00
cat e4f025b9f1 internal/rosa/package/python: setuptools-scm 10.2.0 to 10.2.1
Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-07-22 11:23:24 +09:00
cat 1b65c8107c internal/rosa/package/kernel: 6.18.38 to 6.18.39
Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-07-21 12:13:22 +09:00
cat 1857ad8763 internal/rosa: optionally exclude toolchain in azalea
This is useful for edge cases where programs rely on gcc bugs to behave correctly.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-07-19 03:38:35 +09:00
cat c822ff9aca internal/rosa: migrate early-compiler-rt to azalea
Had to do the cmake hack for now due to evaluator limitation with inherited version.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-07-18 23:56:05 +09:00
cat 9df1609660 internal/rosa: migrate early-runtimes to azalea
This is fully representable in azalea, so migrate it.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-07-18 23:23:16 +09:00
cat 22e9e85a03 internal/rosa: migrate llvm source to azalea
Previous change enabled this migration.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-07-18 23:14:18 +09:00
cat b79aa3ea1c internal/rosa/state: patch output-only packages
This is useful for common patched source code.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-07-18 23:05:52 +09:00
cat 8d9b14dfe1 internal/rosa/cmake: disable nuisance warnings
Author warnings are pointless here, and it makes no sense to make CMAKE_<LANG>_COMPILER_TARGET optional just to shut cmake up.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-07-18 13:44:41 +09:00
cat 5770f957e5 internal/rosa/package/gnu: libtool 2.5.4 to 2.6.2
Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-07-18 12:07:05 +09:00
cat e7903cf7e2 internal/rosa/package/wayland: 1.25.91 to 1.26.0
Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-07-18 11:57:10 +09:00
cat df199a8774 internal/rosa/package/nss: 3.125 to 3.126
Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-07-18 11:56:46 +09:00
cat d906bc2ee0 internal/rosa/package/spirv: disable arm64 broken tests
These were newly broken by the latest release.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-07-17 16:15:32 +09:00
cat e0e9910243 internal/rosa/package/perl: fix release monitoring
The existing Microsoft Github monitoring is broken due to unconventional upstream tagging practices. This change switches to monitoring based on the web page instead.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-07-16 12:58:51 +09:00
cat c8d54cebe9 internal/rosa/package/mesa: 26.1.4 to 26.1.5
Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-07-16 12:56:02 +09:00
cat 74e7fb7818 internal/rosa/package/spirv: spirv-llvm-translator 22.1.2 to 22.1.4
Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-07-15 14:36:12 +09:00