[Vm-dev] Keeping things in sync...

Esteban Lorenzano estebanlm at gmail.com
Wed Dec 4 12:04:53 UTC 2013

Hi Eliot,

I think we can set a process to commit to source.squeak.org time to time...
but that will still not solve the problem with the platform sources. Those
ones will still be at github.
(Now I'm full of work, give me one week to set the process).

btw, If you do now want to do the git clone, etc. process, you can always

mac: sources.tar.gz<https://ci.inria.fr/pharo/view/VM/job/PharoVM/Architecture=32,Slave=vm-builder-mac/lastSuccessfulBuild/artifact/sources.tar.gz>
linux: sources.tar.gz<https://ci.inria.fr/pharo/view/VM/job/PharoVM/Architecture=32,Slave=vm-builder-linux/lastSuccessfulBuild/artifact/sources.tar.gz>
win: sources.tar.gz<https://ci.inria.fr/pharo/view/VM/job/PharoVM/Architecture=32,Slave=vm-builder-win/lastSuccessfulBuild/artifact/sources.tar.gz>

this packages have all the structure (sources + generated image).


On Tue, Dec 3, 2013 at 12:03 AM, Eliot Miranda <eliot.miranda at gmail.com>wrote:

> Hi All,
>     I would like to be able to converge the various VMs more, these are
> - the Squeak Interpreter VM, using VMMaker (e.g. VMMaker-dtl.330 on
> source.squeak.org),
>   http://squeakvm.org/svn/squeak/trunk/platforms
>   http://squeakvm.org/svn/squeak/trunk/src
> - the Pharo VM, using VMMaker-oscog (e.g. VMMaker-oscog-LucFabresse.306)
> on github,
>   git://gitorious.org/cogvm/blessed.git
> - the Cog branch, using VMMaker.oscog (e.g. VMMaker.oscog-eem.528)
>   http://www.squeakvm.org/svn/squeak/branches/Cog
>   http://squeakvm.org/svn/squeak/trunk/platforms/iOS
>   http://squeakvm.org/svn/squeak/trunk/platforms/win32/plugins
>   http://squeakvm.org/svn/squeak/trunk/platforms/Cross/plugins
> Things are a little tricky.  I don't have write permission to trunk
> (please can I have this?).  There is some divergence in the platform files.
> In particular I wanted to upgrade Cog to have the directory entry
> extensions in the Pharo VM that add the posix permission and the isSymlink
> flags to a directory entry.  This is problematic for various reasons:
> 1. AFAIA there is no #define to mark this change in
> plugins/Cross/plugins/FilePlugin/FilePlugin.h.  If there was some define,
> e.g. DirEntryV2, then the platform files could be changed to define either
> API and still compile, e.g.:
> /* directories */
> sqInt dir_Create(char *pathString, sqInt pathStringLength);
> sqInt dir_Delete(char *pathString, sqInt pathStringLength);
> sqInt dir_Delimitor(void);
> #if DirEntryV2
> sqInt dir_Lookup(char *pathString, sqInt pathStringLength, sqInt index,
>                  /* outputs: */
>                  char *name, sqInt *nameLength, sqInt *creationDate, sqInt
> *modificationDate,
>                  sqInt *isDirectory, squeakFileOffsetType *sizeIfFile,
> sqInt *posixPermissions, sqInt *isSymlink);
> sqInt dir_EntryLookup(char *pathString, sqInt pathStringLength, char*
> nameString, sqInt nameStringLength,
>                 /* outputs: */
>                 char *name, sqInt *nameLength, sqInt *creationDate, sqInt
> *modificationDate,
>                 sqInt *isDirectory, squeakFileOffsetType *sizeIfFile,
> sqInt *posixPermissions, sqInt *isSymlink);
> #else /* DirEntryV2 */
> sqInt dir_Lookup(char *pathString, sqInt pathStringLength, sqInt index,
>         /* outputs: */
>         char *name, sqInt *nameLength, sqInt *creationDate, sqInt
> *modificationDate,
>         sqInt *isDirectory, squeakFileOffsetType *sizeIfFile);
> #endif /* DirEntryV2 */
> sqInt dir_PathToWorkingDir(char *pathName, sqInt pathNameMax);
> ...
> 2. the only way I can see to get my hands on the
> Monticello VMMaker-oscog package for the Pharo fork is to pull from git://
> gitorious.org/cogvm/blessed.git, run image/newImage.sh, start-up the
> downloaded image and save the Monticello package from there-in (and this
> doesn't get me what I want, it gets me a renamed copy of the Monticello
> VMMaker-oscog package).
> So...
> I wonder can we a) start using defines like the above DirEntryV2 so we
> have a chance at harmonising the various VMs?  I added COGVM and STACKVM to
> the branch of trunk I use for platforms, which at least shows what the
> changes are and insulates the trunk Interpreter from these.  Unless we take
> this approach I don't see how we can avoid costly merging instead of
> sharing.
> WOuld it be possible for the Pharo VM guys to occasionally push their
> VMMaker-oscog to source.squeak.org?  If this could be automated so much
> the better?
> --
> best,
> Eliot
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/vm-dev/attachments/20131204/fcb0b038/attachment.htm

More information about the Vm-dev mailing list