EnglishУкраїнськаmRussian
Login/New
Topic with many replies

Создал PKGBUILD для сборки в ArchLinux


Author Message
Written on: 17. 11. 2009 [20:22]
kuzulis
Денис Шиенков
Topic creator
registered since: 10.07.2009
Posts: 128
Доброго времени!

Собственно сабж.

Файл прикрепляю, и, может быть, Роман включит его в SVN

Что получилось:
1. Собрал пакет пока без включения документации в него и файлов и иконок для рабочего стола, т.к. есть некоторые вопросы (см. ниже)
2. Собирал без БД фиребирд

Вопросы:
1. Нужно ли еще создвть файл типа Howto с описанием использования файла PKGBUILD для сборки в Арче? Или и так сойдет, т.к. подразумеваем, что пользователи Арча достаточно "прогрессивны" icon_smile.gif ?
2. При сборке я руководствовался этим: http://wiki.oscada.org/Doc/SborkaIzIsxodnikov
и собирал как "глобальная сборка". Но почему-то в этом руководстве "умолчено" про файлы в : /src/OpenSCADA/data, а расписана установка только файлов из /src/OpenSCADA/demo . Имею ввиду файлы "ярлыков" для рабочего стола и иконки. Как с этим быть?
3. При запуске скады от пользователя в консоль вывалилось следующее:

