Issue #1864 has been reported by incase.
----------------------------------------
Bug #1864: Package provider yum doesn't handle multi-architecture right
(triggered by rpm feature/bug?)
http://projects.reductivelabs.com/issues/show/1864
Author: incase
Status: Unreviewed
Priority: High
Assigned to:
Category: package
Target version:
Complexity: Unknown
Affected version: 0.24.7
Keywords:
When a package is installed in one architecture (like "libXtst.x86_64"), trying
to install it in another architecture (like "libXtst.i386") yields no correct
result.
This is triggered by a bug (or a desired feature, I'm not really sure) which
seemingly is present in rpm, at least in rpm 4.4.2 (RHEL 5.2, CentOS 5.2). When
the provider queries the package, the following results occure:
# the named architecture is installed:
[root ~]# /bin/rpm -q libXtst.x86_64 --nosignature --nodigest --qf '%{NAME}
%|EPOCH?{%{EPOCH}}:{0}| %{VERSION} %{RELEASE} %{ARCH}
'; echo $?
libXtst 0 1.0.1 3.1 x86_64
0
# the package is installed, but only in a different architecture:
[root ~]# /bin/rpm -q libXtst.i386 --nosignature --nodigest --qf '%{NAME}
%|EPOCH?{%{EPOCH}}:{0}| %{VERSION} %{RELEASE} %{ARCH}
'; echo $?
0
# no package of the given name is installed in any architecture:
[root ~]# /bin/rpm -q libXtt.x86_64 --nosignature --nodigest --qf '%{NAME}
%|EPOCH?{%{EPOCH}}:{0}| %{VERSION} %{RELEASE} %{ARCH}
'; echo $?
package libXtt.x86_64 is not installed
1
Note how the output of the RPM query is significant: If the package is only
installed in a different architecture, rpm returns nothing on STDOUT, exiting
with status code 0. If the package is installed in the desired architecture,
rpm returns a string as specified and als status code 0. Only if the package
isn't installed at all, it returns a status code of 1 (and a notification that
the package is not installed.
While this is arguably caused by some (mis)behaviour of rpm, it shouldn't
influence the yum provider the way it does (i.e. not installing the package
without reporting any error/warning).
In my opinion, the yum provider should either actually parse the output of rpm,
use "yum list" output instead (which I would expect from a "yum" provider, to
be honest), or use the rpm ruby bindings (which might be the fastest regarding
execution time, but introduces additional dependencies).
----------------------------------------
You have received this notification because you have either subscribed to it,
or are involved in it.
To change your notification preferences, please click here:
http://reductivelabs.com/redmine/my/account
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"Puppet Bugs" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/puppet-bugs?hl=en
-~----------~----~----~----~------~----~------~--~---