Bug 658206

Summary: zypper gets mad if 'package.ARCH' should be installed
Product: [openSUSE] openSUSE 11.3 Reporter: Johannes Meixner <jsmeix>
Component: libzyppAssignee: E-mail List <zypp-maintainers>
Status: RESOLVED DUPLICATE QA Contact: E-mail List <qa-bugs>
Severity: Normal    
Priority: P5 - None CC: meissner
Version: Final   
Target Milestone: ---   
Hardware: x86-64   
OS: openSUSE 11.3   
Whiteboard:
Found By: Development Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---

Description Johannes Meixner 2010-12-08 11:06:47 UTC
I run zypper-1.4.5-1.10.x86_64 on openSUSE 11.3 on x86-64 architecture.

Assume I cannot use x86_64 version of a package but
I the must install the i586 version of a package (see [*] below).

"man zypper" reads:
---------------------------------------------------------------------------
  install (in) [options] <name|capability|rpm_file_uri> ...
...
    Capability is: NAME, or "NAME[.ARCH][OP<EDITION>]",
---------------------------------------------------------------------------

Assume I like to install the i586 version of the package "netcat"
(I use this package here only as a simple example, see [*] below):
----------------------------------------------------------------------------
# zypper search --match-exact --details netcat | grep 'i586'
  | netcat | package | 1.10-1011.1 | i586   | openSUSE-11.3 11.3-1.71

# zypper install --dry-run 'netcat.i586' | head -n5
Loading repository data...
Reading installed packages...
'mozilla-xulrunner192' providing 'netcat.i586' is already installed.
'MozillaFirefox' providing 'netcat.i586' is already installed.
'java-1_6_0-sun' providing 'netcat.i586' is already installed.
----------------------------------------------------------------------------

Of course neither mozilla-xulrunner192 nor MozillaFirefox
nor java-1_6_0-sun provide any netcat stuff.

Without the architecture '.i586' I get only the x86_64 package:
-----------------------------------------------------------------------------
burns:~ # zypper --verbose install --dry-run 'netcat' | head -n12
Verbosity: 1
Non-option programme arguments: 'netcat' 
Initialising Target
Checking whether to refresh metadata for Updates for openSUSE 11.3 11.3-1.71
Checking whether to refresh metadata for openSUSE-11.3 11.3-1.71
Checking whether to refresh metadata for openSUSE-11.3-Debug
Checking whether to refresh metadata for openSUSE-11.3-Non-Oss
Loading repository data...
Reading installed packages...
Force resolution: No
Selecting 'netcat-1.10-1011.1.x86_64' from repository 'openSUSE-11.3 11.3-1.71' for installation.
Resolving package dependencies...
----------------------------------------------------------------------------

Either "man zypper" is wrong or at least misleading
or zypper itself has a bug.

If "man zypper" is wrong or misleading, please tell me
how tell "zypper install" to install a particular architecture.


[*]
The actual issue was that I had to install the i586 version
of MozillaFirefox plus the i586 Sun Java Runtime Environment
because a particular third-party Java applet provided by a
particular HP server service processor has 64-bit bugs
so that I was forced to run it in a full 32-bit environment.
I faild to get it done with zypper.
Only manual packages download plus plain rpm worked for me.
Comment 1 Marcus Meissner 2010-12-08 12:50:22 UTC
install the zypper online update.

zypper 1.4.8-0.2.4 is the current released one
Comment 2 Johannes Meixner 2010-12-08 13:17:14 UTC
O.k. I updated and with zypper-1.4.8-0.2.4.x86_64 it works:
------------------------------------------------------------------------------
# zypper list-updates
Loading repository data...
Reading installed packages...
No updates found.

# rpm -q zypper
zypper-1.4.8-0.2.4.x86_64

# rpm -q netcat
package netcat is not installed

# zypper search --match-exact --details netcat | grep 'i586'
  | netcat | package | 1.10-1011.1 | i586   | openSUSE-11.3 11.3-1.71

# zypper --verbose install --dry-run 'netcat.i586' | head -n12
Verbosity: 1
Non-option programme arguments: 'netcat.i586' 
Initialising Target
Checking whether to refresh metadata for Updates for openSUSE 11.3 11.3-1.71
Checking whether to refresh metadata for openSUSE-11.3 11.3-1.71
Checking whether to refresh metadata for openSUSE-11.3-Debug
Checking whether to refresh metadata for openSUSE-11.3-Non-Oss
Loading repository data...
Reading installed packages...
Force resolution: No
Selecting 'netcat-1.10-1011.1.i586' from repository 'openSUSE-11.3 11.3-1.71' for installation.
Resolving package dependencies...

# zypper install 'netcat.i586'
[...]

# rpm -q netcat
netcat-1.10-1011.1.i586
------------------------------------------------------------------------------

In zypper-1.4.8-0.2.4.x86_64 RPM changelog there is
-------------------------------------------------------------------
* Tue Jul 27 2010 ma@suse.de
- Fix evaluation of package specs containing edition or arch.
  (bnc#624320)
- 1.4.7
-------------------------------------------------------------------
Therefore I assume this one is a duplicate.

*** This bug has been marked as a duplicate of bug 624320 ***
Comment 3 Johannes Meixner 2010-12-08 13:28:24 UTC
Bug 625634 "zypper fails to install i586 packages in a x86-64 machine"
is the exact matching duplicate.