Note: This is a beta release of Red Hat Bugzilla 5.0. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Also email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback here.
Bug 455985 - Hard dependency from nodoka-metacity-theme is excessively
Summary: Hard dependency from nodoka-metacity-theme is excessively
Keywords:
Status: CLOSED NEXTRELEASE
Alias: None
Product: Fedora
Classification: Fedora
Component: fedora-gnome-theme
Version: 11
Hardware: All
OS: Linux
low
low
Target Milestone: ---
Assignee: Ray Strode [halfline]
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2008-07-19 20:07 UTC by Pavel Alexeev
Modified: 2009-11-18 22:43 UTC (History)
2 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2009-11-18 22:43:09 UTC


Attachments (Terms of Use)

Description Pavel Alexeev 2008-07-19 20:07:54 UTC
[root@x-www gtk-2.0]# LANG=C rpm -e nodoka-metacity-theme
error: Failed dependencies:
        nodoka-metacity-theme is needed by (installed)
fedora-gnome-theme-8.0.0-2.fc9.noarch

But in official repositories exists not only nodoka-metacity-theme theme. Why it
is strongly required without any possibility of choice?
[root@x-www gtk-2.0]# yum -d0 list '*-metacity-theme'
Installed Packages
nodoka-metacity-theme.noarch             0.3.90-1.fc9           installed
Available Packages
bluecurve-classic-metacity-theme.noarch  1.0.0-1.fc8            fedora
bluecurve-metacity-theme.noarch          1.0.0-1.fc8            fedora

May be will need add Provides: metacity-theme in all of this alternatives and in
fedora-gnome-theme add Require: metacity-theme?

Comment 1 Martin Sourada 2008-08-25 18:06:12 UTC
If you do cat /usr/share/themes/Fedora/index.theme you'll get something like that:

[X-GNOME-Metatheme]
Name=Fedora
Comment=Fedora default theme
Type=X-GNOME-Metatheme
Encoding=UTF-8
GtkTheme=Nodoka
MetacityTheme=Nodoka
IconTheme=Fedora

The MetacityTheme=Nodoka line is why this package requires nodoka-metacity-theme. The other metacity themes available in repos does not have any relation to this package.

