Skip to content

Move Herdr to the herdr-git package - #7520

Draft
omarchybot wants to merge 1 commit into
quattrofrom
herdr-git-transition
Draft

Move Herdr to the herdr-git package#7520
omarchybot wants to merge 1 commit into
quattrofrom
herdr-git-transition

Conversation

@omarchybot

Copy link
Copy Markdown
Collaborator

The herdr package was built from an Omarchy fork of Herdr whose only divergence was three commits replaying an agent's CLI options when a session resumed. Upstream declined that work twice — from a contributor in herdrdev/herdr#2036, and from us in herdrdev/herdr#2614, closed in favour of an agent resume manifest meant to supersede it — so the fork bought one feature at the price of rebasing it onto upstream forever. omacom-io/omarchy-pkgs#170 drops the fork and builds from upstream master instead, which renames the package to herdr-git.

Packaging upstream's v0.8.0 release rather than master was the other way out, and it regresses more than the fork gained: configurable outer pane borders, direct pane resize keybindings, move tab keybind actions, centered tab labels and outer terminal window title sync all merged upstream after that tag, so the release predates five features Omarchy contributed.

The rename means the package list has to name the new package, and existing installs need a nudge. herdr-git declares replaces, but pacman honours that only during a full sysupgrade, so anyone who updates another way keeps the old name.

The migration installs herdr-git in one transaction rather than dropping herdr and adding it back, because the session is usually running inside Herdr and an install that failed between the two would leave the machine with no terminal. That needs --ask 4: --noconfirm answers "no" to the conflict herdr-git raises against the installed herdr, which is the same reason omarchy-upgrade-to-quattro passes it. It ends by asserting the package is really present, because pacman does not always exit non-zero when an install fails, and a migration that marked itself done would leave the machine on the fork for good.

Draft on purpose: nothing here can merge before herdr-git is published to the package mirrors. Until then the migration fails, stays pending and retries — safe, but noisy. Two steps outside this repo have to land first: publish herdr-git for every architecture, then repo-remove the old herdr from each mirror's database, which deleting its PKGBUILD does not do on its own. omarchy-herdr is still published today for exactly that reason, orphaned by the previous rename.

🤖 Generated by Opus 5 in Claude Code. Reviewed by Codex XHigh.

The herdr package was built from an Omarchy fork of Herdr whose only divergence was three commits replaying an agent's CLI options when a session resumed. Upstream declined that work twice — from a contributor in herdrdev/herdr#2036 and from us in herdrdev/herdr#2614, closed in favour of an agent resume manifest meant to supersede it — so the fork bought one feature at the price of rebasing it onto upstream forever. omacom-io/omarchy-pkgs#170 drops the fork and builds from upstream master instead, which renames the package to herdr-git.

Renaming means the package list has to name the new package, and existing installs need a nudge: herdr-git declares replaces, but pacman honours that only during a full sysupgrade, which leaves anyone who updates another way holding the old name.

The migration installs herdr-git in one transaction rather than dropping herdr and adding it back, because the session is usually running inside herdr and an install that failed between the two would leave the machine with no terminal. That needs --ask 4, since --noconfirm answers "no" to the conflict herdr-git raises against the installed herdr — the same reason omarchy-upgrade-to-quattro passes it. It ends by asserting the package is really there, because pacman does not always exit non-zero when an install fails and a migration that marked itself done would leave the machine on the fork for good.

Nothing here can merge before herdr-git is published to the package mirrors: until then the migration fails, stays pending and retries, which is safe but noisy.

🤖 Generated by Opus 5 in Claude Code. Reviewed by Codex XHigh.

Co-Authored-By: Codex XHigh <codex@openai.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant