Nominate our 2022 Qt Champions!

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?

  • Moderators

    @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.

  • @p3c0
    Thanks for the reply .
    I want to create an .rpm package.

    You can use the tools provided by the respective distro to create the packages

    Can you mention some of the links or tool provided by the respective distro?
    I will look into Open Build Service .

  • Moderators

  • @p3c0
    Thanks . I will check and revert back.

  • 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.

    Another 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 .

Log in to reply