Dear Daniel,

thanks for the thumbs up! See below for more:

On 05.06.2017 23:59, Daniel Goldman wrote:
> I really appreciate the work you are doing.
> 
> Could you clarify difference between 'stable' and 'testing'? I thought 
> 'stable' means 'archived release' and guarantees that everything works, and 
> 'testing'
> means 'development release' and perhaps includes new things not guaranteed to 
> work. 'stable' and 'testing' do not seem synonyms to me. I could be totally 
> mixed
> up about this.
> 
> IMO, having a system that someone can download and know will work correctly, 
> if that is possible, seems pretty useful.

There was some discussion about this topic in autumn 2016. When I
started using MSYS2 and the MINGW-packages git repo, I instantly fell
in love! Its by far the best effort on Windows software development
I've seen so far. But at the time, I experienced quite often that
packages failed to build. It could very well happen that the version
of a package X that was included in the repo could not be compiled
with the current snapshot of the repo. I find this a fair policy of
the "release fast and release often" policy. But it made my life
quite difficult whenever I needed to modify an MSYS2 package - there
was a good chance I would not be able to build my changes :-)

Since then, I've come to realize that the term "stable" has quite a
different meaning to different people. In Debian terminology, stable
is something that builds, tests, and is proven by a large number of
real-world users for a long time. What I try to achieve with my
effort is exclusively the following:
 - to have a well-defined snapshot of packages in specific versions
 - where all included packages guarantee to build against themselves,
 - where all prerequisite packages of included packages are also
   included, and
 - where all enabled tests work, if any


So with that snapshot, you can be certain that you can recompile any
included package over and over, and the build should never fail. And
you can rebuild all prerequisites too. Additionally, I run a triple
bootstrap procedure: first the full toolchain is rebuild with the last
stable toolchain, then the full toolchain is rebuild with itself, and
then all packages are rebuild with the new toolchain. So all packages
will use the same headers, same gcc version, etc.


I would like to stress one important thing: My intention is that the
above testing procedure will identify build-issues in package inter-
dependencies that the current CI system does not pick up. I will report
those issues upstream and try to aid in fixing them (as much as time
permits). With this additional level of testing I hope that MSYS2
becomes more stable, and my binary repository is not needed at all!
Producing binaries is just a side effect of my CI effort, and not my
goal. My preferred outcome is to have procedures in place that allow
to flag breakages in the git repo early on, so they can be fixed
directly at the source.

All the best,

   Mario





> I can only speak for myself. I find msys2 quite useful. I mainly need 
> something that works correctly, not necessarily the newest version of 
> everything. I
> installed msys2 several years ago. Aside from a few non-fatal glitches that I 
> reported, everything has worked fine, and I have not attempted to do any 
> updates.
> 
> Daniel
> 
> On 6/5/2017 8:12 AM, Mario Emmenlauer wrote:
>>
>> Dear All,
>>
>> I just wanted to let you know that I have not given up on the idea
>> of a stable (better named "testing") repository for MSYS2. My goal
>> is to have in regular, short intervals a fully bootstrapped rebuild
>> of all MSYS2 MinGW packages (based on a current whitelist). With
>> this effort I will try to isolate packages that are broken in such a
>> way that the current CI does not pick up. I.e. the current CI tests
>> that any package X will build correctly. But it does not test that
>> other packages depending on X still build against the updated X.
>> My CI will do this. The cost is a much longer build time. So instead
>> of triggering builds by commit, I will trigger builds with a timer.
>> The current build interval is ~30hrs, but this may go up significantly
>> with a growing whitelist.
>>
>>
>> So in the past six months I set up the build system with dependency
>> tracking. Its not perfect but it should be quite ok. In 99.9% of the
>> cases I can identify the list of all recursive dependencies of an
>> MSYS2 MinGW package. I also have a small whitelist set up from which
>> I will start. Since a few months all this is working on a subset of
>> packages.
>>
>> But in my whitelist, I'd like to include Qt and VTK since both are
>> very relevant for me. And I'd like to make a release only when *all*
>> included packages can be successfully compiled against themselves. So
>> any failing package from the whitelist or the recursive prerequisites
>> is a blocker. As of now I can still not build mingw-w64-SDL2, mingw-
>> w64-icu and mingw-w64-firebird2-git. I've reported the SDL2-issue
>> upstream a long while ago and the problem is isolated, but the fix
>> is not in yet. icu is undergoing a discussion as I am writing this
>> email. And firebird2 is broken since more than six months but it has
>> not received too much attention yet.
>>
>>
>> Cutting a long story short: hopefully soon there should be fixes for
>> the three missing packages, and then I can make a first "testing"
>> release. From there I'd like to gather user feedback. I'd also like to
>> gather requests for further whitelisted packages.
>>
>> All the best,
>>
>>      Mario
>>
>>
>>
>> On 30.08.2016 10:16, Mario Emmenlauer wrote:
>>>
>>> I was wondering if people would like to have a "stable" repository?
>>>
>>> I was thinking that when a plateau is reached (majority of packages
>>> compiles fine), the current snapshot could be copied to stable. In my
>>> eyes, the essential requirement would be that all base packages compile
>>> fine. Everything else could be handled a bit ad-hoc.
>>>
>>> All the best, Mario
>>>



Viele Gruesse,

    Mario Emmenlauer


--
BioDataAnalysis GmbH, Mario Emmenlauer      Tel. Buero: +49-89-74677203
Balanstr. 43                   mailto: memmenlauer * biodataanalysis.de
D-81669 München                          http://www.biodataanalysis.de/

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Msys2-users mailing list
Msys2-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/msys2-users

Reply via email to