Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

Add Build instructions for Debian based users #161

Open
sonulohani opened this issue Mar 21, 2021 · 14 comments
Open

Add Build instructions for Debian based users #161

sonulohani opened this issue Mar 21, 2021 · 14 comments
Assignees

Comments

@sonulohani
Copy link
Contributor

Is your feature request related to a problem? Please describe.

The current scenario of this project needed latest version of Qt5 which is 5.15 to build the tool which is bad as everyone who is building this tool from scratch doesn't have Qt5 latest version installed and as of now we don't even have support for Qt version 5.14 in the tool which is one version behind the latest. I know that Qt 5.15 is the LTS release but it doesn't mean the tool shouldn't support older version of Qt. Ubuntu 20.04 which is the latest LTS as of now has Qt 5.12 installed from the package manager and this version is what this project should also support. Everyone doesn't have arch linux installed in their system.

Describe the solution you'd like

Add support for Qt 5.12 as well by adding check such as if Qt version is lesser than 5.15 and greater than or equal to 5.12 then support by adding older API otherwise use new API.

Describe alternatives you've considered

Ask user to install arch linux.

@ouuan
Copy link
Member

ouuan commented Mar 21, 2021

https://launchpad.net/~beineri/+archive/ubuntu/opt-qt-5.15.2-focal

@ouuan
Copy link
Member

ouuan commented Mar 21, 2021

BTW, I really don't know why people use Ubuntu.

@ouuan ouuan closed this as completed Mar 21, 2021
@sonulohani
Copy link
Contributor Author

LOL, This is what your solution is. Adding PPA.

@ouuan
Copy link
Member

ouuan commented Mar 21, 2021

LOL, This is what your solution is. Adding PPA.

This is Ubuntu users' solution, not mine.

@sonulohani
Copy link
Contributor Author

You can't impose your opinion on other using other linux distro. Anyway I am leaving this organisation as I dont see here main devs giving respect to the contributor opinions. BTW For your information:

image

All the best for the future.

@coder3101
Copy link
Member

There are pros and cons to always using latest Qt Version.

Pros are:

  • It has many new API's that we use (like QProcess::splitArgument). Otherwise we have to do it ourselves
  • Later version have less bugs or usually fixes known issues of the former version. Although it may also bring in bugs.

Cons are:

  • Not everyone can get latest version from their package manager.
  • Old releases are well tested and stood the test of time so consider it rock solid stable.

There are many other pros and cons as well.

I think in order to drive more people to contributing we need to have dependencies that is easy for newbies to get or that which comes from bundled with their distro or provided by package manager.

Providing backward compatibility doesn't impact anything, we can add QT_VERSION conditional macros to just make cpeditor compile on older qt versions at the cost of adding legacy code.

Use of a Linux distro is a matter of choice, the reason why some prefer ubuntu or any other debian derivatives it because for new people first Linux distro is ubuntu, due to its ease of installation and wider community. In some cases Linux laptop manufacturers like system76 and others bundle ubuntu or its derivatives like PopOS!

So if you use Arch it's your taste you like bleeding edge software at the cost of stability, some prefer stability at the cost of lack of latest version of software. It's a personal preference and it doesn't have to do with intellect or experience. I have seen people like Andreas Kling (creator of serenityos.org ) use ubuntu.

@coder3101
Copy link
Member

I clearly see @ouuan has violated the code of conduct for the repository. I recommend you to read the Pledge and adhere to it. No one is above the law. From the Correction conduct you are required to apologise for your behaviour to @sonulohani in this thread.

@coder3101 coder3101 reopened this Mar 24, 2021
@sonulohani
Copy link
Contributor Author

sonulohani commented Mar 25, 2021

Hi @coder3101 Thanks for understanding the situation here. I dont want any apology as such. The only thing I wanted to see is the problem for the user who wants to use cpeditor and wanted to bring this into notice the issues while compiling it in stable distro. There are so many projects in github which still use old version of Qt without any compromise and that is what we should also adopt in this project as well.

Adding PPA as an alternative solution is not what I would take as a solution. I am not comfortable with PPA's as they are not thoroughly tested. Additionally, It is possible that a bad maintainer could sneak some malware past them by including genuine improvements along with the malware. If something bad is admitted into a project by the maintainer, save a successful audit, chances are that code will end up on Ubuntu users' machines.

@coder3101 coder3101 assigned sonulohani and unassigned coder3101 Mar 25, 2021
@ouuan
Copy link
Member

ouuan commented Mar 25, 2021

First of all, let me apologize for:

  1. Using a bad tone. I wanted to say "I want to know the reason why some people are using Ubuntu" instead of "You shouldn't use Ubuntu".
  2. Closing this issue without further discussion.
  3. Not providing enough reasons besides the PPA solution.

But my opinion is the same: I don't think it's a good idea to support Qt 5.12 or older versions.

Here are the main reasons:

  1. We are using the Markdown displaying feature introduced in Qt 5.14 to display the changelog in the update checker.
  2. Since Ubuntu users can use the deb package or the AppImage, this is mainly for the developers. AFAIK, the main CP Editor developers are using Arch. If you can provide some evidence that many Ubuntu users are compiling CP Editor by themselves, I may reconsider this.
  3. We are planning to use Qt 6 in the near future. And there could be more features introduced in new Qt versions, we can't always stay on the old version.
  4. If we add some legacy codes, we'll need to maintain them, extra efforts are needed whenever we use a new API or even a new feature, and we'll be at the risk that there could be some bugs that only happen in older Qt versions.
  5. Besides PPA, aqtinstall is also a possible solution, though I haven't tried it except in the CI.

The only thing I wanted to see is the problem for the user who wants to use cpeditor

Users don't need to compile by themselves.

image

I was using Ubuntu when I was mainly a Windows user. See also 84 Best Linux distributions for desktops as of 2021 - Slant. I'm not saying which distro is better, I'm saying that the data you presented can't show how many people are using Ubuntu as their main OS, and are willing to compile software by themselves and to use the cutting-edge, unstable version of CP Editor at the master branch.

@ouuan
Copy link
Member

ouuan commented Mar 25, 2021

BTW, the reason I wanted to ask "why some people are using Ubuntu" is that I think the answer is "they prefer stability rather than bleeding-edge software", but they are now compiling CP Editor by themselves.

@ouuan
Copy link
Member

ouuan commented Mar 25, 2021

If anyone is interested in this, they can maintain a patch by themselves, and I'd like to link to it in the install instructions. If the patch has enough users, I'll consider merging it.

I simply don't think this is worth maintaining.

@coder3101
Copy link
Member

coder3101 commented Mar 25, 2021

The least we can do now is provide an example like we provide for Arch and macOS installation of Qt in "Build from Sources" in docs.

The issue becomes even more prevalent for new users of ubuntu when even after adding the ppa and installing latest Qt, by default it uses old Qt version provided by the the package manager, so they have to source the newly installed Qt.

@sonulohani
Copy link
Contributor Author

We may need to add this link (https://wiki.qt.io/Building_Qt_5_from_Git) for the one who is using Debian, ubuntu or ubuntu derivative for ex: linux mint.

@coder3101
Copy link
Member

@sonulohani please add instructions for Debian, Ubuntu users in website under "Build from source".

Since you use debian based distro and have been able to build cpeditor from sources. You could provide comprehensive instructions.

@coder3101 coder3101 transferred this issue from cpeditor/cpeditor Apr 30, 2021
@coder3101 coder3101 changed the title Qt5 backward compability Add Build instructions for Debian based users Apr 30, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants