On Fri, 12 Dec 2008, Seth Vidal wrote:
On Fri, 12 Dec 2008, Michael Schwendt wrote:
On Fri, 12 Dec 2008 12:13:21 -0500, Christopher wrote:
I'm surprised one can "rpm -e glibc-headers" while keeping glibc-devel That looks a bit strange.
I'll leave you to file a bug on that if you think it's wrong.
If it were that easy:
$ rpm -qR glibc-devel|grep ^glib glibc = 2.9-2 glibc-headers = 2.9-2
So, glibc-devel requires glibc-headers.
$ rpm -q --provides glibc-headers glibc-headers(i386) glibc-headers = 2.9-2 glibc-headers(x86-32) = 2.9-2
$ rpm -q --whatprovides glibc-headers glibc-headers-2.9-2.i386
$ sudo rpm -e glibc-headers
Uh? That should not have been possible, because now:
$ rpm -V glibc-devel Unsatisfied dependencies for glibc-devel-2.9-2.i386: glibc-headers = 2.9-2 is needed by glibc-devel-2.9-2.i386
Can anyone reproduce this? Surely I cannot file a bug about glibc. This looks more like a bug in RPM. F10 here, btw.
it's a Requires(Pre) thats allowing it to happen.
Yup, just checked (from F-10 glibc.spec):
%package devel Summary: Object files for development using standard C libraries. Group: Development/Libraries Requires(pre): /sbin/install-info Requires(pre): %{name}-headers = %{version}-%{release}
Try it with xorg-x11-filesystem
rpm -e xorg-x11-filesystem rpm -Va --nofiles --nomd5
notice the broken deps :(
It's actually the verification which is showing bogus results here (https://bugzilla.redhat.com/show_bug.cgi?id=223642) wrt rpm semantics: "Requires(pre): pkg1" means "pkg1" is required to be present during execution of %pre scriptlet of the package and nothing else. It does not imply "Requires: pkg1", that would have to be separately added if pkg1 is needed during installation *and* runtime.
Whether this is sane behavior is debatable, and has been debated several times in various places...
- Panu -