This commit is contained in:
Andrei Astafev 2020-04-13 11:19:37 +03:00
parent 4bdb12c95e
commit 0160aab51f

View File

@ -134,14 +134,14 @@ qDebug() << paths.systemConstDataDirectory().path();
[cols="3,3m,5m",options="header",] [cols="3,3m,5m",options="header",]
| === |===
| Назначение файла / каталога | Метод | Значение | Назначение файла / каталога | Метод | Значение
| Исполняемый файл | executableFilePath() | /opt/org/project/bin/application | Исполняемый файл | executableFilePath() | /opt/org/project/bin/application
| Файлы настройки | systemConfigDirectory() | /opt/org/project/etc | Файлы настройки | systemConfigDirectory() | /opt/org/project/etc
| Неизменяемые файлы | systemConstDataDirectory() | /opt/org/project/files/data | Неизменяемые файлы | systemConstDataDirectory() | /opt/org/project/files/data
| Изменяемые файлы | systemVarDataDirectory() | /opt/org/project/files/lib | Изменяемые файлы | systemVarDataDirectory() | /opt/org/project/files/lib
| Журналы работы | systemLogDirectory() | /opt/org/project/files/log | Журналы работы | systemLogDirectory() | /opt/org/project/files/log
| === |===
==== Проверка на работу в иерархии `/usr/local` ==== Проверка на работу в иерархии `/usr/local`
@ -156,14 +156,14 @@ qDebug() << paths.systemConstDataDirectory().path();
[cols="3,3m,5m",options="header",] [cols="3,3m,5m",options="header",]
| === |===
| Назначение файла / каталога | Метод | Значение | Назначение файла / каталога | Метод | Значение
| Исполняемый файл | executableFilePath() | /usr/local/bin/application | Исполняемый файл | executableFilePath() | /usr/local/bin/application
| Файлы настройки | systemConfigDirectory() | /usr/local/etc/project | Файлы настройки | systemConfigDirectory() | /usr/local/etc/project
| Неизменяемые файлы | systemConstDataDirectory() | /usr/local/share/project | Неизменяемые файлы | systemConstDataDirectory() | /usr/local/share/project
| Изменяемые файлы | systemVarDataDirectory() | /var/lib/project | Изменяемые файлы | systemVarDataDirectory() | /var/lib/project
| Журналы работы | systemLogDirectory() | /var/log/project | Журналы работы | systemLogDirectory() | /var/log/project
| === |===
==== Проверка на работу в иерархии `/usr` ==== Проверка на работу в иерархии `/usr`
@ -178,13 +178,35 @@ qDebug() << paths.systemConstDataDirectory().path();
[cols="3,3m,5m",options="header",] [cols="3,3m,5m",options="header",]
| === |===
| Назначение файла / каталога | Метод | Значение | Назначение файла / каталога | Метод | Значение
| Исполняемый файл | executableFilePath() | /usr/bin/application | Исполняемый файл | executableFilePath() | /usr/bin/application
| Файлы настройки | systemConfigDirectory() | /etc/project | Файлы настройки | systemConfigDirectory() | /etc/project
| Неизменяемые файлы | systemConstDataDirectory() | /usr/share/project | Неизменяемые файлы | systemConstDataDirectory() | /usr/share/project
| Изменяемые файлы | systemVarDataDirectory() | /var/lib/project | Изменяемые файлы | systemVarDataDirectory() | /var/lib/project
| Журналы работы | systemLogDirectory() | /var/log/project | Журналы работы | systemLogDirectory() | /var/log/project
| === |===
==== Проверка на работу в домашнем каталоге
Если полный путь к исполняемому файлу начинается c `/home/user/bin` или
`/home/user/.local/bin`, например `/home/user/bin/application`, то выполняется
проверка на наличие сопутствующих системных каталогов. Если они присутствуют,
то принимается решение, что окружение в домашнем каталоге сформировано правильно,
иначе делается заключение о том, что файлы всех типов находятся
в одном каталоге с исполняемым и дальнейшие проверки не выполняются.
Пример правильной структуры каталогов для данной иерархии приведён в таблице.
[cols="3,3m,5m",options="header",]
|===
| Назначение файла / каталога | Метод | Значение
| Исполняемый файл | executableFilePath() | /home/user/bin/application
| Файлы настройки | systemConfigDirectory() | /home/user/.config/project
| Неизменяемые файлы | systemConstDataDirectory() | /home/user/.local/share/project/data
| Изменяемые файлы | systemVarDataDirectory() | /home/user/.local/share/project/lib
| Журналы работы | systemLogDirectory() | /home/user/.local/share/project/log
|===