Re: [PATCH] deb-pkg: Fix for relative paths

Alexei Starovoitov
2014-06-17T02:47:59Z

On Mon, Jun 16, 2014 at 7:18 AM, Michal Marek <mmarek@suse.cz> wrote:
> When $srctree or $objtree are relative paths, we cannot change directory
> and refer to them in the same subshell. Do the redirection outside of
> the subshell to fix this.
>
> Reported-by: Ilya Dryomov <idryomov@gmail.com>
> Signed-off-by: Michal Marek <mmarek@suse.cz>
> ---
> scripts/package/builddeb | 10 +++++-----
> 1 file changed, 5 insertions(+), 5 deletions(-)

this patch didn't help to fix the broken deb-pkg for me:

../scripts/Makefile.build:44: ../../scripts/package/Makefile: No such
file or directory
make[2]: *** No rule to make target `../../scripts/package/Makefile'. Stop.
make[1]: *** [deb-pkg] Error 2

steps to reproduce:
$ export KBUILD_OUTPUT=/make it out of src tree
$ make deb-pkg

> diff --git a/scripts/package/builddeb b/scripts/package/builddeb
> index b5f08f7..9a38e85 100644
> --- a/scripts/package/builddeb
> +++ b/scripts/package/builddeb
> @@ -290,13 +290,13 @@ EOF
> fi
>
> # Build header package
> -(cd $srctree; find . -name Makefile\* -o -name Kconfig\* -o -name \*.pl > "$objtree/debian/hdrsrcfiles")
> -(cd $srctree; find arch/$SRCARCH/include include scripts -type f >> "$objtree/debian/hdrsrcfiles")
> -(cd $objtree; find arch/$SRCARCH/include Module.symvers include scripts -type f >> "$objtree/debian/hdrobjfiles")
> +(cd $srctree; find . -name Makefile\* -o -name Kconfig\* -o -name \*.pl) > "$objtree/debian/hdrsrcfiles"
> +(cd $srctree; find arch/$SRCARCH/include include scripts -type f) >> "$objtree/debian/hdrsrcfiles"
> +(cd $objtree; find arch/$SRCARCH/include Module.symvers include scripts -type f) >> "$objtree/debian/hdrobjfiles"
> destdir=$kernel_headers_dir/usr/src/linux-headers-$version
> mkdir -p "$destdir"
> -(cd $srctree; tar -c -f - -T "$objtree/debian/hdrsrcfiles") | (cd $destdir; tar -xf -)
> -(cd $objtree; tar -c -f - -T "$objtree/debian/hdrobjfiles") | (cd $destdir; tar -xf -)
> +(cd $srctree; tar -c -f - -T -) < "$objtree/debian/hdrsrcfiles" | (cd $destdir; tar -xf -)
> +(cd $objtree; tar -c -f - -T -) < "$objtree/debian/hdrobjfiles" | (cd $destdir; tar -xf -)
> (cd $objtree; cp $KCONFIG_CONFIG $destdir/.config) # copy .config manually to be where it's expected to be
> ln -sf "/usr/src/linux-headers-$version" "$kernel_headers_dir/lib/modules/$version/build"
> rm -f "$objtree/debian/hdrsrcfiles" "$objtree/debian/hdrobjfiles"
> --
> 1.9.2
>
> --
> 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/