[kuzulis@kuzulis oscada]$ openscada_demo
3|/EmptySt/ | Станция <EmptySt> отсутствует в конфигурационном файле. Использована конфигурация станции <DemoStation>!
1|/DemoStation/ | Загрузка!
1|/DemoStation/sub_Transport/mod_Sockets/ | Подключение модуля!
1|/DemoStation/sub_Special/mod_SystemTests/ | Подключение модуля!
1|/DemoStation/sub_Transport/mod_Serial/ | Подключение модуля!
1|/DemoStation/sub_UI/mod_WebCfg/ | Подключение модуля!
1|/DemoStation/sub_DAQ/mod_SoundCard/ | Подключение модуля!
1|/DemoStation/sub_DAQ/mod_LogicLev/ | Подключение модуля!
1|/DemoStation/sub_Special/mod_FLibSYS/ | Подключение модуля!
1|/DemoStation/sub_UI/mod_WebVision/ | Подключение модуля!
1|/DemoStation/sub_DAQ/mod_Siemens/ | Подключение модуля!
1|/DemoStation/sub_DAQ/mod_System/ | Подключение модуля!
1|/DemoStation/sub_BD/mod_DBF/ | Подключение модуля!
1|/DemoStation/sub_Transport/mod_SSL/ | Подключение модуля!
1|/DemoStation/sub_Protocol/mod_SelfSystem/ | Подключение модуля!
1|/DemoStation/sub_Archive/mod_DBArch/ | Подключение модуля!
1|/DemoStation/sub_BD/mod_MySQL/ | Подключение модуля!
1|/DemoStation/sub_UI/mod_QTCfg/ | Подключение модуля!
1|/DemoStation/sub_DAQ/mod_DCON/ | Подключение модуля!
1|/DemoStation/sub_UI/mod_VCAEngine/ | Подключение модуля!
1|/DemoStation/sub_Protocol/mod_HTTP/ | Подключение модуля!
1|/DemoStation/sub_Special/mod_FLibMath/ | Подключение модуля!
1|/DemoStation/sub_DAQ/mod_JavaLikeCalc/ | Подключение модуля!
1|/DemoStation/sub_UI/mod_WebCfgD/ | Подключение модуля!
1|/DemoStation/sub_Special/mod_FLibComplex1/ | Подключение модуля!
1|/DemoStation/sub_Archive/mod_FSArch/ | Подключение модуля!
1|/DemoStation/sub_DAQ/mod_SNMP/ | Подключение модуля!
1|/DemoStation/sub_BD/mod_SQLite/ | Подключение модуля!
1|/DemoStation/sub_UI/mod_QTStarter/ | Подключение модуля!
1|/DemoStation/sub_DAQ/mod_BlockCalc/ | Подключение модуля!
1|/DemoStation/sub_DAQ/mod_ModBus/ | Подключение модуля!
1|/DemoStation/sub_Protocol/mod_ModBus/ | Подключение модуля!
1|/DemoStation/sub_UI/mod_Vision/ | Подключение модуля!
1|/DemoStation/sub_DAQ/mod_DAQGate/ | Подключение модуля!
4|/DemoStation/ | Ошибка изменения рабочей директории '/mnt/home/roman/work/OScadaD/share/OpenScada': Нет такого файла или каталога
1|/DemoStation/sub_DAQ/mod_DAQGate/cntr_test/ | Загрузка конфигурации контроллера!
1|/DemoStation/sub_DAQ/mod_ModBus/cntr_testTCP/ | Загрузка конфигурации контроллера!
1|/DemoStation/sub_DAQ/mod_ModBus/cntr_testRTU/ | Загрузка конфигурации контроллера!
1|/DemoStation/sub_DAQ/mod_SNMP/cntr_localhost/ | Загрузка конфигурации контроллера!
1|/DemoStation/sub_DAQ/mod_BlockCalc/cntr_Anast1to2node_cntr/ | Загрузка конфигурации контроллера!
1|/DemoStation/sub_DAQ/mod_BlockCalc/cntr_KM102cntr/ | Загрузка конфигурации контроллера!
1|/DemoStation/sub_DAQ/mod_BlockCalc/cntr_KM101/ | Загрузка конфигурации контроллера!
1|/DemoStation/sub_DAQ/mod_BlockCalc/cntr_KM102/ | Загрузка конфигурации контроллера!
1|/DemoStation/sub_DAQ/mod_BlockCalc/cntr_КМ202/ | Загрузка конфигурации контроллера!
1|/DemoStation/sub_DAQ/mod_BlockCalc/cntr_KM201/ | Загрузка конфигурации контроллера!
1|/DemoStation/sub_DAQ/mod_BlockCalc/cntr_Anast1to2node/ | Загрузка конфигурации контроллера!
1|/DemoStation/sub_DAQ/mod_BlockCalc/cntr_KM301/ | Загрузка конфигурации контроллера!
1|/DemoStation/sub_DAQ/mod_BlockCalc/cntr_KM302/ | Загрузка конфигурации контроллера!
1|/DemoStation/sub_DAQ/mod_JavaLikeCalc/cntr_testCalc/ | Загрузка конфигурации контроллера!
1|/DemoStation/sub_DAQ/mod_System/cntr_AutoDA/ | Загрузка конфигурации контроллера!
1|/DemoStation/sub_DAQ/mod_SoundCard/cntr_test/ | Загрузка конфигурации контроллера!
1|/DemoStation/sub_DAQ/mod_LogicLev/cntr_experiment/ | Загрузка конфигурации контроллера!
1|/DemoStation/sub_DAQ/mod_Siemens/cntr_test/ | Загрузка конфигурации контроллера!
1|/DemoStation/sub_UI/mod_VCAEngine/ | Загрузка модуля.
1|/DemoStation/sub_UI/mod_VCAEngine/wlb_doc/ | Загрузка библиотеки виджетов.
1|/DemoStation/sub_UI/mod_VCAEngine/wlb_mnEls/ | Загрузка библиотеки виджетов.
1|/DemoStation/sub_UI/mod_VCAEngine/wlb_AGLKS/ | Загрузка библиотеки виджетов.
1|/DemoStation/sub_UI/mod_VCAEngine/wlb_Main/ | Загрузка библиотеки виджетов.
1|/DemoStation/sub_UI/mod_VCAEngine/wlb_test/ | Загрузка библиотеки виджетов.
1|/DemoStation/sub_UI/mod_VCAEngine/wlb_originals/ | Загрузка библиотеки виджетов.
1|/DemoStation/sub_UI/mod_VCAEngine/prj_tmplSO/ | Загрузка проекта.
1|/DemoStation/sub_UI/mod_VCAEngine/prj_AGLKS/ | Загрузка проекта.
1|/DemoStation/sub_UI/mod_VCAEngine/wlb_doc/ | Включение библиотеки виджетов.
1|/DemoStation/sub_UI/mod_VCAEngine/wlb_mnEls/ | Включение библиотеки виджетов.
1|/DemoStation/sub_UI/mod_VCAEngine/wlb_AGLKS/ | Включение библиотеки виджетов.
1|/DemoStation/sub_UI/mod_VCAEngine/wlb_Main/ | Включение библиотеки виджетов.
1|/DemoStation/sub_UI/mod_VCAEngine/wlb_test/ | Включение библиотеки виджетов.
1|/DemoStation/sub_UI/mod_VCAEngine/wlb_originals/ | Включение библиотеки виджетов.
1|/DemoStation/sub_UI/mod_VCAEngine/prj_tmplSO/ | Включение проекта.
1|/DemoStation/sub_UI/mod_VCAEngine/prj_AGLKS/ | Включение проекта.
1|/DemoStation/ | Запуск!
1|/DemoStation/sub_Transport/ | Пуск подсистемы.
1|/DemoStation/sub_DAQ/mod_DAQGate/cntr_test/ | Включение контроллера!
1|/DemoStation/sub_DAQ/mod_ModBus/cntr_testTCP/ | Включение контроллера!
1|/DemoStation/sub_DAQ/mod_ModBus/cntr_testRTU/ | Включение контроллера!
1|/DemoStation/sub_DAQ/mod_BlockCalc/cntr_Anast1to2node_cntr/ | Включение контроллера!
1|/DemoStation/sub_DAQ/mod_BlockCalc/cntr_KM102cntr/ | Включение контроллера!
1|/DemoStation/sub_DAQ/mod_BlockCalc/cntr_KM101/ | Включение контроллера!
1|/DemoStation/sub_DAQ/mod_BlockCalc/cntr_KM102/ | Включение контроллера!
1|/DemoStation/sub_DAQ/mod_BlockCalc/cntr_КМ202/ | Включение контроллера!
1|/DemoStation/sub_DAQ/mod_BlockCalc/cntr_KM201/ | Включение контроллера!
1|/DemoStation/sub_DAQ/mod_BlockCalc/cntr_Anast1to2node/ | Включение контроллера!
1|/DemoStation/sub_DAQ/mod_BlockCalc/cntr_KM301/ | Включение контроллера!
1|/DemoStation/sub_DAQ/mod_BlockCalc/cntr_KM302/ | Включение контроллера!
1|/DemoStation/sub_DAQ/mod_JavaLikeCalc/cntr_testCalc/ | Включение контроллера!
1|/DemoStation/sub_DAQ/mod_System/cntr_AutoDA/ | Включение контроллера!
3|/DemoStation/sub_BD/mod_SQLite/db_GenDB/tbl_Transport_out/ | Deletion is not permited. Data base is read only.

