Name | Founded | Status | Members | |
---|---|---|---|---|
Automatic Builder of OpenSCADA | May 2015 |
Implemented in scripts of the building, repositories and branches processing and targets checking for building for up to 100 targets by: CHROOTs of the Linux repositories, VPS and different sub-environments. As the result of the Builder work is: the fresh and signed packages repositories of Linux, Live Disk images and other binary archives of OpenSCADA. |
Roman Savochenko | |
Description | ||||
The sub-project is aimed to make easy the project OpenSCADA distribution through automatic building the binary packages, their ready to use repositories and other complex distributives like to Live Disks.
|
The builder is represented by two common BASH-scripts and several checking BASH-scripts:
- oscadaCheck* — very simple scripts with the building profiles list only for checking by oscadaRepBranches and depending on the building host; they are started typically by the CRON schedule, for night builds, or manually. Known currently profiles list corresponding to Table 2:
- oscadaCheck — generic one used on the OpenSCADA server;
- oscadaCheck_WorkAtLTS — additional generic one used on the OpenSCADA server at the new LTS version release;
- oscadaCheck_ExtGen — external generic one used on the Author Home PC;
- oscadaCheck_ExtGen_WorkAtLTS — additional external generic one used on the Author Home PC at the new LTS version release;
- oscadaCheck_RPi — external "Raspbian" targets' one used on the Author RPi3;
- oscadaCheck_RPi_WorkAtLTS — additional external "Raspbian" targets' one used on the Author RPi3 at the new LTS version release.
- oscadaRepBranches — for processing of the profiles list pointed in the command line and in the format "{Target}[:option[,optionN]] {EN}{ForWork}{ForLTS}{ForLTSServ}{OmitSourceTree}", where:
- "EN"{0|1} — enabling the target;
- "ForWork"{0|1} — enabling to build for the Work branch;
- "ForLTS"{0|1} — enabling to build for generic updates of the LTS branch;
- "ForLTSServ"{0|1} — enabling to build for service updates of the LTS branch;
- "OmitSourceTree"{0|1} — omit the source tree download from SVN, mostly for building the Live images.
- oscadaBuild — for building and placing the result packages and other for the OpenSCADA LTS or Work branches.
Files structure of the automation building system means:
\-- /data/ |-- oscada/ | |-- bin/ | | |-- oscadaBuild | | |-- oscadaRepBranches | | |-- oscadaCheck | | \-- oscadaCheck_WorkAtLTS | |-- build/ => work building folder, which contains the unpacked CHROOTs | | |-- log/ => logs of the builds | | \-- *.stamp => stamps of the successful builds | \-- chroot-data.tgz => contains the GPG singing key for the packages and their repositories of the builder \-- share_res/ \-- ftp/ => FTP folder of the building results |-- {ALTLinux,Debian}/ => Folders of the repositories of the Automation Linux distributive |-- Misc/ | \-- chroots/ => Folder of the archives of the CHROOTs of the building \-- OpenSCADA/ => Folders of the repositories of OpenSCADA |-- LTS/ => Folders of the LTS repositories of OpenSCADA \-- Work/ => Folders of the Work repositories of OpenSCADA
The automatic building system supports also its distribution at specific environments (for some building types) like to different hardware platforms, instead their CHROOTs sometime. The distribution is performed by moving part of the automatic builder outward by: deploying the bottom file structure only for needed targets, organization for the local file server and scheduling the sync script oscadaSyncFtp on the automatic builder core (say Roman Savochenko for) — main FTP-server.
Currently the automatic builder means for automatic building:
- The Work version (1) for the last SVN-revision with the tag "(stable)";
- The LTS version (0.9.U.S) for generic (U) and service (S) update.
Table 1: Implemented profiles — the building types.
Target | Result | Method of the building | External deploying | Additional |
---|---|---|---|---|
SrcTar | Source packages packed as XZ TAR packages | CHROOT "Debian_7_32" | Yes | Updates the OpenSCADA documentation for LTS. |
SrcRPM, CentOs*, SuSE*, Fedora*, ALTLinux*, Mandriva* | RedHat source and binary packages for the hardware architectures x86_32 and x86_64 | CHROOT | Yes | Admits for tuning to the specific by the patches "openscada_*.patch". Calling the provided script "reposUpdate" in the results directory there the packages repository can be: created, updated, signed for the packages and the repository in whole. Target options:
|
Debian*, Raspbian*, Ubuntu* | Debian packages for the hardware architectures x86_32, x86_64, ARMHF, ARM64, NATIVE | CHROOT | Yes | Admits for tuning to the specific by the patches "openscada[-{platform}]_*.patch". Calling the provided script "reposUpdate" in the results directory there the packages repository can be: created, updated, signed for the packages and the repository in whole. Target options:
|
Nokia* | Debian packages for the hardware architecture ARMEL | Scratchbox | Yes | Admits for tuning to the specific by the patches "openscada_*.patch". |
Gen32PLC*, LP8x81* | TAR packages of the PLC firmwares for the hardware architecture x86_32 | VPS: bldrALT32.oscada | No | Uses the ALTLinux mkimage profiles: "mkimage-profiles-5-plc", "mkimage-profiles-5-plc-LP8x81", "mkimage-profiles-6-plc", "mkimage-profiles-6-plc-LP8x81". Target options:
|
Live_ALT | Hybrid ISO image or TAR package of the Live Disk of the Automation Linux distributive based on ALTLinux | VPS: bldrALT32.oscada | No | Uses the ALTLinux mkimage profile "mkimage-profiles-6-kdesktop". Updates MD5SUM of the ISO images in the file "MD5SUM". Target options:
|
Live_Deb | Hybrid ISO image of the Live Disk of the Automation Linux distributive based on Debian | VPS: bldrDeb8.oscada; home.home | No | Uses Live Build profiles of Debian: live7-32, live7-64, live8-32, live8-64, live9-32, live9-64, live10-32, live10-64, live11-32, live11-64. Updates MD5SUM of the ISO images in the file "MD5SUM". |
ICP_DAS_LP_ARM, SMH2Gi | TAR packages of the PLC firmwares for the hardware architecture ARM. | VPS: bldrDeb8.oscada + TOOLCHAIN | No | Uses the proper TOOLCHAINs. |
Table 2: The actual building targets (on 01.01.7531/01.03.2023).
Target(s) | OpenSCADA | Host | Notes |
---|---|---|---|
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 | - |