Cooker је експериментална грана која повремено није исправна.
Овдје је већина у реду, укључујући ажурирање на бета верзију или чак git/svn/cvs/hg/било шта верзије напредног пакета.
Да би осигурали да не "изненадите" друге девелопере кварећи им све, главне измене се морају координисати или преко:
- њиховог изношења на TC састанцима
- слањем захева за повлачење на репоу и чекањем одобрења од осталих за прихватање
- слањем ел.поруке на cooker ML и чекањем позитивног одговора осталих
Промене које захтевају координацију укључују, али нису и ограничене на:
- искључивање главне компоненте система за нешто друго (e.g. Xorg > wayland, Qt 5 > Qt 6, wpa_supplicant > iwd, systemd > any other init system, ...); било каква промена тог типа би требала да буде тестирана прво на личном репозиторијуму.
- надоградња која ће захтевати учитавање обнове (нпр. надоградња libpng на верзију са новим soname-ом)
- избацивење пакета кога користе многе апликације (нпр. избацивање qt5 када qt6 изађе и буде стабилан)
- промене које ће вероватно довести до квара хардвера другим људима
Cooker је обично отворен за све врсте развоја, али може бити повремено замрзнут ради консолидације напора на одређеној развојној грани.
## Rolling
Rolling треба да буде на нивоу да га могу користити обични корисници сво време. Ствари које озбиљно кваре ствари не могу или у Rolling.
Да би осигурали да je Rolling издање увек употребљиво:
- Било шта што се шаље у Rolling мора прво бити креирано за Cooker.
- Изузетак: случај где cooker има новију верзију исте ствари, нпр. има смисла проследити LLVM 8.0.1 у Rock уколико Rock је на верзији 8.0 чак и када је Rolling већ прешао на 9.0 верзије.
- Девелопери шаљу пакете у`rolling/testing` - не у`rolling/release` - када мисле да су ствари спремне за опште коришћење. Премештање ствари са`rolling/testing` на `rolling/release` обавља QA, да би се осигурало да су пакети тестирани у rolling окружењу.
Rolling обично не би требао да користи бета издања/снимке често коришћеног софтвера. Постоје изузеци из овог правила, на пример када се такав софтвер нађе у циклусу "без издања", бета/снимак је једина верзија која ради у нашем окружењу, нпр. "стабилно" издање још увек користи Qt 4 или Python 2, или постоји други исправни разлози).
- Изузетак: случај где cooker има новију верзију исте ствари, нпр. има смисла проследити LLVM 8.0.1 у Rock уколико Rock је на верзији 8.0 чак и када је Rolling већ прешао на 9.0 верзије.
- Девелопери шаљу пакете у`rock/testing` - не у`rock/release` - када мисле да су ствари спремне за опште коришћење. Премештање ствари са`rolling/testing` на `rock/release` обавља QA, да би се осигурало да су пакети тестирани у Rock окружењу.
- Rock обично не би требао да користи бета издања/снимке често коришћеног софтвера. Постоје изузеци из овог правила, на пример када се такав софтвер нађе у циклусу "без издања", бета/снимак је једина верзија која ради у нашем окружењу, нпр. "стабилно" издање још увек користи Qt 4 или Python 2, или постоји други исправни разлози).