AppImage / AppImageKit

Package desktop applications as AppImages that run on common Linux-based operating systems, such as RHEL, CentOS, openSUSE, SLED, Ubuntu, Fedora, debian and derivatives. Join #AppImage on irc.libera.chat
http://appimage.org
Other
8.65k stars 552 forks source link

Need copy&paste-able instructions on how to compile #1047

Closed sk8nfool closed 4 years ago

sk8nfool commented 4 years ago

The instructions for building AppImageKit at the end of the README.md file don't match reality. The instructions say to

git clone --single-branch --recursive https://github.com/AppImage/AppImageKit
cd AppImageKit/
sudo bash -ex install-build-deps.sh
bash -ex build.sh

Unfortunately there is no install-build-deps.sh file to execute.

probonopd commented 4 years ago

Hi @sk8nfool. Generally we recommend to use our pre-compiled binaries, as we are specifically building them in a CentOS 6 container in order to increase compatibility even with older systems.

@TheAssassin do you know what happened to install-build-deps.sh? Are the currently correct instructions for building locally?

TheAssassin commented 4 years ago

The script was not only constantly out of date, but also very invasive and was likely to break people's setup. It's better not to have such scripts "hiding"/automating the installation. With sudo and -y here and there, you can easily eat up all space on a small SSD or otherwise break a system, etc. Therefore, this script was removed.

We don't have a complete "setup script", as we have a mess of dependencies pulled in from various sources. However, our CMake scripts check for every single dependency and notice the user when something is missing, allowing them to apt/yum/dnf/pkg install that.

TheAssassin commented 4 years ago

We are working on unweaving all the components by the way, and then sort the dependency mess out by implementing smaller, component wise build systems which are more robust, too. Divide and conquer, basically. Then we can also manage our dependencies much more easily and also provide a complete list and ideally also license information etc. making it easier for third parties to use AppImageKit, the runtime, ...

sk8nfool commented 4 years ago

Ah. So the script is supposed to be gone. That still means the instructions need to be fixed.

probonopd commented 4 years ago

@TheAssassin could you please give instructions? At this point I have to admit I wouldn't know how to build it locally without running from error to error.

TheAssassin commented 4 years ago

@sk8nfool yup, I'll be fixing that asap. @probonopd as said it's messy and complex and there can't be instructions for every distribution. A starting point can be our Docker files in AppImageBuild, which is our official collection of dependencies. You can even just use our Docker containers, they are built and stored on a container registry. The build script we use to make the AppImages is shipped in the travis/ directory of this repository. However, that script is also trimmed on Travis CI and might not be safe to run locally. But you can also take this as inspiration.