Control: reopen -1 Hi Mike, and sorry for the delay.
Your mail was very long so I am replying to some points but not to all of them (otherwise I would never finish the reply). On Wed, Aug 07, 2019 at 01:51:01PM -0700, Mike Bird wrote: > The Qt examples are not like glxgears. They are fundamentally > different. They are not to demonstrate how pretty Qt looks or how > fast it runs. Well, I personally used the examples to test whether some of Qt components work correctly. E.g. I was working on bugs in upstream dbustray code, and I used the systray example to check how it works on Plasma, GNOME, etc. I did not compile it, just ran it. But I understand your point. > The orig.tar.xz do not include the precompiled binaries. Of course > debuild can build the binaries with all the necessary dependencies > installed, but it was Debian's decision to ship precompiled binaries > in the Debian examples packages. That was not Qt's decision. It is upstream build system that installs built binaries alongside their source code. So I would say it is Qt’s decision. > But just as an aside let's pretend for a moment that Lisandro is > correct. Let's try running one of the precompiled binaries. Go > ahead on a clean system and install qtwebview5-examples which is > the package I just finished testing. Then: > > $ /usr/lib/x86_64-linux-gnu/qt5/examples/webview/minibrowser/minibrowser > QQmlApplicationEngine failed to load component > qrc:/main.qml:53 module "QtWebView" is not installed Fixed! https://salsa.debian.org/qt-kde-team/qt/qtwebview/commit/05b80161ab70e975 While we probably won’t add the dependencies for building the examples, if some runtime dependency is missing we will add it. Please report such issues. > > So we should not add these > > dependencies, at most we can add some of these packages to Suggests. > > The necessary packages are not essential so they must be dependencies. > That is the way Debian works. These packages are fundamentally broken > without qt5-default and c++-compiler and make and an eclectic mix of > auxiliary packages. In my opinion one can do many different ways with the examples: a) Run them to see how certain code works in practice; b) Read their source code (maybe copy some bits to one’s own app); c) Compile them. a) does not need a compiler. b) does not always need a compiler (e.g. as a PyQt developer I may copy code from Qt examples but translate it from C++ to Python). As these are valid use cases, the compiler should not be a required dependency. > Programmers should be able to install the examples packages and have > them compile without hunting for missing dependencies. That's the > whole point of using a distro. Nobody is going to install the examples > unless they want to compile them. As pointed above, there are valid use cases for installing the examples but not compiling them. > They is no joy in staring at an example widget that does nothing unless > you actually intend to build upon it in your own programming. Or go > ahead and run > /usr/lib/x86_64-linux-gnu/qt5/examples/corelib/threads/waitconditions/waitconditions > and tell me what you learned from merely running it. Looks like DNA :) But not all examples are like that one. > > On Mon, Aug 05, 2019 at 06:53:52AM -0700, Mike Bird wrote: > > > A directory of files and several dependencies are missing from > > > qtbase5-examples. Here is how to fix it. > > > > > > (1) In the source package, file "examples/vulkan/vulkan.pro", at the > > > end add a blank line and then a line containing only > > > "EXAMPLE_FILES = shared" (without the quotes). The resut will > > > end up looking like the tail of file "cat > > > examples/network/network.pro". > > > > This sounds like an upstream issue. Please file a bug on bugreports.qt.io > > or directly submit the patch to codereview.qt-project.org, explaining why > > this change is needed > > With all the various "rm -rf" in debian/rules I would not feel comfortable > filing bugs upstream against Debian Qt packages. Outside of clean target, we remove .la files, some .cmake files for plugins (because they cause issues) and the bootstrap library. I don’t see how this affects examples. > > (you did not explain your problem here). > > Without the "shared" directory, a lot of the examples cannot compile. Well, that means upstream doesn’t care about it either. We already have many distro patches and I don’t want to carry another one, so if you think these is a bug upstream please report it to them. > > As Lisandro explained, nothing should really depend on qt5-default. > > > > In fact, Lintian even has a warning for this: > > https://wiki.debian.org/Lintian/Tags/depends-on-metapackage > > The lintian warning has two aspects. Debian internally should be exporting > QT_SELECT=qt5 in debian/rules. That is correct and Debian does. > > But the lintian warning also assumes that qt5-default is a metapackage > which if depended upon restricts users ability to uninstall stuff. But > qt5-default depends only on qtbase5-dev and qtchooser. Yet qtbase5-dev > depends on qtchooser, and qtchooser is not much use without qtbase5-dev or > qtbase4-dev, so the lintian warning is inappropriate and should be > removed or at least overridden for Qt5 examples. > > Without qt5-default the examples break with: > > $ qmake /usr/lib/x86_64-linux-gnu/qt5/examples/webview/webview.pro > qmake: could not find a Qt installation of '' You can call qmake -qt5 and then you won’t need qt5-default. But we are going to remove Qt 4 this cycle, so I hope qmake without -qt5 will start working some day too. > > And I think people who really need to *compile* examples will have g++ and > > qmake/make installed. If they are missing it is quite easy to figure out > > how to install them. > > That's not how dependencies work in Debian. If you want to make g++ essential > we can have that conversation but some people might prefer clang. Meanwhile > anyone who wants to use Qt examples as they were intended - which is to help > with programming and not for staring at widgets which don't do anything - is > going to need the dependencies I have listed. > > The fixes are simple. Someone could have fixed them in the time we've been > discussing this. What takes time is figuring out what is wrong. And it > makes no sense that every single Qt programmer should have to go through that > process. I still wonder how one can be a “Qt programmer” and not have a compiler installed. > AND NOW FOR THE IMPORTANT PART ... > > I'm not asking you to fix these bugs. I'm not asking Lisandro to fix these > bugs. I recognize that Debian is a do-ocracy. > > I'm asking you to re-open this bug and to leave the other related bugs open. Done. -- Dmitry Shachnev
signature.asc
Description: PGP signature