AppImage / AppImage/appimagetool

Make it easier in appimagetool to produce valid update information and .zsync files

Aperta
#66 3 commenti 1 reazione 0 assegnatari Vedi su GitHub
Lingua principale
C
Stelle
426
Fork
55
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Descrizione

Adoption of update information and .zsync files still leaves to be deserved.

Feedback is that currently implementing update information is too cumbersome, e.g., @ivan-hc (who is very dedicated and spends lots of time) saying

> Too many developers does not include this update system with metadata... me included (because I think the documentation is too complicate).

And indeed, putting together valid and working update information and .zsync files is too cumbersome.

So, can we think of input (environment variables) and outputs (stdout, stderr) to make this easier?
E.g. whenever we detect that GitHub Actions environment variables are set, we could construct the update information like this (pseudo-code to get across the idea):

```
#!/bin/sh

# Check if GitHub Actions environment variables are set
if [ -n "${GITHUB_REPOSITORY}" ]; then
# Split GITHUB_REPOSITORY into actor and repository
REPO_PARTS=(${GITHUB_REPOSITORY//\// })
USER=${REPO_PARTS[0]}
REPO=${REPO_PARTS[1]}

# Construct the update information using GitHub Actions environment variables
UPDATE_INFO="gh-releases-zsync|${USER}|${REPO}|latest|${APPIMAGE_NAME}-*${ARCH}.AppImage.zsync"

# Set the update information as an environment variable
export APPIMAGE_UPDATE_INFORMATION=${UPDATE_INFO}

# Print the constructed update information
echo "APPIMAGE_UPDATE_INFORMATION=${UPDATE_INFO}"
fi
```
We might use that automatically detected update information and make `appimagetool` print out a message saying something like

> If you want to make your AppImage updateable, use the `--make-updatable` argument; it will then use the following update information: $APPIMAGE_UPDATE_INFORMATION"

If the user then indeed uses `--make-updatable`, `appimagetool` should embed the update information, produce the `.zsync` file, and output very clear instructions on how and where to upload the files (under which URLs they _must_ be hosted) and how to test that it all works.

@TheAssassin I hope that this proposal addresses your dislike of "automagic" solutions, while still achieving the desired effect of "nudging" users to using update information.

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Valutazione

Questa issue non è ancora stata valutata.

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.