Назва | Заснування | Стан | Учасники | |
---|---|---|---|---|
Автоматичний Складальник OpenSCADA | Березень 2015 |
Імплементовано у скриптах побудови, опрацювання репозиторіїв і гілок та перевірки цілей щодо складання до 100 цілей за допомогою: CHROOTів репозиторіїв Linux, VPS та різних під-оточень. Результатом функціонування Складальника є: свіжі та підписані репозиторії Linux, штампи Live Дисків та інші бінарні архіви OpenSCADA. |
Роман Савоченко | |
Опис | ||||
Спрямуванням підпроєкту є спрощення розповсюдження-дистриб'юції проєкту OpenSCADA через автоматичне складання бінарних пакетів, їх готових до використання репозиторіїв та інших складних дистрибутивів на кшталт Живих Дисків.
|
Складач представлено двома загальними BASH-скриптами та декільком BASH-скриптами перевірки:
- oscadaCheck* — дуже прості скрипти із переліком профілів складання для перевірки oscadaRepBranches та у залежності від хосту складання; вони запускаються зазвичай CRON планувальником, для нічних складань, або вручну. Відомий наразі перелік профілів відповідно до Таблиці 2:
- oscadaCheck — загальний, використовується на OpenSCADA сервері;
- oscadaCheck_WorkAtLTS — додатковий загальний, використовується на OpenSCADA сервері при новому випуску LTS версії;
- oscadaCheck_ExtGen — зовнішній загальний, використовується на Домашньому ПК Автора;
- oscadaCheck_ExtGen_WorkAtLTS — додатковий зовнішній загальний, використовується на Домашньому ПК Автора при новому випуску LTS версії;
- oscadaCheck_RPi — зовнішні "Raspbian" цілі, використовується на RPi3 Автора;
- oscadaCheck_RPi_WorkAtLTS — додаткові зовнішні "Raspbian" цілі, використовується на RPi3 Автора при новому випуску LTS версії.
- oscadaRepBranches — для опрацювання переліку профілів вказаних у командному рядку у форматі "{Target}[:option[,optionN]] {EN}{ForWork}{ForLTS}{ForLTSServ}{OmitSourceTree}", де:
- "EN"{0|1} — увімкнення цілі;
- "ForWork"{0|1} — включення до складання для Робочої (Work) гілки;
- "ForLTS"{0|1} — включення до складання для загальних оновлень Стабільної (LTS) гілки;
- "ForLTSServ"{0|1} — включення до складання для сервісних оновлень Стабільної (LTS) гілки;
- "OmitSourceTree"{0|1} — оминати завантаження дерева вихідних із SVN, переважно для складання Живих штампів.
- oscadaBuild — для складання та розміщення результатних пакетів і іншого для Стабільної (LTS) та Робочої (Work) гілок OpenSCADA.
Структура файлів системи автоматичного складання передбачає:
\-- /data/ |-- oscada/ | |-- bin/ | | |-- oscadaBuild | | |-- oscadaRepBranches | | |-- oscadaCheck | | \-- oscadaCheck_WorkAtLTS | |-- build/ => робоча тека складання, яка містить розпаковані CHROOTи | | |-- log/ => протоколи складань | | \-- *.stamp => штампи-ознаки вдалих складань | \-- chroot-data.tgz => містить GPG ключ підпису пакетів та їх репозиторіїв для складальника \-- share_res/ \-- ftp/ => FTP тека результатів складання |-- {ALTLinux,Debian}/ => Теки репозиторіїв Linux Дистрибутивів Автоматизації |-- Misc/ | \-- chroots/ => Тека архівів складальних CHROOTів \-- OpenSCADA/ => Теки репозиторіїв OpenSCADA |-- LTS/ => Теки Стабільних (LTS) репозиторіїв OpenSCADA \-- Work/ => Теки Робочих (Work) репозиторіїв OpenSCADA
Автоматична складальна система підтримує також її розподіл за специфічними оточеннями (для деяких типів складання) на кшталт різних апаратних платформ, інколи замість їх CHROOTів. Розподіл відбувається перенесенням частини автоматичного складальника назовні шляхом: розгортання структури на горі лише для потрібних цілей, організації локального файлового серверу та планування синхронізації скрипту oscadaSyncFtp на ядрі автоматичного складальника (скажіть Роману Савоченко щодо цього) — основний FTP-сервер.
Наразі автоматичний складальник передбачає складання:
- Робочої (Work) версії (1) щодо останньої SVN-ревізії із тегом "(stable)";
- Стабільної (LTS) версії (0.9.U.S) щодо загального (U) та сервісного (S) оновлення.
Table 1: Реалізовані профілі — типи складання.
Ціль | Результат | Метод складання | Зовнішнє розгортання | Додаткове |
---|---|---|---|---|
SrcTar | Пакети вихідних, запаковані XZ TAR пакетами | CHROOT "Debian_7_32" | Так | Оновлює документацію OpenSCADA для LTS. |
SrcRPM, CentOs*, SuSE*, Fedora*, ALTLinux*, Mandriva* | Вихідні та бінарні RedHat пакети для апаратних архітектур x86_32 і x86_64 | CHROOT | Так | Допускає підлаштування до специфіки латками "openscada_*.patch". Викликом наданого сценарію "reposUpdate" у теці результатів, репозиторії пакетів можуть бути: створені, оновлені, підписані щодо пакетів та репозиторію загалом. Цільові параметри:
|
Debian*, Raspbian*, Ubuntu* | Пакети Debian для апаратних архітектур x86_32, x86_64, ARMHF, ARM64, NATIVE | CHROOT | Так | Допускає підлаштування до специфіки латками "openscada[-{platform}]_*.patch". Викликом наданого сценарію "reposUpdate" у теці результатів, репозиторії пакетів можуть бути: створені, оновлені, підписані щодо пакетів та репозиторію загалом. Цільові параметри:
|
Nokia* | Пакети Debian для апаратної архітектури ARMEL | Scratchbox | Так | Допускає підлаштування до специфіки латками "openscada_*.patch". |
Gen32PLC*, LP8x81* | TAR пакети прошивок ПЛК для архітектури x86_32 | VPS: bldrALT32.oscada | Ні | Використовує mkimage профілі ALTLinux: "mkimage-profiles-5-plc", "mkimage-profiles-5-plc-LP8x81", "mkimage-profiles-6-plc", "mkimage-profiles-6-plc-LP8x81". Цільові параметри:
|
Live_ALT | Гібридний ISO штамп або TAR пакет Живого Диску Linux дистрибутиву Автоматизації заснованого на ALTLinux | VPS: bldrALT32.oscada | Ні | Використовує ALTLinux mkimage профіль "mkimage-profiles-6-kdesktop". Оновлює MD5SUM ISO штампів у файлі "MD5SUM". Цільові параметри:
|
Live_Deb | Гібридний ISO штамп Живого Диску Linux дистрибутиву Автоматизації заснованого на Debian | VPS: bldrDeb8.oscada; home.home | Ні | Використовує профілі Живої Побудови Debian: live7-32, live7-64, live8-32, live8-64, live9-32, live9-64, live10-32, live10-64, live11-32, live11-64. Оновлює MD5SUM ISO штампів у файлі "MD5SUM". |
ICP_DAS_LP_ARM, SMH2Gi | TAR пакети прошивок ПЛК для апаратної архітектури ARM. | VPS: bldrDeb8.oscada + TOOLCHAIN | Ні | Використовує відповідні TOOLCHAINs. |
Таблиця 2: Актуальні цілі складання (на 01.01.7531/01.03.2023).
Ціль(і) | OpenSCADA | Хост | Примітки |
---|---|---|---|
SrcTar | Work+LTS | oscada.org | |
SrcRPM | LTS | oscada.org | |
Debian | |||
Debian_11_{32,64,armhf,arm64} | - | ||
Debian_11_{32,64,armhf,arm64}:rep | Work+LTS | home.home | |
Debian_10_{32,64,armhf} | - | ||
Debian_10_{32,64,armhf}:rep | Work+LTS | home.home | |
Debian_9_{32,64,armhf} | - | ||
Debian_9_{32,64,armhf}:rep | Work+LTS | home.home | |
Debian_8_{32,64,armhf} | - | ||
Debian_8_{32,64,armhf}:rep | Work+LTS | oscada.org | |
Debian_7_{32,64} | - | ||
Debian_7_{32,64}:rep | Work+LTS | oscada.org | |
Debian_6_{32,64} | - | ||
Raspbian, the same Debian but for Raspberry Pi — a very specific ARMv6 environment for the BCM2835 and early chips mostly. | |||
Raspbian_9_native | Work+LTS | pi.home | |
Raspbian_8_native | LTS | pi.home | |
Ubuntu | |||
Ubuntu_22.04_{32,64} | Work+LTS | home.home | The 32-bit architecture is some limited and there is missing the MariaDB and libphonon4qt5 packages. |
Ubuntu_20.04_{32,64} | Work+LTS | home.home | The 32-bit architecture is some limited and there is missing the MariaDB and libphonon4qt5 packages. |
Ubuntu_18.04_{32,64} | LTS | home.home | Very new Linux kernel for CHROOT on oscada.org |
Ubuntu_16.04_{32,64} | LTS | oscada.org | |
Ubuntu_14.04_{32,64} | LTS | oscada.org | |
Ubuntu_12.04_{32,64} | LTS | oscada.org | |
Ubuntu_11.10_{32,64} | - | ||
Ubuntu_10.04_{32,64} | - | ||
CentOs | |||
CentOs_8_64:dev | Work+LTS+ServLTS | home.home | |
CentOs_7_64 | LTS | oscada.org | |
CentOs_6_{32,64} | LTS | oscada.org | |
SuSE | |||
SuSE_15_64:dev | LTS | home.home | Very new Linux kernel for CHROOT on oscada.org. GPG2 needs for mounting the system folders. |
SuSE_13_{32,64} | LTS | oscada.org | |
SuSE_12_{32,64} | LTS | oscada.org | |
SuSE_11_{32,64} | - | ||
ALTLinux | |||
ALTLinux_7_{32,64} | - | ||
ALTLinux_7_{32,64}:rep | LTS | oscada.org | |
ALTLinux_6_{32,64} | - | ||
ALTLinux_6_{32,64}:rep | Work+LTS | oscada.org | |
ALTLinux_5_{32,64} | - | ||
ALTLinux_5_{32,64}:rep | - | ||
Fedora | |||
Fedora_12_32 | LTS | oscada.org | |
Mandriva | |||
Mandriva_2011_{32,64} | - | ||
Mandriva_2010_{32,64} | - | ||
Nokia | |||
Nokia_800 | LTS | oscada.org | |
Nokia_900 | Work+LTS | oscada.org | |
Nokia_950 | LTS | oscada.org | |
PLC+Embedded | |||
Gen32PLC_ALT6 | LTS | oscada.org | |
Gen32PLC_ALT6:rt1 | LTS | oscada.org | |
Gen32PLC_ALT5 | - | ||
Gen32PLC_ALT5:UI | - | ||
LP8x81_ALT6 | LTS | oscada.org | |
LP8x81_ALT6:rt1 | LTS | oscada.org | |
LP8x81_ALT5 | - | ||
LP8x81_ALT5:UI | - | ||
SMH2Gi | LTS | oscada.org | |
ICP_DAS_LP_ARM | - | ||
TionPro270 | - | ||
Live | |||
Live_Deb11_{32,64} | Work+LTS | home.home | |
Live_Deb10_{32,64} | Work+LTS | home.home | |
Live_Deb9_{32,64} | Work+LTS | home.home | |
Live_Deb8_{32,64} | Work+LTS | oscada.org | |
Live_Deb7_{32,64} | Work+LTS | oscada.org | |
Live_ALT | Work+LTS | oscada.org | |
Live_ALT:flash | - |