[IMPORTANT] PHARO CONTRIBUTION PROCESS UPDATED! PLEASE READ!

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
58 messages Options
123
Reply | Threaded
Open this post in threaded view
|

Re: [IMPORTANT] PHARO CONTRIBUTION PROCESS UPDATED! PLEASE READ!

EstebanLM


On 17 Jan 2018, at 07:15, Max Leske <[hidden email]> wrote:

Hi Martin,

What I do is
1. update local pharo repository on branch 'development'
2. add repository to Iceberg
3. create branch for phogbugz issue
4. make changes (e.g. load stuff from your project)
5. Note that you will have to handle addition and removal of packages separately:
5.1 addition: click 'add package' 
5.2 removal: click 'remove package'. You will have to commit the removal from the command line, as Iceberg does not currently recognize removals as staged changes.
I usually just make a second commit with the removal before I push everything.
6. Now the changes may not show up. But you can right click on the repository in Iceberg and select 'Synchronize full repository'
7. Select the changes you want to commit

yep, that’s pretty much the process in that case :)


The rest you know, I guess ;)

Cheers,
Max

 

On 16 January 2018 at 20:16:22, Martin Dias ([hidden email]) wrote:

Hi, I followed the guide and everything is good. What I don't know is how to upgrade an external project already integrated in Pharo 7 (Epicea). I have new version 8.2.6.

Cheers, Martín.

On Tue, Jan 9, 2018 at 11:01 AM, Sean P. DeNigris <[hidden email]> wrote:
EstebanLM wrote
>> Mmm. I think this is because your local clone is outdated.
>> It should be fixed with a fetch… from pharo-project, I mean :)

That worked. Thanks. Next problem: Iceberg is showing a massive number of
changes when syncing with pharo fork on the dev branch at the same commit as
the image. There doesn't seem to be a way to collapse the whole tree making
it impossible to find the real changes. I assume it's that known bug where
the first commit will sync the list, but not very user friendly!

Reply | Threaded
Open this post in threaded view
|

Re: [IMPORTANT] PHARO CONTRIBUTION PROCESS UPDATED! PLEASE READ!

Denis Kudriashov
In reply to this post by Max Leske
Hi

2018-01-17 7:15 GMT+01:00 Max Leske <[hidden email]>:
Hi Martin,

What I do is
1. update local pharo repository on branch 'development'
2. add repository to Iceberg
3. create branch for phogbugz issue
4. make changes (e.g. load stuff from your project)
5. Note that you will have to handle addition and removal of packages separately:
5.1 addition: click 'add package' 
5.2 removal: click 'remove package'. You will have to commit the removal from the command line, as Iceberg does not currently recognize removals as staged changes.
I usually just make a second commit with the removal before I push everything.
6. Now the changes may not show up. But you can right click on the repository in Iceberg and select 'Synchronize full repository'
7. Select the changes you want to commit

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.
 

The rest you know, I guess ;)

Cheers,
Max

 

On 16 January 2018 at 20:16:22, Martin Dias ([hidden email]) wrote:

Hi, I followed the guide and everything is good. What I don't know is how to upgrade an external project already integrated in Pharo 7 (Epicea). I have new version 8.2.6.

Cheers, Martín.

On Tue, Jan 9, 2018 at 11:01 AM, Sean P. DeNigris <[hidden email]> wrote:
EstebanLM wrote
>> Mmm. I think this is because your local clone is outdated.
>> It should be fixed with a fetch… from pharo-project, I mean :)

That worked. Thanks. Next problem: Iceberg is showing a massive number of
changes when syncing with pharo fork on the dev branch at the same commit as
the image. There doesn't seem to be a way to collapse the whole tree making
it impossible to find the real changes. I assume it's that known bug where
the first commit will sync the list, but not very user friendly!


Reply | Threaded
Open this post in threaded view
|

Re: [IMPORTANT] PHARO CONTRIBUTION PROCESS UPDATED! PLEASE READ!

EstebanLM

Hi, 

On 17 Jan 2018, at 11:45, Denis Kudriashov <[hidden email]> wrote:

Hi

2018-01-17 7:15 GMT+01:00 Max Leske <[hidden email]>:
Hi Martin,

What I do is
1. update local pharo repository on branch 'development'
2. add repository to Iceberg
3. create branch for phogbugz issue
4. make changes (e.g. load stuff from your project)
5. Note that you will have to handle addition and removal of packages separately:
5.1 addition: click 'add package' 
5.2 removal: click 'remove package'. You will have to commit the removal from the command line, as Iceberg does not currently recognize removals as staged changes.
I usually just make a second commit with the removal before I push everything.
6. Now the changes may not show up. But you can right click on the repository in Iceberg and select 'Synchronize full repository'
7. Select the changes you want to commit

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.

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

 

