Bug 1370504

Summary: tcl.x86_64 and tcl.i686 both install to the same location (/usr/bin/tclsh8.5)
Product: Red Hat Enterprise Linux 7 Reporter: Deepu K S <dkochuka>
Component: tclAssignee: Jaroslav Škarvada <jskarvad>
Status: CLOSED NOTABUG QA Contact: BaseOS QE - Apps <qe-baseos-apps>
Severity: medium Docs Contact:
Priority: unspecified    
Version: 7.2CC: dkochuka, pm-rhel, thozza
Target Milestone: rcFlags: dkochuka: needinfo? (pm-rhel)
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2016-08-26 15:02:00 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:

Description Deepu K S 2016-08-26 13:57:15 UTC
Description of problem:
The tcl.x86_64 and tcl.i686 packages both provide `/usr/bin/tclsh8.5` .
We can install both packages at the same time and no conflict message is seen for this binary.


Version-Release number of selected component (if applicable):
Red Hat Enterprise Linux 7.2
tcl-8.5.13-8.el7.x86_64
tcl-8.5.13-8.el7.i686


How reproducible:
Always.


Steps to Reproduce:
# yum install tcl tcl.i686

# rpm -q tcl
tcl-8.5.13-8.el7.x86_64
tcl-8.5.13-8.el7.i686

# file /usr/bin/tclsh8.5 
/usr/bin/tclsh8.5: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.32, BuildID[sha1]=7955888d68a35f4ce59d5a21b132c74c8e3ee071, stripped

Actual results:
We can install both packages simultaneously.

# rpm -ql tcl.i686 | head -4
/usr/bin/tclsh
/usr/bin/tclsh8.5    <--========= i686 executable
/usr/lib/libtcl8.5.so
/usr/lib/tcl8.5


# rpm -ql tcl.x86_64 | head -4
/usr/bin/tclsh
/usr/bin/tclsh8.5    <--========= x86_64 executable
/usr/lib64/libtcl8.5.so
/usr/lib64/tcl8.5

Expected results:
Should have different tclsh binary names for i686 and x86_64 archs, or if not atleast have a conflict message shown during installation.

Additional info:

Comment 1 Deepu K S 2016-08-26 14:06:15 UTC
See below results which shows both tcl (32-bit and 64-bit can be installed simultaneously).
Here, the i686 executable is overwritten.

# ls
i686  tcl-8.5.13-8.el7.i686.rpm  tcl-8.5.13-8.el7.x86_64.rpm  x86_64

# file usr/bin/tclsh8.5 
usr/bin/tclsh8.5: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.32, BuildID[sha1]=eabf1d7e87182bedd655f71007345d5c78167de0, stripped

# ll usr/bin/
total 8
lrwxrwxrwx. 1 root root    8 Aug 26 18:09 tclsh -> tclsh8.5
-rwxr-xr-x. 1 root root 6448 Jul 29  2015 tclsh8.5

# cd ..
# ls
i686  tcl-8.5.13-8.el7.i686.rpm  tcl-8.5.13-8.el7.x86_64.rpm  x86_64

# cd x86_64/
# ll usr/bin/
total 8
lrwxrwxrwx. 1 root root    8 Aug 26 18:09 tclsh -> tclsh8.5
-rwxr-xr-x. 1 root root 7168 Jul 29  2015 tclsh8.5

# file usr/bin/tclsh8.5 
usr/bin/tclsh8.5: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.32, BuildID[sha1]=7955888d68a35f4ce59d5a21b132c74c8e3ee071, stripped

# yum install tcl tcl.i686
Loaded plugins: auto-update-debuginfo, langpacks, product-id, search-disabled-repos, subscription-manager
Resolving Dependencies
--> Running transaction check
---> Package tcl.i686 1:8.5.13-8.el7 will be installed
---> Package tcl.x86_64 1:8.5.13-8.el7 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

================================================================================================================================================================================
 Package                          Arch                                Version                                        Repository                                            Size
================================================================================================================================================================================
Installing:
 tcl                              i686                                1:8.5.13-8.el7                                 rhel-7-workstation-rpms                              1.9 M
 tcl                              x86_64                              1:8.5.13-8.el7                                 rhel-7-workstation-rpms                              1.9 M

Transaction Summary
================================================================================================================================================================================
Install  2 Packages

Total download size: 3.8 M
Installed size: 8.7 M
Is this ok [y/d/N]: y
Downloading packages:
(1/2): tcl-8.5.13-8.el7.x86_64.rpm                                                                                                                       | 1.9 MB  00:00:03     
(2/2): tcl-8.5.13-8.el7.i686.rpm                                                                                                                         | 1.9 MB  00:00:03     
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Total                                                                                                                                           998 kB/s | 3.8 MB  00:00:03     
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Warning: RPMDB altered outside of yum.
  Installing : 1:tcl-8.5.13-8.el7.x86_64                                                                                                                                    1/2 
  Installing : 1:tcl-8.5.13-8.el7.i686                                                                                                                                      2/2 
  Verifying  : 1:tcl-8.5.13-8.el7.x86_64                                                                                                                                    1/2 
  Verifying  : 1:tcl-8.5.13-8.el7.i686                                                                                                                                      2/2 

Installed:
  tcl.i686 1:8.5.13-8.el7                                                               tcl.x86_64 1:8.5.13-8.el7                                                              

Complete!

# rpm -q tcl
tcl-8.5.13-8.el7.x86_64
tcl-8.5.13-8.el7.i686

# file /usr/bin/tclsh
tclsh     tclsh8.5
  
# file /usr/bin/tclsh8.5 
/usr/bin/tclsh8.5: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.32, BuildID[sha1]=7955888d68a35f4ce59d5a21b132c74c8e3ee071, stripped
#

Can PM please comment on this. Is this an expected behaviour?
AFAIK we provide both 32-bit and 64-bit libraries as part of multilib packages. But, not sure if this applies for binaries?