From ac2644384adc3254ac30d84662117b05c00a80d2 Mon Sep 17 00:00:00 2001 From: Aleksei Sviridkin Date: Fri, 25 Sep 2026 18:57:43 +0300 Subject: [PATCH] fix(release): keep the claudeline command after apt autoremove apt 3 treats the empty claudeline package as transitional: it moves the manual-install mark to ailine and leaves claudeline auto-installed, so autoremove deletes it. In 1.11.0 that package owned the /usr/bin/claudeline symlink, which went with it. The symlink now belongs to ailine, which replaces and breaks the older claudeline so the file changes owner on upgrade. Assisted-by: LLM Signed-off-by: Aleksei Sviridkin --- .goreleaser.yaml | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/.goreleaser.yaml b/.goreleaser.yaml index 5601091..6255bbc 100644 --- a/.goreleaser.yaml +++ b/.goreleaser.yaml @@ -39,9 +39,20 @@ nfpms: contents: - src: LICENSE dst: /usr/share/doc/ailine/copyright + # Owned here rather than by the transitional package: apt marks that one + # auto-installed, so autoremove would take the old command name with it. + - src: ailine + dst: /usr/bin/claudeline + type: symlink + # claudeline 1.11.0 shipped the symlink itself. + replaces: + - claudeline (<< 1.11.1) + deb: + breaks: + - claudeline (<< 1.11.1) # The project was called claudeline. This empty package upgrades the old - # one in place, pulls ailine in, and keeps the old command name working. + # one in place and pulls ailine in. - id: claudeline-transitional package_name: claudeline meta: true @@ -55,10 +66,6 @@ nfpms: section: oldlibs dependencies: - ailine - contents: - - src: ailine - dst: /usr/bin/claudeline - type: symlink brews: - name: ailine