lkml.org 
[lkml]   [2007]   [Jul]   [17]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 09/33] kbuild: add support for squashing uid/gid in gen_initramfs_list.sh
    Date
    From: Mike Frysinger <vapier@gentoo.org>

    Sometimes it is useful to squash all uid's/gid's to 0:0 regardless of
    current owner. For example, in build systems that get run as arbitrary
    users (uClinux-dist). This adds a special "squash" keyword so you can do
    '-g squash -u squash' and have ownership squashed to root.

    Signed-off-by: Mike Frysinger <vapier@gentoo.org>
    Cc: Sam Ravnborg <sam@ravnborg.org>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    ---
    scripts/gen_initramfs_list.sh | 12 ++++++------
    1 files changed, 6 insertions(+), 6 deletions(-)

    diff --git a/scripts/gen_initramfs_list.sh b/scripts/gen_initramfs_list.sh
    index 683eb12..684fb9c 100644
    --- a/scripts/gen_initramfs_list.sh
    +++ b/scripts/gen_initramfs_list.sh
    @@ -19,11 +19,11 @@ $0 [-o <file>] [-u <uid>] [-g <gid>] {-d | <cpio_source>} ...
    -o <file> Create gzipped initramfs file named <file> using
    gen_init_cpio and gzip
    -u <uid> User ID to map to user ID 0 (root).
    - <uid> is only meaningful if <cpio_source>
    - is a directory.
    + <uid> is only meaningful if <cpio_source> is a
    + directory. "squash" forces all files to uid 0.
    -g <gid> Group ID to map to group ID 0 (root).
    - <gid> is only meaningful if <cpio_source>
    - is a directory.
    + <gid> is only meaningful if <cpio_source> is a
    + directory. "squash" forces all files to gid 0.
    <cpio_source> File list or directory for cpio archive.
    If <cpio_source> is a .cpio file it will be used
    as direct input to initramfs.
    @@ -113,8 +113,8 @@ parse() {
    local gid="$4"
    local ftype=$(filetype "${location}")
    # remap uid/gid to 0 if necessary
    - [ "$uid" -eq "$root_uid" ] && uid=0
    - [ "$gid" -eq "$root_gid" ] && gid=0
    + [ "$root_uid" = "squash" ] && uid=0 || [ "$uid" -eq "$root_uid" ] && uid=0
    + [ "$root_gid" = "squash" ] && gid=0 || [ "$gid" -eq "$root_gid" ] && gid=0
    local str="${mode} ${uid} ${gid}"

    [ "${ftype}" == "invalid" ] && return 0
    --
    1.5.0.6
    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2007-07-17 16:23    [W:0.019 / U:31.456 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site