Bug 6517

Summary: File modes not preserved when using ipk package backend
Product: [Build System, Metadata & Runtime] OE-Core Reporter: Chen Qi <Qi.Chen>
Component: coreAssignee: Chen Qi <Qi.Chen>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: Medium CC: meta.mr.watcher, meta.watcher
Version: 1.7   
Target Milestone: 1.8   
Hardware: x86   
OS: Multiple   
Whiteboard:
OS type for building Yocto: --- Type of Regression: ---
Verified: Documentation change: Don't know

Description Chen Qi 2014-07-09 08:25:51 UTC
The /home directory, as well as the /var/local directory, is supposed to have '2775' permission bits, as configured in the default fs-perms.txt file.

When using rpm package backend, the file modes are correct on target; however, when using ipk package backend, the file modes of /home and /var/local are '0755'.

Steps to reproduce:
1. Set in local.conf:
PACKAGE_CLASSES = "package_ipk"
2. bitbake core-image-minimal
3. start target and `stat /home /var/local'

//Chen Qi
Comment 1 Chen Qi 2015-03-12 07:16:28 UTC
The problem is fixed by the following commit.

commit 77e4defa57f02b7f7ad23b07f169ec280228585b
Author: Paul Gortmaker <paul.gortmaker@windriver.com>
Date:   Sun Jul 27 22:58:35 2014 -0400

    base-files: remove strange 2775 perms from dirs like /home
    
    Mark Hatle did the historical research into why this was so,
    and found that it originally was via debian import, and then
    it morphed over time:
    
    <fray> +#   chown -R root:root ${D}
    <fray> +#   cd ${D} && chown root:src     usr/src
    <fray> +#   cd ${D} && chown root:staff   var/local
    <fray> +#   cd ${D} && chown root:staff   home
    <fray> +    cd ${D} && chmod 755  `find . -type d`
    <fray> +    cd ${D} && chmod 1777 `cat ${S}/debian/1777-dirs`
    <fray> +    cd ${D} && chmod 2775 `cat ${S}/debian/2775-dirs`
    <fray> that was the original code
    <fray> so THAT is why they're 2775..
    <fray> they were original 'src' and 'staff'.. which has gotten lost
          sometime in the last 10 years
    
    <fray> AND the origin:
    <fray> commit b45c9ed40bb4f893f99127a21776aef3ae888ad7
    <fray> Author: Chris Larson <clarson@kergoth.com>
    <fray> Date:   Tue Sep 30 16:30:41 2003 +0000
    <fray>     Add base-files 3.0.10 (from debian).
    <fray> thats where the brain damage started ... Debian in 2003..
    
    Here we simply convert them to being normal 755 dirs.
    
    [YOCTO #6579]
    
    Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
    Signed-off-by: Saul Wold <sgw@linux.intel.com>
    Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>