This manual made for help on OpenSCADA building from sources. In process of accumulation of experience of building for different OS Linux distributions and others platforms generally, this document will be complement for tips and details of building for different environments.
The document also contain information about preset configuration of built system of OpenSCADA, for complete start with using of present, included to sources, demo DB (model "AGLKS").
System OpenSCADA direct building
Build system must be executed from normal system user name. Thus described variants of installing and execution how global and local, to user directory. Get what user login is - "user".
Before building enter as common user and change user login to your, get sources (from ftp/http-server or SVN-repository), select install method (global or local) and follow instruction:
Steps of preparation of the source tree to build:
Make directory for project building:
$ mkdir ~/projects; cd ~/projects
Download sources package. It may be made from two ways:
$ svn co svn://oscada.org/trunk/OpenSCADA
$ cd OpenSCADA
Resolve OpenSCADA dependents for build, on according demands. Exclude dependents in case of inability its by help of option --disable-{ModName} into comman "configure" below, for example --disable-SoundCard.
Generate of build system, when download from the SVN-repository:
$ autoreconf -ivf
Steps of global building:
Configuring building system of OpenSCADA:
$ ./configure
Make OpenSCADA project:
$ make
Install OpenSCADA:
$ su; make install
Copy start script and configuration file of demonstration:
Сборка пакетов системы OpenSCADA для дистрибутива Linux
Redhat-based дистрибутивы - пакет RPM
Для сборки RPM-пакетов OpenSCADA Вам понадобятся архивы исходных текстов, ресурсов и файл спецификации RPM пакета (openscada.spec, openscada_mod.spec) или же SRPM-пакет всех этих исходных материалов (openscada-0.7.1-2.src.rpm), которые можно загрузить с ftp или http-сервера проекта.
Файл спецификации RPM-пакетов и SRPM-пакет могут отличаться для разных дистрибутивов Linux, учитывая их особенности, поэтому нужно стараться загружать их в соответствии с дистрибутивом. Если специальный SRPM пакет отсутствует то можно попробовать собрать из унифицированного файла спецификации в основном SRPM пакете.
Сборка RPM-пакетов производится в директории со специальной структурой, которая обычно создаётся при установке соответствующего пакета дистрибутива (например: rpm-build). Эта директория, в зависимости от дистрибутива, располагается в домашней директории пользователя или в директории /usr/src. Известные факты расположения директории сборки RPM-пакетов различных дистрибутивов:
Удовлетворение зависимостей проекта OpenSCADA для сборки в соответствии с требованиями. Исключение зависимостей, в случае невозможности их удовлетворения, путём отключения сборки ненужных модулей опцией --disable-{ModName} к команде "configure" в файле "openscada.spec", например: --disable-SoundCard.
Пакеты готовы и доступны в директории Директория дистрибутива/RPMS , для соответствующей архитектуры
Этапы сборки из SRPMS пакета:
Удовлетворение зависимостей проекта OpenSCADA для сборки в соответствии с требованиями.
Сборка пакетов (исходные файлы предварительно помещены в текущей директории):
$ rpmbuild --rebuild openscada-0.7.1-2.src.rpm
Пакеты готовы и доступны в директории Директория дистрибутива/RPMS , для соответствующей архитектуры
Debian-based дистрибутивы - пакет Deb
Для сборки Deb-пакетов OpenSCADA Вам понадобятся архивы исходных текстов и ресурсов, которые можно загрузить с ftp или http-сервера проекта.
Сборка Deb-пакетов производится в директории "debian" со скриптами сборки, которая содержится в архивах исходных текстов OpenSCADA.
Этапы сборки:
Создание директории для сборки проекта:
$ mkdir ~/build; cd ~/build
Загрузка пакета с исходными текстами. Загрузка тарбола исходных текстов и ресурсов с ftp-сервера проекта ftp://ftp.oscada.org/OpenSCADA/ и распаковка, например так:
Удовлетворение зависимостей проекта OpenSCADA для сборки в соответствии с требованиями. Исключение зависимостей, в случае невозможности их удовлетворения, путём отключения сборки ненужных модулей опцией --disable-{ModName} к команде "configure" в файле openscada-0.7.1/debian/rules, например: --disable-SoundCard.
Переход в директорию OpenSCADA и запуск сборки:
$ cd openscada-0.7.1
сборка с начала:
$ dpkg-buildpackage -rfakeroot
пропустить сборку и переупаковать, удобно при отладке openscada-0.7.1/debian/rules:
Пакеты готовы и доступны в директории уровнем выше.
Gentoo - метадистрибутив
OpenSCADA не входит в официальное дерево portage Gentoo, поэтому сборка производится из оверлея. Подробно про работу с оверлеем можно найти на сайтах документации Gentoo, например: http://ru.gentoo-wiki.com/wiki/Portage_Overlay. Перед сборкой самого пакета OpenSCADA, portage удовлетворит зависимости, т.е., соберет недостающие пакеты (если необходимо).
Создание оверлея portage сводится к описанию пути для оверлейного дерева, т.е., в /etc/make.conf необходимо прописать строку:
PORTDIR_OVERLAY="/usr/local/portage"
Создать каталог /usr/local/portage/dev-util/openscada/, затем скачать файл архива ebuild c официального сайта и распаковать его в созданном каталоге.
Необходимо указать portage, что OpenSCADA разрешена для сборки на Вашей платформе. Для этого надо внести следующую строку в файл /etc/portage/package.keywords:
dev-util/openscada
Проверка:
$ emerge -vp openscada These are the packages that would be merged, in order: Calculating dependencies... done! [ebuild R ~] dev-util/openscada-0.7.1 USE="mysql ssl -bfn -blockcalc -daqgate -dbarch -dbase -dcon -demo -diamondboards -doc (-firebird) -flibcomplex1 -flibmath -flibsys -fsarch -http -icp_das -javalikecalc -logiclev -modbus -portaudio -qtcfg -qtstarter -selfsystem -serial -simens -snmp -sockets -sqlite -system -systemtest -vcaengine -vision -webcfg -webcfgd -webvision" 79,647 kB [1]
Total: 1 package (1 reinstall), Size of downloads: 79,647 kB Portage tree and overlays: [0] /usr/portage [1] /usr/local/portage
Если у Ваc нет подключения к интернету, то надо загрузить тарбол исходных текстов и ресурсов с ftp-сервера проекта и расположить их заранее в каталоге исходников portage (/usr/portage/distfiles). Если же у Вас есть подключение к интернету, то все необходимое для сборки будет взято с сервера проекта автоматически.
Необходимо выставить нужные Вам USE-флаги, с которыми будет собрана OpenSCADA. Это можно сделать в файле /etc/portage/package.use, например:
Файлы БД и ресурсов OpenSCADA готовы и будут размещены в каталоге /var/spool/openscada/, исполняемые файлы - /usr/bin/, документация - /usr/share/doc/openscada-0.7.1/.