How to create linux packages
-
I have a QT GUI based application which is build on windows . I have created a installer package for windows(setup file .exe of QT application) using visual studio which works fine. Since QT is cross platform i want to create a Linux package . My application runs fine on Linux . Now i want to create an setup file for my application. How can i create Linux package? Does the latest version of QT allows to create packages in QT itself?
-
@Ratzz Creating a Linux package will depend upon the distro that you have used. For eg. some use
.deb
some use.rpm
. You can use the tools provided by the respective distro to create the packages. Or you can try Open Build Service.
Another way would be to create a wizard type installer which you have done on windows. Examples would be to use Qt-Installer-Framework or we use Bitrock installBuilder. -
-
-
There are a few choices you have.
The proper way would be to write appropriate package control files,
this way you can build a native installer package that the user can install
and remove the software trought the native package manager application.
This does require more work as there are several different distributions
out there, all of which use different package formats Ubuntu & Debian
use the .deb archives, Fedora and OpenSuse use .rpm archives and so on.
This way you can leverage dependency management support of the
package manager and you don't have top bundle in 200mb of Qt libs
with your application.https://wiki.debian.org/IntroDebianPackaging
https://fedoraproject.org/wiki/How_to_create_an_RPM_packageAnother choice is to use Makeself to create the installer, but this has the
downside that you do not get any kind of dependency management and
you basically have to include every single library your application uses
within the package. You also need to write a custom installer and uninstaller
scripts that copy the files over to correct places. -
@Huulivoide
Thanks for the reply.
Now i am trying Qt-Installer-Framework . Will also look into package manager you have provide.
I have looked into some methods to create a package both in windows and Linux such as cavapackager , installjammer.
In installjammer i get application installed but cannot find its path. moreover same project files are copied to installed path of .exe file (all .ccp and .h files).
In cavapackager i am confused how to use and install citrus perl .