| Mon | Tue | Wed | Thu | Fri | Sat | Sun |
|---|---|---|---|---|---|---|
| < | > | |||||
| 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| 8 | 9 | 10 | 11 | 12 | 13 | 14 |
| 15 | 16 | 17 | 18 | 19 | 20 | 21 |
| 22 | 23 | 24 | 25 | 26 | 27 | 28 |
| 29 | 30 | |||||
Dugan's Blog
Post details: conary erase glibc part II (and hints at new distro-shrinking code)
So, if you were really paying attention to my last post, you might have noticed something strange in the output from the new conary erase glibc command:
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
What's wrong here? There's no mention of the glibc:lib or glibc:runtime components! That is, conary is neither erasing glibc:lib or warning you that it's not erasing it. The reason is this: conary doesn't delete a trove from your system until all the groups (or packages) that reference that trove are deleted. So, if you have glibc installed which has a reference to glibc:lib, and group-core installed, which _also_ references glibc:lib, then conary won't erase glibc:lib until both glibc (the package) and group-core are erased.
So, I thought that sucked. Although components are nice, they are often not the correct level of abstraction for either beginner or advanced conary users. So I worked over the last week on fixing this problem.
Here's how I did it: Now when groups include a particular component, (say, glibc:runtime), they actually contain a reference to the parent package (glibc), with all the components except the one you specify "byDefault False", meaning they won't be installed when the group is installed. That means in the future no groups will have references to individual components, which means that conary erase glibc will work as expected. Note that I also added code to automatically install the package for a component when you resolve that component.
Doing the work to make this possible meant adding something called weak references to conary. I'll blog about how that makes it possible to shrink the size of your distro later.
Oh, and by the way, none of this is in the main conary-repository yet, but it should be arriving very soon.
Comments:
No Comments for this post yet...
Comments are closed for this post.