AppImage / appimage.github.io

Given an URL to an AppImage, the GitHub action in this project inspects the AppImage and puts it into a community-maintained catalog
https://appimage.github.io/
Other
303 stars 549 forks source link

accept AppImages from bitbucket downloads #3211

Closed kfjahnke closed 1 year ago

kfjahnke commented 1 year ago

Hi! In the packaging guide, it says about acceptable AppImages:

  • Should be available under a constant URL that does not contain the version number. Alternatively, should be available on GitHub Releases or the openSUSE Build Service (you are free to suggest additional serices like these)

I'd like to suggest accepting AppImages from the download section of bitbucket-hosted git repos. bitbucket kindly offers this space to developers to upload artifacts they have created. I, for example, distribute my Windows, macOS and Linux installers/bundles from the lux project's download section. If you look at that page, it has several AppImages - both versioned releases and also one which has 'master' in it's name which is the most recent Appimage to be had. AppImages are easily recognized by their extension, so it should be enough to communicate the URL of the download page, and if only versioned releases are wanted, a regular expression can narrow it down to AppImages following the usual naming scheme.

With this addition, a 'Download' button could be added to the catalog listing. In my case, where I only passed a single URL (the 'master' one) there was no Download button in the catalog, and none of the other links actually referred to my work, which isn't really my idea of what a catalog should do for me.

probonopd commented 1 year ago

Hi @kfjahnke, good idea. Would you be willing to put in the work?

kfjahnke commented 1 year ago

I don't think I'm good at that kind of thing. I speak C++ and some Python plus a smattering of bash and my speciality is numerics (b-splines) and graphics. What sort of code are we talking about?

probonopd commented 1 year ago

Just a bit of bash really:

https://github.com/AppImage/appimage.github.io/blob/438806f5be851be2cb0c27f486eae2d788208ce2/code/worker.sh#L498-L511

kfjahnke commented 1 year ago

Looks doable. But I don't have time right now. I'll be offline for a good two weeks. I'll post again when I'm back. given BITBUCKET_USER (extracted like GH_USER etc), should be sth. like

BITBUCKET_DOWNLOADS_LINK=$(grep "^http.*://bitbucket.org.$BITBUCKET_USER.$INPUTBASENAME.*AppImage$" data/$INPUTBASENAME | sed -e 's|http://d|https://d|g')
  if [  x"$BITBUCKET_DOWNLOADS_LINK" != x"" ] ; then
    echo "  - type: Download" >> apps/$INPUTBASENAME.md
    echo "    url: $BITBUCKET_DOWNLOADS_LINK" >> apps/$INPUTBASENAME.md
  fi

just the grep may come up with several matches...

probonopd commented 1 year ago

Merged.