Bug 675509

Summary: default cursor theme should not depend on used desktop environment
Product: [Fedora] Fedora Reporter: nucleo <alekcejk>
Component: gnome-themes-standardAssignee: Cosimo Cecchi <ccecchi>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rawhideCC: awilliam, ccecchi, christoph.wickert, johannes.lips, kevin, mclasen, rbergero, rdieter, rstrode, sandmann
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard: AcceptedNTH
Fixed In Version: gnome-themes-standard-2.91.90-6.fc15 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2011-03-07 01:31:50 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 657619, 669355    

Description nucleo 2011-02-06 04:38:05 UTC
Description of problem:

libXcursor in rawhide depends on GNOME cursor theme Adwaita:

http://pkgs.fedoraproject.org/gitweb/?p=libXcursor.git;a=commitdiff;h=ca6aceae83dc33f3f036a9bb2e50784c2267ff70

But libXcursor is not a part of GNOME desktop so it should not depend on GNOME theme.
Default cursor theme should be desktop-independent.

Comment 1 Kevin Kofler 2011-02-06 04:46:22 UTC
In addition, Adwaita is part of the monolithic gnome-standard-themes package which isn't shipped on non-GNOME spins.

Comment 2 Kevin Kofler 2011-02-06 04:47:05 UTC
(Oops, it's actually called gnome-themes-standard, but that doesn't change anything. ;-) )

Comment 3 Rex Dieter 2011-02-06 21:38:48 UTC
I'm curious about the removal of the dependency on the default (inherited or otherwise) cursor theme as well.

Comment 4 Adam Williamson 2011-02-07 08:55:59 UTC
for alpha nomination purposes: what's the exact consequence of this bug?

Comment 5 nucleo 2011-02-07 13:26:43 UTC
On KDE LiveCD not installed dmz-cursor-themes because of missing Requires in libXcursor.
But if it will be installed then defeult cursor theme will be old KDE2 cursors.
Cursor theme can be set in user session but in KDM still will be used old cursor theme.

Comment 6 Rex Dieter 2011-02-07 13:36:36 UTC
Sorry Adam, I should've mentioned that.  Probably not really alpha blocker-worthy, as the only impact is a risk of ugly/fallback cursors.

Comment 7 Kevin Kofler 2011-02-07 15:04:14 UTC
The impact is that all the non-GNOME spins will (unless they ship gnome-themes-standard) default to some random fallback theme (the ancient KDE 2 theme in KDE), or in the worst case display no cursors at all (well, not sure whether this will happen or whether there's a hardcoded ugly default in X11 itself).

In addition, the decision to default the entire distro to the GNOME 3 cursor theme without discussing this with anybody else is very questionable.

Comment 8 Adam Williamson 2011-02-07 16:04:34 UTC
kev: I agree with the second, but 'I see ugly cursors' probably won't be an alpha blocker. =) We'll discuss it at the meeting, though. thanks.

Comment 9 Adam Williamson 2011-02-11 08:38:07 UTC
Leaving notes on proposed blockers as I won't be at the meeting tomorrow most
likely:

-1 blocker, doesn't hit any existing criteria and doesn't feel like something we're missing and should add to the criteria, for me; ugly cursors just isn't a significant enough issue for Alpha. +1 NTH.

Comment 10 Robyn Bergeron 2011-02-11 19:40:40 UTC
Per 2011-02-11 Alpha blocker meeting-
AGREED: 675509 - Rejected as F15Alpha blocker, appears more of a polish issue, than a core functionality problem. Accepted as F15Beta-accepted (Nice to have)

Comment 11 Ray Strode [halfline] 2011-03-04 21:11:47 UTC
So I talked to Rex and Christoph about this today.

The point of removing the Requires was to prevent other desktop environments from having to install this cursor theme (and the other stuff in the package) if they don't want them.

Now the problem is what if another spin *does* want the cursor theme? It's really hard right now since the package has other stuff in it too.

We need to split the cursor stuff off into a subpackage and the spins that want it can requires it.  I'll take care of it.

Comment 12 Kevin Kofler 2011-03-04 21:27:14 UTC
Well, the thing is that by setting this theme as default in libXcursor, you effectively FORCE us to ship it in our spins. I'm also not sure whether we really want the GNOME 3 cursor theme to be the default in non-GNOME desktops. Was this ever discussed outside of the GNOME team? (If it was, sorry, but I, at least, wasn't aware of any such discussion.)

We could override the cursor theme inside KDE for KDE sessions (e.g. to Oxygen), but e.g. KDM would still pick up the libXcursor default (or an ugly fallback theme if the default is not installed), maybe some non-KDE apps inside the KDE sessions would as well.

Can we not keep a neutral default like Bluecurve or DMZ as the X11-wide default and have gnome-settings-daemon or something override it in GNOME sessions?

Comment 13 Ray Strode [halfline] 2011-03-04 21:27:50 UTC
building now, will push out an update shortly.

