pharo-project / pharo

Pharo is a dynamic reflective pure object-oriented language supporting live programming inspired by Smalltalk.
http://pharo.org
Other
1.21k stars 355 forks source link

Bootstrap is really hard to update #4269

Closed jecisc closed 1 year ago

jecisc commented 5 years ago

Currently, I did not found how to update the bootstrap code within Pharo.

When you add the pharo repository it shows the sources in src/ but not bootstrap/src/.

I tried to edit the pharo repository in Iceberg to update the location to bootstrap/src/ and the format to tonel, but it failed to display any package. I guess it misses a property file.

I tried to add the repository as a FileTree repository in Monticello but could not load the code. I got a lot of errors.

When I changed the bootstrap I had to do it by hand in a file editor, which is not optimal.

I see multiple things that we can improve:

guillep commented 5 years ago
  • We need to fix Monticello (else we lose every project that was not migrated or whose owner do not want to put on github)

How is monticello broken? I've used Monticello to load code yesterday from squeaksource and smalltalkhub and it worked just fine. Also this does not seem a bootstrap problem or maybe I'm missunderstanding. In case there is an issue, can you add a separate issue for this?

  • We should fix the properties files of the bootstrap
  • Instead of the previous proposition, we can convert the bootstrap to Tonel

Both are true and should be simple enough to do. Probably to discuss with @carolahp.

  • We should manage multiple source directories in Iceberg (but this one is a pretty big feature)

If you have enough money to put on the table we can discuss this :)

  • We can extract the bootstrap to its own repository instead of the previous proposition

No, this will be a super mess of dependencies. The code that bootstraps PharoX is together with PharoX. Having something in the middle of both would be better.

True, there are many points of enhacements. @carolahp has updated the bootstrap to run on Pharo7, I don't know in which state is this. Also with the vmmaker source code in github this could be further simplified.

However, I have to ask, have you tried following the instructions in the readme here? https://github.com/pharo-project/pharo

GitHub
pharo-project/pharo
The Sources for Pharo. Contribute to pharo-project/pharo development by creating an account on GitHub.
jecisc commented 5 years ago

How is monticello broken?

If you add the pharo bootstrap to Monticello as a Filetree repository and try to load a package you get error after error.

However, I have to ask, have you tried following the instructions in the readme here?

The README explains how to bootstrap a Pharo, not how to update the Pharo code of the bootstrap. Or maybe I missed this section.

noha commented 5 years ago

Am 10.08.2019 um 17:31 schrieb Guille Polito notifications@github.com:

We need to fix Monticello (else we lose every project that was not migrated or whose owner do not want to put on github) How is monticello broken? I've used Monticello to load code yesterday from squeaksource and smalltalkhub and it worked just fine. Also this does not seem a bootstrap problem or maybe I'm missunderstanding. In case there is an issue, can you add a separate issue for this?

We should fix the properties files of the bootstrap Instead of the previous proposition, we can convert the bootstrap to Tonel Both are true and should be simple enough to do. Probably to discuss with @carolahp.

We should manage multiple source directories in Iceberg (but this one is a pretty big feature) If you have enough money to put on the table we can discuss this :)

How much do you need? I mean this is an important feature because the interconnected repository problem is not solved, yet. If I understood Stef and Esteban right, Pharo needs this, too.

Norbert

We can extract the bootstrap to its own repository instead of the previous proposition No, this will be a super mess of dependencies. The code that bootstraps PharoX is together with PharoX. Having something in the middle of both would be better.

True, there are many points of enhacements. @carolahp has updated the bootstrap to run on Pharo7, I don't know in which state is this. Also with the vmmaker source code in github this could be further simplified.

However, I have to ask, have you tried following the instructions in the readme here? https://github.com/pharo-project/pharo

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub, or mute the thread.

guillep commented 1 year ago

This issue looks more like a small project than an actionable issue. I propose we move it to a wiki with potential projects for people to contribute. I'm collecting all these. Could be a great basis for GSOC.