yep, that’s pretty much the process in that case :)
|
In reply to this post by Max Leske
Hi
2018-01-17 7:15 GMT+01:00 Max Leske <[hidden email]>:
I think the 4-th step is the question. Epicea in image is managed by Iceberg and hosted in github. How to load new version from external monticello repo? Also there is no ConfigurationOfEpicea in the image.
|
Hi,
Epicea is also integrated on Pharo, and as Fuel or GT, they are managed outside. So, what you do is: - load new version of Epicea (that will be apply the changes) using a regular baseline or configuration of package by package, from Martin’s repository. - you add and remove new/removed packages AND you modify BaselineOfIDE (or the one where Epicea is declared) than you are ok to use “Sync full changes” as Max said. cheers, Esteban
|
In reply to this post by EstebanLM
Just one data point... I am completely overwhelmed by all of the different ways to manage source code in the Pharo universe. I would love to contribute to upstream but this seems way out of reach: I'm not even managing to keep track of the code in my own home directory properly yet. Just now I am looking at upstream code that should be fixed: CairoLibrary unix32ModuleName and unix64ModuleName are giving higher priority to guessed hard-coded paths than to LD_LIBRARY_PATH and this is backwards i.e. the carefully selected paths a user supplies with LD_LIBRARY_PATH should come first (imho.) On the one hand it would be fine to dive into the upstream contribution process to work out how to do this. On the other hand I am still trying to master tools like Epica to recover useful code that I have written and lost track of when images crash and get rebuilt etc. I really need to get this under control before spending time learning Iceberg, FogBugz, etc. On 14 December 2017 at 13:19, Esteban Lorenzano <[hidden email]> wrote:
|
Max, Esteban, Denis: Thanks! it worked: https://github.com/pharo-
I didn't have to add or remove packages as in step 5, but I did have to 'Synchronize full repository' as in step 6. Luke, this is offtopic, but here is a brief guide to use epicea after you lost changes: 1. reopen the image and select "Code Changes" from the world menu > tools. 2. click on left side items: they are change log files. 3. look at the logged changes on right side: the most recent ones are on top. 4. you can select a single or multiple changes, right click and "apply". Also there is a button "Filters" with options that can help you to remove from the view changes you don't want to see. BTW, the "apply" of multiple changes will work better after the PR is merged. Martín On Wed, Jan 17, 2018 at 8:20 AM, Luke Gorrie <[hidden email]> wrote:
|
In reply to this post by Luke Gorrie
Thanks Luke for your feedback
Guillermo and Pablo are working on a new Iceberg model and UI. May be we can ask you if you want to give them feedback and try the new version. It is important for us that people can contribute. Stef On Wed, Jan 17, 2018 at 12:20 PM, Luke Gorrie <[hidden email]> wrote: > Just one data point... > > I am completely overwhelmed by all of the different ways to manage source > code in the Pharo universe. I would love to contribute to upstream but this > seems way out of reach: I'm not even managing to keep track of the code in > my own home directory properly yet. > > Just now I am looking at upstream code that should be fixed: CairoLibrary > unix32ModuleName and unix64ModuleName are giving higher priority to guessed > hard-coded paths than to LD_LIBRARY_PATH and this is backwards i.e. the > carefully selected paths a user supplies with LD_LIBRARY_PATH should come > first (imho.) > > On the one hand it would be fine to dive into the upstream contribution > process to work out how to do this. On the other hand I am still trying to > master tools like Epica to recover useful code that I have written and lost > track of when images crash and get rebuilt etc. I really need to get this > under control before spending time learning Iceberg, FogBugz, etc. > > > > > On 14 December 2017 at 13:19, Esteban Lorenzano <[hidden email]> wrote: >> >> Hi! >> >> I’m working on simplifying the contribution process, after collecting >> opinions/experiences last couple of months. >> As you know, Pharo contribution process is still WIP and we aim to have it >> as smooth as possible for Pharo 7.0 release. Now, after observe the idea of >> the “system repositories” was a bad idea because it introduced extra and non >> standard “path” to contribution, I managed to remove that to reestablish >> “the regular way”: you will now need to add pharo repository just as any >> other repository you add, by cloning or adding local repository. >> >> I took Guille’s doc and moved it to pharo project (it does not has sense >> to have it living in a contributor’s repository when is so important). You >> can find it here: >> >> https://github.com/pharo-project/pharo/wiki/Contribute-a-fix-to-Pharo >> >> This document is also updated to reveal this new process, please read it. >> >> How to update your startup scripts? >> Some people has added startup scripts to easy the first part of >> contribution. Instead enabling system repositories, etc. you now need to >> replace that with this: >> >> (IceRepositoryCreator new >> location: '/path/to/pharo-project/pharo' asFileReference; >> subdirectory: 'src'; >> createRepository) >> register >> >> PLEASE, PLEASE, PLEASE… take a moment to read and try the document. Is >> very important that document reflects new process and works reliable in >> different scenarios (I validated it on macOS and Windows, and assumed it >> worked fine on linux but you know… bad assumptions is the base of failure ;) >> ) >> >> I’m eager to hear your feedback and continue enhancing the process. >> >> (yes, Stef, I know UI is still cumbersome… I’m working on that :) ) >> >> cheers! >> Esteban > > |
hi :)
Model is done, we will integrate it as 0.7 version. UI… is harder. We could do a simple UI that allows just ONE path but at the end, no one will use it, because almost no use-case follows that. Believe me, I made a research on that… and if you do not believe me, go and try github desktop, which basically does that (and nobody uses it ;) ) true story: actually the UI of iceberg was pretty simple when we started. It became the mess it is now just adding what people asked to have. but also true story: it *is* a mess, so we have to get it right before release of Pharo7 :)
there are just two ways: - iceberg - monticello compare with the amount of ways you have in other languages. you can use either way you want to keep yours sources. but to contribute to Pharo there is just *one* way, following this instructions: https://github.com/pharo-project/pharo/wiki/Contribute-a-fix-to-Pharo people has reported this version is a lot easier than previous ones (and is not much different on how to contribute to other languages) but we are still looking for ways to simplify it (I want to test github issue tracker soon, for example, to enhance communication that today is broken in two parts… and honest reality check: people finds easier to discuss on github over the PR than over fogbugz).
follow the contribution instructions ;)
well… not so much to say here. My only advice is to save often you image, when you are working with things that you know may crash the VM (like using FFI). cheers! Esteban
|
Is there a summary what and why the model changed? I’m really interested as you know. And I can tell that there are still things very fishy in the whole process.
Norbert
|
In reply to this post by EstebanLM
Hi Esteban,
I am really happy that everything is working so well for you and I hope that other people are having a similar experience. For me it's another story. I'm on an unsupported platform (NixOS Linux), I'm building the VM from random git commits because the source releases are all antiquated, Iceberg segfaults the moment I start it, and epica+monticello+metacello+iceberg+fogbugz+jenkins feels like a series of obstacles between me and maintaining my application. The way I am coping is to scale back my ambitions. I spent a lot of time making a complete packaging for NixOS but without proper source releases from upstream that was too much work so I abandoned it. I take the non-reproducible builds from Jenkins and import them as binary-blobs into the build environment that I actually want to use. I accumulate fixes as changesets in a patches/ directory instead of sending them upstream. To me it's a slap in the face when you tell me that it's so simple, there is only one true way to contribute to Pharo, and the first step of that procedure is to *install a binary that is not compatible with my Linux distribution.* |
because you are mixing “contribute to pharo” with “building the VM in another platform” :) the image itself (hence, the pharo process) does not has anything to do with using NixOS as target platform. In this last effort (that I salute), you are basically by your own… nevertheless, I have to point: - there are proper source for the VM: https://github.com/OpenSmalltalk/opensmalltalk-vm (releases is another point, but you can take the Cog branch as “stable”. This has all sources you need to compile the VM. I have no idea how packaging for NixOS works, but I guess you can adapt from there. - once VM is built, the Pharo image will run… you do not have to build an image for being able to use it. Now, if you want to do it, here: https://github.com/pharo-project/pharo are “proper” Pharo sources along with the way to bootstrap. We are doing that in linux and macOS every day, so is a proven script that works. Again no idea how to do it on NixOS, but again, no idea why you care. - once you have all that working, for *your own sources*: use monticello or iceberg, the one you prefer. - for contribute to pharo, follow the process pointed. cheers! Esteban ps: but all you describe as problematic has *nothing* to do with pharo process but with your building of the VM (and probably the image) in macOS. |
Thanks Esteban. It's a relief to know that eveything is my fault. Have a nice life... On 19 January 2018 at 10:28, Esteban Lorenzano <[hidden email]> wrote:
|
In reply to this post by Luke Gorrie
Hi Luke,
On 19 January 2018 at 10:17, Luke Gorrie <[hidden email]> wrote: > Hi Esteban, > > I am really happy that everything is working so well for you and I hope that > other people are having a similar experience. > > For me it's another story. I'm on an unsupported platform (NixOS Linux), I'm > building the VM from random git commits because the source releases are all > antiquated, Iceberg segfaults the moment I start it, Are you building 32 or 64 bit VMs? My experience has been that 64 bit VMs on linux have problems with libgit2. If you can use 32 bit VMs for now you might get better stability. I'm currently running: 5.0-201801110739 Thursday 11 January 09:30:12 CET 2018 gcc 4.8.5 [Production Spur VM] CoInterpreter VMMaker.oscog-eem.2302 uuid: 55ec8f63-cdbe-4e79-8f22-48fdea585b88 Jan 11 2018 StackToRegisterMappingCogit VMMaker.oscog-eem.2302 uuid: 55ec8f63-cdbe-4e79-8f22-48fdea585b88 Jan 11 2018 VM: 201801110739 alistair@alistair-xps13:snap/pharo-snap/pharo-vm/opensmalltalk-vm $ Date: Wed Jan 10 23:39:30 2018 -0800 $ Plugins: 201801110739 alistair@alistair-xps13:snap/pharo-snap/pharo-vm/opensmalltalk-vm $ Linux b07d7880072c 4.13.0-26-generic #29~16.04.2-Ubuntu SMP Tue Jan 9 22:00:44 UTC 2018 i686 i686 i686 GNU/Linux plugin path: /snap/core/3748/lib/i386-linux-gnu/ [default: /snap/core/3748/lib/i386-linux-gnu/] without any problems. I've tried looking at the libgit2 issue in a debug vm, but (with my meagre skills): - the memory corruption isn't consistent, i.e. the crash occurs in different places on multiple runs - the crash doesn't occur until sometime after the corruption :-( HTH, Alistair > and > epica+monticello+metacello+iceberg+fogbugz+jenkins feels like a series of > obstacles between me and maintaining my application. > > The way I am coping is to scale back my ambitions. I spent a lot of time > making a complete packaging for NixOS but without proper source releases > from upstream that was too much work so I abandoned it. I take the > non-reproducible builds from Jenkins and import them as binary-blobs into > the build environment that I actually want to use. I accumulate fixes as > changesets in a patches/ directory instead of sending them upstream. > > To me it's a slap in the face when you tell me that it's so simple, there is > only one true way to contribute to Pharo, and the first step of that > procedure is to *install a binary that is not compatible with my Linux > distribution.* > > |
In reply to this post by Luke Gorrie
Hi Luke,
On 19 January 2018 at 10:39, Luke Gorrie <[hidden email]> wrote: > Thanks Esteban. It's a relief to know that eveything is my fault. > > Have a nice life... I think you're reading this more negatively than intended. Esteban's point was that when he refers to the pharo contribution process he only means contributing to the image, and that there's no formal (Pharo) process for the VM (there is the vm-dev mailing list, of course). Cheers, Alistair > On 19 January 2018 at 10:28, Esteban Lorenzano <[hidden email]> wrote: >> >> >> >> On 19 Jan 2018, at 10:17, Luke Gorrie <[hidden email]> wrote: >> >> Hi Esteban, >> >> I am really happy that everything is working so well for you and I hope >> that other people are having a similar experience. >> >> For me it's another story. I'm on an unsupported platform (NixOS Linux), >> I'm building the VM from random git commits because the source releases are >> all antiquated, Iceberg segfaults the moment I start it, and >> epica+monticello+metacello+iceberg+fogbugz+jenkins feels like a series of >> obstacles between me and maintaining my application. >> >> The way I am coping is to scale back my ambitions. I spent a lot of time >> making a complete packaging for NixOS but without proper source releases >> from upstream that was too much work so I abandoned it. I take the >> non-reproducible builds from Jenkins and import them as binary-blobs into >> the build environment that I actually want to use. I accumulate fixes as >> changesets in a patches/ directory instead of sending them upstream. >> >> To me it's a slap in the face when you tell me that it's so simple, there >> is only one true way to contribute to Pharo, and the first step of that >> procedure is to *install a binary that is not compatible with my Linux >> distribution.* >> >> >> because you are mixing “contribute to pharo” with “building the VM in >> another platform” :) >> the image itself (hence, the pharo process) does not has anything to do >> with using NixOS as target platform. In this last effort (that I salute), >> you are basically by your own… >> nevertheless, I have to point: >> >> - there are proper source for the VM: >> https://github.com/OpenSmalltalk/opensmalltalk-vm (releases is another >> point, but you can take the Cog branch as “stable”. This has all sources you >> need to compile the VM. I have no idea how packaging for NixOS works, but I >> guess you can adapt from there. >> - once VM is built, the Pharo image will run… you do not have to build an >> image for being able to use it. Now, if you want to do it, here: >> https://github.com/pharo-project/pharo are “proper” Pharo sources along with >> the way to bootstrap. We are doing that in linux and macOS every day, so is >> a proven script that works. Again no idea how to do it on NixOS, but again, >> no idea why you care. >> - once you have all that working, for *your own sources*: use monticello >> or iceberg, the one you prefer. >> - for contribute to pharo, follow the process pointed. >> >> cheers! >> Esteban >> >> ps: but all you describe as problematic has *nothing* to do with pharo >> process but with your building of the VM (and probably the image) in macOS. >> >> >> >> > |
> On 19 Jan 2018, at 10:53, Alistair Grant <[hidden email]> wrote: > > Hi Luke, > > On 19 January 2018 at 10:39, Luke Gorrie <[hidden email]> wrote: >> Thanks Esteban. It's a relief to know that eveything is my fault. >> >> Have a nice life... > > I think you're reading this more negatively than intended. > > Esteban's point was that when he refers to the pharo contribution > process he only means contributing to the image, and that there's no > formal (Pharo) process for the VM (there is the vm-dev mailing list, > of course). :( I do not understand where I say it was your fault. As Alistair said, I was pointing you are talking about something that may be problematic, but is not part of the regular pharo process. then I pointed you to the official vm sources and the official pharo sources (different things) both of them with instructions that work on how to build (but not on NixOS, but as you said, currently is not a supported platform). So, as I said… your problems are *not* related to the contribution to pharo but to the particularities of what you are doing. the mail where you are are answering was about contributing changes to pharo, hence not related to your problems. I remain: process to contribute to pharo is not the point of problem here. And figure out where the problems come from is the first step to fix them (and again, I *pointed* where your problems come, according your description: the VM building). Esteban > > Cheers, > Alistair > > > >> On 19 January 2018 at 10:28, Esteban Lorenzano <[hidden email]> wrote: >>> >>> >>> >>> On 19 Jan 2018, at 10:17, Luke Gorrie <[hidden email]> wrote: >>> >>> Hi Esteban, >>> >>> I am really happy that everything is working so well for you and I hope >>> that other people are having a similar experience. >>> >>> For me it's another story. I'm on an unsupported platform (NixOS Linux), >>> I'm building the VM from random git commits because the source releases are >>> all antiquated, Iceberg segfaults the moment I start it, and >>> epica+monticello+metacello+iceberg+fogbugz+jenkins feels like a series of >>> obstacles between me and maintaining my application. >>> >>> The way I am coping is to scale back my ambitions. I spent a lot of time >>> making a complete packaging for NixOS but without proper source releases >>> from upstream that was too much work so I abandoned it. I take the >>> non-reproducible builds from Jenkins and import them as binary-blobs into >>> the build environment that I actually want to use. I accumulate fixes as >>> changesets in a patches/ directory instead of sending them upstream. >>> >>> To me it's a slap in the face when you tell me that it's so simple, there >>> is only one true way to contribute to Pharo, and the first step of that >>> procedure is to *install a binary that is not compatible with my Linux >>> distribution.* >>> >>> >>> because you are mixing “contribute to pharo” with “building the VM in >>> another platform” :) >>> the image itself (hence, the pharo process) does not has anything to do >>> with using NixOS as target platform. In this last effort (that I salute), >>> you are basically by your own… >>> nevertheless, I have to point: >>> >>> - there are proper source for the VM: >>> https://github.com/OpenSmalltalk/opensmalltalk-vm (releases is another >>> point, but you can take the Cog branch as “stable”. This has all sources you >>> need to compile the VM. I have no idea how packaging for NixOS works, but I >>> guess you can adapt from there. >>> - once VM is built, the Pharo image will run… you do not have to build an >>> image for being able to use it. Now, if you want to do it, here: >>> https://github.com/pharo-project/pharo are “proper” Pharo sources along with >>> the way to bootstrap. We are doing that in linux and macOS every day, so is >>> a proven script that works. Again no idea how to do it on NixOS, but again, >>> no idea why you care. >>> - once you have all that working, for *your own sources*: use monticello >>> or iceberg, the one you prefer. >>> - for contribute to pharo, follow the process pointed. >>> >>> cheers! >>> Esteban >>> >>> ps: but all you describe as problematic has *nothing* to do with pharo >>> process but with your building of the VM (and probably the image) in macOS. >>> >>> >>> >>> >> > |
In reply to this post by EstebanLM
On Fri, Jan 19, 2018 at 8:39 AM, Esteban Lorenzano <[hidden email]> wrote:
> hi :) > > On 18 Jan 2018, at 18:39, Stephane Ducasse <[hidden email]> wrote: > > Thanks Luke for your feedback > Guillermo and Pablo are working on a new Iceberg model and UI. > > > Model is done, we will integrate it as 0.7 version. > UI… is harder. We could do a simple UI that allows just ONE path but at the > end, no one will use it, because almost no use-case follows that. Believe > me, I made a research on that… and if you do not believe me, go and try > github desktop, which basically does that (and nobody uses it ;) ) > > true story: actually the UI of iceberg was pretty simple when we started. It > became the mess it is now just adding what people asked to have. > but also true story: it *is* a mess, so we have to get it right before > release of Pharo7 :) Esteban there are central problems in Iceberg current UI. If we do not try something else we will not have feedback. > > May be > we can ask you if you want to give them feedback > and try the new version. > It is important for us that people can contribute. > > Stef > > On Wed, Jan 17, 2018 at 12:20 PM, Luke Gorrie <[hidden email]> wrote: > > Just one data point... > > I am completely overwhelmed by all of the different ways to manage source > code in the Pharo universe. I would love to contribute to upstream but this > seems way out of reach: I'm not even managing to keep track of the code in > my own home directory properly yet. > > > there are just two ways: > > - iceberg > - monticello > > compare with the amount of ways you have in other languages. > you can use either way you want to keep yours sources. > > but to contribute to Pharo there is just *one* way, following this > instructions: > https://github.com/pharo-project/pharo/wiki/Contribute-a-fix-to-Pharo > > people has reported this version is a lot easier than previous ones (and is > not much different on how to contribute to other languages) but we are still > looking for ways to simplify it (I want to test github issue tracker soon, > for example, to enhance communication that today is broken in two parts… and > honest reality check: people finds easier to discuss on github over the PR > than over fogbugz). > > Just now I am looking at upstream code that should be fixed: CairoLibrary > unix32ModuleName and unix64ModuleName are giving higher priority to guessed > hard-coded paths than to LD_LIBRARY_PATH and this is backwards i.e. the > carefully selected paths a user supplies with LD_LIBRARY_PATH should come > first (imho.) > > > follow the contribution instructions ;) > > On the one hand it would be fine to dive into the upstream contribution > process to work out how to do this. On the other hand I am still trying to > master tools like Epica to recover useful code that I have written and lost > track of when images crash and get rebuilt etc. I really need to get this > under control before spending time learning Iceberg, FogBugz, etc. > > > well… not so much to say here. My only advice is to save often you image, > when you are working with things that you know may crash the VM (like using > FFI). > > cheers! > Esteban > > > > > > On 14 December 2017 at 13:19, Esteban Lorenzano <[hidden email]> wrote: > > > Hi! > > I’m working on simplifying the contribution process, after collecting > opinions/experiences last couple of months. > As you know, Pharo contribution process is still WIP and we aim to have it > as smooth as possible for Pharo 7.0 release. Now, after observe the idea of > the “system repositories” was a bad idea because it introduced extra and non > standard “path” to contribution, I managed to remove that to reestablish > “the regular way”: you will now need to add pharo repository just as any > other repository you add, by cloning or adding local repository. > > I took Guille’s doc and moved it to pharo project (it does not has sense > to have it living in a contributor’s repository when is so important). You > can find it here: > > https://github.com/pharo-project/pharo/wiki/Contribute-a-fix-to-Pharo > > This document is also updated to reveal this new process, please read it. > > How to update your startup scripts? > Some people has added startup scripts to easy the first part of > contribution. Instead enabling system repositories, etc. you now need to > replace that with this: > > (IceRepositoryCreator new > location: '/path/to/pharo-project/pharo' asFileReference; > subdirectory: 'src'; > createRepository) > register > > PLEASE, PLEASE, PLEASE… take a moment to read and try the document. Is > very important that document reflects new process and works reliable in > different scenarios (I validated it on macOS and Windows, and assumed it > worked fine on linux but you know… bad assumptions is the base of failure ;) > ) > > I’m eager to hear your feedback and continue enhancing the process. > > (yes, Stef, I know UI is still cumbersome… I’m working on that :) ) > > cheers! > Esteban > > > > > |
I know.
I’m working on simplifying/fixing the UI. But is a permanent work, not something that can be done in short time :( Esteban
|
In reply to this post by EstebanLM
2018-01-19 8:39 GMT+01:00 Esteban Lorenzano <[hidden email]>:
I use github desktop and I am very like it. But also I do not have problems with Iceberg process (if not count bugs)
|
In reply to this post by Luke Gorrie
Luke Gorrie <[hidden email]> wrote:
> For me it's another story. I'm on an unsupported platform (NixOS Linux), > I'm building the VM from random git commits because the source releases are > all antiquated, Iceberg segfaults the moment I start it, and > epica+monticello+metacello+iceberg+fogbugz+jenkins feels like a series of > obstacles between me and maintaining my application. Isn't nix supported by travis? I suppose that means that you should be able to automatically build a variant of opensmalltalk I have absolutely no idea how much work that would be though. Stephan |
Free forum by Nabble | Edit this page |