I’m trying to install Sway Window Manager in Fedora 37 but I noticed that, when typing sudo dnf install sway, xorg, x11 and xwayland are listed as dependencies.
Is there a way to install sway (and other programs) one by one without installing all of its dependencies?
There are 3 layers to graphics.
The DM which is the lowest layer and talks to the hardware.
The DE which provides the basic desktop enviroment and background and communicates with the DM…
The WM which manages the windows on top of the DE.
All those layers are involved in the packages you are asking about, and most would already be installed if you did a workstation install. I think the only way to not have them would be to do a server install or a minimal netinstall.
You cannot install a package and have it functional without also installing everything it depends upon to run which is the premise upon which dependencies are based.
Package A requires (depends upon) package B which depends upon package C. Thus before package A can be functional both package B & C must be installed.
The package management system (rpm, dnf, gnome software) is designed to prevent the scenario you are proposing.
Yes, you can in theory do what you ask about, but this could result in a very broken system.
So perhaps the first requires is not necessary in the spec, or it could also be a weak dependency too that allows users to not install it if they don’t want to. You’d have to speak to the package maintainer (via a bug report, for example) to get more specific answers on these dependencies.
Awesome @ankursinha! Does that mean that dmenu is the only thing that’s making the entire sway package require xorg, x11 , xserver and xwayland? If so, how would I go about installing sway without installing dmenu? (bemenu, wofi and tofi don’t require xwayland and x11 afaik).
With the Fedora package, one cannot install without pulling in dmenu and all its dependencies. It’s part of the rpm metadata. One will have to rebuild the package after modifying the spec to remove this requirement. Speaking to the maintainers to ask them to make it a weak dep would be the way to go.
Technically, you could use rpm --nodeps ... but it isn’t suggested because that won’t pull in any dependencies.
xorg-x11-server-Xwayland is a hard dependency of sway package (and xorg-x11-server-common is a dependency of xorg-x11-server-Xwayland), so you can’t avoid installing it, sway package requires it and you have to install it. dmenu is a weak dependency and you can avoid installing it with: