<div dir="ltr"><div><div><div><div><div><div><div><div>Hello,<br><br></div>I noticed an issue when I tried to develop a BSP meta for a NUC (model E3815TKHE).<br><br></div>In my first implementation, I named the conf file nuc_E3815.conf.<br><br></div>This leads to a bitbake error described in the commit message.<br>
ERROR: initramfs-live-boot not found in the base feeds (nuc_E3815
corei7-64-intel-common corei7-64 core2-64 x86_64 noarch any all).<br><br></div>When I renamed the file without upercase (ie nuc_e3815.conf) , the error disappeared.<br><br></div>As I never saw any Machine name with uppercase, I thought that it was forbidden ( and the root cause of the issue I saw).<br><br></div>This seems to be linked to the path name generation of the rpm repositories. <br><br></div>Sorry for the noise.<br><br></div>Baptiste<br><br><div><div><div><br><div><div><div><div><div><div><div><div><div><div class="gmail_extra"><br><div class="gmail_quote">2015-03-05 7:26 GMT+01:00 Michael Gloff <span dir="ltr"><<a href="mailto:mgloff@emacinc.com" target="_blank">mgloff@emacinc.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">Why? Uppercase letters should be allowed and work fine for the most part. Below are a few excerpts from last year:<br><br>On Wed, Mar 5, 2014 at 11:45 AM, Paul Eggleton <span dir="ltr"><<a href="mailto:paul.eggleton@linux.intel.com" target="_blank">paul.eggleton@linux.intel.com</a>></span> wrote:<br>
On Wednesday 05 March 2014 11:00:31 Michael Gloff wrote:<br>
> On Mon, Mar 3, 2014 at 12:52 PM, Paul Eggleton<br>
> <<a href="mailto:paul.eggleton@linux.intel.com" target="_blank">paul.eggleton@linux.intel.com</a><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">> wrote:<br>
> > On Sunday 02 March 2014 19:58:41 Michael Gloff wrote:<br>
> > > Is there a reason why the toolchain cannot be built with a machine name<br>
> > > that contains capital letters? Seems weird, everything else builds fine,<br>
> > > but meta-toolchain fails complaining about caps.<br>
> ><br>
> > Although machine names are traditionally all lower case in our build<br>
> > system, there's no deliberate restriction in place that enforces this.<br>
> ><br>
> > Would you be able to provide more details, such as the version of the<br>
> > build system you are using, the exact capital letters you used in the<br>
> > machine name, and the error you received?<br>
><br>
> The error is below. Machine name: PMX-090T. This is on dora 1.5.1<br>
><br>
> ERROR: Function failed: opkg-build execution failed<br>
> ERROR: Logfile of failure stored in:<br>
> /opt/oe/build/tmp/work/i686-nativesdk-emacsdk-linux/meta-environment-PMX-090<br>
> T/1.0-r8/temp/log.do_package_write_ipk.15358<br>
> Log data follows:<br>
> | DEBUG: Executing python function sstate_task_prefunc<br>
> | DEBUG: Python function sstate_task_prefunc finished<br>
> | DEBUG: Executing python function do_package_write_ipk<br>
> | DEBUG: Executing python function read_subpackage_metadata<br>
> | DEBUG: Python function read_subpackage_metadata finished<br>
> | DEBUG: Executing python function do_package_ipk<br>
> | meta-environment-PMX-090T<br>
> | *** Error: Package name contains illegal characters, (other than<br>
> [a-z0-9.+-])<br>
<br>
Perhaps I spoke too soon. There might not be a direct restriction on machine<br>
names; but opkg does restrict characters allowed in package names, and for<br>
meta-environment the machine name ends up as part of the package name. You<br>
could probably hack around it if you felt the need to, but the simplest thing<br>
would be to just change the machine name to be all lower-case.<br>
<br>
Cheers,<br>
Paul<div><div><img src="https://ssl.gstatic.com/ui/v1/icons/mail/images/cleardot.gif"></div></div></blockquote><div><br>=============================================================================================<br><table cellpadding="0"><tbody><tr><td><table cellpadding="0"><tbody><tr><td><h3><span name="Paul Barker">Paul Barker</span> <span><span><</span><a href="mailto:paul@paulbarker.me.uk" target="_blank">paul@paulbarker.me.uk</a><span>></span></span> </h3></td></tr></tbody></table></td><td><div><span></span><span title="Thu, Mar 6, 2014 at 6:57 AM" alt="Thu, Mar 6, 2014 at 6:57 AM">3/6/14</span><div style="outline:0px none"><span><img src="https://mail.google.com/mail/u/0/images/cleardot.gif" alt=""></span></div></div></td><td><br></td><td rowspan="2"><br></td></tr><tr><td colspan="3"><table cellpadding="0"><tbody><tr><td><div><span>to <span dir="ltr" name="Khem">Khem</span>, <span dir="ltr" name="me">me</span>, <span dir="ltr" name="Paul">Paul</span>, <span dir="ltr" name="Yocto">Yocto</span> </span></div><div><img src="https://mail.google.com/mail/u/0/images/cleardot.gif" alt=""></div></td></tr></tbody></table></td></tr></tbody></table>On 5 March 2014 21:14, Khem Raj <<a href="mailto:raj.khem@gmail.com" target="_blank">raj.khem@gmail.com</a>> wrote:<br>
> On Wed, Mar 5, 2014 at 9:00 AM, Michael Gloff <<a href="mailto:mgloff@emacinc.com" target="_blank">mgloff@emacinc.com</a>> wrote:<br>
>> | *** Error: Package name contains illegal characters, (other than<br>
>> [a-z0-9.+-])<br>
><br>
> hmm meta-environment-PMX-090T is a package name and<br>
> thats limitation of opkg backend, if you are too tied to<br>
<br>
opkg itself doesn't seem to have this limitation, I just created and installed a<br>
test package named 'A' perfectly fine.<br>
<br>
The Debian policy says:<br>
Package names (both source and binary, see Package, Section 5.6.7) must<br>
consist only of lower case letters (a-z), digits (0-9), plus (+) and minus<br>
(-) signs, and periods (.). They must be at least two characters long and<br>
must start with an alphanumeric character.<br>
<br>
So I think the restriction is there to keep generated packages<br>
compatible with dpkg-deb.<br>
<br>
We could consider removing the restriction if that compatibility isn't<br>
necessary.<div><div><img src="https://ssl.gstatic.com/ui/v1/icons/mail/images/cleardot.gif"><br>===========================================================================<br><br></div><div>I think we should fix the SDK generation that has a problem with caps instead of dis-allowing it completely. <br><br></div><div>Michael Gloff<br></div></div> </div><br></div><div class="gmail_extra"><br><div class="gmail_quote"><div><div class="h5">On Tue, Mar 3, 2015 at 5:01 AM, Baptiste DURAND <span dir="ltr"><<a href="mailto:baptiste.durand@gmail.com" target="_blank">baptiste.durand@gmail.com</a>></span> wrote:<br></div></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div><div class="h5">MACHINE variable should not contain uppercase characters.<br>
<br>
Having uppercase in Machine name can lead to this kind of error : (here Machine is set to nuc-E3815)<br>
ERROR: initramfs-live-boot not found in the base feeds (nuc_E3815 corei7-64-intel-common corei7-64 core2-64 x86_64 noarch any all).<br>
<br>
Signed-off-by: Baptiste DURAND <<a href="mailto:baptiste.durand@gmail.com" target="_blank">baptiste.durand@gmail.com</a>><br>
---<br>
meta/classes/sanity.bbclass | 15 ++++++++++-----<br>
1 file changed, 10 insertions(+), 5 deletions(-)<br>
<br>
diff --git a/meta/classes/sanity.bbclass b/meta/classes/sanity.bbclass<br>
index 31b99d4..1fa2e58 100644<br>
--- a/meta/classes/sanity.bbclass<br>
+++ b/meta/classes/sanity.bbclass<br>
@@ -713,12 +713,17 @@ def check_sanity_everybuild(status, d):<br>
<br>
# Check that the MACHINE is valid, if it is set<br>
machinevalid = True<br>
- if d.getVar('MACHINE', True):<br>
- if not check_conf_exists("conf/machine/${MACHINE}.conf", d):<br>
- status.addresult('Please set a valid MACHINE in your local.conf or environment\n')<br>
- machinevalid = False<br>
+ machinevar = d.getVar('MACHINE', True)<br>
+ if machinevar:<br>
+ if machinevar == machinevar.lower():<br>
+ if not check_conf_exists("conf/machine/${MACHINE}.conf", d):<br>
+ status.addresult('Please set a valid MACHINE in your local.conf or environment\n')<br>
+ machinevalid = False<br>
+ else:<br>
+ status.addresult(check_sanity_validmachine(d))<br>
else:<br>
- status.addresult(check_sanity_validmachine(d))<br>
+ status.addresult('Please set a valid MACHINE : uppercase characters are not allowed in machine name : ${MACHINE} should be ' + machinevar.lower() + ' \n Please rename file conf/machine/${MACHINE}.conf as conf/machine/' + machinevar.lower() + '.conf\n')<br>
+ machinevalid = False<br>
else:<br>
status.addresult('Please set a MACHINE in your local.conf or environment\n')<br>
machinevalid = False<br>
</div></div><span class=""><font color="#888888"><span><font color="#888888">--<br>
1.8.1.4<br>
<br>
--<br>
_______________________________________________<br>
Openembedded-core mailing list<br>
<a href="mailto:Openembedded-core@lists.openembedded.org" target="_blank">Openembedded-core@lists.openembedded.org</a><br>
<a href="http://lists.openembedded.org/mailman/listinfo/openembedded-core" target="_blank">http://lists.openembedded.org/mailman/listinfo/openembedded-core</a><br>
</font></span></font></span></blockquote></div><br></div>
</blockquote></div><br><br clear="all"><br>-- <br><div class="gmail_signature"><div dir="ltr"><div><div><span><font color="#888888">Baptiste DURAND<br></font></span></div><div><span><font color="#888888"><br></font></span></div></div></div></div>
</div></div></div></div></div></div></div></div></div></div></div></div></div></div>