Drop bos-settings/breadhelp pacman packaging, bakery-only

Both now install like every other bread app: staged into skel via
build-local.sh's BREAD_BINS array from this laptop's real bakery
install, with hand-committed .desktop files matching the existing
breadclip/breadman/breadmon/breadsearch pattern. Removes the last two
BOS-specific pacman packages from packages.x86_64.
This commit is contained in:
Breadway 2026-07-23 13:34:45 +08:00
parent 1120729973
commit 6aead4f5e8
6 changed files with 53 additions and 55 deletions

View file

@ -49,7 +49,7 @@ grep airootfs_image_tool_options "$STAGE/profiledef.sh"
# created from skel (the live user and the installed user) then gets the same # created from skel (the live user and the installed user) then gets the same
# versions `bakery list` reports here, fully offline. Copied at build time so the # versions `bakery list` reports here, fully offline. Copied at build time so the
# binaries never bloat the git repo and always track the current bakery state. # binaries never bloat the git repo and always track the current bakery state.
BREAD_BINS=(bakery bread breadd breadman breadbar breadbox breadbox-sync breadcrumbs breadpad breadpaper bread-theme breadmon breadsearch breadmill breadclip breadclipd breadshot) BREAD_BINS=(bakery bread breadd breadman breadbar breadbox breadbox-sync breadcrumbs breadpad breadpaper bread-theme breadmon breadsearch breadmill breadclip breadclipd breadshot bos-settings breadhelp)
LAPTOP_HOME="${LAPTOP_HOME:-$(getent passwd "${SUDO_USER:-$USER}" | cut -d: -f6)}" LAPTOP_HOME="${LAPTOP_HOME:-$(getent passwd "${SUDO_USER:-$USER}" | cut -d: -f6)}"
BAKERY_BIN="$LAPTOP_HOME/.local/bin" BAKERY_BIN="$LAPTOP_HOME/.local/bin"
BAKERY_STATE="$LAPTOP_HOME/.local/state/bakery" BAKERY_STATE="$LAPTOP_HOME/.local/state/bakery"

View file

@ -371,12 +371,12 @@ if command -v ufw &>/dev/null; then
ufw --force enable || echo "WARN: ufw enable failed" ufw --force enable || echo "WARN: ufw enable failed"
fi fi
# The bread ecosystem (bakery + bread, breadbar, breadbox, breadcrumbs, breadpad) # The whole bread ecosystem (bakery, bread, breadbar, breadbox, breadcrumbs,
# is bakery-managed, not pacman: the binaries and bakery manifest live in # breadpad, bos-settings, breadhelp, ...) is bakery-managed, not pacman: the
# /etc/skel/.local (baked in at ISO build time) and are copied into the user's # binaries and bakery manifest live in /etc/skel/.local (baked in at ISO
# home below, so the install works fully offline with no DNS for bakery/GitHub. # build time via build-local.sh's BREAD_BINS array) and are copied into the
# bos-settings and breadhelp are the only pacman bread packages and were # user's home below, so the install works fully offline with no DNS for
# installed by unpackfs. # bakery/GitHub.
# --------------------------------------------------------------------------- # ---------------------------------------------------------------------------
# Deploy dotfiles + the bakery bread ecosystem into the user's home (Calamares # Deploy dotfiles + the bakery bread ecosystem into the user's home (Calamares

View file

@ -0,0 +1,9 @@
[Desktop Entry]
Name=BOS Settings
Comment=System settings for Bread OS
Exec=bos-settings
Icon=preferences-system
Terminal=false
Type=Application
Categories=Settings;System;
StartupWMClass=bos-settings

View file

@ -0,0 +1,9 @@
[Desktop Entry]
Name=BOS Help
Comment=Your personal guide to the Bread desktop
Exec=breadhelp
Icon=help-browser
Terminal=false
Type=Application
Categories=Help;System;
StartupWMClass=com.breadway.breadhelp

View file

