AppImage / AppImage/appimagetool

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

Aberta
#66 3 comentários 1 reação 0 responsáveis Ver no GitHub
Linguagem predominante
C
Estrelas
426
Forks
55
Métricas de merge de PRs
Nenhum PR com merge em 30d

Descrição

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.

Guia de contribuição

Nenhum guia de contribuição indexado para este repositório

Avaliação

Esta issue ainda não foi avaliada.

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.