FAQ Search Today's Posts Mark Forums Read
» Video Reviews

» Linux Archive

Linux-archive is a website aiming to archive linux email lists and to make them easily accessible for linux users/developers.


» Sponsor

» Partners

» Sponsor

Go Back   Linux Archive > Redhat > Fedora User

 
 
LinkBack Thread Tools
 
Old 06-13-2011, 04:55 AM
Klaus Pedersen
 
Default Is yum dependency resolution upside down?

I don't know if it is yum, the package group definitions or the package
dependencies that are wrong - but no matter who is to blame - the result is
definitely not intuitive (or imho correct)...

After being hit by a fatal error in preupgrade, I am now unable to re-run the
upgrade because of low memory[1][2].

To recover memory[3] I have tried to remove some package groups - but the
results are most surprising (and quite useless).

Below are a few examples:

# yum -C groupremove "Dial-up Networking Support"

Is removing "ppp" - and NetworkManager for dependencies:
----------------------
Removing:
ppp i686 2.4.5-12.fc14 @updates 752 k
Removing for dependencies:
NetworkManager i686 1:0.8.4-1.fc14 @updates 5.5 M
NetworkManager-gnome i686 1:0.8.4-1.fc14 @updates 1.5 M
NetworkManager-openvpn i686 1:0.8.1-1.fc14 @anaconda-InstallationRepo-201010211
NetworkManager-vpnc i686 1:0.8.1-1.fc14 @anaconda-InstallationRepo-201010211
----------------------

NetworkManager is part of (installed) "System Tools" group - not dial-up modem
so why does it even consider to remove it?


# yum -C groupremove "Electronic Lab"

* Is (correctly) removing "drawtiming" and "openocd"
* surprisingly also "eclipse*" and "xorg-x11-fonts*" and "xscreensaver*"
for dependencies(!!)

eclipse was installed with "Fedora Eclipse" group.


# yum -C groupremove "Text-based Internet"

* Unsurprisingly suggest removing: bittorrent, cadaver, elinks, fetchmail, ...
* But for dependencies: docbook-utils*, evolution-data-server-devel,
gnome-*-devel, libgnome*-devel, gtk-doc, xulrunner-devel(!)

I wonder how all the gnome development lib dependencies popped up here...


# yum -C groupremove "Java Development"

* Unsurprisingly suggest to remove a lot of java development stuff.
* But quite surprising for dependencies also eclipse* and openoffice.org-base*
- for example: eclipse-cdt, eclipse-oprofile, eclipse-systemtapgui
eclipse-linuxprofilingframework, ...

Notice - this is not the "Java" group - in which case the eclipse and ooo-base
stuff would have been fine.


and my favorite:


# yum -C remove wine

================================================== ======================
Removing:
wine i686 1.3.19-1.fc14 @updates 0.0

Transaction Summary
================================================== ======================
Remove 1 Package(s)

Installed size: 0



I guess I just have to reinstall the system....


BR, Klaus


[1] https://bugzilla.redhat.com/show_bug.cgi?id=712750
[2] the system is low on memory because a lot of packages are duplicated in
fc14 and fc15 versions.
[3] I tried to run "yum history undo last-1" - but that wanted to download and
reinstall 700MB worth of packages(!)
--
users mailing list
users@lists.fedoraproject.org
To unsubscribe or change subscription options:
https://admin.fedoraproject.org/mailman/listinfo/users
Guidelines: http://fedoraproject.org/wiki/Mailing_list_guidelines
 
Old 06-13-2011, 08:31 AM
Michael Schwendt
 
Default Is yum dependency resolution upside down?

On Mon, 13 Jun 2011 12:55:02 +0800, KP wrote:

> I don't know if it is yum, the package group definitions or the package
> dependencies that are wrong - but no matter who is to blame - the result is
> definitely not intuitive (or imho correct)...

You read the dependencies backwards.

