<div dir="ltr"><div>Hi Eliot,</div><div><br></div><div>I didn&#39;t know about your use case and thought the following made sense:</div><div><a href="https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/3e2b3e429307bff51036ebdf551261e715af337b#commitcomment-18530321">https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/3e2b3e429307bff51036ebdf551261e715af337b#commitcomment-18530321</a><br></div><div><br></div><div>`rm` with the -f option failed with a non-zero exit code which caused mvn scripts to fail if a config.h did not exist. I was under the impression that the force option avoids an error exit code, avoids being prompted, and bypasses permission checks. I wonder, did you really change the permissions in order to preserve config.h files? Otherwise `rm config.h` should do the same as `rm -f config.h`, right?</div><div>As a workaround, we could use `rm config.h || true` instead, if that solves your problem.</div><div><br></div><div>Let me know what you think,</div><div>Fabio</div><br><div class="GmSign">-- <br></div><br><div class="gmail_quote"><div dir="ltr">On Wed, Aug 17, 2016 at 10:37 PM Eliot Miranda &lt;<a href="mailto:eliot.miranda@gmail.com">eliot.miranda@gmail.com</a>&gt; wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"> <div dir="ltr">Hi Fabio,  Hi All,<div class="gmail_extra"><br></div><div class="gmail_extra"><br></div><div class="gmail_extra">    so there&#39;s a reason why the scripts don&#39;t force removal, and that&#39;s the use case of someone developing the VM, doing repeated compiles, where to wait for an entire autoconfig step on each build reduces productivity enormously; one can wait for two or three minutes for the autoconfig steps that generate config.h on a production, assert, debug trio of builds.</div><div class="gmail_extra"><br></div><div class="gmail_extra">Now, Esteban is working on refactoring the autoconfig step so that it happens once per platform rather than once per build, but perhaps the right way to approach this in the meantime is to have Jenkins force the removal via a flag to mvm and leave the default case to not delete config.h.  Please make the system easier for VM developers; the computer slaves can be loaded up with work, not the humans please.</div><div class="gmail_extra"><br></div><div class="gmail_extra"></div></div><div dir="ltr"><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Aug 5, 2016 at 1:41 AM, GitHub <span dir="ltr">&lt;<a href="mailto:noreply@github.com" target="_blank">noreply@github.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"> <br>  Branch: refs/heads/Cog<br>
  Home:   <a href="https://github.com/OpenSmalltalk/opensmalltalk-vm" rel="noreferrer" target="_blank">https://github.com/OpenSmalltalk/opensmalltalk-vm</a><br>
  Commit: 1f82cbdeec1dfd6072014fccfab4c9db38e9b925<br>
      <a href="https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/1f82cbdeec1dfd6072014fccfab4c9db38e9b925" rel="noreferrer" target="_blank">https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/1f82cbdeec1dfd6072014fccfab4c9db38e9b925</a><br>
  Author: Fabio Niephaus &lt;<a href="mailto:code@fniephaus.com" target="_blank">code@fniephaus.com</a>&gt;<br>
  Date:   2016-08-05 (Fri, 05 Aug 2016)<br>
<br>
  Changed paths:<br>
    M build.linux32ARMv6/newspeak.stack.spur/build.assert/mvm<br>
    M build.linux32ARMv6/newspeak.stack.spur/build.debug/mvm<br>
    M build.linux32ARMv6/newspeak.stack.spur/build/mvm<br>
    M build.linux32ARMv6/squeak.stack.spur/build.assert/mvm<br>
    M build.linux32ARMv6/squeak.stack.spur/build.debug/mvm<br>
    M build.linux32ARMv6/squeak.stack.spur/build/mvm<br>
    M build.linux32ARMv6/squeak.stack.v3/build.assert/mvm<br>
    M build.linux32ARMv6/squeak.stack.v3/build.debug/mvm<br>
    M build.linux32ARMv6/squeak.stack.v3/build/mvm<br>
    M build.linux32ARMv7/newspeak.stack.spur/build.assert/mvm<br>
    M build.linux32ARMv7/newspeak.stack.spur/build.debug/mvm<br>
    M build.linux32ARMv7/newspeak.stack.spur/build/mvm<br>
    M build.linux32x86/newspeak.cog.spur/build.assert.itimerheartbeat/mvm<br>
    M build.linux32x86/newspeak.cog.spur/build.assert/mvm<br>
    M build.linux32x86/newspeak.cog.spur/build.debug.itimerheartbeat/mvm<br>
    M build.linux32x86/newspeak.cog.spur/build.debug/mvm<br>
    M build.linux32x86/newspeak.cog.spur/build.itimerheartbeat/mvm<br>
    M build.linux32x86/newspeak.cog.spur/build/mvm<br>
    M build.linux32x86/newspeak.stack.spur/build.assert/mvm<br>
    M build.linux32x86/newspeak.stack.spur/build.debug/mvm<br>
    M build.linux32x86/newspeak.stack.spur/build/mvm<br>
    M build.linux32x86/nsnac.cog.spur/build.assert.itimerheartbeat/mvm<br>
    M build.linux32x86/nsnac.cog.spur/build.assert/mvm<br>
    M build.linux32x86/nsnac.cog.spur/build.debug.itimerheartbeat/mvm<br>
    M build.linux32x86/nsnac.cog.spur/build.debug/mvm<br>
    M build.linux32x86/nsnac.cog.spur/build.itimerheartbeat/mvm<br>
    M build.linux32x86/nsnac.cog.spur/build/mvm<br>
    M build.linux32x86/squeak.stack.spur/build.assert/mvm<br>
    M build.linux32x86/squeak.stack.spur/build.debug/mvm<br>
    M build.linux32x86/squeak.stack.spur/build/mvm<br>
    M build.linux32x86/squeak.stack.v3/build.assert/mvm<br>
    M build.linux32x86/squeak.stack.v3/build.debug/mvm<br>
    M build.linux32x86/squeak.stack.v3/build/mvm<br>
    M build.linux64x64/newspeak.cog.spur/build.assert.itimerheartbeat/mvm<br>
    M build.linux64x64/newspeak.cog.spur/build.assert/mvm<br>
    M build.linux64x64/newspeak.cog.spur/build.debug.itimerheartbeat/mvm<br>
    M build.linux64x64/newspeak.cog.spur/build.debug/mvm<br>
    M build.linux64x64/newspeak.cog.spur/build.itimerheartbeat/mvm<br>
    M build.linux64x64/newspeak.cog.spur/build/mvm<br>
    M build.linux64x64/newspeak.stack.spur/build.assert/mvm<br>
    M build.linux64x64/newspeak.stack.spur/build.debug/mvm<br>
    M build.linux64x64/newspeak.stack.spur/build/mvm<br>
<br>
  Log Message:<br>
  -----------<br>
  Force remove config.h in mvm scripts<br>
<br>
<a href="https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/3e2b3e429307bff51036ebdf551261e715af337b#commitcomment-18530321" rel="noreferrer" target="_blank">https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/3e2b3e429307bff51036ebdf551261e715af337b#commitcomment-18530321</a><br>
<br>
/cc @bwestergaard @krono [ci skip]<br>
<br>
<br>
<br></blockquote></div><br><br clear="all"><div><br></div></div></div><div dir="ltr"><div class="gmail_extra">-- <br><div data-smartmail="gmail_signature"><div dir="ltr"><div><span style="font-size:small;border-collapse:separate"><div>_,,,^..^,,,_<br></div><div>best, Eliot</div></span></div></div></div>
</div></div></blockquote></div></div>