Solved Total number of Qt 5.15 tarballs?

Discussion: I'm trying to set up a Poudriere build server for myself. Ultimately, I want to be able to upgrade KDE by compiling the latest tarballs with the options I set in the makefiles in the ports tree. I got to the point that I have a few "option sets" that I have decided on:
Code:
 # ls -lh /usr/local/etc/poudriere.d/
total 19
drwxr-xr-x  329 root  wheel   329B Sep 12 09:54 base-options
drwxr-xr-x    2 root  wheel     2B Sep 12 09:50 full_kde-options
drwxr-xr-x    2 root  wheel     4B Sep  6 11:15 hooks
drwxr-xr-x    2 root  wheel     2B Sep 12 09:51 mining-options
drwxr-xr-x    2 root  wheel     2B Sep 12 09:51 multimedia-options
drwxr-xr-x    2 root  wheel     2B Sep 12 09:52 server-options

I figured out how to generate lists to feed to Poudriere. I have a list for base-options (everything but KDE), and now I'm working on the list for full_kde-options.
This is where I'm a bit stuck in the mud.
  • I know that KDE depends on Qt 5.15.2, and it's likely to stay that way until they switch to QT 6.2 LTS.
  • I have x11/plasma5-plasma-desktop (5.21) and x11/konsole installed, but virtually nothing else (I have my reasons for that).
  • I'm interested in upgrading only the packages for plasma5- and kf5-. I can leave qt5- alone, because it's largely a build dep for KDE.
  • I can generate separate install lists for (plasma5- and kf5-) and qt5- stuff.
Now that I set the stage, here's the question:
Code:
 # ls -l /usr/ports/distfiles/KDE/Qt/5.15.2/
total 414086
-rw-r--r--  1 root  wheel   50179672 Nov 19  2020 qtbase-everywhere-src-5.15.2.tar.xz
-rw-r--r--  1 root  wheel   21559880 Nov 19  2020 qtdeclarative-everywhere-src-5.15.2.tar.xz
-rw-r--r--  1 root  wheel   14040900 Nov 19  2020 qtgraphicaleffects-everywhere-src-5.15.2.tar.xz
-rw-r--r--  1 root  wheel    6556764 Nov 19  2020 qtlocation-everywhere-src-5.15.2.tar.xz
-rw-r--r--  1 root  wheel    3828172 Nov 19  2020 qtmultimedia-everywhere-src-5.15.2.tar.xz
-rw-r--r--  1 root  wheel    5982344 Nov 19  2020 qtquickcontrols-everywhere-src-5.15.2.tar.xz
-rw-r--r--  1 root  wheel    8284692 Nov 19  2020 qtquickcontrols2-everywhere-src-5.15.2.tar.xz
-rw-r--r--  1 root  wheel    2663016 Nov 19  2020 qtscript-everywhere-src-5.15.2.tar.xz
-rw-r--r--  1 root  wheel    2056944 Nov 19  2020 qtsensors-everywhere-src-5.15.2.tar.xz
-rw-r--r--  1 root  wheel     321496 Nov 19  2020 qtserialport-everywhere-src-5.15.2.tar.xz
-rw-r--r--  1 root  wheel     101940 Nov 19  2020 qtspeech-everywhere-src-5.15.2.tar.xz
-rw-r--r--  1 root  wheel    1886268 Nov 19  2020 qtsvg-everywhere-src-5.15.2.tar.xz
-rw-r--r--  1 root  wheel    8894728 Nov 19  2020 qttools-everywhere-src-5.15.2.tar.xz
-rw-r--r--  1 root  wheel   10955076 Nov 19  2020 qtvirtualkeyboard-everywhere-src-5.15.2.tar.xz
-rw-r--r--  1 root  wheel     564884 Nov 19  2020 qtwayland-everywhere-src-5.15.2.tar.xz
-rw-r--r--  1 root  wheel     209208 Nov 19  2020 qtwebchannel-everywhere-src-5.15.2.tar.xz
-rw-r--r--  1 root  wheel  280142544 Nov 19  2020 qtwebengine-everywhere-src-5.15.2.tar.xz
-rw-r--r--  1 root  wheel     143972 Nov 19  2020 qtx11extras-everywhere-src-5.15.2.tar.xz
-rw-r--r--  1 root  wheel    5209380 Nov 19  2020 qtxmlpatterns-everywhere-src-5.15.2.tar.xz
# ls -l /usr/ports/distfiles/KDE/Qt/5.15.2/ | wc -l
      20

I only have 20 tarballs in /usr/ports/distfiles/KDE/Qt/5.15.2/... If I want to install more KDE stuff (like Dolphin, Ark, Konqueror, KDEnlive, kdegames, etc), will that get even more QT tarballs into /usr/ports/distfiles/KDE/Qt/5.15.2/? Not a problem if it does, I just want to know if my listing above has the complete set of QT tarballs. Is there a good way to find out?
 
