-
-
Notifications
You must be signed in to change notification settings - Fork 2.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fix(bundler): Build AppImages inside the target folder #4521
Conversation
Previously to avoid an issue with AppImage builds we collected all our output files in ~/.cache. This solves the reason why we did that and moves back to putting our temporary files in the target folder again.
Works like a charm. Why is this a draft @Beanow ? |
Still needs a change entry, and I was thinking if more refactors should be included. Like, asserting the file ends up in the right place now to avoid regressions. As is it should work though. |
chmod +x linuxdeploy-plugin-gtk.sh | ||
chmod +x linuxdeploy-${ARCH}.AppImage | ||
chmod +x "{{tauri_tools_path}}/linuxdeploy-plugin-gtk.sh" | ||
chmod +x "{{tauri_tools_path}}/linuxdeploy-${ARCH}.AppImage" | ||
|
||
dd if=/dev/zero bs=1 count=3 seek=8 conv=notrunc of=linuxdeploy-${ARCH}.AppImage |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ah, see this one I missed.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Patched this and set it as ready for review
What kind of change does this PR introduce?
Does this PR introduce a breaking change?
Checklist
fix: remove a typo, closes #___, #___
)Other information
Previously to avoid an issue with AppImage builds we collected all our output files in
~/.cache
. This solves the reason why we did that and moves back to putting our temporary files in thetarget
folder again.The main problem at that time was, #4305 introduced a change where build tools should be stored in
~/.cache/tauri
.However one particular file that we download,
AppRun
, was supposed to be bundled, instead of executed as a build tool.The path where it needed to be was in
{{app_name}}.AppDir/AppRun
.I've fixed it here by still downloading all dependencies to
~/.cache/tauri
, but also making a copy ofAppRun
in the correct place. Allowing builds intarget
to work again.As an aside, building in
target
is preferable because we don't use a conflict-free unique or fully qualified name when building AppImages, so race conditions might happen when building multiple projects.Also, "cleaning target" is an easy way to remove your project specific caches and intermediate builds, to get a clean slate. Which wouldn't apply for AppImages as they're not always in
target
.