<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugzilla.yoctoproject.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.6"
          urlbase="https://bugzilla.yoctoproject.org/"
          
          maintainer="it-coreprojects-helpdesk@linuxfoundation.org"
>

    <bug>
          <bug_id>14282</bug_id>
          
          <creation_ts>2021-03-07 14:40:22 +0000</creation_ts>
          <short_desc>Allow % and @ in working dir path</short_desc>
          <delta_ts>2021-04-18 10:46:56 +0000</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>7</classification_id>
          <classification>Build System, Metadata &amp; Runtime</classification>
          <product>BitBake</product>
          <component>bitbake</component>
          <version>unspecified</version>
          <rep_platform>x86</rep_platform>
          <op_sys>Multiple</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>Medium+</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>3.4 M1</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="steve broshar">sbroshar</reporter>
          <assigned_to name="Richard Purdie">richard.purdie</assigned_to>
          <cc>poky.bs.watcher</cc>
    
    <cc>poky.watcher</cc>
    
    <cc>randy.macleod</cc>
    
    <cc>yf3yu</cc>
          
          
          <cf_os>---</cf_os>
          <cf_regression_type>---</cf_regression_type>
          
          <cf_docchange>Don&apos;t know</cf_docchange>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>89512</commentid>
    <comment_count>0</comment_count>
    <who name="steve broshar">sbroshar</who>
    <bug_when>2021-03-07 14:40:22 +0000</bug_when>
    <thetext>Yocto build fails when either @ or % are in the working directory path. This is problematic since Jenkins uses these chars in certain scenarios. Jenkins provides a way to use something other than @, but so far have not found a way to ask it to not use %. Thing is, a Unix path can contain any character; no character is illegal. Therefore, it seems reasonable that yocto should support most if not all chars too -- especially @ and % which are not super common, but not super weird (like nonprintable chars).

FYI, yocto fails on @ from a message from the sanity checker saying @ is not allowed. Although frustrating at least it tells me what it doesn&apos;t like.

For %, yocto is less helpful. There is no warning or error message about %. It fails with a rather unrelated error &quot;TypeError: float argument required, not str&quot;. My guess is that yocto treat the % as string formatting tag or something. So, there&apos;s two ways to look at this: 1) should warn/error about % or 2) should allow %

Bug https://bugzilla.yoctoproject.org/show_bug.cgi?id=4772 is about @. Looks like it prompted a change to sanity checker to check for @. But, would be preferable to simply allow @. Then again, I have a workaround for this char.

My blocking problem is %. I don&apos;t have a way to have Jenkins not use % ... without changing our release process which clearly is not desirable -- as that is the tail wagging the dog. Tools should allow me to implement processes; not drive processes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>89585</commentid>
    <comment_count>1</comment_count>
    <who name="Randy MacLeod">randy.macleod</who>
    <bug_when>2021-03-11 16:05:27 +0000</bug_when>
    <thetext>We won&apos;t support this but we can get the sanity checker to issue and error for both @ and %. 

Several people in the YP community use Jenkins so ask on the Yocto list to see how they work around this issue if you like.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>89587</commentid>
    <comment_count>2</comment_count>
    <who name="Yi Fan Yu">yf3yu</who>
    <bug_when>2021-03-11 16:07:46 +0000</bug_when>
    <thetext>2 fixes: 1) Sanity check for &apos;%&apos;
2) figure out why is it trying to str format the path</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>89595</commentid>
    <comment_count>3</comment_count>
    <who name="steve broshar">sbroshar</who>
    <bug_when>2021-03-11 16:41:15 +0000</bug_when>
    <thetext>When I asked Jenkins about the @ issue, they told me to talk to yocto :)

https://issues.jenkins.io/browse/JENKINS-65034

And you say I should talk to Jenkins about these issues. So easy to point finger. ... better would be responsiveness to user needs.

But, as is, I have to work around the deficiencies of both tools.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>89608</commentid>
    <comment_count>4</comment_count>
    <who name="Richard Purdie">richard.purdie</who>
    <bug_when>2021-03-11 21:23:41 +0000</bug_when>
    <thetext>The big picture here is that Yocto Project builds thousands of pieces of open source code, each have their own environments. Some are standardised and some less so. In order to support this we&apos;d need to assert that all of those pieces of software accept these characters without issue. There are some common systems, sure, there are also plenty that are unique. Adding this support would be a pretty huge undertaking and the question is how valuable is that work compared to say reproducibility or license compliance tools improvements.

In an ideal world we&apos;d love to add support for full utf-8 paths. In the real world, we have some compromises.

I once set out to support spaces due to the prevalence on certain systems. I gave up when I found most scrips and autotools didn&apos;t work with it. I suspect &quot;@&quot; is in a similar position. For &quot;%&quot;, we certainly shouldn&apos;t have tracebacks and need to fix that. Figuring out where its backtracing from within bitbake would be useful if you are able to do that. If that is the only issue, great but if not, we&apos;d likely need to what we did with &quot;%&quot;.

The position changes if you know of anyone with the time to do the work, its a simple question of priorities and costs vs benefits. We don&apos;t have a huge team of people waiting to work on this kind of thing, much as I wish otherwise.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>89940</commentid>
    <comment_count>5</comment_count>
    <who name="Richard Purdie">richard.purdie</who>
    <bug_when>2021-04-15 12:51:58 +0000</bug_when>
    <thetext>Patch out for review to detect &quot;%&quot; in paths.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>89984</commentid>
    <comment_count>6</comment_count>
    <who name="Richard Purdie">richard.purdie</who>
    <bug_when>2021-04-18 10:46:56 +0000</bug_when>
    <thetext>http://git.yoctoproject.org/cgit.cgi/poky/commit/?id=b3092cf96d0a61c4aa4d2c59c0fae25f868f620e</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>