> On 09 Jun 2016, at 10:03, Denis Kudriashov <dionisi...@gmail.com> wrote: > > So does we all agree to commit fixes for external packages by slices without > new configs?
that would break the bootstrap process, so no. Esteban > > 2016-06-09 9:42 GMT+02:00 Pavel Krivanek <pavel.kriva...@gmail.com > <mailto:pavel.kriva...@gmail.com>>: > > > 2016-06-08 19:40 GMT+02:00 stepharo <steph...@free.fr > <mailto:steph...@free.fr>>: > ***THANKS*** Pavel. > > Yes it is the best way to make sure that nobody wants to work at this level. > We discussed this problem during the last board meeting. This is why I > proposed the following process. > > When the core Pharo developers are in need to change a package they should do > it without updating the external package configurations. > And the external developers should check and merge the changes from the Pharo > repo and when they want > release a new configuration that we will integrate. > > But the problem is that for bootstrap we need updated configurations (or > somenting like it) because we want to load all system correctly from them. So > even for such small changes we need to update them somehow. Moreover, we want > to test incomming slices with bootstrap. That means that for every new slice > we need to create temporary configurations and run bootstrap-load process on > them. > > So it is clear that we need configurations that will be created and managed > automatically and will enable swapping of repositories. We had already > several discussions on this theme and from my point of view we need: > > - own separate repository for every semi-external project. So something like > fork for Pharo. With GIT it will be natural, for the management by MC it will > be only a temporary step. > > - own configuration that will be aware only of Pharo and will be fully > automatically managed > > Pharo developers will provide only slices and will not care about > configuraitons at all. It will mean that maintainers of semi-external > projects will loose part of the controll and will need to care of sync with > own development repository but it is nothing new. Even now Pharo makes own > forks of some projects but it is not so visible. > > > For me this is clear (for example for the icon: fix) I do not do anything if > this is with the process you describe because it is insane. > In fact fixing this process is part of the job description for your position. > > It was > - republishing automatically changes and the configuration > > - working on package validation (making sure that the catalog does not > get full of not working project) > - bootstrap :) > > > Of course I am aware of it :-) > > -- Pavel > > Stef > > Le 8/6/16 à 11:05, Pavel Krivanek a écrit : >> Hi, >> >> we had in the system circular package dependency between Catalog and GTools >> and we decided to solve it by simple moving of one method from one package >> to other one. However, these two packages are external packages managed by >> configurations. That means that we needed move the method, save >> dirty packages and fix both configurations. >> >> For the catalog we have very simple configuration because it manages only >> one package (and dependency on STON). ConfigurationOfGTInspectorCore was >> more complicated because the repository already included newer development >> version of the modified package so we needed to merge. But because we are >> not the maintainers, we cannot know if the change in this package is not >> requiring changes in other packages provided by the configuration. >> Well, the new configurations were prepared and copied into inbox. We needed >> to create next two issues for updating of the configuration in the system. >> We did it and integrated all together in one update. But that is not all... >> ConfigurationOfGTInspectorCore is used by three other configurations >> (ConfigurationOfGTPlaygroundCore, ConfigurationOfGToolkitCore and >> ConfgurationOfGTDebugger) that specify number of >> ConfigurationOfGTInspectorCore version. In ideal state you should create new >> versions of the configurations but that means that you need to modify >> configurations of all other configurations that use them. It is simpler just >> modify current configuration and upgrade required version number of >> GTInspectorCore. That means to create three next issues, each for one >> configuration, create new configuration versions (and check and merge the >> newer versions in the home repository if needed), copy them to the inbox, >> wait for the review and hope that during integration the Integrator will not >> create new versions of some packages. If yes, you need to update >> configurations again. >> >> So at the end you have at least six issues because you wanted to change >> package for one method that has still the same content and is placed in the >> same class... And it can be worse. Both of these external projects have >> public access to the repository and are managed the same way (not mixing MC >> with GIT). >> >> As you see, it is crazy and unmaintainable. >> >> It is clear that we need to change the process. We need to discuss it deeply >> and some of the results may touch maintainers of the external projects >> integrated in Pharo but please keep in mind that the current system is >> clearly bad. >> >> Cheers, >> -- Pavel >> >> > > >