4|/DemoStation/sub_Transport/mod_Sockets/out_HDDTemp/ | Ошибка подключения к Internet сокету: Операция выполняется в данный момент!
sh: smartctl: команда не найдена
sh: smartctl: команда не найдена
1|/DemoStation/sub_DAQ/mod_SoundCard/cntr_test/ | Включение контроллера!
1|/DemoStation/sub_DAQ/mod_LogicLev/cntr_experiment/ | Включение контроллера!
1|/DemoStation/sub_DAQ/mod_Siemens/cntr_test/ | Включение контроллера!
1|/DemoStation/sub_Archive/ | Пуск подсистемы.
4|/DemoStation/sub_Archive/va_MemInfo_use/ | Archivator <DBArch.1s> error or it is not started.
4|/DemoStation/sub_Archive/va_CPULoad_load/ | Archivator <DBArch.1s> error or it is not started.
1|/DemoStation/sub_DAQ/mod_BlockCalc/cntr_Anast1to2node_cntr/ | Запуск контроллера!
1|/DemoStation/sub_DAQ/mod_BlockCalc/cntr_KM102cntr/ | Запуск контроллера!
1|/DemoStation/sub_DAQ/mod_BlockCalc/cntr_KM101/ | Запуск контроллера!
1|/DemoStation/sub_DAQ/mod_BlockCalc/cntr_KM102/ | Запуск контроллера!
1|/DemoStation/sub_DAQ/mod_BlockCalc/cntr_КМ202/ | Запуск контроллера!
1|/DemoStation/sub_DAQ/mod_BlockCalc/cntr_KM201/ | Запуск контроллера!
1|/DemoStation/sub_DAQ/mod_BlockCalc/cntr_Anast1to2node/ | Запуск контроллера!
1|/DemoStation/sub_DAQ/mod_BlockCalc/cntr_KM301/ | Запуск контроллера!
1|/DemoStation/sub_DAQ/mod_BlockCalc/cntr_KM302/ | Запуск контроллера!
1|/DemoStation/sub_DAQ/mod_System/cntr_AutoDA/ | Запуск контроллера!
1|/DemoStation/sub_DAQ/mod_LogicLev/cntr_experiment/ | Запуск контроллера!
1|/DemoStation/sub_Archive/ | Пуск подсистемы.
1|/DemoStation/sub_UI/mod_VCAEngine/ | Старт модуля.
3|/DemoStation/sub_BD/mod_SQLite/db_GenDB/ | Ошибка запроса таблицы: attempt to write a readonly database
3|/DemoStation/sub_BD/mod_SQLite/db_GenDB/ | Ошибка запроса таблицы: attempt to write a readonly database
terminate called after throwing an instance of 'TError'
7|/DemoStation/ | OpenSCADA прервана!
/usr/bin/openscada_demo: line 6: 7355 Аварийный останов openscada --Config=/etc/oscada_demo.xml $@
[kuzulis@kuzulis oscada]$


