Or you can browse.

Dugan's Blog

Post details: 'conary erase glibc'

December 18, 2005
Posted by dugan
12:42 PM
'conary erase glibc'

A blogger once mentioned that 'conary erase glibc' seemed to work on their system. They had used this test with multiple package managers to see how they handled what might be seen as a monstrously stupid thing to do.

Here's the blog entry in question.

http://rpath.blogspot.com/2005/11/oh-god.html

According to the blogger, conary just blithely erased glibc, no complaints!

Of course, that's not exactly what happened. Conary simply erased the components of glibc that are not depended on by anything else. Those include:

  • the package (which is just an index to the components which hold the actual files)
  • the :doc component (no other package compares if glibc:doc is installed!)
  • the :locale component

The reason conary has this behavior is because it's very nice for groups! Suppose you run conary erase group-gnome. You might expect it to fail, because, say, the group includes gtk which you use for other programs outside of group-gnome. But it won't fail, it will do exactly what you want, erasing all of the programs and their documentation and keeping exactly what you need.

Still, the behavior can be confusing, and has caught me unexpectedly on occasion. So I just added code that makes conary warn you when it keeps a component around because other troves require it. So, now, when I type conary erase glibc I get the following output:

warning: keeping glibc:devel - required by at least kdelibs:devel
warning: keeping glibc:devellib - required by at least kdelibs:devel
The following updates will be performed:
    Erase   glibc(:doc :locale)=2.3.5-4-0.1

Next up: making conary q glibc return glibc:devel and glibc:devellib even if you don't have the glibc package installed.

Comments:

No Comments for this post yet...

Comments are closed for this post.