> Below are a few examples:
>
> # yum -C groupremove "Dial-up Networking Support"
>
> Is removing "ppp" - and NetworkManager for dependencies:
> ----------------------
> Removing:
> ppp i686 2.4.5-12.fc14 @updates 752 k
> Removing for dependencies:
> NetworkManager i686 1:0.8.4-1.fc14 @updates 5.5 M
> NetworkManager-gnome i686 1:0.8.4-1.fc14 @updates 1.5 M
> NetworkManager-openvpn i686 1:0.8.1-1.fc14 @anaconda-InstallationRepo-201010211
> NetworkManager-vpnc i686 1:0.8.1-1.fc14 @anaconda-InstallationRepo-201010211
> ----------------------
>
> NetworkManager is part of (installed) "System Tools" group - not dial-up modem
> so why does it even consider to remove it?

Notice the "Removing" and "Removing for dependencies" headers.
If you remove ppp, you cannot keep any packages that depend on ppp.
Your option in such a scenario is to remove leaf packages only, or to
erase individual packages (with either Yum or RPM).

$ repoquery --whatrequires ppp
ppp-0:2.4.5-17.fc15.x86_64
NetworkManager-1:0.8.999-2.git20110509.fc15.x86_64
NetworkManager-1:0.8.9997-2.git20110531.fc15.x86_64
NetworkManager-pptp-1:0.8.999-1.fc15.x86_64
bluemodem-0:0.7-6.fc15.x86_64
kdenetwork-7:4.6.2-2.fc15.x86_64
kdenetwork-7:4.6.3-1.fc15.x86_64
ppp-0:2.4.5-17.fc15.x86_64
pptp-0:1.7.2-12.fc15.x86_64
rp-pppoe-0:3.10-8.fc15.x86_64
synce-serial-0:0.11-5.fc15.x86_64
wvdial-0:1.61-4.fc15.x86_64
xfce4-modemlights-plugin-0:0.1.3.99-7.fc15.x86_64
xl2tpd-0:1.2.7-3.fc15.x86_64

For your other non-detailed examples, one would need to look at the
details (= the dependencies) to understand why something would be removed.
--
users mailing list
users@lists.fedoraproject.org
To unsubscribe or change subscription options:
https://admin.fedoraproject.org/mailman/listinfo/users
Guidelines: http://fedoraproject.org/wiki/Mailing_list_guidelines
 
Old 06-13-2011, 09:48 AM
Klaus Pedersen
 
Default Is yum dependency resolution upside down?

On Mon, Jun 13, 2011 at 4:31 PM, Michael Schwendt <mschwendt@gmail.com> wrote:
>
> You read the dependencies backwards.
[...]
> If you remove ppp, you cannot keep any packages that depend on ppp.

Remember that what I wanted was to remove "Dial-up Networking Support" - it is
not expected that this operation should remove all Networking!

Just as when I tried to remove "Electronic Lab" - it is not expected that this
operation should remove eclipse, fonts and screensavers, right?

I am pretty sure I had fonts and screensavers before I installed "drawtiming"
and "openocd". Do you see what I mean?

> Your option in such a scenario is to remove leaf packages only, or to
> erase individual packages (with either Yum or RPM).

Good point - I can remove NetworkManager and eclipse myself !! :-P

My point is that "groupremove" doesn't do the right thing. If I installed
eclipse using "Fedora Eclipse" then I don't want it automatically removed when
I uninstall something unrelated because of complicated indirect dependencies.

The same way I don't want to uninstall NetworkManager from the group
"System Tools", when I try to remove the group "Dial-up Networking Support".
--
users mailing list
users@lists.fedoraproject.org
To unsubscribe or change subscription options:
https://admin.fedoraproject.org/mailman/listinfo/users
Guidelines: http://fedoraproject.org/wiki/Mailing_list_guidelines
 
Old 06-13-2011, 01:33 PM
Michael Schwendt
 
Default Is yum dependency resolution upside down?