Нормально произошел запуск или нет?
4. Проанализируйте пожалуйста содержимое пакета (структуры директорий) и скажите, что еще нужно и куда добавить. Пакет представляет собой простой архив со структурой директорий куда и что будет копироваться.

PKGBUILD и пакет прилагаю (пакет пошлю наверное Роману на почту, т.к. его размер около 10 Мб).
Attachment

PKGBUILD (File type: application/octet-stream, Size: 1.87 kilobytes) — 2502 downloads
Written on: 17. 11. 2009 [20:30]
Aleksey
Aleksey Popkov
Contributor
registered since: 31.07.2008
Posts: 326

3|/DemoStation/sub_BD/mod_SQLite/db_GenDB/ | Ошибка запроса таблицы: attempt to write a readonly database
3|/DemoStation/sub_BD/mod_SQLite/db_GenDB/ | Ошибка запроса таблицы: attempt to write a readonly database

С правами напортачили. Каталог DATA, туда OpenSCADA писать хочет и должна. Данные то не статичны.

[This article was edited 1 times, at last 17.11.2009 at 20:33.]
Written on: 17. 11. 2009 [20:36]
kuzulis
Денис Шиенков
Topic creator
registered since: 10.07.2009
Posts: 128
ОК.

Но пакет не получается отправить.. У кого почта может принять 10 метров?
Written on: 17. 11. 2009 [20:50]
kuzulis
Денис Шиенков
Topic creator
registered since: 10.07.2009
Posts: 128

С правами напортачили. Каталог DATA, туда OpenSCADA писать хочет и должна. Данные то не статичны.

Ничего не портачил.. Как было написано в документации по скаде - так и делал.. Значит нужно исправить документацию..
т.к. каталоги :
/var/spool/openscada/ARCHIVES/MESS
и
/var/spool/openscada/ARCHIVES/VAL

имеют права читать/писать всем кому не лень, а
католог /var/spool/openscada/DATA - имеет права на запись только от рута.

т.е. вместо
mkdir /var/spool/openscada/{DATA,DEMO,icons}
нужно писать что-то вроде
mkdir /var/spool/openscada/{DEMO,icons}
install -m 777 -d /var/spool/openscada/{DATA}


[This article was edited 1 times, at last 17.11.2009 at 20:55.]
Written on: 17. 11. 2009 [21:42]
roman
Roman Savochenko
Moderator
Contributor
Developer
registered since: 12.12.2007
Posts: 3750
kuzulis написал:


С правами напортачили. Каталог DATA, туда OpenSCADA писать хочет и должна. Данные то не статичны.

Ничего не портачил.. Как было написано в документации по скаде - так и делал.. Значит нужно исправить документацию.

Где в документации написано, что она для создания пакетов и регламентирует права для них?

