Skip to content

Commit e74f91c

Browse files
sinelawclaude
andcommitted
fix: update cargo-deb/rpm paths for workspace structure
cargo-deb only auto-adjusts paths starting with "target/release/" when using --target. Changed binary path from "../../target/release/fresh" to "target/release/fresh" and added CI step to create symlink from crates/fresh-editor/target -> ../../target so the paths resolve correctly. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
1 parent be6dbea commit e74f91c

2 files changed

Lines changed: 11 additions & 4 deletions

File tree

.github/workflows/linux-packages.yml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,12 @@ jobs:
6565
fi
6666
ls -la target/${{ matrix.target }}/release/fresh
6767
68+
- name: Setup target symlink for packaging
69+
run: |
70+
# cargo-deb/generate-rpm configs use paths relative to crate dir
71+
# Create symlink so target/release paths resolve to workspace target
72+
ln -s ../../target crates/fresh-editor/target
73+
6874
- name: Build .deb package
6975
run: |
7076
cargo deb --no-build --target ${{ matrix.target }}

crates/fresh-editor/Cargo.toml

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -157,8 +157,9 @@ section = "editors"
157157
priority = "optional"
158158
depends = "$auto"
159159
assets = [
160-
# Binary goes in /usr/share/fresh-editor/ alongside plugins
161-
["../../target/release/fresh", "usr/share/fresh-editor/", "755"],
160+
# Binary - path must start with "target/release/" for cargo-deb to auto-adjust for --target
161+
# CI creates symlink: crates/fresh-editor/target -> ../../target
162+
["target/release/fresh", "usr/share/fresh-editor/", "755"],
162163
["../../README.md", "usr/share/doc/fresh-editor/", "644"],
163164
["plugins/*", "usr/share/fresh-editor/plugins/", "644"],
164165
["plugins/lib/*", "usr/share/fresh-editor/plugins/lib/", "644"],
@@ -175,8 +176,8 @@ and other IDE-like features in a minimal terminal interface."""
175176
# RPM package configuration for cargo-generate-rpm
176177
[package.metadata.generate-rpm]
177178
assets = [
178-
# Binary goes in /usr/share/fresh-editor/ alongside plugins
179-
{ source = "../../target/release/fresh", dest = "/usr/share/fresh-editor/fresh", mode = "755" },
179+
# Binary - CI creates symlink: crates/fresh-editor/target -> ../../target
180+
{ source = "target/release/fresh", dest = "/usr/share/fresh-editor/fresh", mode = "755" },
180181
# Wrapper script in /usr/bin for PATH access
181182
{ source = "scripts/fresh-wrapper.sh", dest = "/usr/bin/fresh", mode = "755" },
182183
{ source = "../../README.md", dest = "/usr/share/doc/fresh-editor/README.md", mode = "644" },

0 commit comments

Comments
 (0)