diff --git a/wiki/Prog/Development/Программные проект и иерархия каталогов.adoc b/wiki/Prog/Development/Программные проект и иерархия каталогов.adoc index 6c838d6..e5605b2 100644 --- a/wiki/Prog/Development/Программные проект и иерархия каталогов.adoc +++ b/wiki/Prog/Development/Программные проект и иерархия каталогов.adoc @@ -112,10 +112,78 @@ qDebug() << paths.systemConstDataDirectory().path(); | Журналы работы | userLogDirectory() | /home/user/.local/share/project/log |=== +==== Общая проверка Для определения типа текущего окружения используется полный путь к исполняемому файлу, если он находится в каталоге `bin`, то выполняются -проверки работы в одной из возможных вариантов иерархий, иначе -делается заключение о том, что файлы всех типов находятся в одном -каталоге с исполняемым. +проверки работы в одной из возможных вариантов иерархий, +иначе делается заключение о том, что файлы всех типов находятся +в одном каталоге с исполняемым и дальнейшие проверки не выполняются. + +==== Проверка на работу в иерархии `/opt` + +Если полный путь к исполняемому файлу начинается c `/opt` и +содержит в себе название текущего проекта, например +`/opt/org/project/bin/application`, то выполняется проверка +на наличие сопутствующих системных каталогов. Если они присутствуют, +то принимается решение, что окружение в иерархии `/opt` сформировано правильно, +иначе делается заключение о том, что файлы всех типов находятся +в одном каталоге с исполняемым и дальнейшие проверки не выполняются. +Пример правильной структуры каталогов для данной иерархии приведён в таблице. + + +[cols="3,3m,5m",options="header",] +|=== +| Назначение каталога | Метод | Значение +| Исполняемый файл | executableFilePath() | /opt/org/project/bin/application +| Файлы настройки | systemConfigDirectory() | /opt/org/project/etc +| Неизменяемые файлы | systemConstDataDirectory() | /opt/org/project/files/data +| Изменяемые файлы | systemVarDataDirectory() | /opt/org/project/files/lib +| Журналы работы | systemLogDirectory() | /opt/org/project/files/log +|=== + + +==== Проверка на работу в иерархии `/usr/local` + +Если полный путь к исполняемому файлу начинается c `/usr/local`, +например `/usr/local/bin/application`, то выполняется проверка +на наличие сопутствующих системных каталогов. Если они присутствуют, +то принимается решение, что окружение в иерархии `/usr/local` сформировано правильно, +иначе делается заключение о том, что файлы всех типов находятся +в одном каталоге с исполняемым и дальнейшие проверки не выполняются. +Пример правильной структуры каталогов для данной иерархии приведён в таблице. + + +[cols="3,3m,5m",options="header",] +|=== +| Назначение каталога | Метод | Значение +| Исполняемый файл | executableFilePath() | /usr/local/bin/application +| Файлы настройки | systemConfigDirectory() | /usr/local/etc/project +| Неизменяемые файлы | systemConstDataDirectory() | /usr/local/share/project +| Изменяемые файлы | systemVarDataDirectory() | /var/lib/project +| Журналы работы | systemLogDirectory() | /var/log/project +|=== + + +==== Проверка на работу в иерархии `/usr` + +Если полный путь к исполняемому файлу начинается c `/usr`, +например `/usr/bin/application`, то выполняется проверка +на наличие сопутствующих системных каталогов. Если они присутствуют, +то принимается решение, что окружение в иерархии `/usr` сформировано правильно, +иначе делается заключение о том, что файлы всех типов находятся +в одном каталоге с исполняемым и дальнейшие проверки не выполняются. +Пример правильной структуры каталогов для данной иерархии приведён в таблице. + + +[cols="3,3m,5m",options="header",] +|=== +| Назначение каталога | Метод | Значение +| Исполняемый файл | executableFilePath() | /usr/bin/application +| Файлы настройки | systemConfigDirectory() | /etc/project +| Неизменяемые файлы | systemConstDataDirectory() | /usr/share/project +| Изменяемые файлы | systemVarDataDirectory() | /var/lib/project +| Журналы работы | systemLogDirectory() | /var/log/project +|=== +