[Vm-dev] OSProcess fork issue with Debian built VM

Max Leske maxleske at gmail.com
Fri May 19 14:45:09 UTC 2017

> On 19 May 2017, at 03:36, vm-dev-request at lists.squeakfoundation.org wrote:
> On Fri, May 19, 2017 at 2:58 AM, Eliot Miranda <eliot.miranda at gmail.com <mailto:eliot.miranda at gmail.com>>
> wrote:
>> BTW, for all people installing and building their own please note this:
>> On Tue, May 16, 2017 at 5:57 AM, Max Leske <maxleske at gmail.com <mailto:maxleske at gmail.com>> wrote:
>> [snip]
>>> /usr/local/lib/phcogspurlinux/lib/pharo/5.0-/pharo
>>> Pharo VM version: 5.0-$URL$  Tue May 16 12:22:16 UTC 2017 gcc 4.9.2
> [Production Spur ITHB VM]
>>> Built from: CoInterpreter VMMaker.oscog-eem.2207 uuid:
> 8da5de9b-33d7-478b-9081-58591f7da69a May 16 2017
>>> With: StackToRegisterMappingCogit VMMaker.oscog-eem.2208 uuid:
> 4877be7d-941d-4e15-b6df-4f1b8c7072a8 May 16 2017
>>> Revision: VM: $URL$ $Date$ Date: $Rev$ Plugins:  $Rev$
>>> Build host: Linux nuc 4.10.0-20-generic #22-Ubuntu SMP Thu Apr 20
> 09:22:42 UTC 2017 i686 GNU/Linux
>>> plugin path: /usr/local/lib/phcogspurlinux/lib/pharo/5.0-/ [default:
> /usr/local/lib/phcogspurlinux/lib/pharo/5.0-/]
>> The way to get rid of the " Revision: VM: $URL$ $Date$ Date: $Rev$
> Plugins:  $Rev$" nonsense in the version report is to make sure to run
>> scripts/updateSCCSVersions
> Even though I know this, I usually forget for the first run on a new
> machine.
> Is there some reason this can't be run as part of make?
>> exactly once before you build.  From then on the checkin script
>> scrips/gitci
>> makes sure that this is up-to-date.  You'll get something more useful
> such as
>> VM: 201705161708 eliot at Sisyphus:oscogvm $ Date: Tue May 16 10:08:12 2017
> -0700 $
>> which allows me to identify this VM as one I build myself on my Mac Mini
> Sisyphus in directory oscogvm, which contrasts with the official binary VMs.
>> Ideally the script would be run automatically after the repository was
> cloned.  Do git mavens know if a post-clone hook is available to make this
> happen?  If so, can someone make it so?
> The blocker to this is that clone does not install the hooks.
> Maybe the hooks be installed by make?
> Of course, everyone should look at the README, but unfortunate human nature
> its a bit TL;DR.
> The alternative could be a SETUP or QUICKSTART file in the root directory,
> to make it more obvious it should be run.
> btw, could someone actually explain how this works...
>  git config --local include.path ../.gitconfig

tell git to respect a specific .gitconfig file

>  git stash -q || true

stash all changes, i.e. don't throw them away but make the repository clean

>  echo "//" >> platforms/Cross/vm/sqSCCSVersion.h
>  echo "//" >> platforms/Cross/plugins/sqPluginsSCCSVersion.h

this appends a comment to both files, don't know why though, it doesn't seem to have any effect other than making those versions dirty

>  git checkout HEAD -- platforms/Cross/vm/sqSCCSVersion.h
>  git checkout HEAD -- platforms/Cross/plugins/sqPluginsSCCSVersion.h

replace those two files just modified with the versions from HEAD (makes sense if the repository hasn't been pulled, but I don't see why that would be the case...)

>  git stash pop -q || true

again, clean the repository be without throwing away the changes (so all the modifications we made before are now gone... wtf...)

> I can't grok its magic.

+1 :)

> Hopefully that highlights why its the same script for each of
> post-checkout, post-commit & post-merge
> Also, at https://github.com/OpenSmalltalk/opensmalltalk-vm <https://github.com/OpenSmalltalk/opensmalltalk-vm>
> if you click on the green <Clone or download> button and then on "Download
> ZIP"
> I found (from memory) that running mvm seems to successfully build a VM on
> a Mac
> (but I didn't validate the version info).  However on Linux the build fails
> in a way that seems similar to when
> updateSCCSVersions hasn't been run.  But that script depends on git,
> whereas
> I presume it would be good to be able to build from the ZIP download
> without git - particularly
> for Linux distributions that source compile their packages.
> Indeed, I think Alistair bumped into this packing the VM for nixos.
> So I notice that this file...
> https://github.com/OpenSmalltalk/opensmalltalk-vm/blob/Cog/platforms/Cross/vm/sqSCCSVersion.h <https://github.com/OpenSmalltalk/opensmalltalk-vm/blob/Cog/platforms/Cross/vm/sqSCCSVersion.h>
> is dated 16 Dec 2016.  Why isn't this file kept synchronised to identify
> the checked in build?
> So that compiling from the ZIP download would have correct version info?
> cheers -ben

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/vm-dev/attachments/20170519/630e9319/attachment-0001.html>

More information about the Vm-dev mailing list