OpenSCADAWiki: Home Page Uk/Doc/ Build From Source ...

Home | Index | Changes | Comments | Users | Registration | Login  Password:  
 
This is an old revision of HomePageUk/Doc/BuildFromSource from 2011-09-06 11:44:00..
English (1 Kb) English version
Russian (1 Kb) Русская версия?

Посібник по збірці OpenSCADA з вихідних текстів


Contents

Вступ

Цей посібник покликано допомогти у збірці системи OpenSCADA з вихідних текстів. Протягом накопичення досвіду збірки на різних дистрибутивах ОС Linux та на інших платформах взагалі документ буде доповнюватися особливостями та деталями збірки у різноманітних оточеннях.


Документ також містить інформацію про попереднє налаштування зібраної системи OpenSCADA для повноцінного пуску з використанням демонстраційної БД (модель "АГЛКС"), яку постачається з вихідними текстами.

Пряма збірка системи OpenSCADA

Збірка має виконуватися від ім'я звичайного користувача. При цьому будуть розглянуті варіанти встановлення та виконання як глобально у систему, так і локально, у директорію користувача. Приймаємо логін користувача - "user".


Перед збіркою входимо як звичайний користувач та підмінюємо login "user" на Ваш, визначаємося з джерелом вихідних текстів (ftp/http-сервер або SVN-репозиторій), способом встановлення (глобальний або локальний) та дотримуємося інструкції:


Етапи приготування дерева вихідних текстів до збірки:

  1. Створення директорії для збірки проекту:
    $ mkdir ~/projects; cd ~/projects
  2. Завантаження пакету з вихідними текстами. Може бути виконана двома засобами:
  3. Задоволення залежностей проекту OpenSCADA для збірки у відповідності з вимогами. Виключення залежностей, у випадку неможливості їх задоволення, шляхом виключення збірки непотрібних модулів опцією --disable-{ModName} до команди "configure" нижче, наприклад disable-SoundCard.
  4. Генерація збіркової системи, при завантажені із SVN-репозиторія:
    $ autoreconf -ivf