On Mon, 13 Jun 2011 17:48:12 +0800, KP wrote:

> On Mon, Jun 13, 2011 at 4:31 PM, Michael Schwendt wrote:
> >
> > You read the dependencies backwards.
> [...]
> > If you remove ppp, you cannot keep any packages that depend on ppp.
>
> Remember that what I wanted was to remove "Dial-up Networking Support" - it is
> not expected that this operation should remove all Networking!

Then what is it supposed to do instead?

"yum groupinfo 'Dial-up Networking Support'" tells that "ppp" is a
Mandatory Package in that group. If you wanted to remove ppp, you would
need to remove everything that requires ppp. Do you understand that?
If so, you can tell Yum to exit its confirmation check by answering "no".

> Just as when I tried to remove "Electronic Lab" - it is not expected that this
> operation should remove eclipse, fonts and screensavers, right?

Not right. At least the font packages you've mentioned are part of
that group:

$ yum groupinfo 'Electronic Lab'|grep font
xorg-x11-fonts-100dpi
xorg-x11-fonts-ISO8859-1-100dpi
xorg-x11-fonts-ISO8859-9-100dpi
xorg-x11-fonts-Type1

Same for several eclipse packages, which probably are required by
eclipse and hence can only be removed if eclipse gets removed as well:

$ yum groupinfo 'Electronic Lab'|grep ecli
eclipse-cdt
eclipse-dltk-tcl
eclipse-eclox
eclipse-epic
eclipse-subclipse
eclipse-texlipse
eclipse-veditor

> I am pretty sure I had fonts and screensavers before I installed "drawtiming"
> and "openocd". Do you see what I mean?

Not yet. Have you read the "man yum" section about "groupremove" and
"remove" yet?

Both commands are not the exact opposite of "groupinstall" and "install" due
to dependencies on additional packages. A groupinstall can add required packages
not listed in the group. Same for a normal install. "yum install foo" may pull
in packages that would not be removed by "yum remove foo". A groupremove tries
to remove all packages listed in the group plus anything that depends on them,
which can be packages listed also in other groups.
--
users mailing list
users@lists.fedoraproject.org
To unsubscribe or change subscription options:
https://admin.fedoraproject.org/mailman/listinfo/users
Guidelines: http://fedoraproject.org/wiki/Mailing_list_guidelines
 
Old 06-13-2011, 01:33 PM
Michael Schwendt
 
Default Is yum dependency resolution upside down?

On Mon, 13 Jun 2011 17:48:12 +0800, KP wrote:

> On Mon, Jun 13, 2011 at 4:31 PM, Michael Schwendt wrote:
> >
> > You read the dependencies backwards.
> [...]
> > If you remove ppp, you cannot keep any packages that depend on ppp.
>
> Remember that what I wanted was to remove "Dial-up Networking Support" - it is
> not expected that this operation should remove all Networking!

Then what is it supposed to do instead?

"yum groupinfo 'Dial-up Networking Support'" tells that "ppp" is a
Mandatory Package in that group. If you wanted to remove ppp, you would
need to remove everything that requires ppp. Do you understand that?
If so, you can tell Yum to exit its confirmation check by answering "no".

> Just as when I tried to remove "Electronic Lab" - it is not expected that this
> operation should remove eclipse, fonts and screensavers, right?

Not right. At least the font packages you've mentioned are part of
that group:

$ yum groupinfo 'Electronic Lab'|grep font
xorg-x11-fonts-100dpi
xorg-x11-fonts-ISO8859-1-100dpi
xorg-x11-fonts-ISO8859-9-100dpi
xorg-x11-fonts-Type1

Same for several eclipse packages, which probably are required by
eclipse and hence can only be removed if eclipse gets removed as well:

$ yum groupinfo 'Electronic Lab'|grep ecli
eclipse-cdt
eclipse-dltk-tcl
eclipse-eclox
eclipse-epic
eclipse-subclipse
eclipse-texlipse
eclipse-veditor

