lkml.org 
[lkml]   [2017]   [Dec]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 4.9 117/148] kbuild: pkg: use --transform option to prefix paths in tar
    Date
    4.9-stable review patch.  If anyone has any objections, please let me know.

    ------------------

    From: Masahiro Yamada <yamada.masahiro@socionext.com>


    [ Upstream commit 2dbc644ac62bbcb9ee78e84719953f611be0413d ]

    For rpm-pkg and deb-pkg, a source tar file is created. All paths in
    the archive must be prefixed with the base name of the tar so that
    everything is contained in the directory when you extract it.

    Currently, scripts/package/Makefile uses a symlink for that, and
    removes it after the tar is created.

    If you terminate the build during the tar creation, the symlink is
    left over. Then, at the next package build, you will see a warning
    like follows:

    ln: '.' and 'kernel-4.14.0+/.' are the same file

    It is possible to fix it by adding -n (--no-dereference) option to
    the "ln" command, but a cleaner way is to use --transform option
    of "tar" command. This option is GNU extension, but it should not
    hurt to use it in the Linux build system.

    The 'S' flag is needed to exclude symlinks from the path fixup.
    Without it, symlinks in the kernel are broken.

    Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
    Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    ---
    scripts/package/Makefile | 5 ++---
    1 file changed, 2 insertions(+), 3 deletions(-)

    --- a/scripts/package/Makefile
    +++ b/scripts/package/Makefile
    @@ -39,10 +39,9 @@ if test "$(objtree)" != "$(srctree)"; th
    false; \
    fi ; \
    $(srctree)/scripts/setlocalversion --save-scmversion; \
    -ln -sf $(srctree) $(2); \
    tar -cz $(RCS_TAR_IGNORE) -f $(2).tar.gz \
    - $(addprefix $(2)/,$(TAR_CONTENT) $(3)); \
    -rm -f $(2) $(objtree)/.scmversion
    + --transform 's:^:$(2)/:S' $(TAR_CONTENT) $(3); \
    +rm -f $(objtree)/.scmversion

    # rpm-pkg
    # ---------------------------------------------------------------------------

    \
     
     \ /
      Last update: 2017-12-12 14:05    [W:4.169 / U:0.268 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site