AppImageCrafters / appimage-builder

GNU/Linux packaging solution using the AppImage format
MIT License
316 stars 58 forks source link

Inconsistent usage of appimagetool in release distributations #223

Closed mschuckmann closed 2 years ago

mschuckmann commented 2 years ago

I've run into a problem where the continuous version of appimagetool-x86_64.AppImage (built Apr 03, 2022) is causing my appimage to crash with the error: APPRUN_ERROR: Bad address (I'll be creating an issue in appimagetool for this problem).

I had a manual install of appimage-builder but I noticed that this project recently released v1.0.0 as a pre-built appimage. So downloaded that and tried it and I get the same error.

It seems that release version of appimage-builder should be consistent from one distribution method to another and it should probably reference released software not pre-release software that is likely to change from build to build and to have bugs.

azubieta commented 2 years ago

@mschuckmann you are right in your claims. I'm also planning to drop the dependency on appimagetool as their functionalities can be reproduced easily by builder itself.

azubieta commented 2 years ago

Fixed, the appimage-builder bundle ships appimagetool 13 now.

mschuckmann commented 2 years ago

Great, does that mean you'll be releasing a new v1.0.1 release?

BTW, we've been having trouble with our app-images crashing with the following error APPRUN_ERROR: Bad address This started occurring a couple of weeks ago when we rebuilt our build server docker image with changes unrelated to appimage-builder. We reverted to an older version of our docker image to get around the problem for now. I did a little experimentation with the v1.0.0 appimage-builder pre-built appimage but the problem seemed to persist.

I've been meaning to create issue for the problem but I haven't had time to create a minimally reproducible example yet. Has anyone else reported similar problems.

azubieta commented 2 years ago

Great, does that mean you'll be releasing a new v1.0.1 release?

I already did :)

I've been meaning to create issue for the problem

yes please, I'll take care ASAP. So far this is the first report I have received any similar reports so I'll waiting for yours.

mschuckmann commented 2 years ago

@azubieta So we figured out at least part of our problem, our yaml recipe files had the runtime version set to release "1.2.5" but that release of the runtime doesn't seem to work with the current version of AppImage-builder, and I have no idea why.

We explicitly set the runtime version to "1.2.5" because previously AppImage-builder would default to the "continuous" version of the runtime and we got bit when continuous version was broken for a few weeks (perhaps you remember this issue.

I can see that you have updated AppImage-builder to default the runtime version to "2.0.0".

So I'm left with the conundrum of do I explicitly set the runtime version in my yaml files or do I trust the default? I'm leaning towards explicitly setting it to "2.0.0" so maybe I'll know when things have broken but I also feel like that's leaving us open to falling behind. What is your recommendation?

BTW, I've noticed that some of your example recipes still have the runtime version set to "continuous".

azubieta commented 2 years ago

So we figured out at least part of our problem, our yaml recipe files had the runtime version set to release "1.2.5"

It seems that I still have many moving parts to fix. Sorry about that, will add a big fat error to notice people that appimabe-builder 1 requires AppRun v2.

So I'm left with the conundrum of do I explicitly set the runtime version in my yaml

If you already have a working recipe please fix runtime version on the recipe and the appimage-builder version on your script so I would not break it again.

mschuckmann commented 2 years ago

Thanks for the quick response and an error is probably a good idea.

azubieta commented 2 years ago

Just for reference, in this commit was added the error notification: https://github.com/AppImageCrafters/appimage-builder/commit/647b5914dd0db71739d12ce4987f1e732726818d

mschuckmann commented 2 years ago

@azubieta I just downloaded v1.0.2 of the appimage-builder pre-built AppImage and I noticed that you now support a --version option which is fantastic. However I noticed that it reports it is using the "continuous" version of appimagetool.

$ /tmp/appimage-builder --version
appimage-builder: 1.0.2
appimagetool, continuous build (commit 8bbf694), build <local dev build> built on 2020-12-31 11:48:33 UTC

Is this intentional?

azubieta commented 2 years ago

@mschuckmann appimagetool have received several updates since the latest release was made and those are in much need. That's why we use continuous hopefully we will replace appimagetool in the near future (working on it right now).

mschuckmann commented 2 years ago

@azubieta so it sounds like you've reversed course from your statement a few days ago:

Fixed, the appimage-builder bundle ships appimagetool 13 now.

Which I suppose is fine as long as your consistent and are relatively confident that the continuous build of appimagetool is free of problems at the time the that you create your release. I would be a bit concerned that older continuous builds are not saved as released so if a new continuous build of appimagetool occurs you will not be able to rebuild v1.0.2 of appimage-builder.

mschuckmann commented 2 years ago

And to the point of consistency it looks like your Dockerfile is pulling appimagetool version 13.

https://github.com/AppImageCrafters/appimage-builder/blob/dd041050e65f8eff28f878a092fd07bcf3ec5a4d/Dockerfile#L12