> I am pretty sure I had fonts and screensavers before I installed "drawtiming"
> and "openocd". Do you see what I mean?

Not yet. Have you read the "man yum" section about "groupremove" and
"remove" yet?

Both commands are not the exact opposite of "groupinstall" and "install" due
to dependencies on additional packages. A groupinstall can add required packages
not listed in the group. Same for a normal install. "yum install foo" may pull
in packages that would not be removed by "yum remove foo". A groupremove tries
to remove all packages listed in the group plus anything that depends on them,
which can be packages listed also in other groups.
--
users mailing list
users@lists.fedoraproject.org
To unsubscribe or change subscription options:
https://admin.fedoraproject.org/mailman/listinfo/users
Guidelines: http://fedoraproject.org/wiki/Mailing_list_guidelines
 
Old 06-13-2011, 01:34 PM
Rahul Sundaram
 
Default Is yum dependency resolution upside down?

On 06/13/2011 07:03 PM, Michael Schwendt wrote
> Both commands are not the exact opposite of "groupinstall" and "install" due
> to dependencies on additional packages. A groupinstall can add required packages
> not listed in the group. Same for a normal install. "yum install foo" may pull
> in packages that would not be removed by "yum remove foo". A groupremove tries
> to remove all packages listed in the group plus anything that depends on them,
> which can be packages listed also in other groups.

Also, if someone installed a group and wants to revert, I recommend
using yum history undo instead of group remove

Rahul

--
users mailing list
users@lists.fedoraproject.org
To unsubscribe or change subscription options:
https://admin.fedoraproject.org/mailman/listinfo/users
Guidelines: http://fedoraproject.org/wiki/Mailing_list_guidelines
 
Old 06-13-2011, 01:34 PM
Rahul Sundaram
 
Default Is yum dependency resolution upside down?

On 06/13/2011 07:03 PM, Michael Schwendt wrote
> Both commands are not the exact opposite of "groupinstall" and "install" due
> to dependencies on additional packages. A groupinstall can add required packages
> not listed in the group. Same for a normal install. "yum install foo" may pull
> in packages that would not be removed by "yum remove foo". A groupremove tries
> to remove all packages listed in the group plus anything that depends on them,
> which can be packages listed also in other groups.

Also, if someone installed a group and wants to revert, I recommend
using yum history undo instead of group remove

Rahul

--
users mailing list
users@lists.fedoraproject.org
To unsubscribe or change subscription options:
https://admin.fedoraproject.org/mailman/listinfo/users
Guidelines: http://fedoraproject.org/wiki/Mailing_list_guidelines
 
Old 06-13-2011, 02:40 PM
Klaus Pedersen
 
Default Is yum dependency resolution upside down?

On Mon, Jun 13, 2011 at 9:33 PM, Michael Schwendt <mschwendt@gmail.com> wrote:
>> Remember that what I wanted was to remove "Dial-up Networking Support" - it is
>> not expected that this operation should remove all Networking!
>
> Then what is it supposed to do instead?
>
> "yum groupinfo 'Dial-up Networking Support'" tells that "ppp" is a
> Mandatory Package in that group. If you wanted to remove ppp, you would
> need to remove everything that requires ppp. Do you understand that?

I agree that if I explicitly ask to remove ppp then yum is supposed to
remove dependencies.

What I don't understand is how naive the group commands are working.

If ppp is a member of two groups then it shouldn't be removed until both
groups are removed, no?

And for the other example :

> Not right. At least the font packages you've mentioned are part of
> that group:
>
> $ yum groupinfo 'Electronic Lab'|grep font
> * xorg-x11-fonts-100dpi
> * xorg-x11-fonts-ISO8859-1-100dpi
> * xorg-x11-fonts-ISO8859-9-100dpi
> * xorg-x11-fonts-Type1