Comment 2 Pavel Alexeev 2008-08-26 10:52:08 UTC
(In reply to comment #1)
> The MetacityTheme=Nodoka line is why this package requires
> nodoka-metacity-theme. The other metacity themes available in repos does not
> have any relation to this package.
In other words I can not switch them to bluecurve for example by editing line in /usr/share/themes/Fedora/index.theme ??

If I can and Fedora official repositories provide this choice why dependency is not reflect it??

What you think about using "alternatives" mechanism for it?

Comment 3 Martin Sourada 2008-08-26 11:30:07 UTC
(In reply to comment #2)
> (In reply to comment #1)
> In other words I can not switch them to bluecurve for example by editing line
> in /usr/share/themes/Fedora/index.theme ??
> 
You can, but you are going against the rules since this file is non-config file owned by the fedora-gnome-theme pacakge and is thus not supposed to be edited by you.

> If I can and Fedora official repositories provide this choice why dependency is
> not reflect it??
> 
The correct way of changing it is either via appearances capplet or creating your own metatheme, prefered location of your meta-themes are ~/.themes/. 

> What you think about using "alternatives" mechanism for it?
That's for different purposes.


In other words, the /usr/share/themes/Fedora/index.theme is gnome meta-theme called Fedora which defines what themes for metacity, gtk,... will be used when this meta-theme is selected. If you don't require the used themes and they will not be installed then this meta-theme would be broken. If you want to change the metacity theme, use different, or custom, meta-theme for it. Do not edit this file. 

However, because it's Fedora default Gnome meta-theme it also means it is required by some other packages and thus, even though you don't use it, you cannot remove it (and its dependences) without wiping half of gnome...

Comment 4 Pavel Alexeev 2008-08-26 12:15:37 UTC
What is capplet?

> > What you think about using "alternatives" mechanism for it?
> That's for different purposes.
Off course, I known.

> If you want to change
> the metacity theme, use different, or custom, meta-theme for it. Do not edit
> this file. 
Ok. Even if I'm use another theme, I'm have not possibilities remove unused?

> However, because it's Fedora default Gnome meta-theme it also means it is
> required by some other packages and thus, even though you don't use it, you
> cannot remove it (and its dependences) without wiping half of gnome...
No:
$ LANG=C rpm -e fedora-gnome-theme
error: Failed dependencies:
        fedora-gnome-theme >= 8.0.0 is needed by (installed) libgnome-2.22.0-3.fc9.i386

Only libgnome depends from fedora-gnome-theme. In case of repository do not contains any alternatives for that I assume it is fully correct.

Comment 5 Martin Sourada 2008-08-26 12:44:57 UTC
(In reply to comment #4)
> What is capplet?
> 
Err... dunno the definition, but something like settings dialog. If you have default fedora desktop (gnome) spin packages installed, the appearances capplet should be in System -> Preferences -> Look and Feel -> Appearance.

> > If you want to change
> > the metacity theme, use different, or custom, meta-theme for it. Do not edit
> > this file. 
> Ok. Even if I'm use another theme, I'm have not possibilities remove unused?
> 
As long as they are *not* default you can remove them (I hope).

> No:
> $ LANG=C rpm -e fedora-gnome-theme
> error: Failed dependencies:
>         fedora-gnome-theme >= 8.0.0 is needed by (installed)
> libgnome-2.22.0-3.fc9.i386
> 
> Only libgnome depends from fedora-gnome-theme. In case of repository do not
> contains any alternatives for that I assume it is fully correct.
And if you do rpm -e libgnome you'll get another deps etc. To see all the packages that would be removed because of that use 

yum remove fedora-gnome-theme 

but do not accidentaly remove it (it will list the packages for removal and ask if the removal is OK or not)...

Comment 6 Pavel Alexeev 2008-08-26 13:04:50 UTC
(In reply to comment #5)
> (In reply to comment #4)
> Err... dunno the definition, but something like settings dialog. If you have
> default fedora desktop (gnome) spin packages installed, the appearances capplet
> should be in System -> Preferences -> Look and Feel -> Appearance.
Ok, I'm find definition (http://live.gnome.org/GnomeGlossary)
And I no not use Gnome. I use XFCE. In any case it is only GUI and can not relevant to rpm dependencies.

> As long as they are *not* default you can remove them (I hope).
What is primary different from default and not default theme from official repository??? On my opinion only on installation process to select theme if it is not selected manually for automatically resolve dependencies. You have another think?

> And if you do rpm -e libgnome you'll get another deps etc.
This is another dependencies. Offcourse depth may be very big. But now I talking about other things.

> To see all the packages that would be removed because of that use 
> yum remove fedora-gnome-theme ....
Off course :) It is not first year I use Fedora ;)

Comment 7 Martin Sourada 2008-08-26 13:35:45 UTC
(In reply to comment #6)
> Ok, I'm find definition (http://live.gnome.org/GnomeGlossary)
> And I no not use Gnome. I use XFCE. In any case it is only GUI and can not
> relevant to rpm dependencies.
> 
Yeah, but what I was trying to say was that editing /usr/share/themes/Fedora/index.theme isn't the correct way. You don't need to use the GUI to change the themes, it's in gconf, you can create your own meta-themes,...

> > As long as they are *not* default you can remove them (I hope).
> What is primary different from default and not default theme from official
> repository??? On my opinion only on installation process to select theme if it
> is not selected manually for automatically resolve dependencies. You have
> another think?
> 
Default is what is selected by distribution by default, and is used e.g. when creating new user account. I'm not sure if we could properly handle the dependecies if there were more defaults or if it would work if nothing default was installed.

> > And if you do rpm -e libgnome you'll get another deps etc.
> This is another dependencies. Offcourse depth may be very big. But now I
> talking about other things.
> 
> > To see all the packages that would be removed because of that use 
> > yum remove fedora-gnome-theme ....
> Off course :) It is not first year I use Fedora ;)
I think we talk about the same - if you want to remove nodoka-metacity-theme you cannot, because it's needed by fedora-gnome-theme (and the dependency is correct) which in turn is needed by libgnome and so on and on. Finally you'll need to remove half of gnome - which does not necessarily need to be bad thing, since you are using XFCE.

Comment 8 Pavel Alexeev 2008-08-26 14:32:31 UTC
(In reply to comment #7)
> Yeah, but what I was trying to say was that editing
> /usr/share/themes/Fedora/index.theme isn't the correct way.
I do not argue with that.

> You don't need to
> use the GUI to change the themes, it's in gconf, you can create your own
> meta-themes,...
Cool - changing themes is easy. Why still not easy deleting default them in case if I'm don't want use it?

> Default is what is selected by distribution by default, and is used e.g. when
> creating new user account. I'm not sure if we could properly handle the
> dependecies if there were more defaults or if it would work if nothing default
> was installed.
Ok, in case of creating new user account it is too useful. But why nothing defaults or more defaults?? Default should be one, but what if I want change default after installation (or in installation process)? In this case another should be default and all other do not needed (for example I'm do not want even provide any choice for users) any more on my system... But I cant' remove it without --nodeps, without broke dependencies!

> I think we talk about the same - if you want to remove nodoka-metacity-theme
> you cannot, because it's needed by fedora-gnome-theme (and the dependency is
> correct)
Stop. This is where we started talking. I'm think what it is not correct dependency. nodoka-metacity-theme should depend from ANY one metacity-theme by user choice! At list from official repository, but really any, who provides this required dependency, in other words suitable metacity-theme.

Continuing, yes, dependency libgnome from fedora-gnome-theme is correct - fedora-gnome-theme has not alternatives yet.

Comment 9 Martin Sourada 2008-08-26 16:34:58 UTC
(In reply to comment #8)
> Cool - changing themes is easy. Why still not easy deleting default them in
> case if I'm don't want use it?
> 
I'd say because the desing of the *nix system and theme usage. When distribution selects some theme as default it also marks the theme as not uninstalable. Alternatives cannot be handled correctly there. You can change the default if you rebuild the required package.

> Ok, in case of creating new user account it is too useful. But why nothing
> defaults or more defaults?? Default should be one, but what if I want change
> default after installation (or in installation process)? In this case another
> should be default and all other do not needed (for example I'm do not want even
> provide any choice for users) any more on my system... But I cant' remove it
> without --nodeps, without broke dependencies!
> 
If the dependencies were not there and you removed it, than the remaining package would be broken. If you want change the default, you need to rebuild the packages that set it.

> Continuing, yes, dependency libgnome from fedora-gnome-theme is correct -
> fedora-gnome-theme has not alternatives yet.
There is e.g. nodoka-theme-gnome (which has however very similar settings as fedora-gnome-theme)...

Comment 10 Pavel Alexeev 2008-08-26 19:51:43 UTC
The idea of alternatives is very simple and very powerful: Simlinks in shared directories (/bin, /usr/bin) to end instance of program which provide this possibility.

Similar practice used in rpm, where manually added meta-provide.

F.e. this is example from BuildRequires but Requires will work on same manner:
$ rpm -q --provides exim
/usr/bin/mailq  
/usr/bin/newaliases  
/usr/bin/rmail  
/usr/sbin/sendmail  
MTA  
config(exim) = 4.69-4.fc9
server(smtp)  
smtpd  
smtpdaemon  
exim = 4.69-4.fc9

[pasha@x-www php]$ LANG=C rpmbuild --rebuild php-5.3.0-0.SNAP200807091630.fc9.Hu.0.src.rpm 
Installing php-5.3.0-0.SNAP200807091630.fc9.Hu.0.src.rpm
Building target platforms: athlon
Building for target athlon
error: Failed build dependencies:
        smtpdaemon is needed by php-5.3.0-0.SNAP200807091630.fc9.Hu.0.athlon

So, this BuildRequires smtpdaemon! See, it is not BR exim or sendmail, or postfix. It requires smtpdaemon, what may be provided various packages in repository!!! And any installed package which provide it will satisfy this dependency.
And there are not require any rebuild packages to change defaults!!!

I propose do same meta-provides in themes.

Comment 11 Bug Zapper 2009-06-10 02:08:27 UTC
This message is a reminder that Fedora 9 is nearing its end of life.
Approximately 30 (thirty) days from now Fedora will stop maintaining
and issuing updates for Fedora 9.  It is Fedora's policy to close all
bug reports from releases that are no longer maintained.  At that time
this bug will be closed as WONTFIX if it remains open with a Fedora 
'version' of '9'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version' 
to a later Fedora version prior to Fedora 9's end of life.

Bug Reporter: Thank you for reporting this issue and we are sorry that 
we may not be able to fix it before Fedora 9 is end of life.  If you 
would still like to see this bug fixed and are able to reproduce it 
against a later version of Fedora please change the 'version' of this 
bug to the applicable version.  If you are unable to change the version, 
please add a comment here and someone will do it for you.

Although we aim to fix as many bugs as possible during every release's 
lifetime, sometimes those efforts are overtaken by events.  Often a 
more recent Fedora release includes newer upstream software that fixes 
bugs or makes them obsolete.

The process we are following is described here: 
http://fedoraproject.org/wiki/BugZappers/HouseKeeping

Comment 12 Pavel Alexeev 2009-06-11 18:38:42 UTC
I think this is still actual. Ray Strode, Martin Sourada is there any movement?

Comment 13 Martin Sourada 2009-06-12 08:29:11 UTC
(In reply to comment #12)
> I think this is still actual. Ray Strode, Martin Sourada is there any movement?  

Nope, in F11 it's like:
$ rpm -e --test nodoka-metacity-theme
error: Failed dependencies:
	nodoka-metacity-theme is needed by (installed) metacity-2.26.0-1.fc11.i586
	nodoka-metacity-theme is needed by (installed) fedora-gnome-theme-8.0.0-9.fc11.noarch

Comment 14 Bug Zapper 2009-11-18 12:37:09 UTC
This message is a reminder that Fedora 10 is nearing its end of life.
Approximately 30 (thirty) days from now Fedora will stop maintaining
and issuing updates for Fedora 10.  It is Fedora's policy to close all
bug reports from releases that are no longer maintained.  At that time
this bug will be closed as WONTFIX if it remains open with a Fedora 
'version' of '10'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version' 
to a later Fedora version prior to Fedora 10's end of life.

Bug Reporter: Thank you for reporting this issue and we are sorry that 
we may not be able to fix it before Fedora 10 is end of life.  If you 
would still like to see this bug fixed and are able to reproduce it 
against a later version of Fedora please change the 'version' of this 
bug to the applicable version.  If you are unable to change the version, 
please add a comment here and someone will do it for you.

Although we aim to fix as many bugs as possible during every release's 
lifetime, sometimes those efforts are overtaken by events.  Often a 
more recent Fedora release includes newer upstream software that fixes 
bugs or makes them obsolete.

The process we are following is described here: 
http://fedoraproject.org/wiki/BugZappers/HouseKeeping

Comment 15 Pavel Alexeev 2009-11-18 22:24:00 UTC
Problem still there.

Comment 16 Martin Sourada 2009-11-18 22:43:09 UTC
Thanks to switching defaults back to Clearlooks (which is upstream default), the problem is no longer present (F12 and on):

$ rpm -q --requires fedora-gnome-theme
bluecurve-cursor-theme  
fedora-icon-theme  
notification-daemon-engine-slider  
rpmlib(CompressedFileNames) <= 3.0.4-1
rpmlib(FileDigests) <= 4.6.0-1
rpmlib(PayloadFilesHavePrefix) <= 4.0-1
rpmlib(PayloadIsXz) <= 5.2-1


Note You need to log in before you can comment on or make changes to this bug.