Dear MSYS2 users / developers, I've start working towards a "stable" repository and would like suggestions! Please comment!
On 21.09.2016 12:04, Mario Emmenlauer wrote: > On 30.08.2016 13:27, Mario Emmenlauer wrote: >> On 30.08.2016 13:06, Alexpux wrote: >>>> 30 авг. 2016 г., в 11:16, Mario Emmenlauer <ma...@emmenlauer.de> >>>> написал(а): >>>> >>>> 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. >>> >>> >>> Hi, Mario! >>> If someone want to support «stable» repo - we can talk about it. >>> There are some problem from my POV to support this. >>> 1. Who will decide that package is stable? >>> 2. You can’t just copy builded package from current repository and place it >>> «stable». You must rebuild it agains «stable» set of packages. >>> 3. Who will maintain all of this work? I will not do any work with this >>> sorry because my time is limited and now I have many other priorities than >>> MSYS2. 1) Definition of "stable" can mean many things, please provide your thoughts! In my humble opinion, it would be great if a "stable" repository can fully build itself. This is my foremost goal. When I started, I picked some ~60 packages from the repository but I could successfully build only ~30. This was very frustrating in the beginning. I hope to reduce this pain for new MSYS2 users. Currently when toolchain gets updates, its not transparent for me which packages will get broken and which get fixed. So in my eyes, the first "stable" release is a toolchain that fully builds itself plus all packages that cleanly compile and install. Then changes are accepted into "stable" when (a) they do not break any "stable" package, or (b) all broken packages are removed from "stable". So "stable" for me just means "toolchain plus all packages that compile and install cleanly at that point in time". There is a big question in the room: what to do if an update breaks one package but fixes another? I do not know how to answer. Maybe it is ok to make a "stable release notifications" via email or twitter before removing a package from stable, and then users can avoid the update if they require the to-be-removed package? 2) I have now continuous integration for this task. I'm not an expert, but got some experience with linux-from-scratch. Please suggest, is the following a good protocol for checking in intervals of a few days the "stability" of the build system: (a) build and install the toolchain-packages that have recent git changes (b) build and install all dependencies of the full toolchain (c) build and install the full toolchain (not just changed packages) (d) build and install all "stable" packages (including all toolchain dependencies and full toolchain) (e) try to build more packages from the archive which are not stable If (d) is successful, then the latest git should be safe for "stable". If (e) is successful then more packages can come into "stable". If (d) is not reached, then a decision must be taken if the broken packages will be removed from "stable" or will be fixed. Is this a good protocol? The toolchain is rebuilt up to 3 times in this process to be 150% sure it is "cleanly" compiled only against newest dependencies. 3) I have automated task (2) with my CI system. So I can regularly (weekly, and by request?) test the latest snapshot for stability. I can also send emails about current status, and my build logs are public. But it would still be up to the developers to act upon this knowledge. I will also try to help with maintaining the "stable" state, but I also do not have much time. Would this be helpful? Cheers, Mario ------------------------------------------------------------------------------ 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