How to bundle a Linux application

I write a (closed source) application and provide binaries for all three major platforms (MacOS X, Linux, and Windows). It uses Qt under the LGPL license, so I need to dynamically link to Qt libraries. I understand how to associate an application for MacOS and Windows by simply providing a dynamic Qt library with the application, but I'm not sure how to do it correctly for Linux.

It is traditional to provide the application as a package (.deb and .rpm) and allow the package system to resolve dependencies. Should use this method? If so, which distributions should I aim for (I assume Ubuntu and Fedora)? If anyone has experience with this, I would be interested to hear it.

+6
source share
3 answers

deb , rpm and tarballs are the right ways. There are several non-standard ways that I know that you might want to consider about, which are more relevant.

  • Makeself - Self- disclosing shell scripts containing your application. It is fairly widely used by open source software distributors.
  • ZeroInstall - Useful for non-root installations.
  • Listaller - Merging with unattended installation now seems unstable.
+3
source

You need to provide at least 3 packages for Linux; .deb for Debian based systems, rpm for RPM systems, and tarball for everything else. Some consider it necessary to clarify it in order to provide three or four different .rpm packages for Fedora, SuSE, Mandriva, and RHEL, depending on the exact library requirements that the software has.

+2
source

There are many ways to do this ... but if you want the general distribution to be associated with a Linux application, you can check this ( http://codevarium.gameka.com.br/deploying-cc-linux-applications-supporting- both-32-bit-and-64-bit / ). It shows how to copy all the dependencies to the library folder and make a shell script for the package to execute correctly.

0
source

Source: https://habr.com/ru/post/886684/


All Articles