Re: relative objtree change broke tar builds?

From: Sam Ravnborg
Date: Wed Jun 18 2014 - 15:53:13 EST


On Wed, Jun 18, 2014 at 09:47:28PM +0200, Michal Marek wrote:
> Dne 18.6.2014 17:58, Randy Dunlap napsal(a):
> > On 06/18/14 06:14, J. Bruce Fields wrote:
> >> On Wed, Jun 18, 2014 at 02:33:22PM +0200, Michal Marek wrote:
> >>> Dne 18.6.2014 14:20, J. Bruce Fields napsal(a):
> >>>> On Wed, Jun 18, 2014 at 11:06:12AM +0200, Michal Marek wrote:
> >>>>> Dne 18.6.2014 00:38, J. Bruce Fields napsal(a):
> >>>>>> The changelog there says
> >>>>>>
> >>>>>> The main Makefile sets its working directory to the object tree
> >>>>>> and never changes it again. Therefore, we can use '.' instead of
> >>>>>> the absolute path.
> >>>>>>
> >>>>>> But the main Makefile also exports objtree, and a quick grep suggests
> >>>>>> lots of other uses outside the main Makefile.
> >>>>>
> >>>>> Do you have examples? Besides your report, I'm only aware of make
> >>>>> deb-pkg and make *docs. What else?
> >>>>
> >>>> I haven't looked.
> >>>>
> >>>> I only note that grep finds 47 files referencing that variable, and
> >>>> absent some argument that the remaining ones are correct, I'd be
> >>>> inclined to revert.
> >>>
> >>> Do these 47 files change the working directory before referencing the
> >>> variable?
> >>
> >> Sorry, I'm not volunteering to check.
> >>
> >> Note also that other variables are defined in terms of objtree, and they
> >> may be exported or passed to other scripts.
> >
> >
> > I'll note one side effect that I really dislike:
> > If not in silent mode, scripts/mkmakefile tells me that the it is
> > generating ./Makefile. I want to see the real path there instead of '.'.
>
> The idea is that one should be able to compare as much as possible
> between the build of /usr/src/linux-<version_a> built in
> /usr/src/linux-<version_a>/build and /usr/src/linux-<version_b> built in
> /usr/src/linux-<version_b>/build. One can now even compare the build log
> with -j1, although that was not the primary goal. So if the changed
> message is considered problematic, I can change it to show the full path
> again, like
>
> diff --git a/scripts/mkmakefile b/scripts/mkmakefile
> index 84af27b..9d291f5 100644
> --- a/scripts/mkmakefile
> +++ b/scripts/mkmakefile
> @@ -18,7 +18,7 @@ then
> exit 0
> fi
> if [ "${quiet}" != "silent_" ]; then
> - echo " GEN $2/Makefile"
> + echo " GEN $(cd $2 && /bin/pwd)/Makefile"
> fi
>
> cat << EOF > $2/Makefile
>
> Opinions?
I agree with Randy - the full path is more informative.

Sam
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/