To refrase your question, how to build a dependency tree of non-installed software ?
I don't plan on building a dependency tree. I'm just trying to plan ahead and make sure I have the tarballs first. I want to make sure I have a complete set of source QT tarballs for QT 5.15.2.
If I want to install more KDE stuff (like Dolphin, Ark, Konqueror, KDEnlive, kdegames, etc), will that get even more QT tarballs into /usr/ports/distfiles/KDE/Qt/5.15.2/
 
I understand. But the question relates as far as i analyse the problem.
Code:
pkg info -d leafpad
This gives you the build dependencies of the installed package leafpad.
For non-installed packages there is pkg rquery , but that does not provide the necessary information.
I use poudriere, i don't think with that it is possible, i.e. a recursive fetch-only.
My best bet, build & install everything. Perform the queries. Uninstall everything. Now you know what is required.
 
Yeah, just the way I'm trying to set up Poudriere is very different, I've been working on that project since July. Not every single question can be answered just by using pkg-related tools to set stuff up. Even using sed, awk, cut, sort and grep to generate usable lists is not enough. And having tarballs is NOT the same as figuring out deps. As I said in my original post #1, I have a scenario for Poudriere that requires me to figure out if I have the complete set of source tarballs for QT 5.15.2.
 
Building plasma is a deterministic proces. All the information is available. Where is the information for the needed tarballs stored ?
In one place or is it distributed ?
 
Building plasma is a deterministic proces. All the information is available. Where is the information for the needed tarballs stored ?
In one place or is it distributed ?
I don't have the complete Plasma5 install, just the bare minimum to have a visible desktop. With that minimal install, I have a list of 20 QT 5.15.2 tarballs. If I install more KDE stuff, will my list of QT tarballs increase? or do I have the complete set already?
 
I think I may have figured it out, but I'm still hoping that either SirDice or grahamperrin can tell me if I'm on the right track...
Code:
root@beastie:/usr/ports/devel/qt5 # cat distinfo | grep SIZE
SIZE (KDE/Qt/5.15.2/qt3d-everywhere-src-5.15.2.tar.xz) = 81925416
SIZE (KDE/Qt/5.15.2/qtactiveqt-everywhere-src-5.15.2.tar.xz) = 268380
SIZE (KDE/Qt/5.15.2/qtandroidextras-everywhere-src-5.15.2.tar.xz) = 276344
SIZE (KDE/Qt/5.15.2/qtbase-everywhere-src-5.15.2.tar.xz) = 50179672
SIZE (KDE/Qt/5.15.2/qtcharts-everywhere-src-5.15.2.tar.xz) = 4251992
SIZE (KDE/Qt/5.15.2/qtconnectivity-everywhere-src-5.15.2.tar.xz) = 2815492
SIZE (KDE/Qt/5.15.2/qtdatavis3d-everywhere-src-5.15.2.tar.xz) = 5191436
SIZE (KDE/Qt/5.15.2/qtdeclarative-everywhere-src-5.15.2.tar.xz) = 21559880
SIZE (KDE/Qt/5.15.2/qtdoc-everywhere-src-5.15.2.tar.xz) = 5746492
SIZE (KDE/Qt/5.15.2/qtgamepad-everywhere-src-5.15.2.tar.xz) = 387084
SIZE (KDE/Qt/5.15.2/qtgraphicaleffects-everywhere-src-5.15.2.tar.xz) = 14040900
SIZE (KDE/Qt/5.15.2/qtimageformats-everywhere-src-5.15.2.tar.xz) = 1806740
SIZE (KDE/Qt/5.15.2/qtlocation-everywhere-src-5.15.2.tar.xz) = 6556764
SIZE (KDE/Qt/5.15.2/qtlottie-everywhere-src-5.15.2.tar.xz) = 82424
SIZE (KDE/Qt/5.15.2/qtmacextras-everywhere-src-5.15.2.tar.xz) = 69484
SIZE (KDE/Qt/5.15.2/qtmultimedia-everywhere-src-5.15.2.tar.xz) = 3828172
SIZE (KDE/Qt/5.15.2/qtnetworkauth-everywhere-src-5.15.2.tar.xz) = 141688
SIZE (KDE/Qt/5.15.2/qtpurchasing-everywhere-src-5.15.2.tar.xz) = 208804
SIZE (KDE/Qt/5.15.2/qtquick3d-everywhere-src-5.15.2.tar.xz) = 55767288
SIZE (KDE/Qt/5.15.2/qtquickcontrols-everywhere-src-5.15.2.tar.xz) = 5982344
SIZE (KDE/Qt/5.15.2/qtquickcontrols2-everywhere-src-5.15.2.tar.xz) = 8284692
SIZE (KDE/Qt/5.15.2/qtquicktimeline-everywhere-src-5.15.2.tar.xz) = 102624
SIZE (KDE/Qt/5.15.2/qtremoteobjects-everywhere-src-5.15.2.tar.xz) = 374740
SIZE (KDE/Qt/5.15.2/qtscript-everywhere-src-5.15.2.tar.xz) = 2663016
SIZE (KDE/Qt/5.15.2/qtscxml-everywhere-src-5.15.2.tar.xz) = 434204
SIZE (KDE/Qt/5.15.2/qtsensors-everywhere-src-5.15.2.tar.xz) = 2056944
SIZE (KDE/Qt/5.15.2/qtserialbus-everywhere-src-5.15.2.tar.xz) = 356360
SIZE (KDE/Qt/5.15.2/qtserialport-everywhere-src-5.15.2.tar.xz) = 321496
SIZE (KDE/Qt/5.15.2/qtspeech-everywhere-src-5.15.2.tar.xz) = 101940
SIZE (KDE/Qt/5.15.2/qtsvg-everywhere-src-5.15.2.tar.xz) = 1886268
SIZE (KDE/Qt/5.15.2/qttools-everywhere-src-5.15.2.tar.xz) = 8894728
SIZE (KDE/Qt/5.15.2/qttranslations-everywhere-src-5.15.2.tar.xz) = 1419504
SIZE (KDE/Qt/5.15.2/qtvirtualkeyboard-everywhere-src-5.15.2.tar.xz) = 10955076
SIZE (KDE/Qt/5.15.2/qtwayland-everywhere-src-5.15.2.tar.xz) = 564884
SIZE (KDE/Qt/5.15.2/qtwebchannel-everywhere-src-5.15.2.tar.xz) = 209208
SIZE (KDE/Qt/5.15.2/qtwebengine-everywhere-src-5.15.2.tar.xz) = 280142544
SIZE (KDE/Qt/5.15.2/qtwebglplugin-everywhere-src-5.15.2.tar.xz) = 74144
SIZE (KDE/Qt/5.15.2/qtwebsockets-everywhere-src-5.15.2.tar.xz) = 259000
SIZE (KDE/Qt/5.15.2/qtwebview-everywhere-src-5.15.2.tar.xz) = 133428
SIZE (KDE/Qt/5.15.2/qtwinextras-everywhere-src-5.15.2.tar.xz) = 763948
SIZE (KDE/Qt/5.15.2/qtx11extras-everywhere-src-5.15.2.tar.xz) = 143972
SIZE (KDE/Qt/5.15.2/qtxmlpatterns-everywhere-src-5.15.2.tar.xz) = 5209380
root@beastie:/usr/ports/devel/qt5 # cat distinfo | grep SIZE | wc -l
      42
