Ubuntu Hoping To Remove Qt 5 Before Ubuntu 26.04 LTS

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts
  • the-burrito-triangle
    Phoronix Member
    • Jul 2024
    • 77

    #21
    Originally posted by A1B2C3 View Post
    Thank you very much for caring about people, about their needs in CPUS. But can I ask you to take everyone into account? Please make two versions: one maximum, you can put everything there and CUPS and desktop sharing and remmina and other crap..... and please make a minimal Ubuntu where there will be nothing extra. It is not convenient now. Look, now you need to install an extension to remove the pre-installed. I will say for example, now you need to install an extension to hide the topbar. Guys, this is wrong, extensions should be installed in order to add something. You have to remove a lot. Make two versions and everyone will be happy. Everyone will find their own. Those who want a lot of pre-installed will choose the maximum Ubuntu during installation. Those who want minimalism as in the picture, let them choose the minimum Ubuntu. Everyone will be happy.
    Not to be rude, but I don't use _any_ *buntu or debian based distros. I've never liked them or had good luck with them. But many people use them--and I have no issue with that. I also don't work for Canonical... So I don't know why you are asking me to fix your perceived issues with Ubuntu. I do agree with you though: I prefer a _minimal_ base OS that I then add what I need to it. AKA the Arch Linux philosophy. But most people don't know anything about how the Linux userspace works or their random distro of choice's ecosystem works. Fedora is a RH distro and uses RPMs, Ubuntu is Debian based distro and uses .deb. They are entirely separate ecosystems and use different compiler versions, have packages broken up into different dependencies and so on. The same goes for Arch and other distros based on it. And Gentoo? Well, they build everything from scratch (talk about Deadpool's "maximum effort" put into practice). Anyways, what you want and what maintainers do are two different things. Fedora's "everything" network installer allows one to make a custom distro with a minimal base that you can add what you need to, but the dependencies and complie-time options are the same as base Workstation, so one is still stuck with pointless things like samba and gnome-online-accounts and such if using GNOME. And there is similar "bloat" for KDE. Point is, if you want something done "your way", switch to Arch or Gentoo, otherwise just accept that Canonical/RedHat knows best and including everything in the base release to save them from having people complain that they can't print or see a networked Windows machine or any other edge case that might pop up in daily use.

    Comment

    • anda_skoa
      Senior Member
      • Nov 2013
      • 1150

      #22
      Originally posted by A1B2C3 View Post
      and please make a minimal Ubuntu where there will be nothing extra
      Isn't Ubuntu Core a minimal Ubuntu?

      Comment

      • anda_skoa
        Senior Member
        • Nov 2013
        • 1150

        #23
        Originally posted by CommunityMember View Post
        The goal is good, but will not be achieved by the 26.04 target unless the proposer starts contributing patches to the (what they show are to be approximately) 1000 projects on the list (asking others to do work almost never succeeds).
        My guess is that for application that aren't ready by some cut-off date they will simply start shipping them as snaps

        Comment

        • anda_skoa
          Senior Member
          • Nov 2013
          • 1150

          #24
          Originally posted by Weasel View Post
          gdi32 is still in Windows. 30 years old library.
          Libx11 is also still on most Linux systems.

          Qt is a third party library which Windows doesn't ship at all, let alone in multiple versions.

          What they are referring to is not the removal of a system API but of a library product from one of their app stores.

          Not sure if the Windows store even has the concept of shared runtimes. At least pre-store every application package needed to include third party libraries, even if the third party was a different Microsoft division.


          Comment

          • kpedersen
            Senior Member
            • Jul 2012
            • 2675

            #25
            Originally posted by anda_skoa View Post

            That is a common misconception.

            MOC does not preprocess code before it gets handed over to the C++ compiler, both header and source files are directly consumed in unaltered form.

            MOC is a code generator which creates standard C++ code as its output.
            Disagree. Most preprocessors generate standard C++ code. MOC is no different, it merely operates on both headers and source files.

            Originally posted by anda_skoa View Post
            Code generators are widely used in software projects for things like repetitive code, turning formal API or format descriptions into code, etc.
            Indeed. Luckily their stability is much greater than Qt's MOC. For something like a GUI library where you can avoid non-standard C++, it is definately worth doing. This is why most libraries don't use bespoke preprocessors; its a bad idea.


            Originally posted by anda_skoa View Post
            Fun fact: if you use Qt with Rust then the its compiler has enough built-in code generation capability to not require a helper.
            It does with "Modern" C++ too but they choose to keep with MOC to not break existing API compatibility. Obviously with Rust this is all destroyed anyway.

            Comment

            • mathletic
              Phoronix Member
              • Jan 2023
              • 57

              #26
              Originally posted by Siuoq View Post

              Linux userland is so broken, its users can't even imagine that there are people that want to be able to run software older than ~2 years.
              It is the opposite. Ubuntu grantees to support the software they ship for 5 years, commercial support is 10 years. If they ship Qt 5 in Ubuntu 26.04, they have to maintain it until 2036. If they drop it, you can still install it, as it is provided in one of the repository, just without the long guaranteed support.

              For comparison, 10 years ago, Windows 8 was the system you would get by default.

              Comment

              • Siuoq
                Senior Member
                • May 2013
                • 124

                #27
                No, its the correct way. Ubuntu can be indefinitely supported, there is no backward or forward compatibility, only breakings. Canonical won't port you newer programs on older ubuntus, or older programs to newer ubuntus. the-burrito-triangle​ mentioned containers in #23, those improve it _a lot_ tho, from nothing to almost full compatibility. You want to run a qt5 application? Fine, put an old ubuntu in a container. Works? Works.
                Last edited by Siuoq; 02 November 2024, 08:38 AM.

                Comment

                • Vistaus
                  Senior Member
                  • Jul 2013
                  • 5104

                  #28
                  Originally posted by Weasel View Post
                  That's the entire point! They added new toolkits while keeping the old around for compatibility.
                  But what's the incompatibility here? First of all, a lot of Qt 5 apps have already been ported or are currently being ported. And even then, it's not a major transition from Qt 5 to Qt 6 and Qt has pretty good backwards compatibility. You can even compile quite a few Qt 2/3 apps with minimal code changes.

                  Comment

                  • anda_skoa
                    Senior Member
                    • Nov 2013
                    • 1150

                    #29
                    Originally posted by kpedersen View Post
                    Disagree. Most preprocessors generate standard C++ code. MOC is no different, it merely operates on both headers and source files.
                    A pre-processor is something you run before feeding the result to the C++ compiler.
                    MOC is run separately, the header and sources files of a Qt application are consumed directly by the C++ compiler.

                    Originally posted by kpedersen View Post
                    For something like a GUI library where you can avoid non-standard C++, it is definately worth doing.
                    Luckily Qt doesn't need any non-standard C++.

                    Multiple compilers from different vendors are used to build it in Qt's CI, even more by those using Qt for development.

                    Originally posted by kpedersen View Post
                    This is why most libraries don't use bespoke preprocessors
                    Qt doesn't either.

                    What Qt does (and other frameworks do as well) is ship with several tools that make the life of developers easier.
                    More often than not these tools generate code.

                    E.g. qdbusxml2cpp generates C++ code from a D-Bus introspection file, moc generates C++ code from a header file, uic generates C++ code from an XML file created by Qt's widget UI designer, qscxmlc generates C++ code from a standard state chart XML file, qrc generates C++ code from a Qt resource file and data files mentioned in them.

                    All these are just convenience, to move tedious and/or repetitive work from the developer's manual labor into build tools.
                    If someone prefers do to the manual labor that is up to them.
                    Have seen plenty of occurrences where one of more of these tools were not being used because the person thought they could do a better job.

                    Comment

                    • anda_skoa
                      Senior Member
                      • Nov 2013
                      • 1150

                      #30
                      Originally posted by A1B2C3 View Post
                      with a standard installation, you also get useful things.
                      A lot of desktop users consider printing to be a useful thing.

                      Since you do not you'd have to start with a smaller core and add only the things that you specifically consider useful.

                      Originally posted by A1B2C3 View Post
                      I don't want to lose them.
                      But you want other people to lose the things they find useful?

                      Originally posted by A1B2C3 View Post
                      this is exactly what the user needs. simplicity and convenience.
                      And for a lot of desktop users that means having the ability to print, e.g. a PDF document, without having to first install printing support.

                      Since this is apparently not your use case you have three options
                      1. ignore the features which are useful to others but not to you
                      2. remove them
                      3. start with a smaller core and only install the features useful to you.


                      Comment

                      Working...
                      X