46 lines
1.6 KiB
Markdown
46 lines
1.6 KiB
Markdown
# sshkeeper v0.4.1 — Package Install & Version Fixes
|
|
|
|
This patch release makes native Linux packages authoritative after installation
|
|
and exposes the version embedded in the executable.
|
|
|
|
## Package installation now wins over legacy binaries
|
|
|
|
DEB and RPM installs detect older sshkeeper copies at known legacy paths:
|
|
|
|
- `/usr/local/bin/sshkeeper`;
|
|
- per-user `~/.local/bin/sshkeeper` paths discovered from the system account database.
|
|
|
|
A detected legacy entry is preserved as `*.legacy-backup`, then its old path is
|
|
replaced by a symlink to `/usr/bin/sshkeeper`. This deliberately handles both
|
|
`PATH` precedence and shells that have already cached the previous executable
|
|
path. No database, vault, configuration, SSH key, or other user data is touched.
|
|
|
|
The migration is idempotent across package upgrades. Removing the package restores
|
|
the preserved legacy binary when the redirect is still package-managed; if the
|
|
user changed that path while the package was installed, the package leaves the
|
|
user's replacement alone and keeps the backup rather than overwriting it.
|
|
|
|
## Version reporting
|
|
|
|
Both forms are now supported without initializing the database or vault:
|
|
|
|
```bash
|
|
sshkeeper --version
|
|
sshkeeper version
|
|
```
|
|
|
|
A v0.4.1 release binary prints:
|
|
|
|
```text
|
|
sshkeeper v0.4.1
|
|
```
|
|
|
|
The build and release scripts now link the discovered version into the real
|
|
`cmd.Version` symbol instead of the stale `main.version` target.
|
|
|
|
## Packaging verification
|
|
|
|
The release gate now tests legacy-path migration and restoration in addition to
|
|
the existing Go tests, vet, and cross-platform builds. DEB/RPM packages continue
|
|
to contain the exact Linux binary produced for the matching tarball.
|