<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Windows-1252">
<style type="text/css" style="display:none;"><!-- P {margin-top:0;margin-bottom:0;} --></style>
</head>
<body dir="ltr">
<div id="divtagdefaultwrapper" style="font-size:12pt;color:#000000;font-family:Calibri,Helvetica,sans-serif;" dir="ltr">
<div id="divtagdefaultwrapper" dir="ltr" style="font-size: 12pt; color: rgb(0, 0, 0); font-family: Calibri, Helvetica, sans-serif, "EmojiFont", "Apple Color Emoji", "Segoe UI Emoji", NotoColorEmoji, "Segoe UI Symbol", "Android Emoji", EmojiSymbols;">
<p style="margin-top:0; margin-bottom:0">I think I understand better the issue.</p>
<p style="margin-top:0; margin-bottom:0">The thing is there are 2 sort of packages, the ones managed internally by buildroot and the external ones. Linux and u-boot are special, at least for us, because they are internal buildroot packages for which we want
 to manage the sources like we do for external ones by using the "local" method.</p>
<p style="margin-top:0; margin-bottom:0">I think the solution you propose will work and I'm going to use it if the patch is refused.</p>
<p style="margin-top:0; margin-bottom:0">But still I find it a little bit hackish compared to the possibility to use a local source tree, which is an alternative which makes sense, when we already have the possibility to use, a custom svn, git, tarball...<br>
</p>
<p style="margin-top:0; margin-bottom:0"><br>
</p>
<p style="margin-top:0; margin-bottom:0">If you end up deciding to integrate the patch, I have the u-boot patch, originally written by <span>Adam Duskett</span>, rebased on top of master and ready for submission ^^
<br>
</p>
<p style="margin-top:0; margin-bottom:0"><br>
</p>
</div>
<hr tabindex="-1" style="display:inline-block; width:98%">
<div id="divRplyFwdMsg" dir="ltr"><font style="font-size:11pt" face="Calibri, sans-serif" color="#000000"><b>From:</b> Thomas Petazzoni <thomas.petazzoni@bootlin.com><br>
<b>Sent:</b> Wednesday, November 7, 2018 5:44:11 PM<br>
<b>To:</b> Nicolas Carrier<br>
<b>Cc:</b> Matthew Weber; Peter Korsgaard; rafal.fabich@gmail.com; buildroot<br>
<b>Subject:</b> Re: [Buildroot] [PATCH 1/1] Added local directory as source of kernel code</font>
<div> </div>
</div>
<div class="BodyFragment"><font size="2"><span style="font-size:11pt">
<div class="PlainText">Hello Nicolas,<br>
<br>
On Wed, 7 Nov 2018 14:40:39 +0000, Nicolas Carrier wrote:<br>
<br>
> I have a workspace managed by google repo, which fetches the sources<br>
> of the external git repositories for which we have created .mk<br>
> buildroot Makefiles.<br>
><br>
> Because the sources are cloned by repo, I don't want them to be<br>
> fetched by buildroot, hence I used "_SITE_METHOD = local" for all the<br>
> packages.<br>
><br>
> For linux and u-boot, I can't do that because they dont support the<br>
> local method and I think there is no reason to make these two<br>
> packages an exception.<br>
<br>
Well your patch is actually making u-boot and linux be exceptions. What<br>
if someone wants to build busybox from a local source tree ? And qt5 ?<br>
And openssl ? And then this other package ?<br>
<br>
As you can see, this approach does not really scale: we would have to<br>
add Config.in options to all packages to say "please build using the<br>
source code from folder XYZ instead of the normal upstream source<br>
code". That's why we have chosen to support this use case using<br>
OVERRIDE_SRCDIR.<br>
<br>
> As for modifying the local.mk file to put some LINUX_OVERRIDE_SRCDIR<br>
> value inside, I want to avoid it because it would force me to version<br>
> the local.mk file for things to work out-of-the-box. Versionning this<br>
> file is problematic because developers needing to modify it<br>
> temporarily may commit it by error.<br>
<br>
Here is what you could do:<br>
<br>
 - Set BR2_PACKAGE_OVERRIDE_FILE to point to whatever file you like<br>
   instead of local.mk, say package-overrides.mk.<br>
<br>
 - In this file, you set LINUX_OVERRIDE_SRCDIR as appropriate, but you<br>
   also do<br>
<br>
   -include local.mk<br>
<br>
And then you version control package-overrides.mk. Then your developer<br>
can continue locally to tinker with local.mk to have their own custom<br>
OVERRIDE_SRCDIR, and still have LINUX_OVERRIDE_SRCDIR used.<br>
<br>
Alternatively, maybe we should decide that linux and u-boot are special<br>
packages, and just like for those packages we support fetching from<br>
custom tarballs and custom Git repositories, we should support fetching<br>
from custom local directories (this is what your patch implements, but<br>
until now, we have resisted going into this direction).<br>
<br>
Best regards,<br>
<br>
Thomas<br>
--<br>
Thomas Petazzoni, CTO, Bootlin<br>
Embedded Linux and Kernel engineering<br>
<a href="https://bootlin.com" id="LPlnk561049" class="OWAAutoLink" previewremoved="true">https://bootlin.com</a>
<div id="LPBorder_GT_15416101749410.5062641595005583" style="margin-bottom: 20px; overflow: auto; width: 100%; text-indent: 0px;">
<table id="LPContainer_15416101749360.8610047090634194" style="width: 90%; background-color: rgb(255, 255, 255); position: relative; overflow: auto; padding-top: 20px; padding-bottom: 20px; margin-top: 20px; border-top: 1px dotted rgb(200, 200, 200); border-bottom: 1px dotted rgb(200, 200, 200);" role="presentation" cellspacing="0">
<tbody>
<tr style="border-spacing: 0px;" valign="top">
<td id="TextCell_15416101749380.9023087918286107" style="vertical-align: top; position: relative; padding: 0px; display: table-cell;" colspan="2">
<div id="LPRemovePreviewContainer_15416101749390.044231693954557394"></div>
<div id="LPTitle_15416101749390.3976917311647651" style="top: 0px; color: rgb(171, 35, 40); font-weight: 400; font-size: 21px; font-family: "wf_segoe-ui_light", "Segoe UI Light", "Segoe WP Light", "Segoe UI", "Segoe WP", Tahoma, Arial, sans-serif; line-height: 21px;">
<a id="LPUrlAnchor_15416101749390.5857160888015132" style="text-decoration: none;" href="https://bootlin.com/" target="_blank">Bootlin – Embedded Linux and kernel engineering</a></div>
<div id="LPMetadata_15416101749400.2348258109536412" style="margin: 10px 0px 16px; color: rgb(102, 102, 102); font-weight: 400; font-family: "wf_segoe-ui_normal", "Segoe UI", "Segoe WP", Tahoma, Arial, sans-serif; font-size: 14px; line-height: 14px;">
bootlin.com</div>
<div id="LPDescription_15416101749400.43970603718744794" style="display: block; color: rgb(102, 102, 102); font-weight: 400; font-family: "wf_segoe-ui_normal", "Segoe UI", "Segoe WP", Tahoma, Arial, sans-serif; font-size: 14px; line-height: 20px; max-height: 100px; overflow: hidden;">
The Embedded Linux Conference Europe edition 2018 took place last week in Edinburgh, Scotland, and no less than 9 engineers from Bootlin attended the conference.</div>
</td>
</tr>
</tbody>
</table>
</div>
<br>
ATTENTION: This email came from an external source.<br>
Do not open attachments or click on links from unknown senders or unexpected emails.<br>
</div>
</span></font></div>
</div>
</body>
</html>