Bug 349321

Summary: %_sysconfdir is wrong on x86_64
Product: Red Hat Enterprise Linux 5 Reporter: Jonathan Reed <jdreed>
Component: rpmAssignee: Panu Matilainen <pmatilai>
Status: CLOSED DUPLICATE QA Contact:
Severity: medium Docs Contact:
Priority: low    
Version: 5.1CC: wdc
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2007-10-24 08:15:21 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Jonathan Reed 2007-10-23 19:14:31 UTC
Description of problem:

%_sysconfdir points to /usr/etc on x86_64 platforms
It should point to /etc like it does on other platforms.

Version-Release number of selected component (if applicable):

4.4.2-37.el5

How reproducible:

Always

Steps to Reproduce:
1. Run "rpm --eval %_sysconfdir" on an x86_64 machine.
2. See that the result is "/usr/etc"
3. Run "rpm --eval %_sysconfdir" on an i386 machine.
4. See that the result is "/etc"
5. See that "/usr/etc" is not the same as "/etc"
  
Actual results:

[some-64-bit-machine ~]$ rpm --eval %_sysconfdir
/usr/etc

Expected results:

[some-32-bit-machine ~]$ rpm --eval %_sysconfdir
/etc

Additional info:

This was first reported in RHEL3 as bug 190800.  Of course, that bug stagnated
for years and then was closed by the automatic bot last week.  

From the previous bug, there's an easy fix, but really, there should not be
platform skew to begin with:


-- Additional comment from n3npq on 2006-03-23 15:33 EST --
The %{_sysconfdir} macro is overridden by per-platform macros
    -14: _sysconfdir        /etc

Edit /etc/rpm/platform, and change "ia32e" to "x86_64" is one fix.
Otherwise
    ln -s x86_64-linux /usr/lib/rpm/ia32e-linux

-- Additional comment from tr on 2006-03-24 08:16 EST --
The symlink was what I thought of, too.
I did:
ln -s /usr/lib/rpm/x86_64-linux/ /usr/lib/rpm/ia32e-linux

and now it works:

# rpm --eval %{_sysconfdir}
/etc

Comment 1 Panu Matilainen 2007-10-24 08:15:21 UTC

*** This bug has been marked as a duplicate of 211119 ***