Issue #1864 has been updated by jamtur01.

Status changed from Unreviewed to Duplicate
Priority changed from High to Normal

Duplicate of #1465
----------------------------------------
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: Duplicate
Priority: Normal
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
-~----------~----~----~----~------~----~------~--~---

Reply via email to