Skip to content

Consider contributing this to Qt upstream #84

New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Open
probonopd opened this issue Feb 26, 2017 · 8 comments
Open

Consider contributing this to Qt upstream #84

probonopd opened this issue Feb 26, 2017 · 8 comments

Comments

@probonopd
Copy link
Owner

probonopd commented Feb 26, 2017

From the beginning, this tool has been closely modeled after the pre-existing macdeployqt tool to facilitate integration into upstream Qt. The question is whether we should do this.

http://wiki.qt.io/Qt_Contribution_Guidelines

Pros:

  • Might lead to valuable discussion, reviews, and contributions from the Qt developer community
  • Might become an official part of Qt tools, receiving more attention

When I created this project I was really keen on collaborating with the Qt community. But it seems to me, as a newcomer to the Qt community, this is unnecessary hard because, well, basically they don't use GitHub that we all know and love.

Cons:

  • Need to follow a convoluted Gerrit setup involving SSH keys (which is a pain for the nomadic workflow I typically use)
  • Reviews by the Qt developer team may lead to additional work no one is currently doing (e.g., rewriting ldd in Qt), hence delaying integration
  • Everyone who wants to contribute needs separate logins, may decrease drive-by contributions
  • Can't use GitHub Issues
  • Can' use GitHub Pull Requests, need to learn Gerrit instead
  • Complicated processes to follow (rather than just sending a PR)
  • Might lead to fewer contributions from the Qt user community (= application developers; linuxdeployqt's target audience)
  • Integration with Travis CI?

What do people think? Is it worthwhile? Who would be willing to do the work?

@Skycoder42
Copy link
Contributor

As a first step, I created a pull request that refactors the project into the qt module project structure: #124

I think contributing this to Qt would be awesome, but kinda collide with the AppImage approach. (At least in this early stage). However, by using this project structure, one could provide it as "custom Qt module", anyone can add to their Qt installation, like I did for some of my projects (Example: https://github.com/Skycoder42/QtAutoUpdater).

Since linuxdeployqt is basically a Qt tool, using this approach would greatly improve the integration with Qts build system, and make it easier to use it from pro-files and qmake.

@probonopd
Copy link
Owner Author

Hi @Skycoder42 thanks for your PR. Can you give an example of how this would make it easier to use it from pro-files and qmake?

@Skycoder42
Copy link
Contributor

The following will become possible, regardless of QT version, install location etc:

qtPrepareTool(QMAKE_LINUXDEPLOYQT, linuxdeployqt)

deploy.target = deploy
delpoy.commands = $$QMAKE_MKDIR nonfhs && $$QMAKE_COPY_FILE $$TARGET nonfhs/ && $$QMAKE_LINUXDEPLOYQT nonfhs/$$TARGET

QMAKE_EXTRA_TARGETS += deploy

And all one has to do is run make deploy to run the tool.

I could update the pull request and wrap this into a qmake feature, making it even easier to use:

load(deploy_linux) #example name

tl;dr: by making it part of the Qt installation, one can improve build and deploy automation. (A cross platform project would only use this part for linux, and create something similar for windows. This way you could run make deploy on any platform)

@Skycoder42
Copy link
Contributor

One more advantage: it will always find the correct qmake executable this way

@viktorgino
Copy link

viktorgino commented Aug 6, 2017

@probonopd From a quick Google search I can tell, that there are 3rd party websites that let you integrate
Github with Gerrit. However I'm not sure if it'd be viable to keep this repo when it becomes part of Qt as there would be some development going on there as well as here. You'd have to send changes to their Gerrit server and also you'd have to add their changes here.

If you go ahead and push this through the Qt company's review system, then this tool can provide a valuable tools for a lot of Linux users, even if it is unbeknownst to them. As you said: you could lose the help of drive-by developers who are not aware the Qt company's internal working, but on the other hand if this is liked by the Qt developers, then you will have the support of a professional community, your tool will reach a much larger audience and will help a lot of people.

Edit: removed last bit about suggesting to email qt developers, just searched through my inbox :)

@mitchcurtis
Copy link

It would be great if Qt had an official deployment tool for Linux.

Here's a recent thread on the Qt development mailing list discussing it:

https://lists.qt-project.org/pipermail/development/2019-April/035611.html

@stdevCrow
Copy link

I agreed. Right now, contribute to Qt is very difficult. Packing linux applications is a headache. I have been using linuxdeployqt for a while and I have only one complain: the speed. I/O operations are much faster under UNIX than under Windows, and still windeployqt is a lot faster. This must be improved. Hope that The Qt Company adopt this project (or linuxdeploy), improve it and release it as an official Qt Tool.

@probonopd
Copy link
Owner Author

I am happy to work with the Qt team if they want to adopt and improve this tool officially.

# for free to join this conversation on GitHub. Already have an account? # to comment
Projects
None yet
Development

No branches or pull requests

5 participants