Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Replace deb packaging with AppImages. #15086

Merged
merged 11 commits into from May 5, 2018

Conversation

Projects
None yet
3 participants
@pchote
Copy link
Member

pchote commented Apr 27, 2018

This PR applies OpenRA/OpenRAModSDK#71 to our upstream mods and removes the now-superseded deb packaging.

Fixes #2585.
Fixes #12257.
Closes #9201.
Closes #13374 (run the AppImage with --server).
Closes #14894.

The generated AppImages have a couple of differences from the SDK versions:

  1. We now rebuild the icon cache as well as the mime cache on first run to fix the broken launcher icons (we'll want to backport this to the SDK).
  2. We generate metadata for version updates, but the master.openra.net/appimagecheck end point is currently a placeholder that upgrades all mods to TD.

https://github.com/pchote/OpenRA/releases has test packages for the different release types.

Some notes:

  • On a clean system players just need to download the appimages for the mods they want, make them executable, and then run them.
  • The images should run on any reasonable Linux distro (>= CentOS 6) but, because they don't package mono, some users will first need to set up http://www.mono-project.com/download/stable/#download-lin.
  • System integration for launcher shortcuts and protocol handlers requires the optional appimaged daemon (download from https://github.com/AppImage/AppImageKit/releases/tag/continuous, make it executable, then run with the --install argument).
  • The current/old(?) way to enable updates is to download the optional AppImageUpdate utility from https://github.com/AppImage/AppImageUpdate/releases/tag/continuous, rename/move it to /usr/local/bin, and make it executable. Log out/in so that appimaged can detect it, then right click on the launcher icon to see the update option. The upstream AppImage system integration tools appear to be undergoing a rethink and rewrite so this will probably improve in the future.
  • I have made sure that make install and make uninstall continue to work, so downstream packaging should be minimally affected.
  • I have tested the system integration on Gnome (2 & 3) and Unity, but none of the other mainstream WMs.
  • The download page and version metadata files will need to be reworked before we can push a release with these changes.

@pchote pchote added this to the Next release milestone Apr 27, 2018


if mono_missing_or_old; then
if command -v zenity > /dev/null
then

This comment has been minimized.

@abcdefg30

abcdefg30 May 2, 2018

Member

We moved the then on the same line as the ifstatement everywhere else.

sed "s/{MODID}/${MOD_ID}/g" openra.appimage.in | sed "s/{TAG}/${TAG}/g" | sed "s/{MODNAME}/${DISPLAY_NAME}/g" > openra-mod.temp
install -m 0755 openra-mod.temp "${APPDIR}/usr/bin/openra-${MOD_ID}"

sed "s/{MODID}/${MOD_ID}/g" openra-server.appimage.in > openra-mod-server.temp

This comment has been minimized.

@abcdefg30

abcdefg30 May 2, 2018

Member

Double whitespace in front of the >.

@pchote pchote force-pushed the pchote:appimage-packaging branch from 06d1cee to aa9cd07 May 2, 2018

@pchote

This comment has been minimized.

Copy link
Member Author

pchote commented May 2, 2018

Fixed and rebased. Updated test images are available from https://github.com/pchote/OpenRA/releases/tag/pkgtest-20180502 if anyone wants to confirm that everything still works.

@abcdefg30

This comment has been minimized.

Copy link
Member

abcdefg30 commented May 2, 2018

View FAQ doesn't work anymore.

pchote added some commits Apr 8, 2018

Adjust zenity crash dialog.
This removes the "View FAQ" button, which does not work in the AppImage
enivronment.  It also replaces the inconsistent question mark icon with
a more appropriate stop symbol, and makes the wording consistent across
the zenity, terminal, and native macOS dialogs.

@pchote pchote force-pushed the pchote:appimage-packaging branch from aa9cd07 to 9076c00 May 4, 2018

@pchote

This comment has been minimized.

Copy link
Member Author

pchote commented May 4, 2018

I spent a bit of time on that, but couldn't get to the bottom of what exactly in the AppImage environment was breaking xdg-open. The inconsistencies in the crash dialog (question mark icon, FAQ button but no wiki button, differences in text) always low-level bugged me, so I decided that a better solution was to change it to a proper --error dialog:

crash

Updated test images: https://github.com/pchote/OpenRA/releases/tag/pkgtest-20180504-2

@pchote

This comment has been minimized.

Copy link
Member Author

pchote commented May 4, 2018

Two new commits reduce duplication and add graphical dialogs on KDE:
screen shot 2018-05-05 at 00 02 40
screen shot 2018-05-05 at 00 03 47

Updated (again) test images: https://github.com/pchote/OpenRA/releases/tag/pkgtest-20180504-3

@abcdefg30 abcdefg30 merged commit 91f22c4 into OpenRA:bleed May 5, 2018

2 checks passed

continuous-integration/appveyor/pr AppVeyor build succeeded
Details
continuous-integration/travis-ci/pr The Travis CI build passed
Details
@abcdefg30

This comment has been minimized.

Copy link
Member

abcdefg30 commented May 5, 2018

@TheAssassin

This comment has been minimized.

Copy link

TheAssassin commented May 5, 2018

We now rebuild the icon cache as well as the mime cache on first run to fix the broken launcher icons (we'll want to backport this to the SDK).

See https://github.com/AppImage/AppImageKit/issues/653. Feel free to add your two cents to the discussion. The more people push the issue, the more likely it is that a solution will be implemented soon.

@pchote pchote deleted the pchote:appimage-packaging branch Jul 9, 2018

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.