AppImage / AppImage/appimagetool

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

Ouverte
#66 3 commentaires 1 réaction 0 personnes assignées Voir sur GitHub
Langage dominant
C
Étoiles
426
Forks
55
Métriques de merge des PR
Aucune PR mergée en 30 j

Description

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.

Guide de contribution

Aucun guide de contribution indexé pour ce dépôt

Évaluation

Cette issue n'a pas encore été évaluée.

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.