Етапи глобальної збірки:

  1. Конфігурація збіркової системи OpenSCADA:
    $ ./configure CFLAGS="-O2" CXXFLAGS="-O2"
  2. Збірка проекту OpenSCADA:
    $ make
  3. Встановлення OpenSCADA:
    $ su; make install
  4. Копіювання скрипту запуску та конфігураційного файлу демонстрації:
    $ cp data/ModelsDB/AGLKS/openscada_demo /usr/bin
    $ cp data/ModelsDB/AGLKS/oscada_AGLKS.xml /etc
  5. Формування директорії з даними та заповнення її:
    $ mkdir /var/spool/openscada
    $ mkdir /var/spool/openscada/{DATA,icons,LibsDB,AGLKS}
    $ cp data/LibsDB/*.db /var/spool/openscada/LibsDB
    $ cp data/ModelsDB/AGLKS/*.db /var/spool/openscada/AGLKS
    $ cp data/icons/* /var/spool/openscada/icons
    $ install -m 777 -d /var/spool/openscada/ARCHIVES/{MESS,VAL}
  6. Система готова до запуску:
    $ exit; openscada_demo

Етапи локальної збірки:

  1. Конфігурація збіркової системи OpenSCADA:
    $ mkdir ~/OScadaW; ./configure CFLAGS="-O2" CXXFLAGS="-O2" --prefix=/home/user/OScadaW
  2. Збірка проекту OpenSCADA:
    $ make
  3. Встановлення OpenSCADA:
    $ make install
  4. Копіювання скрипту запуску та конфігураційного файлу демонстрації:
    $ cp data/ModelsDB/AGLKS/openscada_demo_local ~/OScadaW/bin/openscada_demo
    $ mkdir ~/OScadaW/etc
    $ cp data/ModelsDB/AGLKS/oscada_demo_local.xml ~/OScadaW/etc/oscada_demo.xml
  5. Формування директорії з даними та заповнення її:
    $ mkdir ~/OScadaW/share/openscada
    $ mkdir ~/OScadaW/share/openscada/{DATA,icons,LibsDB,AGLKS}
    $ cp data/LibsDB/*.db ~/OScadaW/share/openscada/LibsDB
    $ cp data/ModelsDB/AGLKS/*.db ~/OScadaW/share/openscada/AGLKS
    $ cp data/icons/* ~/OScadaW/share/openscada/icons
    $ install -m 777 -d ~/OScadaW/share/openscada/ARCHIVES/{MESS,VAL}
  6. Система готова до запуску:
    $ cd ~/OScadaW/bin; ./openscada_demo

Збірка пакетів системи 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-пакетів різних дистрибутивів:


Якщо, після встановлення спеціалізованого пакету, теки створення RPM пакетів немає тоді її потрібно створити командою:

$ install -m 755 -d Тека дистрибутиву/{SPECS,SOURCES}

Етапи збірки по файлу специфікації RPM:

  1. Розташування архівів OpenSCADA та файлу специфікації у директорії збірки RPM (вихідні файли попередньо розташовано у поточній теці):
    $ cp openscada-0.7.1.tar.lzma openscada-res-0.7.1.tar.lzma Тека дистрибутиву/SOURCES
    $ cp openscada.spec Тека дистрибутиву/SPECS
  2. Задоволення залежностей проекту OpenSCADA для збірки у відповідності із вимогами. Виключення залежностей, у випадку неможливості їх задоволення, шляхом виключення збірки непотрібних модулів опцією **~disable-{ModName} до команди "configure" у файлі "openscada.spec", наприклад --disable-SoundCard**.
  3. Збірка пакетів
    • збірка з початку:
      $ rpmbuild -bb Тека дистрибутиву/SPECS/openscada.spec
    • тільки встановлення та пакування, із пакету rpm-утиліт etersoft, зручно під час налагодження openscada.spec файлу:
      $ rpmbb -i Тека дистрибутиву/SPECS/openscada.spec
  4. Пакети готові та доступні у теці Тека дистрибутиву/RPMS , для відповідної архітектури

Етапи збірки із SRPMS пакету:

  1. Задоволення залежностей проекту OpenSCADA для збірки у відповідності із вимогами.
  2. Збірка пакетів (вихідні файли попередньо розташовано у поточній теці):
    $ rpmbuild --rebuild openscada-0.7.1-2.src.rpm
  3. Пакети готові та доступні у теці Тека дистрибутиву/RPMS , для відповідної архітектури

Debian-based дистрибутиви - пакет Deb

Для збірки Deb-пакетів OpenSCADA Вам знадобляться архіви вихідних текстів та ресурсів, які можна завантажити з ftp або http-серверу проекту.


Збірка Deb-пакетів відбувається у теці "debian" зі скриптами збірки, яка міститься у архівах вихідних текстів OpenSCADA.


Етапи збірки:

  1. Створення теки для збірки проекту:
    $ mkdir ~/build; cd ~/build
  2. Завантаження пакету з вихідними текстами. Завантаження тарболу вихідних текстів та ресурсів з ftp-сервера проекту ftp://ftp.oscada.org/OpenSCADA/ та розпакування, наприклад так:
    $ wget ftp://ftp.oscada.org/OpenSCADA/0.7.1/openscada-0.7.1.tar.lzma
    $ wget ftp://ftp.oscada.org/OpenSCADA/0.7.1/openscada-res-0.7.1.tar.lzma
    $ tar --lzma -xvf openscada-0.7.1.tar.lzma
    $ cd openscada-0.7.1
    $ tar --lzma -xvf ../openscada-res-0.7.1.tar.lzma
  3. Задоволення залежностей проекту OpenSCADA для збірки у відповідності із вимогами. Виключення залежностей, у випадку неможливості їх задоволення, шляхом виключення збірки непотрібних модулів опцією --disable-{ModName} до команди "configure" у файлі openscada-0.7.1/debian/rules, наприклад --disable-SoundCard.
  4. Перехід у теку OpenSCADA та запуск збірки:
    $ cd openscada-0.7.1
    • збірка з початку:
      $ dpkg-buildpackage -rfakeroot
    • пропустити збірку та перепакувати, зручно під час налагодження openscada-0.7.1/debian/rules:
      $ fakeroot debian/rules binary
      $ fakeroot debian/rules build
  5. Пакети готові та доступні поточній теці.

Gentoo - метадистрибутив

OpenSCADA не входить у офіційне дерево portage Gentoo, тому збірка відбувається з оверлею. Детально про роботу з оверлеєм можна знайти на сайтах документації Gentoo, наприклад: http://ru.gentoo-wiki.com/wiki/Portage_Overlay. Перед збіркою самого пакета OpenSCADA, portage задовольнить залежності, тобто, збере потрібні пакети (якщо необхідно).


  1. Створення оверлею portage зводиться до опису шляху для оверлейного дерева, тобто, у /etc/make.conf потрібно прописати рядок:
    PORTDIR_OVERLAY="/usr/local/portage"
  2. Створити теку /usr/local/portage/dev-util/openscada/, потім завантажити файл архіву ebuild з офіційного сайту та розпакувати його у створеній теці.
    $ cd /usr/local/portage/dev-util/openscada
    $ wget ftp://ftp.oscada.org/OpenSCADA/0.7.1/Gentoo/openscada-0.7.1.ebuild-010611.tar.gz
    $ tar -xzf openscada-0.7.1.ebuild-010611.tar.gz
  3. Потрібно вказати portage, що OpenSCADA дозволена для збірки на Вашій платформі. Для цього потрібно внести наступний рядок у файл /etc/portage/package.keywords:
    dev-util/openscada
  4. Перевірка:
    $ 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

  5. Якщо у Вас немає підключення до інтернету, тоді потрібно завантажити тарбол вихідних текстів та ресурсів з ftp-серверу проекту та розташувати їх заздалегідь у теці вихідних текстів portage (/usr/portage/distfiles). Якщо ж у Вас є підключення до інтернету, тоді все потрібне для збірки буде отримано із сервера проекту автоматично.
  6. Потрібно виставити необхідні Вам USE-прапорці, з якими буде зібрано OpenSCADA. Це можна зробити у файлі /etc/portage/package.use, наприклад:
    dev-util/openscada dcon demo http javalikecalc mysql qtcfg qtstarter ssl vision webcfg webcfgd webvision blockcalc dbarch dbase doc flibcomplex1 flibmath flibsys fsarch logiclev modbus serial sockets sqlite vcaengine
  7. Безпосередньо збірка:
    $ emerge -q openscada
  8. Файли БД та ресурсів OpenSCADA готові та будуть розташовані у теці /var/spool/openscada/, виконувані файли - /usr/bin/, документація - /usr/share/doc/openscada-0.7.1/.

Посилання

Referring pages: HomePageUk/Doc
HomePageUk/Doc/ModuleBuild


 
There are no files on this page.[Display files/form]
There is no comment on this page. [Display comments/form]