@ -104,6 +104,7 @@ gtk4
gtk4-layer-shell gtk4-layer-shell
librsvg librsvg
libpulse libpulse
hicolor-icon-theme
# GTK3 dark theme (Adwaita-dark); without this package the gtk-theme-name in # GTK3 dark theme (Adwaita-dark); without this package the gtk-theme-name in
# skel settings.ini silently falls back to the light theme for GTK3 apps. # skel settings.ini silently falls back to the light theme for GTK3 apps.
gnome-themes-extra gnome-themes-extra
@ -178,19 +179,19 @@ yay-bin
# Bread ecosystem. # Bread ecosystem.
# #
# The bread apps themselves (bakery, bread, breadbar, breadbox, breadcrumbs, # None of the bread apps (bakery, bread, breadbar, breadbox, breadcrumbs,
# breadpad) are NOT pacman packages here — they are bakery-managed binaries # breadpad, bos-settings, breadhelp, ...) are pacman packages here anymore —
# baked into /etc/skel/.local/bin at build time (see build-local.sh), so every # they are all bakery-managed binaries baked into /etc/skel/.local/bin at
# user gets the exact versions from this laptop's bakery install with no # build time (see build-local.sh's BREAD_BINS array), so every user gets the
# network/DNS needed at install or runtime. Their runtime system deps are pulled # exact versions from this laptop's bakery install with no network/DNS
# in elsewhere in this list (gtk4, gtk4-layer-shell, iw, libpulse, librsvg, # needed at install or runtime. bos-settings/breadhelp's desktop entries are
# networkmanager, openssl, zlib, systemd-libs) — keep those even though no bread # hand-committed static files at
# package depends on them. # iso/airootfs/etc/skel/.local/share/applications/, matching the pattern
# # already used for breadclip/breadman/breadmon/breadsearch. Their runtime
# bos-settings and breadhelp are BOS-specific pacman packages (not part of the # system deps are pulled in elsewhere in this list (gtk4, gtk4-layer-shell,
# bakery index), so they stay here, served from the [breadway] repo. # iw, libpulse, librsvg, networkmanager, openssl, zlib, systemd-libs,
bos-settings # hicolor-icon-theme) — keep those even though no bread package depends on
breadhelp # them via pacman.
# Input / screen utilities # Input / screen utilities
brightnessctl brightnessctl

View file

@ -1,39 +1,18 @@
Arch packaging Arch packaging
============== ==============
`breadhelp/PKGBUILD` builds and installs `breadhelp` from source — BOS's This directory only holds `PKGBUILD`s for third-party AUR packages BOS
onboarding + help center, and the only first-party pacman package still built republishes to the `[breadway]` pacman repo (`calamares`, `bibata`,
from this repo. `powerlevel10k`, `yay-bin`) — not the user's own code. See each
subdirectory's `.forgejo/workflows/<name>.yml` (in this repo) for how each
one publishes on a push to `packaging/<name>/**`.
`bos-settings` is also pacman-packaged and served from the same [breadway] Every bread-ecosystem app (bakery, bread, breadbar, breadbox, breadcrumbs,
repo, but its source lives in its own repo now (`~/Projects/bos-settings`, breadpad, breadpaper, breadmon, breadsearch, breadclip, breadshot,
`git.breadway.dev/Breadway/bos-settings`) so a bos-settings release doesn't require bos-settings, breadhelp, ...) is bakery-managed, not pacman-packaged — see
a BOS ISO release. `build-local.sh`'s `BREAD_BINS` array, which bakes this laptop's
bakery-installed binaries into the ISO's `/etc/skel` at build time.
Everything else the bread ecosystem ships (breadbar, breadbox, breadpad, ...) `breadlock` is the sole deliberate exception (it needs a root-owned
is bakery-managed, not pacman-packaged — see `build-local.sh`. `/etc/pam.d/breadlock` PAM service file, which bakery — by design — has no
privileged-install path for) and stays on pacman only; see
## Local build `bread-ecosystem/docs/release-channels.md` for the full policy.
```bash
cd breadhelp && makepkg -si
```
## Before publishing to [breadway] repo
CI (`.forgejo/workflows/package.yml`) handles this on tag push (`vX.Y.Z`): it
bumps `pkgver`, archives the repo into the expected tarball name, and runs
`makepkg`. To do it by hand instead:
1. Tag a release on GitHub (`vX.Y.Z`).
2. Update `pkgver` in `breadhelp/PKGBUILD` to match the tag.
3. Update `source` to the release tarball URL.
4. Run `updpkgsums` (or manually set `sha256sums`).
## Runtime dependencies
| Package | Required | Notes |
|---------|----------|-------|
| `gtk4` | yes | UI toolkit |
| `glib2` | yes | always |
| `snapper` | optional | create-backup one-click fix |