Compared to what I have in /usr/ports/distfiles/KDE/Qt/5.15.2/ (post #1), this tells me I still have 22 more QT tarballs to download to have a complete set...
 
# ls -l /usr/ports/distfiles/KDE/Qt/5.15.2/ | wc -l
20
I just want to know if my listing above has the complete set of QT tarballs.
Compared to what I have in /usr/ports/distfiles/KDE/Qt/5.15.2/ (post #1), this tells me I still have 22 more QT tarballs to download to have a complete set...
Not nowhere near. You haven't count in the build- and run-dependencies of those dependencies and b- and r-dependencies of those dependencies.

For example
SIZE (KDE/Qt/5.15.2/qt3d-everywhere-src-5.15.2.tar.xz) = 81925416
is port graphics/qt5-3d. It has 3 build dependencies and 6 run dependencies and those dependencies have their own build- and run-dependencies, and those have eventually their own b- and r-deps, etc.

To get all the (QT) tarballs for build of the primary port and all its dependencies one should run make fetch-recursive in the primary ports directory. See ports(7).
 
You haven't count in the build- and run-dependencies of those dependencies and b- and r-dependencies of those dependencies.
I don't care for build and run deps for this thread's problem. Did you know that not all /usr/ports/xxx/qt5-* ports even have a distinfofile? Like
Code:
root@beastie:/usr/ports/devel/qt5-qdoc # cat distinfo | grep SIZE
cat: distinfo: No such file or directory
root@beastie:/usr/ports/devel/qt5-qdoc # ls -Al
total 6
-rw-rw-r--  1 root  wheel  570 May 18 16:28 Makefile
drwxrwxr-x  2 root  wheel    4 May 18 16:28 files
-rw-rw-r--  1 root  wheel  164 May 18 16:28 pkg-plist
The Makefile for those ports would just grab something from /usr/ports/distfiles/KDE/Qt/5.15.2/ to make the port. What I have in post #10 might be a complete set. I was able to figure out how to resolve a tarball to a port, but in case of QT, that's just not possible. This is why I'm trying to figure out if I have the complete set of QT tarballs, and whether what I have in post #10 has me on the right track.
 
Figured it out... I was on the right track. The freshports page for devel/qt5-qdoc pointed me to Master Sites section for Qt 5.15.2... Followed one of the links, it provided a listing of zip files and tarballs. Just using Ctrl-F to count how many occurences of .tar.xz there are - yes, the complete set contains 42 tarballs, they are all specified in /usr/ports/devel/qt5/distinfo file for the devel/qt5 meta-port. This is the confirmation I was after, as stated in my opening post. Marking thread Solved.
 
Back
Top