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

Igor Stasenko siguctua at gmail.com
Wed Dec 4 16:44:27 UTC 2013


On 4 December 2013 13:04, Esteban Lorenzano <estebanlm at gmail.com> wrote:

>
> 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
> download:
>
> i guess you meant 'do not want' ?


> 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).
>
> cheers,
> Esteban
>
> 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
>>
>>
>
>


-- 
Best regards,
Igor Stasenko.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/vm-dev/attachments/20131204/99af675b/attachment.htm


More information about the Vm-dev mailing list