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:
parent
1120729973
commit
6aead4f5e8
6 changed files with 53 additions and 55 deletions
|
|
@ -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"
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
@ -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
|
||||||
|
|
@ -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
|
||||||
|
|
|
||||||
|
|
@ -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 |
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue