Introducing core, stable/unstable IMPORTANT asking for FEEDBACK

Jean Bruenn jean.bruenn at ip-minds.de
Sat Mar 17 00:07:14 CET 2012


Hello dear developers,

in the past months more and more developers and also a few users asked
for unstable and stable in Lunar Linux. Until now we weren't coming up
with a solution. Today I would like to introduce an ongoing process to
implement stable and unstable in Lunar Linux.

For that some definitions, we should discuss on (so the following part
is my own opinion):
-moonbase-
    core:
        Modules which are _essential_ for a working environment, may it
        be a server- or a desktop environment (for any environment in 
        lunar gcc, glibc, etc are essential, for a desktop environment
        xorg-server and mesa-lib are essential, for example)
        The rules for the core have to be defined. I'm thinking about
        something similar to the rules i wrote down for stable in mars
        (see the following part) - However, there will be some sort of
        punishment like loosing commit access to the core, if a
        developer doesn't follow the rules (for example updating too
        early, making the system unstable due to not enough testing,
        such things - Seriously, the core will contain those parts which
        are the most important in a system - touching anything here is
        _dangerous_ as it might fuck up a system easily - We need to
        handle this repository just like that.)

-mars-
    stable:
        A module which has been in "unstable" repository for _at least_
	1 month, has no critical bugs in their bugtracker (if
	available), has been checked/signed by three (3) lunar devs,
	plus: If the MAINTAINER flag is set - The MAINTAINER has been
	asked (because he might have had reasons against to do the
	update, that will give him a chance to explain that - If you
	can't reach him within 2 weeks, and all other requirenments
	are met - you can bump it without him)

    unstable:
        Unstable is important, because only modules which have been
        in this branch first, may be considered for the stable branch.
        We won't have any rules for unstable - Obviously you shouldn't
        commit known-to-be-broken modules but you can bump modules here
        as soon as they came out.

Obviously mars will contain all modules, which aren't essential for a
working environment. That means for example firefox, gimp, audacious,
such things. An interesting question would be, what xfce4 is. As most
of our developers (as far as I know and inclusive me) are using xfce4
and xfce4 is the official-used-DE in Lunar Linux, it should go into the
core as well 

The three-developers-rule in stable shouldn't be a problem. zbiggy and
florin are updating a lot, I'm available on IRC every day and I'm
reading the maillinglist, so I can verify modules as well (that makes
3 already) and then we have there a few other developers like dveatch,
el_angelo (and all those whom I didn't name) - I heard nestu and
engelsman wanna come back :) Doing the switch from a module from
unstable-to-stable with contacting a MAINTAINER might take up to 1
month and two weeks, so it shouldn't be a too time-intensive task.

Auke created a GIT Repository called Mars for us on doppio. What needs
to be done is, that two branches are created in it, namely stable and
unstable.

The next step in the route will be to rewrite lunar's
getting-the-moonbase parts to merge mars and moonbase, writing a
dialogue for stable/unstable branch of mars - By doing so I would also
go away from wget'ing moonbase.tar.gz and instead would use git
directly (I'm working on these things, though if anyone wants to help,
always welcome! ).

As soon as this merging is working, I hope that we have a definition of
essential (core) modules and we can start to move modules from moonbase
(core) to mars (not-essential-apps).

As soon as that's done, developers can work on the specific
branches/repository. I think it would be useful to write a few helper
scripts for developers (maybe some sort of automatic mail on the dev-ml
maillinglist) which would inform developers about modules in "unstable"
which stayed there for ~ 1 month, so developers know they could start
to test application xyz.

I'm sure the question will occur, where to put the most recent glibc
and the most recent gcc: Let's first try it with mars stable and
unstable. If that works fine we can modify moonbase to have two
branches, namely stable and unstable, as well. Anyway: Personally I'd
prefer to not have a unstable branch of moonbase (CORE) later, because
we (devs) need to support everything in Lunar somehow, and it's easier
if we have a stable core.

Wow, much written. That said, happily awaiting your feedback, opinions,
agreements and of course the disagreements. Let's discuss.

Jean // wdp


More information about the Lunar-dev mailing list