Такое бывает если база доступна на запись, в данном случае DEMO, а в директорию где эта база лежит писать пользователю нельзя. SQLite сбоит и падает в такой ситуации, потому как база якобы доступна для записи, а создать файл кеша не возможно.

Learn, learn and learn better than work, work and work.
Written on: 17. 11. 2009 [22:09]
Aleksey
Aleksey Popkov
Contributor
registered since: 31.07.2008
Posts: 326
kuzulis написал:


С правами напортачили. Каталог DATA, туда OpenSCADA писать хочет и должна. Данные то не статичны.



Значит нужно исправить документацию..

Да куда ее еще править, там документировано все "ОТ" и "ДО". Да и еще на нескольких языках. По ней 2-ва года назад делал и все получилось с пол пинка. С тех пор как отче наш исполняю.


т.к. каталоги :
/var/spool/openscada/ARCHIVES/MESS
и
/var/spool/openscada/ARCHIVES/VAL

имеют права читать/писать всем кому не лень, а
католог /var/spool/openscada/DATA - имеет права на запись только от рута.
т.е. вместо
mkdir /var/spool/openscada/{DATA,DEMO,icons}
нужно писать что-то вроде
mkdir /var/spool/openscada/{DEMO,icons}
install -m 777 -d /var/spool/openscada/{DATA}


Я подобное как-то наворганил по великой накурке только. В здравом уме и светлой памяти таких боков у меня не выходило. Зачем от рута выполнять-то. Вы ж не систему обновляете.
Written on: 17. 11. 2009 [22:10]
Aleksey
Aleksey Popkov
Contributor
registered since: 31.07.2008
Posts: 326
kuzulis написал:

ОК.

Но пакет не получается отправить.. У кого почта может принять 10 метров?



У меня может
Written on: 17. 11. 2009 [22:48]
kuzulis
Денис Шиенков
Topic creator
registered since: 10.07.2009
Posts: 128


Где в документации написано, что она для создания пакетов и регламентирует права для них?

Такое бывает если база доступна на запись, в данном случае DEMO, а в директорию где эта база лежит писать пользователю нельзя. SQLite сбоит и падает в такой ситуации, потому как база якобы доступна для записи, а создать файл кеша не возможно.

В том то и дело, что не написано.
И если делать так как написано в мануале по скаде - то директория DATA создается с правами записи только от рута. (т.к. пакет ставится от рута)

Ну так значит директория DATA должна иметь права для записи в нее любым пользователем или как вообще подразумевается?

Я так подозреваю, что "глобальная" установка подразумевает потом работу со скадой от рута чтоли?



Я подобное как-то наворганил по великой накурке только. В здравом уме и светлой памяти таких боков у меня не выходило. Зачем от рута выполнять-то. Вы ж не систему обновляете.


От рута устанавливается пакет!
При создании пакета - ABS выполняет инструкции по сборке из PKGBUILD и формирует структуру пакета в соответствии с ними.
Т.е. структура пакета повторяет структуру директорий и всех файлов , вместе с их правами и т.п.

А вот уже запуск скады уже от пользователя делаю.
И при этом, если не делать в пакете:
install -m 777 -d /var/spool/openscada/DATA
то вылазит это:

3|/DemoStation/sub_BD/mod_SQLite/db_GenDB/ | Ошибка запроса таблицы: attempt to write a readonly database
3|/DemoStation/sub_BD/mod_SQLite/db_GenDB/ | Ошибка запроса таблицы: attempt to write a readonly database




Written on: 17. 11. 2009 [22:57]
kuzulis
Денис Шиенков
Topic creator
registered since: 10.07.2009
Posts: 128
В общем вот последний на сегодня PKGBUILD

Если применять его для сборки пакета - то все работает (по крайней мере в консоль не сыпятся ошибки)
Attachment

PKGBUILD (File type: application/octet-stream, Size: 1.87 kilobytes) — 2468 downloads
Written on: 18. 11. 2009 [08:04]
Aleksey
Aleksey Popkov
Contributor
registered since: 31.07.2008
Posts: 326
Я знаю чего происходит при сборке, и у меня таких боков не было. Пакет собранный без особых проблем запускался и работал. Что у Вас там за гемор такой с правами и разбираться не хочется, эти бока только у вас помоиму вылезли.



5146