49 lines
6.1 KiB
Markdown
49 lines
6.1 KiB
Markdown
---
|
||
title: Принципи репозиторијума
|
||
description:
|
||
published: true
|
||
date: 2020-04-10T19:38:10.883Z
|
||
tags:
|
||
---
|
||
|
||
# Принципи репозиторијума
|
||
|
||
## Cooker
|
||
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, или постоји други исправни разлози).
|
||
|
||
## Rolling иде на замрзавање убрзо пре објављивања нове верзије, тако да издања могу бити креирана у основи као снимак rooling/издања.
|
||
Rock
|
||
|
||
Ово је грана стабилног издања. Оно добија само важне надоградње, попут сигурносних исправки и исправки за рушење система.
|
||
- Људи који желе најновију верзију било чега треба да користе Rolling издање.
|
||
Ово значи да људи који користе Rock издање желе нешто што се никада не квари, а свакако се мора посебно водити рачуна при свакој измени у Rock издању.
|
||
- Било шта што се шаље у Rock мора прво бити креирано за Rolling издање.
|
||
- Изузетак: случај где 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, или постоји други исправни разлози).
|
||
|