build(linux): stage desktop-entry assets into the portable tarball - #363
Merged
Conversation
Prep for the optional Linux installer (#342). Carrying the icon and a .desktop template inside the package is what lets the installer be self-contained: no second download, and no asset URL that can drift from the release being installed. The Tauri icon is already square at 1024x1024, so it doubles as the desktop icon with no separate artwork to keep in sync. Exec= is quoted in the template. The freedesktop spec splits Exec on whitespace, so the unquoted form used by the reference installer in #342 produces an entry that tries to run ".../My" when the user installs to a path like ~/My Apps. It is invisible until someone picks a custom directory, which is why it is pinned by a test. Both variants pick this up: the CPU and NVIDIA packages run the same script with CPU_ONLY toggled. install.sh itself, and the README-LINUX.txt change documenting it, land with #361 -- this commit deliberately ships nothing that references a file which does not exist yet. Closes #360
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #360. Prep for #342.
Adds two data files to the Linux tarball and nothing else. No runtime behaviour changes, and the package still runs in place when extracted.
Why in the tarball
It is what lets the installer be self-contained: no second download, no checksum step, and no raw asset URL pointing at a branch that can drift from the release being installed. The version and variant it needs are already in the package too, in
backend/static/version.jsonand thecpu-onlymarker.The one substantive detail
Exec=is quoted. The freedesktop spec splitsExecon whitespace, so the unquoted form used by the reference installer in #342 generates an entry that tries to run/home/u/Mywhen installed to~/My Apps:That is invisible until someone picks a custom directory, so
tests/test_packaging_linux.pypins it. Removing the quotes fails that test, verified.Verification
shlex.splityields a single argument.bash -n scripts/linux/make-portable.shclean.tests/test_stems_api.py::test_all_stems_zip_oggfails identically on cleanmain(local ffmpeg has nolibvorbis, and the test's skip guard only checks that ffmpeg exists). Unrelated, not fixed here.Not included
install.shand theREADME-LINUX.txtsection documenting it, both of which land with #361 along with the line that stages the script. Splitting it this way means this ships without referencing a file that does not exist yet, and gives whoever writes the installer the ground to stand on. #361 is offered to @MetalMan1245, whose fork prompted all of this.