Bug 805271

Summary: Using %attr on a directory is does not work correctly if done after %defattr
Product: Red Hat Enterprise Linux 6 Reporter: Charlie Brady <charlieb-fedora-bugzilla>
Component: rpmAssignee: Panu Matilainen <pmatilai>
Status: CLOSED DUPLICATE QA Contact: BaseOS QE Security Team <qe-baseos-security>
Severity: medium Docs Contact:
Priority: unspecified    
Version: 6.2CC: charlieb-fedora-bugzilla, dshaw, ffesti, jnovy, pmatilai, wfp5p
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: 681540 Environment:
Last Closed: 2012-03-21 02:15:01 EDT Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Description Charlie Brady 2012-03-20 14:41:10 EDT
+++ This bug was initially created as a clone of Bug #681540 +++

Created attachment 481875 [details]
spec file to demonstrate %defattr/%attr proble

Description of problem:

The permissions defined by %attr will not get set correctly if the %attr comes after a %defattr.

Version-Release number of selected component (if applicable):
This worked up to Fedora 12, fails in 13, 14, and rawhide.

How reproducible: 100%


Steps to Reproduce:
1) build the attatched .spec file
2) run rpmls -l on the resulting rpm
  
Actual results:
drwxrwxr-x  nobody   nobody   /var/cache/rpmtest/nobody
drwxr-xr-x  nobody   nobody   /var/cache/rpmtest/nobody2


Expected results:
drwxrwxr-x  nobody   nobody   /var/cache/rpmtest/nobody
drwxrwxr-x  nobody   nobody   /var/cache/rpmtest/nobody2

Additional info: 
attached is very simple spec file to demonstrate.

--- Additional comment from pmatilai@redhat.com on 2011-03-25 04:53:03 EDT ---

Ack, this is a regression originating from fixing bug 515685.

Thanks for the report + reproducer.

--- Additional comment from charlieb-fedora-bugzilla@budge.apana.org.au on 2012-03-20 14:39:29 EDT ---

(In reply to comment #0)

> Expected results:
> drwxrwxr-x  nobody   nobody   /var/cache/rpmtest/nobody
> drwxrwxr-x  nobody   nobody   /var/cache/rpmtest/nobody2

This problem apparently exists in RHEL6:

bash-4.1$ rpm -qlvp rpms/RPMS/i686/rpmtest-0.1-1.el6.i686.rpm
drwxrwxr-x    2 nobody  nobody                      0 Mar 20 14:35 /var/cache/rpmtest/nobody
drwxr-xr-x    2 nobody  nobody                      0 Mar 20 14:35 /var/cache/rpmtest/nobody2
bash-4.1$ rpm -q rpm
rpm-4.8.0-19.el6.i686
bash-4.1$ uname -r
2.6.32-220.4.1.el6.i686
bash-4.1$
Comment 2 Charlie Brady 2012-03-20 14:55:57 EDT
Unfortunately Bug #681540 does not contain a reference to where this was "fixed upstream" - neither version number nor changeset.
Comment 3 Panu Matilainen 2012-03-21 02:15:01 EDT

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