lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Fri, 04 Jul 2014 14:40:28 -0700
From:	Randy Dunlap <rdunlap@...radead.org>
To:	Michal Marek <mmarek@...e.cz>, Sam Ravnborg <sam@...nborg.org>
CC:	"J. Bruce Fields" <bfields@...ldses.org>,
	linux-kbuild@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: relative objtree change broke tar builds?

On 07/04/2014 02:37 PM, Michal Marek wrote:
> Dne 18.6.2014 23:13, Randy Dunlap napsal(a):
>> On 06/18/14 12:52, Sam Ravnborg wrote:
>>> 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
>>
>> Yes, just '.' discards some very useful information.
> 
> With commit c2e28dc9 ("kbuild: Print the name of the build directory"),
> it now prints the full path at the beginning of each make invocation. So
> I think it is not necessary to repeat the full path a few lines later,
> do you agree?

Sounds possible, but I'll test it early next week.
BTW, you are offline.  :)



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

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