Comment 14 Ray Strode [halfline] 2011-03-04 21:28:37 UTC
oops mid air collision, will address comment 12 in a follow up post.

Comment 15 Kevin Kofler 2011-03-04 21:29:42 UTC
(That said, a subpackage for the cursor theme will fix the immediate issue at hand. I guess we'll have to have libXcursor depend on the subpackage if it's making it the distro-wide default, won't we? Otherwise we can still end up with an ugly fallback theme.)

Comment 16 Christoph Wickert 2011-03-04 21:31:47 UTC
*** Bug 682138 has been marked as a duplicate of this bug. ***

Comment 17 Ray Strode [halfline] 2011-03-04 21:36:19 UTC
Hey Kevin,

The commit mentioned in comment 0 makes the dependency a soft dep.  There's another layer of fallback if the fallback cursor theme isn't installed (the fugly built in ones).

GNOME does override the cursor theme.  This fallback file is only for corner cases.

Maybe we could add multiple cursor themes to /usr/share/icons/default/index.theme

Comment 18 Ray Strode [halfline] 2011-03-04 21:40:50 UTC
(mid air collision again :-)

Well, i removed the dep in the case a specific spin didn't want to require it.  I think that's still reasonable.  So I'm not sure we need it to be a hard dependency. it's not broken, it's just a slightly less pretty fallback.

Comment 19 Christoph Wickert 2011-03-04 21:51:17 UTC
It is a problem for all other spins, too, so I think it should be fixed.

I have been talking to Ray, Rex and Kevin on IRC about this. We agreed that the monolithic gnome-themes-standard must be split so we can require the cursor part. IMHO the layout should be like this:
adwaita-cursor-theme
adwaita-metacity-theme
gtk2-engine-awaita
gtk3-engine-awaita

gnome-themes-standard would require all of the above and only contain the GNOME wallpaper catalog.

The reason for also splitting the GTK engines was that we are running into the same problem with GTK through /etc/gtk-2.0/gtkrc or /etc/gtk-3.0/settings.ini as we are facing here with the cursors.

%files -f %{name}.lang
%defattr(-,root,root,-)
%{_datadir}/gnome-background-properties/*

%files -n gtk2-engine-adwaita
%{_sysconfdir}/gtk-3.0/settings.ini
%{_libdir}/gtk-3.0/3.0.0/theming-engines/libadwaita.so
%{_datadir}/themes/Adwaita/gtk-3.0

%files -n gtk2-engine-adwaita
%{_sysconfdir}/gtk-2.0/gtkrc
%{_datadir}/themes/Adwaita/gtk-2.0

%files adwaita-metacity-theme
%{_datadir}/themes/Adwaita/metacity

%files adwaita-cursor-theme
%{_datadir}/icons/Adwaita


However there was no consensus if libXcursor should depend on adwaita-cursor-theme directly or if the desktops should require it. I agree with Ray and suggest the latter because IMHO a lib should not require a theme and there is a fallback, but if people think there should be a hard dep I'm fine with that too.

Comment 20 Ray Strode [halfline] 2011-03-04 22:09:10 UTC
I was slightly more conservative in splitting things up (so we don't have more subpackages then we'll actually need in practice).

I've added adwaita-gtk2-theme and adwaita-gtk3-theme

I didn't give them the name "engine" since the gtk2 theme doesn't actually include an engine and I figured it would be better for the pair to be consistently named.

Comment 21 Fedora Update System 2011-03-04 22:41:24 UTC
Package gnome-themes-standard-2.91.90-4.fc15:
* should fix your issue,
* was pushed to the Fedora 15 updates-testing repository,
* should be available at your local mirror within two days.
Update it with:
# su -c 'yum update --enablerepo=updates-testing gnome-themes-standard-2.91.90-4.fc15'
as soon as you are able to, then reboot.
Please go to the following url:
https://admin.fedoraproject.org/updates/gnome-themes-standard-2.91.90-4.fc15
then log in and leave karma (feedback).

Comment 22 Fedora Update System 2011-03-05 19:23:38 UTC
gnome-themes-standard-2.91.90-6.fc15 has been pushed to the Fedora 15 testing repository.  If problems still persist, please make note of it in this bug report.
 If you want to test the update, you can install it with 
 su -c 'yum --enablerepo=updates-testing update gnome-themes-standard'.  You can provide feedback for this update here: https://admin.fedoraproject.org/updates/gnome-themes-standard-2.91.90-6.fc15

Comment 23 Fedora Update System 2011-03-07 01:31:44 UTC
gnome-themes-standard-2.91.90-6.fc15 has been pushed to the Fedora 15 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 24 nucleo 2011-03-07 17:43:57 UTC
Is all subpackages needed to be arch dependent?

Comment 25 Kevin Kofler 2011-03-07 18:11:54 UTC
adwaita-cursor-theme can almost certainly be noarch (please check, and if I'm right, please make it noarch). adwaita-gtk3-theme contains a theme engine binary, so it cannot be noarch, which also implies that the main package cannot be noarch (because you can't have arch-specific subpackages of a noarch package).