Chromium has qt dependence?

I looked at several other distributions, and only the chromium on fedora relies on qt, and even both qt5 and qt6. Why is that?

Apparently, chromium is built by fedora with qt, and not gtk, as per dependecy list.

Integration with GNOME Shell is done via extension, which comes preinstalled when installing chromium on F40 Workstation:
Screenshot from 2024-06-25 11-24-10

I also noticed that both qt5 and qt6 come preinstalled on Fedora Workstation edition (and certainly on the KDE spins), so this shouldn’t be an issue from a user perspective (no additional package load when installing chromium).

The packaging team might be able to provide more information why they chose to build chromium with qt and not gtk.

1 Like

They’re not on my system. My system does not have any qt-related packages.

https://src.fedoraproject.org/rpms/chromium/blob/rawhide/f/chromium.spec#_2648

The qt packages are required by mediawriter, which you probably don’t need.

Interesting. On one of my Fedora installations (F40 Workstation fresh install, no upgrade from previous releases), this is my output:

$ dnf list installed qt*
Installed Packages
qt-settings.noarch                              40.0-1.fc40                          @anaconda
qt5-qtbase.x86_64                               5.15.14-1.fc40                       @updates 
qt5-qtbase-common.noarch                        5.15.14-1.fc40                       @updates 
qt5-qtbase-gui.x86_64                           5.15.14-1.fc40                       @updates 
qt5-qtdeclarative.x86_64                        5.15.14-1.fc40                       @updates 
qt5-qtsvg.x86_64                                5.15.14-1.fc40                       @updates 
qt5-qttranslations.noarch                       5.15.14-1.fc40                       @updates 
qt5-qtwayland.x86_64                            5.15.14-1.fc40                       @updates 
qt5-qtx11extras.x86_64                          5.15.14-1.fc40                       @updates 
qt5-qtxmlpatterns.x86_64                        5.15.14-1.fc40                       @updates 
qt6-qtbase.x86_64                               6.7.1-2.fc40                         @updates 
qt6-qtbase-common.noarch                        6.7.1-2.fc40                         @updates 
qt6-qtbase-gui.x86_64                           6.7.1-2.fc40                         @updates 
qt6-qtdeclarative.x86_64                        6.7.1-2.fc40                         @updates 
qt6-qtsvg.x86_64                                6.7.1-1.fc40                         @updates 
qt6-qttranslations.noarch                       6.7.1-1.fc40                         @updates 
qt6-qtwayland.x86_64   

I don’t remember having installed any package bringing qt5/qt6 as dependencies. Could it be that your system went through several release upgrades, and these packages weren’t in the base install back then?

Indeed, mediawriter requires qt6, and comes preinstalled on F40.

You can use rpmreaper to see which package introduced these packages into your system.

That should be it.

Besides, this is far from my question.

True. Hopefully someone who knows the answer sees your question.

Oddly enough, ungoogled chromium also relies on qt.
Let me guess, chromium cannot run without qt in fedora systems?

This provides support for DE specific themes:

Chromium > Settings > Appearance > Theme:

  • Use Classic
  • Use GTK
  • Use QT
1 Like

So, is the only way to build my own chromium?

You can also ask the maintainer to change the dependency from required to recommended if possible.


Another option is to provide the necessary dependencies with a dummy package:
Create dummy RPM package & avoid installing garbage dependencies
A good practice is to isolate the RPM build system in a VM/container, or use Copr.

On Red Hat’s bugzilla?

2 Likes

In order to create a dummy package, you need to install some additional packages, but the purpose of creating a dummy package is to reduce unnecessary dependencies. It seems a little contrary, but it’s a good idea.


However, we can use github action to create dummy packages, although it is not as good as providing such functionality directly from dnf.