Please don't tell me that having "fonts" as default packages in the
"Electronic Lab" makes sense - if a package in the "Electronic Lab"
group need fonts then that dependency should be handled in the
*package* dependency and not as group members.
--
users mailing list
users@lists.fedoraproject.org
To unsubscribe or change subscription options:
https://admin.fedoraproject.org/mailman/listinfo/users
Guidelines: http://fedoraproject.org/wiki/Mailing_list_guidelines
 
Old 06-13-2011, 03:53 PM
Michael Schwendt
 
Default Is yum dependency resolution upside down?

On Mon, 13 Jun 2011 22:40:09 +0800, KP wrote:

> I agree that if I explicitly ask to remove ppp then yum is supposed to
> remove dependencies.
>
> What I don't understand is how naive the group commands are working.

Well, if you want to go down that road, discussing this could reach a
sudden end. Suggesting a different implemention is better taken to Yum
upstream's mailing-list.

Basically, groups are just lists of packages, with additional attributes
for the packages (such as "mandatory", "default", "optional") to subdivide
them helpfully. A groupinstall is used to install a list of packages,
a groupremove is used to remove the same list of packages.

> If ppp is a member of two groups then it shouldn't be removed until both
> groups are removed, no?

IMO, that's a matter of definition. If you find "ppp" on your system, and
assuming [1] it is part of two groups, how to tell whether it was installed
due to installing group G1 or G2? And if "ppp" were not required by anything
else, why would it be wrong to remove it as part of G1 without specifying G2?
I mean, you asked to remove the packages from group G1, why imply that you
want to keep some of them due to another group they're in? Btw, you would see
the same dependencies when running plain "yum remove ppp" or "rpm --erase ppp".

[1] "ppp" isn't part of two groups, is it?

> And for the other example :
>
> > Not right. At least the font packages you've mentioned are part of
> > that group:
> >
> > $ yum groupinfo 'Electronic Lab'|grep font
> > * xorg-x11-fonts-100dpi
> > * xorg-x11-fonts-ISO8859-1-100dpi
> > * xorg-x11-fonts-ISO8859-9-100dpi
> > * xorg-x11-fonts-Type1
>
> Please don't tell me that having "fonts" as default packages in the
> "Electronic Lab" makes sense - if a package in the "Electronic Lab"
> group need fonts then that dependency should be handled in the
> *package* dependency and not as group members.

You could raise that question on the Electronic Lab's list:
https://admin.fedoraproject.org/mailman/listinfo/electronic-lab

It could be that they consider these font packages worthwhile for their
spin, but without making any or all of the apps depend on all these
font packages. Along the same line, I could use Emacs with the fonts
as installed by the default Fedora Desktop spin, but I add xorg-x11-fonts-misc
nevertheless for the config files I use.
--
users mailing list
users@lists.fedoraproject.org
To unsubscribe or change subscription options:
https://admin.fedoraproject.org/mailman/listinfo/users
Guidelines: http://fedoraproject.org/wiki/Mailing_list_guidelines
 
Old 06-13-2011, 04:09 PM
Joe Zeff
 
Default Is yum dependency resolution upside down?

On 06/13/2011 06:33 AM, Michael Schwendt wrote:
> On Mon, 13 Jun 2011 17:48:12 +0800, KP wrote:
>
>> Remember that what I wanted was to remove "Dial-up Networking Support" - it is
>> not expected that this operation should remove all Networking!
>
> Then what is it supposed to do instead?
>

If you can install Networking without installing Dial-up Networking
Support, you should be able to remove the latter without otherwise
affecting the former.
--
users mailing list
users@lists.fedoraproject.org
To unsubscribe or change subscription options:
https://admin.fedoraproject.org/mailman/listinfo/users
Guidelines: http://fedoraproject.org/wiki/Mailing_list_guidelines
 

Thread Tools




All times are GMT. The time now is 12:51 AM.

VBulletin, Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO ©2007, Crawlability, Inc.
Copyright 2007 - 2008, www.linux-archive.org