The rest you know, I guess ;)

Cheers,
Max

 

On 16 January 2018 at 20:16:22, Martin Dias ([hidden email]) wrote:

Hi, I followed the guide and everything is good. What I don't know is how to upgrade an external project already integrated in Pharo 7 (Epicea). I have new version 8.2.6.

Cheers, Martín.

On Tue, Jan 9, 2018 at 11:01 AM, Sean P. DeNigris <[hidden email]> wrote:
EstebanLM wrote
>> Mmm. I think this is because your local clone is outdated.
>> It should be fixed with a fetch… from pharo-project, I mean :)

That worked. Thanks. Next problem: Iceberg is showing a massive number of
changes when syncing with pharo fork on the dev branch at the same commit as
the image. There doesn't seem to be a way to collapse the whole tree making
it impossible to find the real changes. I assume it's that known bug where
the first commit will sync the list, but not very user friendly!



Reply | Threaded
Open this post in threaded view
|

Re: [IMPORTANT] PHARO CONTRIBUTION PROCESS UPDATED! PLEASE READ!

Luke Gorrie
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:
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: 


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

Reply | Threaded
Open this post in threaded view
|

Re: [IMPORTANT] PHARO CONTRIBUTION PROCESS UPDATED! PLEASE READ!

tinchodias
Max, Esteban, Denis: Thanks! it worked: https://github.com/pharo-project/pharo/pull/690
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:
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: 


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


Reply | Threaded
Open this post in threaded view
|

Re: [IMPORTANT] PHARO CONTRIBUTION PROCESS UPDATED! PLEASE READ!

Stephane Ducasse-3
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
>
>

Reply | Threaded
Open this post in threaded view
|

Re: [IMPORTANT] PHARO CONTRIBUTION PROCESS UPDATED! PLEASE READ!

EstebanLM
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 :)

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




Reply | Threaded
Open this post in threaded view
|

Re: [IMPORTANT] PHARO CONTRIBUTION PROCESS UPDATED! PLEASE READ!

NorbertHartl
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


Am 19.01.2018 um 08:39 schrieb Esteban Lorenzano <[hidden email]>:

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 :)

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

Reply | Threaded
Open this post in threaded view
|

Re: [IMPORTANT] PHARO CONTRIBUTION PROCESS UPDATED! PLEASE READ!

Luke Gorrie
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.*


Reply | Threaded
Open this post in threaded view
|

Re: [IMPORTANT] PHARO CONTRIBUTION PROCESS UPDATED! PLEASE READ!

EstebanLM


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.




Reply | Threaded
Open this post in threaded view
|

Re: [IMPORTANT] PHARO CONTRIBUTION PROCESS UPDATED! PLEASE READ!

Luke Gorrie
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:


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.





Reply | Threaded
Open this post in threaded view
|

Re: [IMPORTANT] PHARO CONTRIBUTION PROCESS UPDATED! PLEASE READ!

alistairgrant
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.*
>
>

Reply | Threaded
Open this post in threaded view
|

Re: [IMPORTANT] PHARO CONTRIBUTION PROCESS UPDATED! PLEASE READ!

alistairgrant
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.
>>
>>
>>
>>
>

Reply | Threaded
Open this post in threaded view
|

Re: [IMPORTANT] PHARO CONTRIBUTION PROCESS UPDATED! PLEASE READ!

EstebanLM


> 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.
>>>
>>>
>>>
>>>
>>
>


Reply | Threaded
Open this post in threaded view
|

Re: [IMPORTANT] PHARO CONTRIBUTION PROCESS UPDATED! PLEASE READ!

Stephane Ducasse-3
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
>
>
>
>
>

Reply | Threaded
Open this post in threaded view
|

Re: [IMPORTANT] PHARO CONTRIBUTION PROCESS UPDATED! PLEASE READ!

EstebanLM


On 19 Jan 2018, at 13:00, Stephane Ducasse <[hidden email]> wrote:

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.

I know.

If we do not try something else we will not have feedback.

I’m working on simplifying/fixing the UI. But is a permanent work, not something that can be done in short time :( 

Esteban




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

Reply | Threaded
Open this post in threaded view
|

Re: [IMPORTANT] PHARO CONTRIBUTION PROCESS UPDATED! PLEASE READ!

Denis Kudriashov
In reply to this post by EstebanLM


2018-01-19 8:39 GMT+01:00 Esteban Lorenzano <[hidden email]>:
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 ;) )

I use github desktop and I am very like it. But also I do not have problems with Iceberg process (if not count bugs)  
 

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 :)

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





Reply | Threaded
Open this post in threaded view
|

Re: [IMPORTANT] PHARO CONTRIBUTION PROCESS UPDATED! PLEASE READ!

Stephan Eggermont-3
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


123