404
- -Страница не найдена
- - -diff --git a/README.md b/README.md index 504509a..76ab363 100644 --- a/README.md +++ b/README.md @@ -130,7 +130,7 @@ http://[ip]:8081 ## Документация -[OnLine](https://mockgui.brepo.ru) +[OnLine](https://docs.brepo.ru/mockgui/) ### Сборка локальной докумнтации diff --git a/docs/mock-gui/site/404.html b/docs/mock-gui/site/404.html deleted file mode 100644 index 87ba232..0000000 --- a/docs/mock-gui/site/404.html +++ /dev/null @@ -1,145 +0,0 @@ - - -
- - - - -Страница не найдена
- - -Системя является однопользовательской.
-Рекомендуется устанвливать ее на локальной машине в локальной сети.
-cd docs/mock-gui
-pip install mkdocs
-pip install markupsafe==2.0.1
-pip install mkdocs-bootstrap
-
-Локальный сервер:
-mkdocs serve
-
-Или статическая документация:
-mkdocs build
-
-
- Это однопользовательская система по сборке ПО, а так же по подготовке репозиториев для установки собранного ПО.
-Система является надстройкой над git, mock, rpmbuild, т.е. использует данные команды для подготовки и сборки программ.
-mock в отличие от rpmbuild позволяет собрать пакет, при этом не изменяя конфигурацию системы, где он собирается и очистка изменений затрагивает удаление всего одного каталога сборки проекта, а MockGUI позволяет через web интерфейс управлять сборками. Группировать их и готовить к публикации.
-MockGUI содержит линейный список git проектов, которые позволяет сгруппировать в проекты.
-Каждый проект является отдельным репозиторием, подписанный проект может быть доступен для использования в локальной сети.
-ПО может быть установлено на следующих ОС:
-Требования к системе:
-- | Минимальные требовнаия | -
---|---|
CPU | -1 ядро | -
Memory | -Зависит от собираемых исходников, для небольших проектов 2Гб | -
HDD | -размер исходных кодов * 4 | -
dnf install epel-release
-dnf install ansible git
-git clone https://dev.brepo.ru/brepo/mock-gui.git
-cd mock-gui/install
-ansible-galaxy install -r requirements.yml
-ansible-playbook mock-gui-install.yml --ask-become-pass
-перезагрузить систему
-systemctl enable mockgui
-systemctl start mockgui
-
-И обязательно задать пароль для mockgui, т.к. без ключа git будет запрашивать именно пароль для этого пользователя:
-passwd mockgui
-
-sudo dnf install epel-release
-sudo dnf install ansible git
-git clone https://dev.brepo.ru/brepo/mock-gui.git
-cd mock-gui/install
-ansible-galaxy install -r requirements.yml
-ansible-playbook mock-gui-install.yml --ask-become-pass
-перезагрузить систему
-sudo systemctl enable mockgui
-sudo systemctl start mockgui
-
-И обязательно задать пароль для mockgui, т.к. без ключа git будет запрашивать именно пароль для этого пользователя:
-passwd mockgui
-
-Команды ниже выполнять под root или привилегированным пользователем с sudo:
-systemctl stop firewalld
systemctl disable firewalld
systemctl stop nftables
systemctl disable nftables
useradd mockgui
# cat /etc/yum.repos.d/brepo_projects.repo
-[brepo_projects]
-name=msvsphere9 repo on repo.brepo.ru
-baseurl=https://repo.brepo.ru/hestia/
-enabled=1
-gpgkey=https://repo.brepo.ru/hestia/brepo_projects-gpg-key
-gpgcheck=1
-
-dnf install epel-release
dnf install mock rpmdevtools rpm-build ccache rpm-sign sqlite sqlite-devel alt-brepo-ruby33 openssh-server git tar gcc gcc-c++ make cmake alt-brepo-ruby33-devel openssl-devel zlib-devel
usermod -a -G mock mockgui
export PATH=/usr/lib64/ccache:$PATH
Команды ниже выполнять под пользователем mockgui:
-cd ~
git clone https://dev.brepo.ru/brepo/mock-gui.git
cd mock-gui
/opt/brepo/ruby33/bin/bundle install
/opt/brepo/ruby33/bin/bundle exec sequel -m db/migrations sqlite://db/workbase.sqlite3
Следующая команда от root:
-cp /home/mockgui/mock-gui/mockgui.service /etc/systemd/system/mockgui.service
systemctl enable mockgui.service --now
И обязательно задать пароль для mockgui, т.к. без ключа git будет запрашивать именно пароль для этого пользователя:
-passwd mockgui
Для запуска необходимо выполнить слудующую команду:
-sudo systemctl start mockgui
-
-Ручной запуск без service файла может выпоняться от пользователя состоящего в группе mock
.
Подготовка базы данных(деалется один раз):
-/opt/brepo/ruby33/bin/bundle exec sequel -m db/migrations sqlite://db/workbase.sqlite3
-
-Запуск приложения
-/opt/brepo/ruby33/bin/bundle exec /opt/brepo/ruby33/bin/ruby app.rb
-
-Открыть в браузере страницу:
-http://[ip]:8081
-
-
- ' + escapeHtml(summary) +'
' + noResultsText + '
'); - } -} - -function doSearch () { - var query = document.getElementById('mkdocs-search-query').value; - if (query.length > min_search_length) { - if (!window.Worker) { - displayResults(search(query)); - } else { - searchWorker.postMessage({query: query}); - } - } else { - // Clear results for short queries - displayResults([]); - } -} - -function initSearch () { - var search_input = document.getElementById('mkdocs-search-query'); - if (search_input) { - search_input.addEventListener("keyup", doSearch); - } - var term = getSearchTermFromLocation(); - if (term) { - search_input.value = term; - doSearch(); - } -} - -function onWorkerMessage (e) { - if (e.data.allowSearch) { - initSearch(); - } else if (e.data.results) { - var results = e.data.results; - displayResults(results); - } else if (e.data.config) { - min_search_length = e.data.config.min_search_length-1; - } -} - -if (!window.Worker) { - console.log('Web Worker API not supported'); - // load index in main thread - $.getScript(joinUrl(base_url, "search/worker.js")).done(function () { - console.log('Loaded worker'); - init(); - window.postMessage = function (msg) { - onWorkerMessage({data: msg}); - }; - }).fail(function (jqxhr, settings, exception) { - console.error('Could not load worker.js'); - }); -} else { - // Wrap search in a web worker - var searchWorker = new Worker(joinUrl(base_url, "search/worker.js")); - searchWorker.postMessage({init: true}); - searchWorker.onmessage = onWorkerMessage; -} diff --git a/docs/mock-gui/site/search/search_index.json b/docs/mock-gui/site/search/search_index.json deleted file mode 100644 index 9e1729c..0000000 --- a/docs/mock-gui/site/search/search_index.json +++ /dev/null @@ -1 +0,0 @@ -{"config":{"indexing":"full","lang":["ru"],"min_search_length":3,"prebuild_index":false,"separator":"[\\s\\-]+"},"docs":[{"location":"","text":"MockGUI \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u0441\u0431\u043e\u0440\u043a\u0438 RPM \u043f\u0430\u043a\u0435\u0442\u043e\u0432 \u041e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u042d\u0442\u043e \u043e\u0434\u043d\u043e\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0430\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u043f\u043e \u0441\u0431\u043e\u0440\u043a\u0435 \u041f\u041e, \u0430 \u0442\u0430\u043a \u0436\u0435 \u043f\u043e \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043a\u0435 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0435\u0432 \u0434\u043b\u044f \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u0441\u043e\u0431\u0440\u0430\u043d\u043d\u043e\u0433\u043e \u041f\u041e. \u0421\u0438\u0441\u0442\u0435\u043c\u0430 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043d\u0430\u0434\u0441\u0442\u0440\u043e\u0439\u043a\u043e\u0439 \u043d\u0430\u0434 git, mock, rpmbuild, \u0442.\u0435. \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 \u0434\u0430\u043d\u043d\u044b\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u0434\u043b\u044f \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043a\u0438 \u0438 \u0441\u0431\u043e\u0440\u043a\u0438 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c. mock \u0432 \u043e\u0442\u043b\u0438\u0447\u0438\u0435 \u043e\u0442 rpmbuild \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0441\u043e\u0431\u0440\u0430\u0442\u044c \u043f\u0430\u043a\u0435\u0442, \u043f\u0440\u0438 \u044d\u0442\u043e\u043c \u043d\u0435 \u0438\u0437\u043c\u0435\u043d\u044f\u044f \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044e \u0441\u0438\u0441\u0442\u0435\u043c\u044b, \u0433\u0434\u0435 \u043e\u043d \u0441\u043e\u0431\u0438\u0440\u0430\u0435\u0442\u0441\u044f \u0438 \u043e\u0447\u0438\u0441\u0442\u043a\u0430 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439 \u0437\u0430\u0442\u0440\u0430\u0433\u0438\u0432\u0430\u0435\u0442 \u0443\u0434\u0430\u043b\u0435\u043d\u0438\u0435 \u0432\u0441\u0435\u0433\u043e \u043e\u0434\u043d\u043e\u0433\u043e \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u0430 \u0441\u0431\u043e\u0440\u043a\u0438 \u043f\u0440\u043e\u0435\u043a\u0442\u0430, \u0430 MockGUI \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0447\u0435\u0440\u0435\u0437 web \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c \u0441\u0431\u043e\u0440\u043a\u0430\u043c\u0438. \u0413\u0440\u0443\u043f\u043f\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0438\u0445 \u0438 \u0433\u043e\u0442\u043e\u0432\u0438\u0442\u044c \u043a \u043f\u0443\u0431\u043b\u0438\u043a\u0430\u0446\u0438\u0438. MockGUI \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u043b\u0438\u043d\u0435\u0439\u043d\u044b\u0439 \u0441\u043f\u0438\u0441\u043e\u043a git \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0441\u0433\u0440\u0443\u043f\u043f\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0432 \u043f\u0440\u043e\u0435\u043a\u0442\u044b. \u041a\u0430\u0436\u0434\u044b\u0439 \u043f\u0440\u043e\u0435\u043a\u0442 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u043c \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0435\u043c, \u043f\u043e\u0434\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u0439 \u043f\u0440\u043e\u0435\u043a\u0442 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0434\u043e\u0441\u0442\u0443\u043f\u0435\u043d \u0434\u043b\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0432 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u043e\u0439 \u0441\u0435\u0442\u0438. \u0413\u0434\u0435 \u043c\u043e\u0436\u043d\u043e \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u041f\u041e \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u043e \u043d\u0430 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0445 \u041e\u0421: MSVSphere 9 Almalinux 9 RockyLinux 9 \u0422\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u044f \u043a \u0441\u0438\u0441\u0442\u0435\u043c\u0435: \u041c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u044b\u0435 \u0442\u0440\u0435\u0431\u043e\u0432\u043d\u0430\u0438\u044f CPU 1 \u044f\u0434\u0440\u043e Memory \u0417\u0430\u0432\u0438\u0441\u0438\u0442 \u043e\u0442 \u0441\u043e\u0431\u0438\u0440\u0430\u0435\u043c\u044b\u0445 \u0438\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u043e\u0432, \u0434\u043b\u044f \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u0438\u0445 \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432 2\u0413\u0431 HDD \u0440\u0430\u0437\u043c\u0435\u0440 \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0445 \u043a\u043e\u0434\u043e\u0432 * 4 \u0418\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441","title":"MockGUI \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u0441\u0431\u043e\u0440\u043a\u0438 RPM \u043f\u0430\u043a\u0435\u0442\u043e\u0432"},{"location":"#mockgui-rpm","text":"","title":"MockGUI \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u0441\u0431\u043e\u0440\u043a\u0438 RPM \u043f\u0430\u043a\u0435\u0442\u043e\u0432"},{"location":"#_1","text":"\u042d\u0442\u043e \u043e\u0434\u043d\u043e\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0430\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u043f\u043e \u0441\u0431\u043e\u0440\u043a\u0435 \u041f\u041e, \u0430 \u0442\u0430\u043a \u0436\u0435 \u043f\u043e \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043a\u0435 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0435\u0432 \u0434\u043b\u044f \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u0441\u043e\u0431\u0440\u0430\u043d\u043d\u043e\u0433\u043e \u041f\u041e. \u0421\u0438\u0441\u0442\u0435\u043c\u0430 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043d\u0430\u0434\u0441\u0442\u0440\u043e\u0439\u043a\u043e\u0439 \u043d\u0430\u0434 git, mock, rpmbuild, \u0442.\u0435. \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 \u0434\u0430\u043d\u043d\u044b\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u0434\u043b\u044f \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043a\u0438 \u0438 \u0441\u0431\u043e\u0440\u043a\u0438 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c. mock \u0432 \u043e\u0442\u043b\u0438\u0447\u0438\u0435 \u043e\u0442 rpmbuild \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0441\u043e\u0431\u0440\u0430\u0442\u044c \u043f\u0430\u043a\u0435\u0442, \u043f\u0440\u0438 \u044d\u0442\u043e\u043c \u043d\u0435 \u0438\u0437\u043c\u0435\u043d\u044f\u044f \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044e \u0441\u0438\u0441\u0442\u0435\u043c\u044b, \u0433\u0434\u0435 \u043e\u043d \u0441\u043e\u0431\u0438\u0440\u0430\u0435\u0442\u0441\u044f \u0438 \u043e\u0447\u0438\u0441\u0442\u043a\u0430 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439 \u0437\u0430\u0442\u0440\u0430\u0433\u0438\u0432\u0430\u0435\u0442 \u0443\u0434\u0430\u043b\u0435\u043d\u0438\u0435 \u0432\u0441\u0435\u0433\u043e \u043e\u0434\u043d\u043e\u0433\u043e \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u0430 \u0441\u0431\u043e\u0440\u043a\u0438 \u043f\u0440\u043e\u0435\u043a\u0442\u0430, \u0430 MockGUI \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0447\u0435\u0440\u0435\u0437 web \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c \u0441\u0431\u043e\u0440\u043a\u0430\u043c\u0438. \u0413\u0440\u0443\u043f\u043f\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0438\u0445 \u0438 \u0433\u043e\u0442\u043e\u0432\u0438\u0442\u044c \u043a \u043f\u0443\u0431\u043b\u0438\u043a\u0430\u0446\u0438\u0438. MockGUI \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u043b\u0438\u043d\u0435\u0439\u043d\u044b\u0439 \u0441\u043f\u0438\u0441\u043e\u043a git \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0441\u0433\u0440\u0443\u043f\u043f\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0432 \u043f\u0440\u043e\u0435\u043a\u0442\u044b. \u041a\u0430\u0436\u0434\u044b\u0439 \u043f\u0440\u043e\u0435\u043a\u0442 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u043c \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0435\u043c, \u043f\u043e\u0434\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u0439 \u043f\u0440\u043e\u0435\u043a\u0442 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0434\u043e\u0441\u0442\u0443\u043f\u0435\u043d \u0434\u043b\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0432 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u043e\u0439 \u0441\u0435\u0442\u0438.","title":"\u041e\u043f\u0438\u0441\u0430\u043d\u0438\u0435"},{"location":"#_2","text":"\u041f\u041e \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u043e \u043d\u0430 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0445 \u041e\u0421: MSVSphere 9 Almalinux 9 RockyLinux 9 \u0422\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u044f \u043a \u0441\u0438\u0441\u0442\u0435\u043c\u0435: \u041c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u044b\u0435 \u0442\u0440\u0435\u0431\u043e\u0432\u043d\u0430\u0438\u044f CPU 1 \u044f\u0434\u0440\u043e Memory \u0417\u0430\u0432\u0438\u0441\u0438\u0442 \u043e\u0442 \u0441\u043e\u0431\u0438\u0440\u0430\u0435\u043c\u044b\u0445 \u0438\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u043e\u0432, \u0434\u043b\u044f \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u0438\u0445 \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432 2\u0413\u0431 HDD \u0440\u0430\u0437\u043c\u0435\u0440 \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0445 \u043a\u043e\u0434\u043e\u0432 * 4","title":"\u0413\u0434\u0435 \u043c\u043e\u0436\u043d\u043e \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c"},{"location":"#_3","text":"","title":"\u0418\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441"},{"location":"common/","text":"\u041e\u0431\u0449\u0438\u0439 \u043f\u0440\u0438\u043d\u0446\u0438\u043f \u0440\u0430\u0431\u043e\u0442\u044b \u0441 MockGUI \u0421\u0438\u0441\u0442\u0435\u043c\u044f \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043e\u0434\u043d\u043e\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u043e\u0439. \u0420\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u0435\u0442\u0441\u044f \u0443\u0441\u0442\u0430\u043d\u0432\u043b\u0438\u0432\u0430\u0442\u044c \u0435\u0435 \u043d\u0430 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u043e\u0439 \u043c\u0430\u0448\u0438\u043d\u0435 \u0432 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u043e\u0439 \u0441\u0435\u0442\u0438. \u0422\u0435\u043a\u0443\u0449\u0438\u0435 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u044f \u041e\u0434\u043d\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e \u043c\u043e\u0436\u0435\u0442 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0442\u044c\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u043e\u0434\u043d\u0430 \u0441\u0431\u043e\u0440\u043a\u0430. \u0421\u0431\u043e\u0440\u043a\u0430 \u043f\u043e\u0442\u0440\u0435\u0431\u043b\u044f\u0435\u0442 \u0432\u0441\u0435 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u0435 \u044f\u0434\u0440\u0430 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u0430 \u041d\u0430 \u0442\u0435\u043a\u0443\u0449\u0438\u0439 \u043c\u043e\u043c\u0435\u043d\u0442 \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f alpha \u0441\u0431\u043e\u0440\u043a\u043e\u0439, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043f\u043e\u0434\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043e\u0448\u0438\u0431\u043e\u043a \u043d\u0435 \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u043e, \u0434\u043b\u044f \u0434\u0435\u0442\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u043e\u0442\u0441\u043b\u0435\u0436\u0438\u0432\u0430\u043d\u0438\u044f \u043e\u0448\u0438\u0431\u043e\u043a","title":"\u041e\u0431\u0449\u0438\u0439 \u043f\u0440\u0438\u043d\u0446\u0438\u043f \u0440\u0430\u0431\u043e\u0442\u044b \u0441 MockGUI"},{"location":"common/#mockgui","text":"\u0421\u0438\u0441\u0442\u0435\u043c\u044f \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043e\u0434\u043d\u043e\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u043e\u0439. \u0420\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u0435\u0442\u0441\u044f \u0443\u0441\u0442\u0430\u043d\u0432\u043b\u0438\u0432\u0430\u0442\u044c \u0435\u0435 \u043d\u0430 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u043e\u0439 \u043c\u0430\u0448\u0438\u043d\u0435 \u0432 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u043e\u0439 \u0441\u0435\u0442\u0438.","title":"\u041e\u0431\u0449\u0438\u0439 \u043f\u0440\u0438\u043d\u0446\u0438\u043f \u0440\u0430\u0431\u043e\u0442\u044b \u0441 MockGUI"},{"location":"common/#_1","text":"\u041e\u0434\u043d\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e \u043c\u043e\u0436\u0435\u0442 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0442\u044c\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u043e\u0434\u043d\u0430 \u0441\u0431\u043e\u0440\u043a\u0430. \u0421\u0431\u043e\u0440\u043a\u0430 \u043f\u043e\u0442\u0440\u0435\u0431\u043b\u044f\u0435\u0442 \u0432\u0441\u0435 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u0435 \u044f\u0434\u0440\u0430 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u0430 \u041d\u0430 \u0442\u0435\u043a\u0443\u0449\u0438\u0439 \u043c\u043e\u043c\u0435\u043d\u0442 \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f alpha \u0441\u0431\u043e\u0440\u043a\u043e\u0439, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043f\u043e\u0434\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043e\u0448\u0438\u0431\u043e\u043a \u043d\u0435 \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u043e, \u0434\u043b\u044f \u0434\u0435\u0442\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u043e\u0442\u0441\u043b\u0435\u0436\u0438\u0432\u0430\u043d\u0438\u044f \u043e\u0448\u0438\u0431\u043e\u043a","title":"\u0422\u0435\u043a\u0443\u0449\u0438\u0435 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u044f"},{"location":"docs/","text":"\u0414\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f \u0421\u0431\u043e\u0440\u043a\u0430 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u043e\u0439 \u0434\u043e\u043a\u0443\u043c\u043d\u0442\u0430\u0446\u0438\u0438 cd docs/mock-gui pip install mkdocs pip install markupsafe==2.0.1 pip install mkdocs-bootstrap \u041b\u043e\u043a\u0430\u043b\u044c\u043d\u044b\u0439 \u0441\u0435\u0440\u0432\u0435\u0440: mkdocs serve \u0418\u043b\u0438 \u0441\u0442\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0430\u044f \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f: mkdocs build","title":"\u0414\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f"},{"location":"docs/#_1","text":"","title":"\u0414\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f"},{"location":"docs/#_2","text":"cd docs/mock-gui pip install mkdocs pip install markupsafe==2.0.1 pip install mkdocs-bootstrap \u041b\u043e\u043a\u0430\u043b\u044c\u043d\u044b\u0439 \u0441\u0435\u0440\u0432\u0435\u0440: mkdocs serve \u0418\u043b\u0438 \u0441\u0442\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0430\u044f \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f: mkdocs build","title":"\u0421\u0431\u043e\u0440\u043a\u0430 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u043e\u0439 \u0434\u043e\u043a\u0443\u043c\u043d\u0442\u0430\u0446\u0438\u0438"},{"location":"install/","text":"\u0421\u043f\u043e\u0441\u043e\u0431\u044b \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u0421 \u043f\u043e\u043c\u043e\u0449\u044c\u044e ansible \u043e\u0442 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f root dnf install epel-release dnf install ansible git git clone https://dev.brepo.ru/brepo/mock-gui.git cd mock-gui/install ansible-galaxy install -r requirements.yml ansible-playbook mock-gui-install.yml --ask-become-pass \u043f\u0435\u0440\u0435\u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c \u0441\u0438\u0441\u0442\u0435\u043c\u0443 systemctl enable mockgui systemctl start mockgui \u0418 \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u0437\u0430\u0434\u0430\u0442\u044c \u043f\u0430\u0440\u043e\u043b\u044c \u0434\u043b\u044f mockgui, \u0442.\u043a. \u0431\u0435\u0437 \u043a\u043b\u044e\u0447\u0430 git \u0431\u0443\u0434\u0435\u0442 \u0437\u0430\u043f\u0440\u0430\u0448\u0438\u0432\u0430\u0442\u044c \u0438\u043c\u0435\u043d\u043d\u043e \u043f\u0430\u0440\u043e\u043b\u044c \u0434\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f: passwd mockgui \u0421 \u043f\u043e\u043c\u043e\u0449\u044c\u044e ansible \u0438 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c \u0432 sudo sudo dnf install epel-release sudo dnf install ansible git git clone https://dev.brepo.ru/brepo/mock-gui.git cd mock-gui/install ansible-galaxy install -r requirements.yml ansible-playbook mock-gui-install.yml --ask-become-pass \u043f\u0435\u0440\u0435\u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c \u0441\u0438\u0441\u0442\u0435\u043c\u0443 sudo systemctl enable mockgui sudo systemctl start mockgui \u0418 \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u0437\u0430\u0434\u0430\u0442\u044c \u043f\u0430\u0440\u043e\u043b\u044c \u0434\u043b\u044f mockgui, \u0442.\u043a. \u0431\u0435\u0437 \u043a\u043b\u044e\u0447\u0430 git \u0431\u0443\u0434\u0435\u0442 \u0437\u0430\u043f\u0440\u0430\u0448\u0438\u0432\u0430\u0442\u044c \u0438\u043c\u0435\u043d\u043d\u043e \u043f\u0430\u0440\u043e\u043b\u044c \u0434\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f: passwd mockgui \u0420\u0443\u0447\u043d\u0430\u044f \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 \u041a\u043e\u043c\u0430\u043d\u0434\u044b \u043d\u0438\u0436\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c \u043f\u043e\u0434 root \u0438\u043b\u0438 \u043f\u0440\u0438\u0432\u0438\u043b\u0435\u0433\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u043c \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u043c \u0441 sudo: \u043e\u0442\u043a\u043b\u044e\u0447\u0438\u0442\u044c selinux systemctl stop firewalld systemctl disable firewalld systemctl stop nftables systemctl disable nftables useradd mockgui \u0414\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0439: # cat /etc/yum.repos.d/brepo_projects.repo [brepo_projects] name=msvsphere9 repo on repo.brepo.ru baseurl=https://repo.brepo.ru/hestia/ enabled=1 gpgkey=https://repo.brepo.ru/hestia/brepo_projects-gpg-key gpgcheck=1 dnf install epel-release dnf install mock rpmdevtools rpm-build ccache rpm-sign sqlite sqlite-devel alt-brepo-ruby33 openssh-server git tar gcc gcc-c++ make cmake alt-brepo-ruby33-devel openssl-devel zlib-devel usermod -a -G mock mockgui \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0432 .bashrc root \u0438 mockgui \u0441\u0442\u0440\u043e\u043a\u0438: export PATH=/usr/lib64/ccache:$PATH \u041a\u043e\u043c\u0430\u043d\u0434\u044b \u043d\u0438\u0436\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c \u043f\u043e\u0434 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u043c mockgui: cd ~ git clone https://dev.brepo.ru/brepo/mock-gui.git cd mock-gui /opt/brepo/ruby33/bin/bundle install /opt/brepo/ruby33/bin/bundle exec sequel -m db/migrations sqlite://db/workbase.sqlite3 \u0421\u043b\u0435\u0434\u0443\u044e\u0449\u0430\u044f \u043a\u043e\u043c\u0430\u043d\u0434\u0430 \u043e\u0442 root: cp /home/mockgui/mock-gui/mockgui.service /etc/systemd/system/mockgui.service systemctl enable mockgui.service --now \u0418 \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u0437\u0430\u0434\u0430\u0442\u044c \u043f\u0430\u0440\u043e\u043b\u044c \u0434\u043b\u044f mockgui, \u0442.\u043a. \u0431\u0435\u0437 \u043a\u043b\u044e\u0447\u0430 git \u0431\u0443\u0434\u0435\u0442 \u0437\u0430\u043f\u0440\u0430\u0448\u0438\u0432\u0430\u0442\u044c \u0438\u043c\u0435\u043d\u043d\u043e \u043f\u0430\u0440\u043e\u043b\u044c \u0434\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f: passwd mockgui","title":"\u0421\u043f\u043e\u0441\u043e\u0431\u044b \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438"},{"location":"install/#_1","text":"","title":"\u0421\u043f\u043e\u0441\u043e\u0431\u044b \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438"},{"location":"install/#ansible-root","text":"dnf install epel-release dnf install ansible git git clone https://dev.brepo.ru/brepo/mock-gui.git cd mock-gui/install ansible-galaxy install -r requirements.yml ansible-playbook mock-gui-install.yml --ask-become-pass \u043f\u0435\u0440\u0435\u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c \u0441\u0438\u0441\u0442\u0435\u043c\u0443 systemctl enable mockgui systemctl start mockgui \u0418 \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u0437\u0430\u0434\u0430\u0442\u044c \u043f\u0430\u0440\u043e\u043b\u044c \u0434\u043b\u044f mockgui, \u0442.\u043a. \u0431\u0435\u0437 \u043a\u043b\u044e\u0447\u0430 git \u0431\u0443\u0434\u0435\u0442 \u0437\u0430\u043f\u0440\u0430\u0448\u0438\u0432\u0430\u0442\u044c \u0438\u043c\u0435\u043d\u043d\u043e \u043f\u0430\u0440\u043e\u043b\u044c \u0434\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f: passwd mockgui","title":"\u0421 \u043f\u043e\u043c\u043e\u0449\u044c\u044e ansible \u043e\u0442 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f root"},{"location":"install/#ansible-sudo","text":"sudo dnf install epel-release sudo dnf install ansible git git clone https://dev.brepo.ru/brepo/mock-gui.git cd mock-gui/install ansible-galaxy install -r requirements.yml ansible-playbook mock-gui-install.yml --ask-become-pass \u043f\u0435\u0440\u0435\u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c \u0441\u0438\u0441\u0442\u0435\u043c\u0443 sudo systemctl enable mockgui sudo systemctl start mockgui \u0418 \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u0437\u0430\u0434\u0430\u0442\u044c \u043f\u0430\u0440\u043e\u043b\u044c \u0434\u043b\u044f mockgui, \u0442.\u043a. \u0431\u0435\u0437 \u043a\u043b\u044e\u0447\u0430 git \u0431\u0443\u0434\u0435\u0442 \u0437\u0430\u043f\u0440\u0430\u0448\u0438\u0432\u0430\u0442\u044c \u0438\u043c\u0435\u043d\u043d\u043e \u043f\u0430\u0440\u043e\u043b\u044c \u0434\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f: passwd mockgui","title":"\u0421 \u043f\u043e\u043c\u043e\u0449\u044c\u044e ansible \u0438 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c \u0432 sudo"},{"location":"install/#_2","text":"\u041a\u043e\u043c\u0430\u043d\u0434\u044b \u043d\u0438\u0436\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c \u043f\u043e\u0434 root \u0438\u043b\u0438 \u043f\u0440\u0438\u0432\u0438\u043b\u0435\u0433\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u043c \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u043c \u0441 sudo: \u043e\u0442\u043a\u043b\u044e\u0447\u0438\u0442\u044c selinux systemctl stop firewalld systemctl disable firewalld systemctl stop nftables systemctl disable nftables useradd mockgui \u0414\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0439: # cat /etc/yum.repos.d/brepo_projects.repo [brepo_projects] name=msvsphere9 repo on repo.brepo.ru baseurl=https://repo.brepo.ru/hestia/ enabled=1 gpgkey=https://repo.brepo.ru/hestia/brepo_projects-gpg-key gpgcheck=1 dnf install epel-release dnf install mock rpmdevtools rpm-build ccache rpm-sign sqlite sqlite-devel alt-brepo-ruby33 openssh-server git tar gcc gcc-c++ make cmake alt-brepo-ruby33-devel openssl-devel zlib-devel usermod -a -G mock mockgui \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0432 .bashrc root \u0438 mockgui \u0441\u0442\u0440\u043e\u043a\u0438: export PATH=/usr/lib64/ccache:$PATH \u041a\u043e\u043c\u0430\u043d\u0434\u044b \u043d\u0438\u0436\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c \u043f\u043e\u0434 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u043c mockgui: cd ~ git clone https://dev.brepo.ru/brepo/mock-gui.git cd mock-gui /opt/brepo/ruby33/bin/bundle install /opt/brepo/ruby33/bin/bundle exec sequel -m db/migrations sqlite://db/workbase.sqlite3 \u0421\u043b\u0435\u0434\u0443\u044e\u0449\u0430\u044f \u043a\u043e\u043c\u0430\u043d\u0434\u0430 \u043e\u0442 root: cp /home/mockgui/mock-gui/mockgui.service /etc/systemd/system/mockgui.service systemctl enable mockgui.service --now \u0418 \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u0437\u0430\u0434\u0430\u0442\u044c \u043f\u0430\u0440\u043e\u043b\u044c \u0434\u043b\u044f mockgui, \u0442.\u043a. \u0431\u0435\u0437 \u043a\u043b\u044e\u0447\u0430 git \u0431\u0443\u0434\u0435\u0442 \u0437\u0430\u043f\u0440\u0430\u0448\u0438\u0432\u0430\u0442\u044c \u0438\u043c\u0435\u043d\u043d\u043e \u043f\u0430\u0440\u043e\u043b\u044c \u0434\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f: passwd mockgui","title":"\u0420\u0443\u0447\u043d\u0430\u044f \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430"},{"location":"run/","text":"\u0417\u0430\u043f\u0443\u0441\u043a \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0414\u043b\u044f \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u044c \u0441\u043b\u0443\u0434\u0443\u044e\u0449\u0443\u044e \u043a\u043e\u043c\u0430\u043d\u0434\u0443: sudo systemctl start mockgui \u0420\u0443\u0447\u043d\u043e\u0439 \u0437\u0430\u043f\u0443\u0441\u043a \u0431\u0435\u0437 service \u0444\u0430\u0439\u043b\u0430 \u0420\u0443\u0447\u043d\u043e\u0439 \u0437\u0430\u043f\u0443\u0441\u043a \u0431\u0435\u0437 service \u0444\u0430\u0439\u043b\u0430 \u043c\u043e\u0436\u0435\u0442 \u0432\u044b\u043f\u043e\u043d\u044f\u0442\u044c\u0441\u044f \u043e\u0442 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u0441\u043e\u0441\u0442\u043e\u044f\u0449\u0435\u0433\u043e \u0432 \u0433\u0440\u0443\u043f\u043f\u0435 mock . \u041f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043a\u0430 \u0431\u0430\u0437\u044b \u0434\u0430\u043d\u043d\u044b\u0445(\u0434\u0435\u0430\u043b\u0435\u0442\u0441\u044f \u043e\u0434\u0438\u043d \u0440\u0430\u0437): /opt/brepo/ruby33/bin/bundle exec sequel -m db/migrations sqlite://db/workbase.sqlite3 \u0417\u0430\u043f\u0443\u0441\u043a \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f /opt/brepo/ruby33/bin/bundle exec /opt/brepo/ruby33/bin/ruby app.rb \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u041e\u0442\u043a\u0440\u044b\u0442\u044c \u0432 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0435 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0443: http://[ip]:8081","title":"\u0417\u0430\u043f\u0443\u0441\u043a \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f"},{"location":"run/#_1","text":"\u0414\u043b\u044f \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u044c \u0441\u043b\u0443\u0434\u0443\u044e\u0449\u0443\u044e \u043a\u043e\u043c\u0430\u043d\u0434\u0443: sudo systemctl start mockgui","title":"\u0417\u0430\u043f\u0443\u0441\u043a \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f"},{"location":"run/#service","text":"\u0420\u0443\u0447\u043d\u043e\u0439 \u0437\u0430\u043f\u0443\u0441\u043a \u0431\u0435\u0437 service \u0444\u0430\u0439\u043b\u0430 \u043c\u043e\u0436\u0435\u0442 \u0432\u044b\u043f\u043e\u043d\u044f\u0442\u044c\u0441\u044f \u043e\u0442 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u0441\u043e\u0441\u0442\u043e\u044f\u0449\u0435\u0433\u043e \u0432 \u0433\u0440\u0443\u043f\u043f\u0435 mock . \u041f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043a\u0430 \u0431\u0430\u0437\u044b \u0434\u0430\u043d\u043d\u044b\u0445(\u0434\u0435\u0430\u043b\u0435\u0442\u0441\u044f \u043e\u0434\u0438\u043d \u0440\u0430\u0437): /opt/brepo/ruby33/bin/bundle exec sequel -m db/migrations sqlite://db/workbase.sqlite3 \u0417\u0430\u043f\u0443\u0441\u043a \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f /opt/brepo/ruby33/bin/bundle exec /opt/brepo/ruby33/bin/ruby app.rb","title":"\u0420\u0443\u0447\u043d\u043e\u0439 \u0437\u0430\u043f\u0443\u0441\u043a \u0431\u0435\u0437 service \u0444\u0430\u0439\u043b\u0430"},{"location":"run/#_2","text":"\u041e\u0442\u043a\u0440\u044b\u0442\u044c \u0432 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0435 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0443: http://[ip]:8081","title":"\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f"},{"location":"update/","text":"\u041e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u0414\u043b\u044f \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u0441\u0435\u0440\u0432\u0438\u0441\u0430, \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043f\u0435\u0440\u0435\u0439\u0442\u0438 \u0432 \u043a\u043e\u0440\u043d\u0435\u0432\u043e\u0439 \u043a\u0430\u0442\u0430\u043b\u043e\u0433 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b \u043f\u043e\u0434 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u043c mockgui: cd /home/mockgui/mock-gui/ \u0418 \u0437\u0430\u0442\u0435\u043c \u0432\u044b\u0437\u0432\u0430\u0442\u044c \u043a\u043e\u043c\u0430\u043d\u0434\u0443: git pull \u0414\u0430\u043d\u043d\u0430 \u043a\u043e\u043c\u0430\u043d\u0434\u0430 \u043e\u0431\u043d\u043e\u0432\u0438\u0442 \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u0435 \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u0438, \u043d\u0435 \u0442\u0440\u043e\u043d\u0443\u0432 \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u0438 \u0441 \u0434\u0430\u043d\u043d\u044b\u043c\u0438. \u0418 \u0437\u0430\u0442\u0435\u043c \u043e\u0442 \u043f\u0440\u0438\u0432\u0438\u043b\u0435\u0433\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0433\u043e \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u0432\u044b\u0437\u0432\u0430\u0442\u044c: sudo systemctl restart mockgui.service \u0415\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0435 \u043f\u0440\u0435\u0434\u0443\u043f\u0440\u0435\u0436\u0434\u0435\u043d\u0438\u0435 - \u0432 \u043c\u043e\u043c\u0435\u043d\u0442 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u043d\u0435 \u0434\u043e\u043b\u0436\u043d\u043e \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442\u044c \u043d\u0438\u043a\u0430\u043a\u0438\u0445 \u0441\u0431\u043e\u0440\u043e\u043a \u0432 MockGUI, \u043e\u043d\u0438 \u0434\u043e\u043b\u0436\u043d\u044b \u0431\u044b\u0442\u044c \u0432\u0441\u0435 \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u043d\u044b\u0435.","title":"\u041e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435"},{"location":"update/#_1","text":"\u0414\u043b\u044f \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u0441\u0435\u0440\u0432\u0438\u0441\u0430, \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043f\u0435\u0440\u0435\u0439\u0442\u0438 \u0432 \u043a\u043e\u0440\u043d\u0435\u0432\u043e\u0439 \u043a\u0430\u0442\u0430\u043b\u043e\u0433 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b \u043f\u043e\u0434 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u043c mockgui: cd /home/mockgui/mock-gui/ \u0418 \u0437\u0430\u0442\u0435\u043c \u0432\u044b\u0437\u0432\u0430\u0442\u044c \u043a\u043e\u043c\u0430\u043d\u0434\u0443: git pull \u0414\u0430\u043d\u043d\u0430 \u043a\u043e\u043c\u0430\u043d\u0434\u0430 \u043e\u0431\u043d\u043e\u0432\u0438\u0442 \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u0435 \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u0438, \u043d\u0435 \u0442\u0440\u043e\u043d\u0443\u0432 \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u0438 \u0441 \u0434\u0430\u043d\u043d\u044b\u043c\u0438. \u0418 \u0437\u0430\u0442\u0435\u043c \u043e\u0442 \u043f\u0440\u0438\u0432\u0438\u043b\u0435\u0433\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0433\u043e \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u0432\u044b\u0437\u0432\u0430\u0442\u044c: sudo systemctl restart mockgui.service \u0415\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0435 \u043f\u0440\u0435\u0434\u0443\u043f\u0440\u0435\u0436\u0434\u0435\u043d\u0438\u0435 - \u0432 \u043c\u043e\u043c\u0435\u043d\u0442 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u043d\u0435 \u0434\u043e\u043b\u0436\u043d\u043e \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442\u044c \u043d\u0438\u043a\u0430\u043a\u0438\u0445 \u0441\u0431\u043e\u0440\u043e\u043a \u0432 MockGUI, \u043e\u043d\u0438 \u0434\u043e\u043b\u0436\u043d\u044b \u0431\u044b\u0442\u044c \u0432\u0441\u0435 \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u043d\u044b\u0435.","title":"\u041e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435"},{"location":"userguide/builds/","text":"\u0421\u043f\u0438\u0441\u043e\u043a \u0441\u0431\u043e\u0440\u043e\u043a \u041d\u0430 \u0434\u0430\u043d\u043d\u043e\u0439 \u0441\u0442\u0440\u0430\u0438\u043d\u0446\u0435 \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0430\u0435\u0442\u0441\u044f \u0438\u0444\u043d\u043e\u0440\u043c\u0430\u0446\u0438\u044f \u043e \u0442\u0435\u043a\u0443\u0449\u0438\u0445 \u0438 \u043f\u0440\u043e\u0448\u043b\u044b\u0445 \u0441\u0431\u043e\u0440\u043a\u0430\u0445 \u0415\u0441\u043b\u0438 \u043d\u0430\u0436\u0430\u0442\u044c \u043d\u0430 \u0441\u0441\u044b\u043b\u043a\u0443 \"\u0414\u0435\u0442\u0430\u043b\u044c\u043d\u0435\u0435\", \u0442\u043e \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0434\u0435\u0442\u0430\u043b\u044c\u043d\u0443\u044e \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e \u043e \u0441\u0431\u043e\u0440\u043a\u0435: \u0413\u0434\u0435 \u043c\u043e\u0436\u043d\u043e \u0443\u0432\u0438\u0434\u0435\u0442\u044c \u0432\u0435\u0441 \u0444\u0430\u0439\u043b\u044b \u043b\u043e\u0433\u043e\u0432 \u0441 \u043e\u0448\u0438\u0431\u043a\u0430\u043c\u0438 \u0438 \u0431\u0435\u0437, \u043f\u0430\u043a\u0435\u0442\u044b \u0441\u043e\u0431\u0440\u0430\u043d\u043d\u044b\u0435 \u043f\u0440\u0438 \u0441\u0431\u043e\u0440\u043a\u0435 \u0438 \u0442.\u0434. \u0421\u043f\u0438\u0441\u043e\u043a \u0441\u0431\u043e\u0440\u043e\u043a \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c: * \u043e\u0431\u0449\u0438\u043c * \u0441\u0431\u043e\u0440\u043a\u0438 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 * \u0441\u0431\u043e\u0440\u043a\u0438 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u0438 git \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f","title":"\u0421\u043f\u0438\u0441\u043e\u043a \u0441\u0431\u043e\u0440\u043e\u043a"},{"location":"userguide/builds/#_1","text":"\u041d\u0430 \u0434\u0430\u043d\u043d\u043e\u0439 \u0441\u0442\u0440\u0430\u0438\u043d\u0446\u0435 \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0430\u0435\u0442\u0441\u044f \u0438\u0444\u043d\u043e\u0440\u043c\u0430\u0446\u0438\u044f \u043e \u0442\u0435\u043a\u0443\u0449\u0438\u0445 \u0438 \u043f\u0440\u043e\u0448\u043b\u044b\u0445 \u0441\u0431\u043e\u0440\u043a\u0430\u0445 \u0415\u0441\u043b\u0438 \u043d\u0430\u0436\u0430\u0442\u044c \u043d\u0430 \u0441\u0441\u044b\u043b\u043a\u0443 \"\u0414\u0435\u0442\u0430\u043b\u044c\u043d\u0435\u0435\", \u0442\u043e \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0434\u0435\u0442\u0430\u043b\u044c\u043d\u0443\u044e \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e \u043e \u0441\u0431\u043e\u0440\u043a\u0435: \u0413\u0434\u0435 \u043c\u043e\u0436\u043d\u043e \u0443\u0432\u0438\u0434\u0435\u0442\u044c \u0432\u0435\u0441 \u0444\u0430\u0439\u043b\u044b \u043b\u043e\u0433\u043e\u0432 \u0441 \u043e\u0448\u0438\u0431\u043a\u0430\u043c\u0438 \u0438 \u0431\u0435\u0437, \u043f\u0430\u043a\u0435\u0442\u044b \u0441\u043e\u0431\u0440\u0430\u043d\u043d\u044b\u0435 \u043f\u0440\u0438 \u0441\u0431\u043e\u0440\u043a\u0435 \u0438 \u0442.\u0434. \u0421\u043f\u0438\u0441\u043e\u043a \u0441\u0431\u043e\u0440\u043e\u043a \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c: * \u043e\u0431\u0449\u0438\u043c * \u0441\u0431\u043e\u0440\u043a\u0438 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 * \u0441\u0431\u043e\u0440\u043a\u0438 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u0438 git \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f","title":"\u0421\u043f\u0438\u0441\u043e\u043a \u0441\u0431\u043e\u0440\u043e\u043a"},{"location":"userguide/configuration/","text":"\u041a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f \u041a\u043e\u043d\u0444\u0438\u0433\u0440\u0443\u0430\u0446\u0438\u044f MockGUI \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0430 \u043e\u0434\u043d\u0438\u043c \u0444\u0430\u0439\u043b\u043e\u043c config.ini \u0440\u0430\u0441\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u043d\u043e\u043c \u0432 \u043a\u043e\u0440\u043d\u0435 \u043f\u0440\u043e\u0435\u043a\u0442\u0430. \u041f\u0440\u0438\u043c\u0435\u0440 \u0444\u0430\u0439\u043b\u0430 \u043a\u043e\u043d\u0444\u0438\u0433\u0440\u0443\u0430\u0446\u0438\u0438 [server] port = 8081 db = \"sqlite://db/workbase.sqlite3\" [repo] repo = \"repo\" [projects] path = \"projects\" old = 3 [counter] path = \"locks/counter\" [configs] hide=open,amazon,anolis,circle,custom,euro,fedora,mageia,navy,alma,rocky selected=msvsphere [pages] items_per_page = 30 [sign] path = \"keys\" [repoview] path = \"repoview\" \u0421\u0435\u043a\u0446\u0438\u0438 \u0412\u0441\u0435 \u043f\u0443\u0442\u0438 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u044e\u0442\u0441\u044f \u043e\u0442 \u043a\u043e\u0440\u043d\u044f \u043f\u0440\u043e\u0435\u043a\u0442\u0430. server port - \u043f\u043e\u0440\u0442, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0431\u0443\u0434\u0435\u0442 \u0441\u043b\u0443\u0449\u0430\u0442\u044c \u0441\u0435\u0440\u0432\u0435\u0440 \u0434\u043b\u044f \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u043a WEB \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0443 (\u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u0435: 8081) db - \u043f\u0443\u0442\u044c \u043a \u0431\u0430\u0437\u0435 \u0434\u0430\u043d\u043d\u044b\u0445 \u0438 \u0442\u0438\u043f \u0431\u0430\u0437\u044b \u0434\u0430\u043d\u043d\u044b\u0445 (\u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u0435: db/workbase.sqlite3 \u0438 \u0442\u0438\u043f \u0431\u0430\u0437\u044b \u0434\u0430\u043d\u043d\u044b\u0445 SQLite) repo repo - \u043f\u0443\u0442\u044c \u043a \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u0443, \u0433\u0434\u0435 \u0433\u0440\u0430\u043d\u044f\u0442\u0441\u044f bare git \u043f\u0440\u043e\u0435\u043a\u0442\u044b, \u043c\u043e\u0436\u043d\u043e \u0441\u043a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0443\u0436\u0435 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0435, \u043e\u043d\u0438 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u043e\u043c \u043f\u0440\u0438 \u0441\u0442\u0430\u0440\u0442\u0435 \u0434\u043e\u0431\u0430\u0432\u044f\u0442\u0441\u044f \u0432 \u0431\u0430\u0437\u0443 (\u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u0435: repo) counter path - \u043f\u0443\u0442\u044c \u043a \u0433\u043b\u043e\u0431\u0430\u043b\u044c\u043d\u043e\u043c\u0443 \u0441\u0447\u0435\u0442\u0447\u0438\u043a\u0443 \u0441\u0431\u043e\u0440\u043e\u043a (\u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u0435: locks/counter) projects path - \u043f\u0443\u0442\u044c \u043a \u043f\u0430\u043f\u043a\u0435, \u0433\u0434\u0435 \u0441\u043e\u0437\u0434\u0430\u044e\u0442\u0441\u044f \u043f\u0440\u043e\u0435\u043a\u0442\u044b, \u0432 \u043d\u0435\u0435 \u0436\u0435 \u043a\u043e\u043f\u0438\u0440\u0443\u044e\u0442\u0441\u044f git \u0438\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u0438, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u0435\u0442\u0441\u044f \u044d\u0442\u0443 \u043f\u0430\u043f\u043a\u0443 \u0434\u0435\u043b\u0430\u0442\u044c \u043f\u043e\u043e\u0431\u044a\u0435\u043c\u043d\u0435\u0435 (\u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u0435: projects) old - \u043d\u0435\u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u044b\u0439 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 configs hide - \u0441\u043a\u0440\u044b\u0442\u044c \u0438\u0437 \u0441\u043f\u0438\u0441\u043a\u0430 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u0445 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0439 \u0441\u0431\u043e\u0440\u043a\u0438 \u0441\u0447\u0438\u0442\u0430\u043d\u043d\u044b\u0445 \u0438\u0437 /etc/mock/ , \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0449\u0438\u0435 \u0432 \u0438\u043c\u0435\u043d\u0438 \u043e\u0434\u043d\u043e \u0438\u0437 \u0441\u043b\u043e\u0432, \u0443\u043a\u0430\u0437\u0435\u0435\u044b\u0445 \u0447\u0435\u0440\u0435\u0437 \u0437\u0430\u043f\u044f\u0442\u0443\u044e selected - \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0432 \u0441\u043f\u0438\u0441\u043e\u043a \u0438\u0437\u0431\u0440\u0430\u043d\u043d\u044b\u0445 \u0441\u0431\u043e\u0440\u043a\u0438 \u0441 \u0438\u043c\u0435\u043d\u0430\u043c\u0438, \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u044b\u043c\u0438 \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0449\u0438\u043c\u0438 \u0441\u043b\u043e\u0432\u0430 \u0447\u0435\u0440\u0435\u0437 \u0437\u0430\u043f\u044f\u0442\u0443\u044e pages items_per_page - \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0430\u0442\u044c \u043d\u0430 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430\u0445 \u043d\u0435 \u0431\u043e\u043b\u0435\u0435 \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u043e\u0433\u043e \u0447\u0438\u0441\u043b\u0430 \u0437\u0430\u043f\u0438\u0441\u0435\u0439 (\u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u0435: 30) sign path - \u043f\u0430\u043f\u043a\u0430, \u0433\u0434\u0435 \u0445\u0440\u0430\u043d\u044f\u0442\u0441\u044f gpg \u043a\u043b\u044e\u0447\u0438 (\u043f\u0440\u0438\u0432\u0430\u0442\u043d\u044b\u0439 \u0438 \u043f\u0443\u0431\u043b\u0438\u0447\u043d\u044b\u0439) \u0434\u043b\u044f \u043f\u043e\u0434\u043f\u0438\u0441\u0438 \u043f\u0430\u043a\u0435\u0442\u043e\u0432 (\u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u0435: keys) repoview path - \u043f\u0430\u043f\u043a\u0430, \u0433\u0434\u0435 \u0445\u0440\u0430\u043d\u044f\u0442\u0441\u044f \u0448\u0430\u0431\u043b\u043e\u043d\u044b \u0434\u043b\u044f \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u0438 \u0441\u0442\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e repoview \u0434\u043b\u044f \u043f\u043e\u0434\u043f\u0438\u0441\u0430\u043d\u043d\u043e\u0433\u043e \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f (\u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u0435: repoview) \u0422\u0430\u043a \u0436\u0435 \u0441\u043b\u0435\u0434\u0443\u0435\u0442 \u0443\u0447\u0435\u0441\u0442\u044c, \u0447\u0442\u043e \u0441\u0431\u043e\u0440\u043a\u0438 \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u044f\u0442 \u0432 \u043f\u0430\u043f\u043a\u0435 /var/lib/mock \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0434\u0430\u043d\u043d\u0430\u044f \u043f\u0430\u043f\u043a\u0430 \u0442\u0430\u043a \u0436\u0435 \u0434\u043e\u043b\u0436\u043d\u0430 \u0431\u044b\u0442\u044c \u0431\u043e\u043b\u044c\u0448\u043e\u0433\u043e \u043e\u0431\u044a\u0435\u043c\u0430.","title":"\u041a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f"},{"location":"userguide/configuration/#_1","text":"\u041a\u043e\u043d\u0444\u0438\u0433\u0440\u0443\u0430\u0446\u0438\u044f MockGUI \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0430 \u043e\u0434\u043d\u0438\u043c \u0444\u0430\u0439\u043b\u043e\u043c config.ini \u0440\u0430\u0441\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u043d\u043e\u043c \u0432 \u043a\u043e\u0440\u043d\u0435 \u043f\u0440\u043e\u0435\u043a\u0442\u0430.","title":"\u041a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f"},{"location":"userguide/configuration/#_2","text":"[server] port = 8081 db = \"sqlite://db/workbase.sqlite3\" [repo] repo = \"repo\" [projects] path = \"projects\" old = 3 [counter] path = \"locks/counter\" [configs] hide=open,amazon,anolis,circle,custom,euro,fedora,mageia,navy,alma,rocky selected=msvsphere [pages] items_per_page = 30 [sign] path = \"keys\" [repoview] path = \"repoview\"","title":"\u041f\u0440\u0438\u043c\u0435\u0440 \u0444\u0430\u0439\u043b\u0430 \u043a\u043e\u043d\u0444\u0438\u0433\u0440\u0443\u0430\u0446\u0438\u0438"},{"location":"userguide/configuration/#_3","text":"\u0412\u0441\u0435 \u043f\u0443\u0442\u0438 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u044e\u0442\u0441\u044f \u043e\u0442 \u043a\u043e\u0440\u043d\u044f \u043f\u0440\u043e\u0435\u043a\u0442\u0430.","title":"\u0421\u0435\u043a\u0446\u0438\u0438"},{"location":"userguide/configuration/#server","text":"port - \u043f\u043e\u0440\u0442, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0431\u0443\u0434\u0435\u0442 \u0441\u043b\u0443\u0449\u0430\u0442\u044c \u0441\u0435\u0440\u0432\u0435\u0440 \u0434\u043b\u044f \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u043a WEB \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0443 (\u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u0435: 8081) db - \u043f\u0443\u0442\u044c \u043a \u0431\u0430\u0437\u0435 \u0434\u0430\u043d\u043d\u044b\u0445 \u0438 \u0442\u0438\u043f \u0431\u0430\u0437\u044b \u0434\u0430\u043d\u043d\u044b\u0445 (\u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u0435: db/workbase.sqlite3 \u0438 \u0442\u0438\u043f \u0431\u0430\u0437\u044b \u0434\u0430\u043d\u043d\u044b\u0445 SQLite)","title":"server"},{"location":"userguide/configuration/#repo","text":"repo - \u043f\u0443\u0442\u044c \u043a \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u0443, \u0433\u0434\u0435 \u0433\u0440\u0430\u043d\u044f\u0442\u0441\u044f bare git \u043f\u0440\u043e\u0435\u043a\u0442\u044b, \u043c\u043e\u0436\u043d\u043e \u0441\u043a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0443\u0436\u0435 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0435, \u043e\u043d\u0438 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u043e\u043c \u043f\u0440\u0438 \u0441\u0442\u0430\u0440\u0442\u0435 \u0434\u043e\u0431\u0430\u0432\u044f\u0442\u0441\u044f \u0432 \u0431\u0430\u0437\u0443 (\u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u0435: repo)","title":"repo"},{"location":"userguide/configuration/#counter","text":"path - \u043f\u0443\u0442\u044c \u043a \u0433\u043b\u043e\u0431\u0430\u043b\u044c\u043d\u043e\u043c\u0443 \u0441\u0447\u0435\u0442\u0447\u0438\u043a\u0443 \u0441\u0431\u043e\u0440\u043e\u043a (\u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u0435: locks/counter)","title":"counter"},{"location":"userguide/configuration/#projects","text":"path - \u043f\u0443\u0442\u044c \u043a \u043f\u0430\u043f\u043a\u0435, \u0433\u0434\u0435 \u0441\u043e\u0437\u0434\u0430\u044e\u0442\u0441\u044f \u043f\u0440\u043e\u0435\u043a\u0442\u044b, \u0432 \u043d\u0435\u0435 \u0436\u0435 \u043a\u043e\u043f\u0438\u0440\u0443\u044e\u0442\u0441\u044f git \u0438\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u0438, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u0435\u0442\u0441\u044f \u044d\u0442\u0443 \u043f\u0430\u043f\u043a\u0443 \u0434\u0435\u043b\u0430\u0442\u044c \u043f\u043e\u043e\u0431\u044a\u0435\u043c\u043d\u0435\u0435 (\u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u0435: projects) old - \u043d\u0435\u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u044b\u0439 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440","title":"projects"},{"location":"userguide/configuration/#configs","text":"hide - \u0441\u043a\u0440\u044b\u0442\u044c \u0438\u0437 \u0441\u043f\u0438\u0441\u043a\u0430 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u0445 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0439 \u0441\u0431\u043e\u0440\u043a\u0438 \u0441\u0447\u0438\u0442\u0430\u043d\u043d\u044b\u0445 \u0438\u0437 /etc/mock/ , \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0449\u0438\u0435 \u0432 \u0438\u043c\u0435\u043d\u0438 \u043e\u0434\u043d\u043e \u0438\u0437 \u0441\u043b\u043e\u0432, \u0443\u043a\u0430\u0437\u0435\u0435\u044b\u0445 \u0447\u0435\u0440\u0435\u0437 \u0437\u0430\u043f\u044f\u0442\u0443\u044e selected - \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0432 \u0441\u043f\u0438\u0441\u043e\u043a \u0438\u0437\u0431\u0440\u0430\u043d\u043d\u044b\u0445 \u0441\u0431\u043e\u0440\u043a\u0438 \u0441 \u0438\u043c\u0435\u043d\u0430\u043c\u0438, \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u044b\u043c\u0438 \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0449\u0438\u043c\u0438 \u0441\u043b\u043e\u0432\u0430 \u0447\u0435\u0440\u0435\u0437 \u0437\u0430\u043f\u044f\u0442\u0443\u044e","title":"configs"},{"location":"userguide/configuration/#pages","text":"items_per_page - \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0430\u0442\u044c \u043d\u0430 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430\u0445 \u043d\u0435 \u0431\u043e\u043b\u0435\u0435 \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u043e\u0433\u043e \u0447\u0438\u0441\u043b\u0430 \u0437\u0430\u043f\u0438\u0441\u0435\u0439 (\u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u0435: 30)","title":"pages"},{"location":"userguide/configuration/#sign","text":"path - \u043f\u0430\u043f\u043a\u0430, \u0433\u0434\u0435 \u0445\u0440\u0430\u043d\u044f\u0442\u0441\u044f gpg \u043a\u043b\u044e\u0447\u0438 (\u043f\u0440\u0438\u0432\u0430\u0442\u043d\u044b\u0439 \u0438 \u043f\u0443\u0431\u043b\u0438\u0447\u043d\u044b\u0439) \u0434\u043b\u044f \u043f\u043e\u0434\u043f\u0438\u0441\u0438 \u043f\u0430\u043a\u0435\u0442\u043e\u0432 (\u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u0435: keys)","title":"sign"},{"location":"userguide/configuration/#repoview","text":"path - \u043f\u0430\u043f\u043a\u0430, \u0433\u0434\u0435 \u0445\u0440\u0430\u043d\u044f\u0442\u0441\u044f \u0448\u0430\u0431\u043b\u043e\u043d\u044b \u0434\u043b\u044f \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u0438 \u0441\u0442\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e repoview \u0434\u043b\u044f \u043f\u043e\u0434\u043f\u0438\u0441\u0430\u043d\u043d\u043e\u0433\u043e \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f (\u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u0435: repoview) \u0422\u0430\u043a \u0436\u0435 \u0441\u043b\u0435\u0434\u0443\u0435\u0442 \u0443\u0447\u0435\u0441\u0442\u044c, \u0447\u0442\u043e \u0441\u0431\u043e\u0440\u043a\u0438 \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u044f\u0442 \u0432 \u043f\u0430\u043f\u043a\u0435 /var/lib/mock \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0434\u0430\u043d\u043d\u0430\u044f \u043f\u0430\u043f\u043a\u0430 \u0442\u0430\u043a \u0436\u0435 \u0434\u043e\u043b\u0436\u043d\u0430 \u0431\u044b\u0442\u044c \u0431\u043e\u043b\u044c\u0448\u043e\u0433\u043e \u043e\u0431\u044a\u0435\u043c\u0430.","title":"repoview"},{"location":"userguide/env/","text":"\u041e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u044f \u0441\u0431\u043e\u0440\u043a\u0438 mock \u041e\u0442\u043e\u0431\u0440\u0430\u0436\u0430\u0435\u0442 \u0441\u043f\u0438\u0441\u043e\u043a \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u0445 \u043e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u0439, \u043e\u0442\u0444\u0438\u043b\u044c\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u0441\u043e\u0433\u043b\u0430\u0441\u043d\u043e \u043a\u043e\u043d\u0444\u0438\u0433\u0440\u0443\u0430\u0446\u0438\u0438 \u0424\u0430\u0439\u043b\u044b \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b \u0442\u043e\u043b\u044c\u043a\u043e \u0434\u043b\u044f \u043e\u0437\u043d\u0430\u043a\u043e\u043c\u043b\u0435\u043d\u0438\u044f. \u0414\u043e\u0431\u0430\u0432\u043b\u044f\u0442\u044c \u043c\u043e\u0436\u043d\u043e \u0442\u043e\u043b\u044c\u043a\u043e \u0432\u0440\u0443\u0447\u043d\u0443\u044e, \u0440\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u0443\u044f \u0444\u0430\u0439\u043b\u044b \u043f\u043e \u043f\u0443\u0442\u0438 /etc/mock/ \u0421\u043f\u0438\u0441\u043e\u043a \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0439 \u041f\u0440\u043e\u0441\u043c\u043e\u0442\u0440 \u0444\u0430\u0439\u043b\u043e\u0432 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0439 \u0441\u0431\u043e\u0440\u043a\u0438 \u0412 \u043b\u0438\u0441\u0442\u0438\u043d\u0433\u0435 \u0444\u0430\u0439\u043b\u0430 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 \u0441\u0431\u043e\u0440\u043a\u0438 \u043c\u043e\u0436\u043d\u043e \u043a\u043b\u0438\u043a\u0430\u0442\u044c \u043c\u044b\u0448\u043a\u043e\u0439 \u043d\u0430 include \u0438 \u0431\u0443\u0434\u0435\u0442 \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442\u044c \u043f\u0435\u0440\u0435\u0445\u043e\u0434 \u043d\u0430 \u0443\u043a\u0430\u0437\u043d\u043d\u044b\u0439 \u0448\u0430\u0431\u043b\u043e\u043d \u0438\u043b\u0438 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044e. \u0422\u0430\u043a\u043e\u0439 \u043c\u0435\u0445\u0430\u043d\u0438\u0437 \u0434\u043b\u044f \u043e\u0437\u043d\u0430\u043a\u043e\u043c\u043b\u0435\u043d\u0438\u044f \u0441 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0435\u0439 \u0441\u0431\u043e\u0440\u043a\u0438.","title":"\u041e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u044f \u0441\u0431\u043e\u0440\u043a\u0438 mock"},{"location":"userguide/env/#mock","text":"\u041e\u0442\u043e\u0431\u0440\u0430\u0436\u0430\u0435\u0442 \u0441\u043f\u0438\u0441\u043e\u043a \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u0445 \u043e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u0439, \u043e\u0442\u0444\u0438\u043b\u044c\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u0441\u043e\u0433\u043b\u0430\u0441\u043d\u043e \u043a\u043e\u043d\u0444\u0438\u0433\u0440\u0443\u0430\u0446\u0438\u0438 \u0424\u0430\u0439\u043b\u044b \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b \u0442\u043e\u043b\u044c\u043a\u043e \u0434\u043b\u044f \u043e\u0437\u043d\u0430\u043a\u043e\u043c\u043b\u0435\u043d\u0438\u044f. \u0414\u043e\u0431\u0430\u0432\u043b\u044f\u0442\u044c \u043c\u043e\u0436\u043d\u043e \u0442\u043e\u043b\u044c\u043a\u043e \u0432\u0440\u0443\u0447\u043d\u0443\u044e, \u0440\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u0443\u044f \u0444\u0430\u0439\u043b\u044b \u043f\u043e \u043f\u0443\u0442\u0438 /etc/mock/","title":"\u041e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u044f \u0441\u0431\u043e\u0440\u043a\u0438 mock"},{"location":"userguide/env/#_1","text":"","title":"\u0421\u043f\u0438\u0441\u043e\u043a \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0439"},{"location":"userguide/env/#_2","text":"\u0412 \u043b\u0438\u0441\u0442\u0438\u043d\u0433\u0435 \u0444\u0430\u0439\u043b\u0430 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 \u0441\u0431\u043e\u0440\u043a\u0438 \u043c\u043e\u0436\u043d\u043e \u043a\u043b\u0438\u043a\u0430\u0442\u044c \u043c\u044b\u0448\u043a\u043e\u0439 \u043d\u0430 include \u0438 \u0431\u0443\u0434\u0435\u0442 \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442\u044c \u043f\u0435\u0440\u0435\u0445\u043e\u0434 \u043d\u0430 \u0443\u043a\u0430\u0437\u043d\u043d\u044b\u0439 \u0448\u0430\u0431\u043b\u043e\u043d \u0438\u043b\u0438 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044e. \u0422\u0430\u043a\u043e\u0439 \u043c\u0435\u0445\u0430\u043d\u0438\u0437 \u0434\u043b\u044f \u043e\u0437\u043d\u0430\u043a\u043e\u043c\u043b\u0435\u043d\u0438\u044f \u0441 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0435\u0439 \u0441\u0431\u043e\u0440\u043a\u0438.","title":"\u041f\u0440\u043e\u0441\u043c\u043e\u0442\u0440 \u0444\u0430\u0439\u043b\u043e\u0432 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0439 \u0441\u0431\u043e\u0440\u043a\u0438"},{"location":"userguide/gits/","text":"\u0423\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 git \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f\u043c\u0438 \u041f\u043e-\u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e git \u043f\u0440\u043e\u0435\u043a\u0442\u044b - \u044d\u0442\u043e \u043f\u0430\u043f\u043a\u0438 \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0449\u0438\u0435 bare git \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0440\u0430\u0441\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u044b \u0432 \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u0435 repo (\u043d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u0432 \u043a\u043e\u043d\u0444\u0438\u0433\u0440\u0443\u0430\u0446\u0438\u0438 ) \u041f\u0430\u043f\u043a\u0430 repo \u043c\u043e\u0436\u0435\u0442 \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0442\u044c \u043d\u0435 \u0437\u0430\u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 git \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0438, \u0432 \u0442\u0430\u043a\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u043e\u043d\u0438 \u043f\u0440\u0438 \u043e\u0442\u043a\u0440\u044b\u0442\u0438\u0438 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b \u0430\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0434\u043e\u0431\u0430\u0432\u044f\u0442\u0441\u044f \u0432 \u0431\u0430\u0437\u0443 (\u043f\u0440\u0430\u0432\u0434\u0430 \u0431\u0435\u0437 \u043f\u0438\u0441\u0430\u043d\u0438\u044f). \u0421\u043f\u0438\u0441\u043e\u043a git \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f\u043c\u0438 \u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u043d\u043e\u0432\u043e\u0433\u043e \u043f\u0443\u0441\u0442\u043e\u0433\u043e git \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f \u041d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0437\u0430\u043f\u043e\u043b\u043d\u0438\u0442\u044c \u0438\u043c\u044f git \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f \u0438 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435. \u0418 \u043d\u0430\u0436\u0430\u0442\u044c \u043a\u043d\u043e\u043f\u043a\u0443 \"\u0421\u043e\u0437\u0434\u0430\u0442\u044c\". \u041f\u0440\u043e\u0441\u043c\u043e\u0442\u0440 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438 git \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f \u041d\u0430 \u0442\u0435\u043a\u0443\u0449\u0438\u0439 \u043c\u043e\u043c\u0435\u043d\u0442 \u0435\u0442\u0441\u0442\u044c \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u043f\u0440\u043e\u0441\u043c\u043e\u0442\u0440\u0430: \u0421\u043f\u0438\u0441\u043a\u0430 \u0432\u0435\u0442\u043e\u043a \u0421\u043f\u0438\u0441\u043a\u0430 \u043a\u043e\u043c\u043c\u0438\u0442\u043e\u0432 \u0421\u043f\u0438\u0441\u043a\u0430 \u0442\u0435\u0433\u043e\u0432 \u0421\u0442\u0440\u043e\u043a\u0438 \u0434\u043b\u044f \u043a\u043b\u043e\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f \u041e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f \u0421\u043f\u0438\u0441\u043e\u043a \u0442\u0435\u0433\u043e\u0432 \u0438 \u043a\u043e\u043c\u043c\u0438\u0442\u043e\u0432 \u0434\u0430\u0441\u0442 \u0438\u0444\u043d\u043e\u0440\u043c\u0430\u0446\u0438\u044e \u043e \u0442\u043e\u043c, \u0447\u0442\u043e \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0435 \u043a\u043e\u0434\u044b \u0432 \u0432\u0435\u0442\u043a\u0435 master \u043d\u0430\u0445\u043e\u0434\u044f\u0442\u0441\u044f \u0432 \u043d\u0443\u0436\u043d\u043e \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0438 \u0438\u0441 \u043d\u0443\u0436\u043d\u044b\u043c\u0438 \u043a\u043e\u043c\u043c\u0438\u0442\u0430\u043c\u0438. \u0421\u0431\u043e\u0440\u043e\u0447\u043d\u0438\u0446\u0430 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442 \u0432\u044b\u0431\u043e\u0440\u043a\u0443 \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0445 \u043a\u043e\u0434\u043e\u0432 \u0438\u0437 master \u0432\u0435\u0442\u043a\u0438 git \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f. \u041f\u0440\u0438\u043c\u0435\u0440 \u0441\u0442\u0440\u043e\u043a\u0438 \u043a\u043b\u043e\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f: \u0414\u043b\u044f \u0443\u0441\u043f\u0435\u0448\u043d\u043e\u0433\u043e \u043a\u043b\u043e\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0438 \u043d\u0430\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f git \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f, \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043b\u0438\u0431\u043e \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u043f\u0443\u0431\u043b\u0438\u0447\u043d\u044b\u0439 \u043a\u043b\u044e\u0447 \u0434\u043b\u044f \u0434\u043e\u0443\u043c\u043f\u0430 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u043f\u043e ssh \u0438\u043b\u0438 \u0437\u043d\u0430\u0442\u044c \u043f\u0430\u0440\u043e\u043b\u044c \u043a mockgui \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044e \u043f\u043e ssh. \u0412\u043e\u0442 \u043f\u043e\u0447\u0435\u043c\u0443 \u0432 \u0438\u043d\u0441\u0442\u0430\u043b\u043b\u044f\u0446\u0438\u043e\u043d\u043d\u043e\u043c \u0440\u0443\u043a\u043e\u0432\u043e\u0434\u0441\u0442\u0432\u0435 \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u0435\u0442\u0441\u044f \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u043f\u0430\u0440\u043e\u043b\u044c \u0434\u043b\u044f mockgui \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f. \u0423\u0434\u0430\u043b\u0435\u043d\u0438\u0435 git \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f \u0423\u0434\u0430\u043b\u0435\u043d\u0438\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u0442\u043e\u043b\u044c\u043a\u043e \u0432 \u0442\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435, \u0435\u0441\u043b\u0438 \u0434\u0430\u043d\u043d\u044b\u0439 git \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0439 \u043d\u0435 \u0438\u043c\u0435\u0435\u0442 \u043d\u0438 \u0440\u0435\u0446\u0435\u043f\u0442\u043e\u0432 \u0441\u0431\u043e\u0440\u043a\u0438, \u0430 \u0442\u0430\u043a \u0436\u0435 \u043d\u0435 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d \u043d\u0438 \u043a \u043e\u0434\u043d\u043e\u043c\u0443 \u043f\u0440\u043e\u0435\u043a\u0442\u0443 \u0438 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0432\u0435\u043d\u043d\u043e, \u043d\u0435 \u0438\u043c\u0435\u0435\u0442 \u0441\u0431\u043e\u0440\u043e\u043a, \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u044e\u0449\u0438\u0445 \u043d\u0430 \u0434\u0430\u043d\u043d\u044b\u0439 git \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0439. \u041f\u0440\u0438 \u043d\u0430\u0436\u0430\u0442\u0438\u0438 \u043d\u0430 \u043a\u043d\u043e\u043f\u043a\u0443 \"\u0423\u0434\u0430\u043b\u0438\u0442\u044c\" \u043f\u043e\u044f\u0432\u0438\u0442\u0441\u044f \u043e\u043a\u043d\u043e, \u0433\u0434\u0435 \u043d\u0443\u0436\u043d\u043e \u0431\u0443\u0434\u0435\u0442 \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0438\u043c\u044f \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f \u0438 \u043d\u0430\u0436\u0430\u0442\u044c \u043a\u043d\u043e\u043f\u043a\u0443 \"\u0423\u0434\u0430\u043b\u0438\u0442\u044c\" \u0434\u043b\u044f \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043d\u0438\u044f \u0443\u0434\u0430\u043b\u0435\u043d\u0438\u044f:","title":"\u0423\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 git \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f\u043c\u0438"},{"location":"userguide/gits/#git","text":"\u041f\u043e-\u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e git \u043f\u0440\u043e\u0435\u043a\u0442\u044b - \u044d\u0442\u043e \u043f\u0430\u043f\u043a\u0438 \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0449\u0438\u0435 bare git \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0440\u0430\u0441\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u044b \u0432 \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u0435 repo (\u043d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u0432 \u043a\u043e\u043d\u0444\u0438\u0433\u0440\u0443\u0430\u0446\u0438\u0438 ) \u041f\u0430\u043f\u043a\u0430 repo \u043c\u043e\u0436\u0435\u0442 \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0442\u044c \u043d\u0435 \u0437\u0430\u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 git \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0438, \u0432 \u0442\u0430\u043a\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u043e\u043d\u0438 \u043f\u0440\u0438 \u043e\u0442\u043a\u0440\u044b\u0442\u0438\u0438 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b \u0430\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0434\u043e\u0431\u0430\u0432\u044f\u0442\u0441\u044f \u0432 \u0431\u0430\u0437\u0443 (\u043f\u0440\u0430\u0432\u0434\u0430 \u0431\u0435\u0437 \u043f\u0438\u0441\u0430\u043d\u0438\u044f).","title":"\u0423\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 git \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f\u043c\u0438"},{"location":"userguide/gits/#git_1","text":"","title":"\u0421\u043f\u0438\u0441\u043e\u043a git \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f\u043c\u0438"},{"location":"userguide/gits/#git_2","text":"\u041d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0437\u0430\u043f\u043e\u043b\u043d\u0438\u0442\u044c \u0438\u043c\u044f git \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f \u0438 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435. \u0418 \u043d\u0430\u0436\u0430\u0442\u044c \u043a\u043d\u043e\u043f\u043a\u0443 \"\u0421\u043e\u0437\u0434\u0430\u0442\u044c\".","title":"\u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u043d\u043e\u0432\u043e\u0433\u043e \u043f\u0443\u0441\u0442\u043e\u0433\u043e git \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f"},{"location":"userguide/gits/#git_3","text":"\u041d\u0430 \u0442\u0435\u043a\u0443\u0449\u0438\u0439 \u043c\u043e\u043c\u0435\u043d\u0442 \u0435\u0442\u0441\u0442\u044c \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u043f\u0440\u043e\u0441\u043c\u043e\u0442\u0440\u0430: \u0421\u043f\u0438\u0441\u043a\u0430 \u0432\u0435\u0442\u043e\u043a \u0421\u043f\u0438\u0441\u043a\u0430 \u043a\u043e\u043c\u043c\u0438\u0442\u043e\u0432 \u0421\u043f\u0438\u0441\u043a\u0430 \u0442\u0435\u0433\u043e\u0432 \u0421\u0442\u0440\u043e\u043a\u0438 \u0434\u043b\u044f \u043a\u043b\u043e\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f \u041e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f \u0421\u043f\u0438\u0441\u043e\u043a \u0442\u0435\u0433\u043e\u0432 \u0438 \u043a\u043e\u043c\u043c\u0438\u0442\u043e\u0432 \u0434\u0430\u0441\u0442 \u0438\u0444\u043d\u043e\u0440\u043c\u0430\u0446\u0438\u044e \u043e \u0442\u043e\u043c, \u0447\u0442\u043e \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0435 \u043a\u043e\u0434\u044b \u0432 \u0432\u0435\u0442\u043a\u0435 master \u043d\u0430\u0445\u043e\u0434\u044f\u0442\u0441\u044f \u0432 \u043d\u0443\u0436\u043d\u043e \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0438 \u0438\u0441 \u043d\u0443\u0436\u043d\u044b\u043c\u0438 \u043a\u043e\u043c\u043c\u0438\u0442\u0430\u043c\u0438. \u0421\u0431\u043e\u0440\u043e\u0447\u043d\u0438\u0446\u0430 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442 \u0432\u044b\u0431\u043e\u0440\u043a\u0443 \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0445 \u043a\u043e\u0434\u043e\u0432 \u0438\u0437 master \u0432\u0435\u0442\u043a\u0438 git \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f. \u041f\u0440\u0438\u043c\u0435\u0440 \u0441\u0442\u0440\u043e\u043a\u0438 \u043a\u043b\u043e\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f: \u0414\u043b\u044f \u0443\u0441\u043f\u0435\u0448\u043d\u043e\u0433\u043e \u043a\u043b\u043e\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0438 \u043d\u0430\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f git \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f, \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043b\u0438\u0431\u043e \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u043f\u0443\u0431\u043b\u0438\u0447\u043d\u044b\u0439 \u043a\u043b\u044e\u0447 \u0434\u043b\u044f \u0434\u043e\u0443\u043c\u043f\u0430 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u043f\u043e ssh \u0438\u043b\u0438 \u0437\u043d\u0430\u0442\u044c \u043f\u0430\u0440\u043e\u043b\u044c \u043a mockgui \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044e \u043f\u043e ssh. \u0412\u043e\u0442 \u043f\u043e\u0447\u0435\u043c\u0443 \u0432 \u0438\u043d\u0441\u0442\u0430\u043b\u043b\u044f\u0446\u0438\u043e\u043d\u043d\u043e\u043c \u0440\u0443\u043a\u043e\u0432\u043e\u0434\u0441\u0442\u0432\u0435 \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u0435\u0442\u0441\u044f \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u043f\u0430\u0440\u043e\u043b\u044c \u0434\u043b\u044f mockgui \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f.","title":"\u041f\u0440\u043e\u0441\u043c\u043e\u0442\u0440 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438 git \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f"},{"location":"userguide/gits/#git_4","text":"\u0423\u0434\u0430\u043b\u0435\u043d\u0438\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u0442\u043e\u043b\u044c\u043a\u043e \u0432 \u0442\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435, \u0435\u0441\u043b\u0438 \u0434\u0430\u043d\u043d\u044b\u0439 git \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0439 \u043d\u0435 \u0438\u043c\u0435\u0435\u0442 \u043d\u0438 \u0440\u0435\u0446\u0435\u043f\u0442\u043e\u0432 \u0441\u0431\u043e\u0440\u043a\u0438, \u0430 \u0442\u0430\u043a \u0436\u0435 \u043d\u0435 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d \u043d\u0438 \u043a \u043e\u0434\u043d\u043e\u043c\u0443 \u043f\u0440\u043e\u0435\u043a\u0442\u0443 \u0438 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0432\u0435\u043d\u043d\u043e, \u043d\u0435 \u0438\u043c\u0435\u0435\u0442 \u0441\u0431\u043e\u0440\u043e\u043a, \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u044e\u0449\u0438\u0445 \u043d\u0430 \u0434\u0430\u043d\u043d\u044b\u0439 git \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0439. \u041f\u0440\u0438 \u043d\u0430\u0436\u0430\u0442\u0438\u0438 \u043d\u0430 \u043a\u043d\u043e\u043f\u043a\u0443 \"\u0423\u0434\u0430\u043b\u0438\u0442\u044c\" \u043f\u043e\u044f\u0432\u0438\u0442\u0441\u044f \u043e\u043a\u043d\u043e, \u0433\u0434\u0435 \u043d\u0443\u0436\u043d\u043e \u0431\u0443\u0434\u0435\u0442 \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0438\u043c\u044f \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f \u0438 \u043d\u0430\u0436\u0430\u0442\u044c \u043a\u043d\u043e\u043f\u043a\u0443 \"\u0423\u0434\u0430\u043b\u0438\u0442\u044c\" \u0434\u043b\u044f \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043d\u0438\u044f \u0443\u0434\u0430\u043b\u0435\u043d\u0438\u044f:","title":"\u0423\u0434\u0430\u043b\u0435\u043d\u0438\u0435 git \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f"},{"location":"userguide/projects/","text":"\u0423\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043f\u0440\u043e\u0435\u043a\u0442\u0430\u043c\u0438 \u041f\u0440\u043e\u0435\u043a\u0442\u044b - \u044d\u0442\u043e \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f git \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0435\u0432, \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e - \u044d\u0442\u043e \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0439 rpm \u043f\u0430\u043a\u0435\u0442\u043e\u0432 (\u043f\u043e\u0434\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u0439 \u0438 \u043d\u0435 \u043f\u043e\u0434\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u0439). \u041d\u0435\u043f\u043e\u0434\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u0439 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0439 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0434\u043b\u044f \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0438\u0445 \u0441\u0431\u043e\u0440\u043e\u043a, \u043f\u0440\u0438 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0438 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u0432 \u0434\u0440\u0443\u0433\u043e\u0439 \u043f\u0440\u043e\u0435\u043a\u0442. \u041f\u043e\u0434\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u0439 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0439 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0434\u043b\u044f \u043f\u0443\u0431\u043b\u0438\u043a\u0430\u0446\u0438\u0438 rpm \u043f\u0430\u043a\u0435\u0442\u043e\u0432 \u043d\u0430 \u0432\u043d\u0435\u0448\u043d\u0438\u0439 \u0441\u0435\u0440\u0432\u0435\u0440 (\u0432\u043d\u0435\u0448\u043d\u0438\u0439 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0439). \u0421\u043f\u0438\u0441\u043e\u043a \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432 \u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u043d\u043e\u0432\u043e\u0433\u043e \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u041d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 - \u0443\u043d\u0438\u043a\u0430\u043b\u044c\u043d\u043e\u0435 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u043f\u0440\u043e\u0435\u043a\u0442\u0430, \u043e\u043d\u043e \u0431\u0443\u0434\u0435\u0442 \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0442\u044c\u0441\u044f \u0432 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0438 \u0431\u0443\u0434\u0443\u0449\u0435\u0433\u043e \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0441\u0442\u043e\u0438\u0442 \u043f\u043e\u0434\u0445\u043e\u0434\u0438\u0442\u044c \u043a \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u044e \u0441 \u0443\u043c\u043e\u043c. \u041e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 - \u043a\u0440\u0430\u0442\u043a\u043e\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u041d\u0435 \u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u0442\u044c \u043e\u0442\u043b\u0430\u0434\u043e\u0447\u043d\u044b\u0435 \u043f\u0430\u043a\u0435\u0442\u044b \u0438 \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0435 \u043a\u043e\u0434\u044b - \u043f\u0440\u0438 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0435\u043d\u043d\u043e\u043c \u0444\u043b\u0430\u0436\u043a\u0435 \u0432 \u043f\u043e\u0434\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u0439 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0439 \u043d\u0435 \u043f\u0443\u0431\u043b\u0438\u043a\u0443\u044e\u0442\u0441\u044f \u043f\u0430\u043a\u0435\u0442\u044b src.rpm, debuginfo, debugsource. \u0415\u0441\u043b\u0438 \u0444\u043b\u0430\u0436\u043e\u043a \u043d\u0435 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d, \u0442\u043e \u043f\u043e\u0434\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u0438 \u043f\u0443\u0431\u043b\u0438\u043a\u0443\u0435\u0442\u0441\u044f \u0432\u0441\u0435. \u0424\u043b\u0430\u0436\u043e\u043a \u0434\u043b\u044f \u043f\u0440\u043e\u043f\u0440\u0438\u0435\u0442\u0430\u0440\u043d\u043e\u0433\u043e \u041f\u041e \u0412\u044b\u0431\u0435\u0440\u0438\u0442\u0435 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044e \u043e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u044f \u0441\u0431\u043e\u0440\u043a\u0438 \u0434\u043b\u044f \u043f\u0440\u043e\u0435\u043a\u0442\u0430 - \u0432\u044b\u0431\u0438\u0440\u0430\u0435\u0442\u0441\u044f \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f \u0441\u0431\u043e\u0440\u043a\u0438, \u0432\u044b\u0431\u0438\u0440\u0430\u0435\u0442\u0441\u044f \u043e\u0434\u0438\u043d \u0440\u0430\u0437 \u043f\u0440\u0438 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0438 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u0438 \u0431\u043e\u043b\u044c\u0448\u0435 \u043f\u043e\u0442\u043e\u043c \u043d\u0435 \u043c\u0435\u043d\u044f\u0435\u0442\u0441\u044f. \u041c\u043e\u0436\u043d\u043e \u0442\u043e\u043b\u044c\u043a\u043e \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u043d\u043e\u0432\u044b\u0439 \u043f\u0440\u043e\u0435\u043a\u0442 \u0441 \u0434\u0440\u0443\u0433\u043e\u0439 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0435\u0439. \u041f\u0440\u0438\u043c\u0435\u0440 \u0432\u044b\u0431\u043e\u0440\u0430 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438. \u0418\u043c\u0435\u0435\u0442\u0441\u044f \u043f\u043e\u043b\u0435 \u0444\u0438\u043b\u044c\u0442\u0440\u0430\u0446\u0438\u0438. \u0418\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f \u043e \u043f\u0440\u043e\u0435\u043a\u0442\u0435 \u0414\u043e\u0431\u0430\u0432\u0438\u0442\u044c git \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0439 \u043a \u043f\u0440\u043e\u0435\u043a\u0442\u0443 - \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u043a \u043f\u0440\u043e\u0435\u043a\u0442\u0443 \u043e\u0434\u0438\u043d \u0438\u0437 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0445 git \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0435\u0432. \u041d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0438\u0437 \u0432\u044b\u043f\u0430\u0434\u0430\u044e\u0449\u0435\u0433\u043e \u0441\u043f\u0438\u0441\u043a\u0430 \u0432\u044b\u0431\u0440\u0430\u0442\u044c \u043e\u0434\u0438\u043d - \u043d\u0430\u0436\u0430\u0442\u044c \u043a\u043d\u043e\u043f\u043a\u0443 \"\u0414\u043e\u0431\u0430\u0432\u0438\u0442\u044c\". \u0422\u043a \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u044b\u0439 \u0432 \u043f\u0440\u043e\u0435\u043a\u0442 \u043d\u043e\u0432\u044b\u0439 git \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0439. \u041f\u0443\u0441\u0442\u044b\u0435 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0438\u0439 \u0431\u0435\u0437 \u0438\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u043e\u0432 \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0432 \u043f\u0440\u043e\u0435\u0442\u043a \u043d\u0435\u043b\u044c\u0437\u044f! \u0420\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044e \u0441\u0431\u043e\u0440\u043a\u0438 - \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u0430\u044f \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f \u0441\u0431\u043e\u0440\u043e\u0447\u043d\u043e\u0433\u043e \u043e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u044f \u0434\u043b\u044f mock. \u0414\u0430\u043d\u043d\u044b\u0439 \u043f\u0443\u043a\u043d\u0442 \u043c\u0435\u043d\u044e \u043e\u0437\u0432\u043e\u043b\u044f\u0442\u044c \u043e\u0442\u0440\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043a\u043e\u0440\u043d\u0435\u0432\u043e\u0439 \u0444\u0430\u0439\u043b \u0441\u0431\u043e\u0440\u043e\u0447\u043d\u043e\u0433\u043e \u043e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u044f. \u0417\u0434\u0435\u0441\u044c \u0443\u0441\u043b\u043e\u0432\u043d\u043e \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u043c\u0435\u043d\u044f\u0442\u044c \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044e \u0441\u0431\u043e\u0440\u043a\u0438 \u0441 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u043b\u0441\u044f \u043f\u0440\u043e\u0435\u043a\u0442, \u043d\u043e \u0442\u0430\u043a\u043e\u0439 \u0444\u0438\u043d\u0442 \u043b\u0443\u0447\u0448\u0435 \u043d\u0435 \u043f\u0440\u043e\u0434\u0435\u043b\u044b\u0432\u0430\u0442\u044c, \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e \u0435\u0441\u043b\u0438 \u0435\u0441\u0442\u044c \u0443\u0436\u0435 \u0441\u043e\u0431\u0440\u0430\u043d\u043d\u044b\u0435 \u043f\u0430\u043a\u0435\u0442\u044b. \u0414\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0438\u0439 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0439 \u0438\u0437 \u0434\u0440\u0443\u0433\u043e\u0433\u043e \u043f\u0440\u043e\u0435\u043a\u0442\u0430 - \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0441\u0432\u044f\u0437\u0430\u0442\u044c \u043f\u0440\u043e\u0435\u043a\u0442\u044b \u043f\u0440\u0438 \u0441\u0431\u043e\u043a\u0435, \u0442.\u0435 \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0438\u0439 \u043d\u0435\u043f\u043e\u0434\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u0439 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0439 \u043e\u0434\u043d\u043e\u0433\u043e \u043f\u0440\u043e\u0435\u043a\u0442\u0430, \u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0441\u044f \u0434\u043e\u0441\u0442\u0443\u043f\u0435\u043d \u0434\u043b\u044f \u0441\u0431\u043e\u0440\u043a\u0438 \u0442\u0435\u043a\u0443\u0449\u0435\u0433\u043e. \u0421\u043f\u0438\u0441\u043e\u043a \u0432\u0441\u0435\u0445 \u043f\u0430\u043a\u0435\u0442\u043e\u0432 - \u0441\u043f\u0438\u0441\u043e\u043a \u043f\u0430\u043a\u0435\u0442\u043e\u0432, \u0441\u043e\u0431\u0440\u0430\u043d\u043d\u044b\u0445 \u0434\u043b\u044f \u0434\u0430\u043d\u043d\u043e\u0433\u043e \u043f\u0440\u043e\u0435\u043a\u0442\u0430 (\u043d\u0435\u043f\u043e\u0434\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u0445 \u043f\u0430\u043a\u0435\u0442\u0432) \u041e\u0442\u043e\u0431\u0440\u0430\u0436\u0430\u0435\u0442\u0441\u044f \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f, \u0433\u0434\u0435 \u043c\u043e\u0436\u043d\u043e \u043f\u0435\u0440\u0435\u043c\u0435\u0449\u0430\u0442\u044c\u0441\u044f \u043f\u043e \u043f\u0430\u043f\u043a\u0430\u043c \u0438 \u043d\u0430\u0436\u0438\u043c\u0430\u0442\u044c \u043d\u0430 rpm \u043f\u0430\u043a\u0435\u0442\u044b, \u043f\u043e\u043b\u0443\u0447\u0430\u044f \u043e \u043d\u0438\u0445 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e. \u0421\u043f\u0438\u0441\u043e\u043a \u0441\u0431\u043e\u0440\u043e\u043a \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432 - \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0430\u0435\u0442\u0441\u044f \u0441\u043f\u0438\u0441\u043e\u043a \u0441\u0431\u043e\u0440\u043e\u043a, \u043f\u0440\u0438\u043d\u0430\u0434\u043b\u0435\u0436\u0430\u0449\u0438\u0445 \u043f\u0440\u043e\u0435\u043a\u0442\u0443. \u0412 \u0434\u0430\u043d\u043d\u043e\u043c \u0441\u043f\u0438\u0441\u043a\u0435 \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e \u043e \u043a\u0430\u0436\u0434\u043e\u0439 \u0441\u0431\u043e\u0440\u043a\u0435. \u0414\u0435\u0442\u0430\u043b\u044c\u043d\u0435\u0435 \u043e \u0441\u0431\u043e\u0440\u043a\u0430\u0445 \u041f\u043e\u0434\u043f\u0438\u0441\u0430\u0442\u044c - \u043f\u043e\u0434\u043f\u0438\u0441\u0430\u0442\u044c gpg \u043a\u043b\u044e\u0447\u0435\u043c \u0444\u0430\u0439\u043b\u044b \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u0438 \u043e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u0442\u044c \u0438\u0445 \u0432 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e\u043c \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0438 \u041a\u0430\u043a \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u043f\u043e\u0434\u043f\u0438\u0441\u044c: \u041f\u043e\u0434\u043f\u0438\u0441\u044b\u0432\u0430\u043d\u0438\u0435 \u0442\u0440\u0435\u0431\u0443\u0435\u0442 \u043d\u0430\u043b\u0438\u0447\u0438\u0435 gpg \u043a\u043b\u044e\u0447\u0435\u0439 \u0432 \u043f\u0430\u043f\u043a\u0435 keys. \u0414\u0430\u043d\u043d\u044b\u0435 \u043a\u043b\u044e\u0447\u0438 \u0441\u043e\u0437\u0434\u0430\u044e\u0442\u0441\u044f \u043f\u0440\u0438 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0435 \u0441\u043a\u0440\u0438\u043f\u0442\u043e\u043c ./install-key \u0438\u0437 \u043f\u0430\u043f\u043a\u0438 gen-scripts \u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u0437\u0430\u043f\u0443\u0441\u043a\u0430: cd gen-scripts ./install-key UserName UserEmail 316224000 StrongSignPassword UserName - \u044d\u0442\u043e \u0438\u043c\u044f \u0432\u043b\u0430\u0434\u0435\u043b\u044c\u0446\u0430 \u043a\u043b\u044e\u0447\u0430 UserEmail - \u043f\u043e\u0447\u0442\u0430 \u0432\u043b\u0430\u0434\u0435\u043b\u044c\u0446\u0430 \u043a\u043b\u044e\u0447\u0430 316224000 - \u0447\u0438\u0441\u043b\u043e \u0441\u0435\u043a\u0443\u043d\u0434 \u0436\u0438\u0437\u043d\u0438 \u043a\u043b\u044e\u0447\u0430. \u0412\u044b\u0441\u0447\u0438\u0442\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u043f\u043e \u0444\u043e\u0440\u043c\u0443\u043b\u0435: \u043f\u0443\u0441\u0442\u044c \u043d\u0443\u0436\u0435\u043d \u043a\u043b\u044e\u0447 \u043d\u0430 2 \u0433\u043e\u0434\u0430 \u0437\u043d\u0430\u0447\u0438\u0442 \u0447\u0438\u043b\u0441\u043e \u0431\u0443\u0434\u0435\u0442: 2 * 366 * 24 * 60 * 60 = 63244800, \u0430 316224000 = 10 \u043b\u0435\u0442 StrongSignPassword - \u043f\u0430\u0440\u043e\u043b\u044c \u0434\u043b\u044f \u043a\u043b\u044e\u0447\u0430 \u0412 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0435 \u0431\u0443\u0434\u0435\u0442 \u0441\u0433\u0435\u043d\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u043d gpg \u043a\u043b\u044e\u0447 \u043f\u0440\u0438\u0432\u0430\u0442\u043d\u044b\u0439 \u0438 \u043f\u0443\u0431\u043b\u0438\u0447\u043d\u044b\u0439 \u0432 \u043f\u0430\u043f\u043a\u0435 keys, \u0436\u0435\u043b\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u043d\u0435 \u043f\u043e\u0442\u0435\u0440\u044f\u0442\u044c \u0438\u0445. \u041f\u0440\u043e\u0441\u043c\u043e\u0442\u0440 \u043f\u043e\u0434\u043f\u0438\u0441\u0430\u043d\u043d\u043e\u0433\u043e \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f - \u043f\u043e\u0441\u043b\u0435 \u043f\u043e\u0434\u043f\u0438\u0441\u0438 \u0432 \u043f\u0440\u043e\u0435\u043a\u0442\u0435 \u043f\u043e\u044f\u0432\u0438\u0442\u0441\u044f \u043f\u043e\u0434\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u0439 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0439 \u0441 \u043f\u0430\u043a\u0435\u0442\u0430\u043c\u0438 \u0438 \u0441\u0433\u0435\u043d\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u043c \u0444\u0430\u0439\u043b\u043e\u043c repoview. \u0422.\u0435 \u0432 \u0442\u0430\u043a\u043e\u043c \u0432\u0438\u0434\u0435 \u043a\u0430\u043a \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0439 \u0431\u0443\u0434\u0435\u0442 \u0432\u044b\u0433\u043b\u044f\u0434\u0435\u0442\u044c \u043f\u0440\u0438 \u043f\u0443\u0431\u043b\u0438\u043a\u0430\u0446\u0438\u0438 \u0432 \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442\u0435. \u0423\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u0430\u0434\u0440\u0435\u0441 \u043f\u043e\u0434\u043f\u0438\u0441\u0430\u043d\u043d\u043e\u0433\u043e \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0438\u044f - \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u0430\u0434\u0440\u0435\u0441\u0441 \u043f\u043e\u0434\u043f\u0438\u0441\u0430\u043d\u043d\u043e\u0433\u043e \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f, \u0442.\u0435 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c url, \u0434\u0430\u043d\u043d\u0430\u044f \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u0430 \u0434\u043b\u044f \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u043e\u0433\u043e \u0444\u043e\u0440\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0448\u0430\u043f\u043a\u0438: echo -e \"[project_test1] name=msvsphere9 repo on repo.brepo.ru baseurl=https://test.repo.tst/repo1/ enabled=1 gpgkey=https://test.repo.tst/repo1/project_test1-gpg-key gpgcheck=1\" > /etc/yum.repos.d/project_test1.repo \u0442.\u0435 \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u044b\u0439 url \u0431\u0443\u0434\u0443\u0449\u0435\u0433\u043e \u0443\u0434\u0430\u043b\u0435\u043d\u043d\u043e\u0433\u043e \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f. \u0423\u0434\u0430\u043b\u0438\u0442\u044c \u043f\u0440\u043e\u0435\u043a\u0442 - \u0443\u0434\u0430\u043b\u044f\u0435\u0442\u0441\u044f \u0432\u0435\u0441\u044c \u043f\u0440\u043e\u0435\u043a\u0442, \u043f\u043e\u0434\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u0435 \u0438 \u043d\u0435\u043f\u043e\u0434\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u0435 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0438, \u0441\u0431\u043e\u0440\u043a\u0438. \u041d\u043e \u0435\u0441\u043b\u0438 \u043f\u0440\u043e\u0435\u043a\u0442 \u0437\u0430\u043b\u0438\u043d\u043a\u043e\u0432\u0430\u043d \u0432 \u0434\u0440\u0443\u0433\u043e\u043c \u043f\u0440\u043e\u0435\u043a\u0442\u0435, \u0442\u043e \u0443\u0434\u0430\u043b\u0435\u043d\u0438\u0435 \u0431\u0443\u0434\u0435\u0442 \u043d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u044b\u043c, \u043f\u043e\u043a\u0430 \u043d\u0435 \u0431\u0443\u0434\u0435\u0442 \u0441\u043d\u044f\u0442 \u043b\u0438\u043d\u043a. \u0414\u043b\u044f \u0443\u0434\u0430\u043b\u0435\u043d\u0438\u044f - \u043d\u0443\u0436\u043d\u043e \u043f\u0435\u0440\u0435\u0432\u0435\u0441\u0442\u0438 \u0432 \u0430\u043a\u0442\u0438\u0432\u043d\u043e\u0435 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435 \u0444\u043b\u0430\u0436\u043e\u043a \u0438 \u043d\u0430\u0436\u0430\u0442\u044c \u043a\u043d\u043e\u043f\u043a\u0443 \"\u0423\u0434\u0430\u043b\u0438\u0442\u044c\". \u0411\u0435\u0437 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u0444\u043b\u0430\u0436\u043a\u0430 - \u0443\u0434\u0430\u043b\u0435\u043d\u0438\u0435 \u043d\u0435 \u043f\u0440\u043e\u0438\u0437\u043e\u0439\u0434\u0435. \u0422\u0430\u043a\u0430\u044f \u0437\u0430\u0449\u0438\u0442\u0430 \u043e\u0442 \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u043e\u0433\u043e \u0443\u0434\u0430\u043b\u0435\u043d\u0438\u044f. \u0421\u043f\u0438\u0441\u043e\u043a \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0439 \u043d\u0430\u0434 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0435\u043c \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u041d\u0430\u043f\u0440\u043e\u0442\u0438\u0432 \u043a\u0430\u0436\u0434\u043e\u0433\u043e git \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f, \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u043d\u043e\u0433\u043e \u0432 \u043f\u0440\u043e\u0435\u043a\u0442 \u0435\u0441\u0442\u044c \u0441\u043f\u0438\u0441\u043e\u043a \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0439: \u0421\u043b\u0435\u0432\u0430 \u043d\u0430\u043f\u0440\u0430\u0432\u043e: * \u0443\u0434\u0430\u043b\u0438\u0442\u044c git \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0439 \u0438\u0437 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 (\u043f\u0440\u0438 \u044d\u0442\u043e\u043c rpm \u043f\u0430\u043a\u0435\u0442\u044b \u0432 \u043f\u0440\u043e\u0435\u043a\u0442\u0435, \u0441\u0431\u043e\u0440\u043a\u0438 - \u043e\u0441\u0442\u0430\u044e\u0442\u0441\u044f) * \u043e\u0431\u043d\u043e\u0432\u0438\u0442\u044c \u0438\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u0438 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 - \u0435\u0441\u043b\u0438 \u0442\u0430\u043a\u043e\u0439 \u0437\u043d\u0430\u0447\u0435\u043a \u043f\u043e\u044f\u0432\u0438\u043b\u0441\u044f, \u0437\u043d\u0430\u0447\u0438\u0442 \u0432 git \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0439 \u0432 \u0432\u0435\u0442\u043a\u0443 master \u0431\u044b\u043b\u0438 \u0432\u043d\u0435\u0441\u0435\u043d\u044b \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0438 \u0432 \u0442\u0435\u043a\u0443\u0449\u0435\u043c \u043f\u0440\u043e\u0435\u043a\u0442\u0435 \u043d\u0435\u0430\u043a\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0435 \u0438\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u0438. \u041a\u043e\u0433\u0434\u0430 \u0438\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u0438 \u0430\u043a\u0442\u0430\u0443\u043b\u044c\u043d\u044b \u0441\u043f\u0438\u0441\u043e\u043a \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0439 \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u0442\u0430\u043a: \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u0441\u0431\u043e\u0440\u043a\u0443 - \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u0442\u0441\u044f \u0441\u0431\u043e\u0440\u043a\u0430 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u0432 \u0444\u043e\u043d\u0435. \u041e\u0442\u043e\u0431\u0440\u0430\u0436\u0430\u0435\u0442\u0441\u044f \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043e\u0431\u043d\u043e\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043a\u0430\u0436\u0434\u044b\u0435 5 \u0441\u0435\u043a\u0443\u043d\u0434 (\u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u043c\u043e\u0436\u043d\u043e \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u0438\u043b\u0438 \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u043e\u043f\u044f\u0442\u044c) \u0412\u043e \u0432\u0440\u0435\u043c\u044f \u0441\u0431\u043e\u0440\u043a\u0438 \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0430\u0435\u0442\u0441\u044f \u043b\u043e\u0433 \u0444\u0430\u0439\u043b \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430 \u0441\u0431\u043e\u0440\u043a\u0438. \u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0441\u0431\u043e\u0440\u043a\u0438 \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u043d\u0430 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0435 \u0441\u0431\u043e\u0440\u043a\u0438 \u0443\u043a\u0430\u0437\u0430\u0442\u044c \u0444\u0430\u0439\u043b spec \u0434\u043b\u044f \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u0438 git \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f - \u0435\u0441\u043b\u0438 \u0432 \u0433\u0438\u0442 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0438 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e spec \u0444\u0430\u0439\u043b\u043e\u0432, \u0442\u043e \u0431\u0443\u0434\u0435\u0442 \u043f\u043e\u0434\u0445\u0432\u0430\u0442\u044b\u0432\u0430\u0442\u044c\u0441\u044f \u043f\u0435\u0440\u0432\u044b\u0439 \u043f\u043e\u043f\u0430\u0432\u0448\u0438\u0439\u0441\u044f \u0444\u0430\u0439\u043b, \u0447\u0442\u043e\u0431 \u0438\u0437\u0431\u0435\u0436\u0430\u0442\u044c \u0442\u0430\u043a\u043e\u0433\u043e \u043f\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u044f \u043c\u043e\u0436\u043d\u043e \u0442\u043e\u0447\u043d\u043e \u0443\u043a\u0430\u0437\u0430\u0442\u044c \u043a\u0430\u043a\u043e\u0439 \u0444\u0430\u0439\u043b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043e\u0442\u043e\u0431\u0440\u0430\u0437\u0438\u0442\u044c \u0441\u043f\u0438\u0441\u043e\u043a \u0441\u0431\u043e\u0440\u043e\u043a \u0434\u043b\u044f \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u0438 \u0442\u0435\u043a\u0443\u0449\u0435\u0433\u043e git \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f \u0415\u0441\u043b\u0438 \u043d\u0430\u0436\u0430\u0442\u044c \u043d\u0430 \u0438\u043c\u044f git \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f \u0432 \u0441\u043f\u0438\u0441\u043a\u0435, \u0442\u043e \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u0435\u0433\u043e \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435, \u0442.\u0435 \u0441\u043f\u0438\u0441\u043e\u043a \u0444\u0430\u0439\u043b\u043e\u0432:","title":"\u0423\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043f\u0440\u043e\u0435\u043a\u0442\u0430\u043c\u0438"},{"location":"userguide/projects/#_1","text":"\u041f\u0440\u043e\u0435\u043a\u0442\u044b - \u044d\u0442\u043e \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f git \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0435\u0432, \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e - \u044d\u0442\u043e \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0439 rpm \u043f\u0430\u043a\u0435\u0442\u043e\u0432 (\u043f\u043e\u0434\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u0439 \u0438 \u043d\u0435 \u043f\u043e\u0434\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u0439). \u041d\u0435\u043f\u043e\u0434\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u0439 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0439 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0434\u043b\u044f \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0438\u0445 \u0441\u0431\u043e\u0440\u043e\u043a, \u043f\u0440\u0438 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0438 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u0432 \u0434\u0440\u0443\u0433\u043e\u0439 \u043f\u0440\u043e\u0435\u043a\u0442. \u041f\u043e\u0434\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u0439 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0439 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0434\u043b\u044f \u043f\u0443\u0431\u043b\u0438\u043a\u0430\u0446\u0438\u0438 rpm \u043f\u0430\u043a\u0435\u0442\u043e\u0432 \u043d\u0430 \u0432\u043d\u0435\u0448\u043d\u0438\u0439 \u0441\u0435\u0440\u0432\u0435\u0440 (\u0432\u043d\u0435\u0448\u043d\u0438\u0439 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0439).","title":"\u0423\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043f\u0440\u043e\u0435\u043a\u0442\u0430\u043c\u0438"},{"location":"userguide/projects/#_2","text":"","title":"\u0421\u043f\u0438\u0441\u043e\u043a \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432"},{"location":"userguide/projects/#_3","text":"\u041d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 - \u0443\u043d\u0438\u043a\u0430\u043b\u044c\u043d\u043e\u0435 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u043f\u0440\u043e\u0435\u043a\u0442\u0430, \u043e\u043d\u043e \u0431\u0443\u0434\u0435\u0442 \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0442\u044c\u0441\u044f \u0432 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0438 \u0431\u0443\u0434\u0443\u0449\u0435\u0433\u043e \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0441\u0442\u043e\u0438\u0442 \u043f\u043e\u0434\u0445\u043e\u0434\u0438\u0442\u044c \u043a \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u044e \u0441 \u0443\u043c\u043e\u043c. \u041e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 - \u043a\u0440\u0430\u0442\u043a\u043e\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u041d\u0435 \u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u0442\u044c \u043e\u0442\u043b\u0430\u0434\u043e\u0447\u043d\u044b\u0435 \u043f\u0430\u043a\u0435\u0442\u044b \u0438 \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0435 \u043a\u043e\u0434\u044b - \u043f\u0440\u0438 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0435\u043d\u043d\u043e\u043c \u0444\u043b\u0430\u0436\u043a\u0435 \u0432 \u043f\u043e\u0434\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u0439 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0439 \u043d\u0435 \u043f\u0443\u0431\u043b\u0438\u043a\u0443\u044e\u0442\u0441\u044f \u043f\u0430\u043a\u0435\u0442\u044b src.rpm, debuginfo, debugsource. \u0415\u0441\u043b\u0438 \u0444\u043b\u0430\u0436\u043e\u043a \u043d\u0435 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d, \u0442\u043e \u043f\u043e\u0434\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u0438 \u043f\u0443\u0431\u043b\u0438\u043a\u0443\u0435\u0442\u0441\u044f \u0432\u0441\u0435. \u0424\u043b\u0430\u0436\u043e\u043a \u0434\u043b\u044f \u043f\u0440\u043e\u043f\u0440\u0438\u0435\u0442\u0430\u0440\u043d\u043e\u0433\u043e \u041f\u041e \u0412\u044b\u0431\u0435\u0440\u0438\u0442\u0435 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044e \u043e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u044f \u0441\u0431\u043e\u0440\u043a\u0438 \u0434\u043b\u044f \u043f\u0440\u043e\u0435\u043a\u0442\u0430 - \u0432\u044b\u0431\u0438\u0440\u0430\u0435\u0442\u0441\u044f \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f \u0441\u0431\u043e\u0440\u043a\u0438, \u0432\u044b\u0431\u0438\u0440\u0430\u0435\u0442\u0441\u044f \u043e\u0434\u0438\u043d \u0440\u0430\u0437 \u043f\u0440\u0438 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0438 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u0438 \u0431\u043e\u043b\u044c\u0448\u0435 \u043f\u043e\u0442\u043e\u043c \u043d\u0435 \u043c\u0435\u043d\u044f\u0435\u0442\u0441\u044f. \u041c\u043e\u0436\u043d\u043e \u0442\u043e\u043b\u044c\u043a\u043e \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u043d\u043e\u0432\u044b\u0439 \u043f\u0440\u043e\u0435\u043a\u0442 \u0441 \u0434\u0440\u0443\u0433\u043e\u0439 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0435\u0439. \u041f\u0440\u0438\u043c\u0435\u0440 \u0432\u044b\u0431\u043e\u0440\u0430 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438. \u0418\u043c\u0435\u0435\u0442\u0441\u044f \u043f\u043e\u043b\u0435 \u0444\u0438\u043b\u044c\u0442\u0440\u0430\u0446\u0438\u0438.","title":"\u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u043d\u043e\u0432\u043e\u0433\u043e \u043f\u0440\u043e\u0435\u043a\u0442\u0430"},{"location":"userguide/projects/#_4","text":"\u0414\u043e\u0431\u0430\u0432\u0438\u0442\u044c git \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0439 \u043a \u043f\u0440\u043e\u0435\u043a\u0442\u0443 - \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u043a \u043f\u0440\u043e\u0435\u043a\u0442\u0443 \u043e\u0434\u0438\u043d \u0438\u0437 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0445 git \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0435\u0432. \u041d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0438\u0437 \u0432\u044b\u043f\u0430\u0434\u0430\u044e\u0449\u0435\u0433\u043e \u0441\u043f\u0438\u0441\u043a\u0430 \u0432\u044b\u0431\u0440\u0430\u0442\u044c \u043e\u0434\u0438\u043d - \u043d\u0430\u0436\u0430\u0442\u044c \u043a\u043d\u043e\u043f\u043a\u0443 \"\u0414\u043e\u0431\u0430\u0432\u0438\u0442\u044c\". \u0422\u043a \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u044b\u0439 \u0432 \u043f\u0440\u043e\u0435\u043a\u0442 \u043d\u043e\u0432\u044b\u0439 git \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0439. \u041f\u0443\u0441\u0442\u044b\u0435 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0438\u0439 \u0431\u0435\u0437 \u0438\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u043e\u0432 \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0432 \u043f\u0440\u043e\u0435\u0442\u043a \u043d\u0435\u043b\u044c\u0437\u044f! \u0420\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044e \u0441\u0431\u043e\u0440\u043a\u0438 - \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u0430\u044f \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f \u0441\u0431\u043e\u0440\u043e\u0447\u043d\u043e\u0433\u043e \u043e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u044f \u0434\u043b\u044f mock. \u0414\u0430\u043d\u043d\u044b\u0439 \u043f\u0443\u043a\u043d\u0442 \u043c\u0435\u043d\u044e \u043e\u0437\u0432\u043e\u043b\u044f\u0442\u044c \u043e\u0442\u0440\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043a\u043e\u0440\u043d\u0435\u0432\u043e\u0439 \u0444\u0430\u0439\u043b \u0441\u0431\u043e\u0440\u043e\u0447\u043d\u043e\u0433\u043e \u043e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u044f. \u0417\u0434\u0435\u0441\u044c \u0443\u0441\u043b\u043e\u0432\u043d\u043e \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u043c\u0435\u043d\u044f\u0442\u044c \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044e \u0441\u0431\u043e\u0440\u043a\u0438 \u0441 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u043b\u0441\u044f \u043f\u0440\u043e\u0435\u043a\u0442, \u043d\u043e \u0442\u0430\u043a\u043e\u0439 \u0444\u0438\u043d\u0442 \u043b\u0443\u0447\u0448\u0435 \u043d\u0435 \u043f\u0440\u043e\u0434\u0435\u043b\u044b\u0432\u0430\u0442\u044c, \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e \u0435\u0441\u043b\u0438 \u0435\u0441\u0442\u044c \u0443\u0436\u0435 \u0441\u043e\u0431\u0440\u0430\u043d\u043d\u044b\u0435 \u043f\u0430\u043a\u0435\u0442\u044b. \u0414\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0438\u0439 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0439 \u0438\u0437 \u0434\u0440\u0443\u0433\u043e\u0433\u043e \u043f\u0440\u043e\u0435\u043a\u0442\u0430 - \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0441\u0432\u044f\u0437\u0430\u0442\u044c \u043f\u0440\u043e\u0435\u043a\u0442\u044b \u043f\u0440\u0438 \u0441\u0431\u043e\u043a\u0435, \u0442.\u0435 \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0438\u0439 \u043d\u0435\u043f\u043e\u0434\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u0439 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0439 \u043e\u0434\u043d\u043e\u0433\u043e \u043f\u0440\u043e\u0435\u043a\u0442\u0430, \u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0441\u044f \u0434\u043e\u0441\u0442\u0443\u043f\u0435\u043d \u0434\u043b\u044f \u0441\u0431\u043e\u0440\u043a\u0438 \u0442\u0435\u043a\u0443\u0449\u0435\u0433\u043e. \u0421\u043f\u0438\u0441\u043e\u043a \u0432\u0441\u0435\u0445 \u043f\u0430\u043a\u0435\u0442\u043e\u0432 - \u0441\u043f\u0438\u0441\u043e\u043a \u043f\u0430\u043a\u0435\u0442\u043e\u0432, \u0441\u043e\u0431\u0440\u0430\u043d\u043d\u044b\u0445 \u0434\u043b\u044f \u0434\u0430\u043d\u043d\u043e\u0433\u043e \u043f\u0440\u043e\u0435\u043a\u0442\u0430 (\u043d\u0435\u043f\u043e\u0434\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u0445 \u043f\u0430\u043a\u0435\u0442\u0432) \u041e\u0442\u043e\u0431\u0440\u0430\u0436\u0430\u0435\u0442\u0441\u044f \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f, \u0433\u0434\u0435 \u043c\u043e\u0436\u043d\u043e \u043f\u0435\u0440\u0435\u043c\u0435\u0449\u0430\u0442\u044c\u0441\u044f \u043f\u043e \u043f\u0430\u043f\u043a\u0430\u043c \u0438 \u043d\u0430\u0436\u0438\u043c\u0430\u0442\u044c \u043d\u0430 rpm \u043f\u0430\u043a\u0435\u0442\u044b, \u043f\u043e\u043b\u0443\u0447\u0430\u044f \u043e \u043d\u0438\u0445 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e. \u0421\u043f\u0438\u0441\u043e\u043a \u0441\u0431\u043e\u0440\u043e\u043a \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432 - \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0430\u0435\u0442\u0441\u044f \u0441\u043f\u0438\u0441\u043e\u043a \u0441\u0431\u043e\u0440\u043e\u043a, \u043f\u0440\u0438\u043d\u0430\u0434\u043b\u0435\u0436\u0430\u0449\u0438\u0445 \u043f\u0440\u043e\u0435\u043a\u0442\u0443. \u0412 \u0434\u0430\u043d\u043d\u043e\u043c \u0441\u043f\u0438\u0441\u043a\u0435 \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e \u043e \u043a\u0430\u0436\u0434\u043e\u0439 \u0441\u0431\u043e\u0440\u043a\u0435. \u0414\u0435\u0442\u0430\u043b\u044c\u043d\u0435\u0435 \u043e \u0441\u0431\u043e\u0440\u043a\u0430\u0445 \u041f\u043e\u0434\u043f\u0438\u0441\u0430\u0442\u044c - \u043f\u043e\u0434\u043f\u0438\u0441\u0430\u0442\u044c gpg \u043a\u043b\u044e\u0447\u0435\u043c \u0444\u0430\u0439\u043b\u044b \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u0438 \u043e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u0442\u044c \u0438\u0445 \u0432 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e\u043c \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0438 \u041a\u0430\u043a \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u043f\u043e\u0434\u043f\u0438\u0441\u044c: \u041f\u043e\u0434\u043f\u0438\u0441\u044b\u0432\u0430\u043d\u0438\u0435 \u0442\u0440\u0435\u0431\u0443\u0435\u0442 \u043d\u0430\u043b\u0438\u0447\u0438\u0435 gpg \u043a\u043b\u044e\u0447\u0435\u0439 \u0432 \u043f\u0430\u043f\u043a\u0435 keys. \u0414\u0430\u043d\u043d\u044b\u0435 \u043a\u043b\u044e\u0447\u0438 \u0441\u043e\u0437\u0434\u0430\u044e\u0442\u0441\u044f \u043f\u0440\u0438 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0435 \u0441\u043a\u0440\u0438\u043f\u0442\u043e\u043c ./install-key \u0438\u0437 \u043f\u0430\u043f\u043a\u0438 gen-scripts \u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u0437\u0430\u043f\u0443\u0441\u043a\u0430: cd gen-scripts ./install-key UserName UserEmail 316224000 StrongSignPassword UserName - \u044d\u0442\u043e \u0438\u043c\u044f \u0432\u043b\u0430\u0434\u0435\u043b\u044c\u0446\u0430 \u043a\u043b\u044e\u0447\u0430 UserEmail - \u043f\u043e\u0447\u0442\u0430 \u0432\u043b\u0430\u0434\u0435\u043b\u044c\u0446\u0430 \u043a\u043b\u044e\u0447\u0430 316224000 - \u0447\u0438\u0441\u043b\u043e \u0441\u0435\u043a\u0443\u043d\u0434 \u0436\u0438\u0437\u043d\u0438 \u043a\u043b\u044e\u0447\u0430. \u0412\u044b\u0441\u0447\u0438\u0442\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u043f\u043e \u0444\u043e\u0440\u043c\u0443\u043b\u0435: \u043f\u0443\u0441\u0442\u044c \u043d\u0443\u0436\u0435\u043d \u043a\u043b\u044e\u0447 \u043d\u0430 2 \u0433\u043e\u0434\u0430 \u0437\u043d\u0430\u0447\u0438\u0442 \u0447\u0438\u043b\u0441\u043e \u0431\u0443\u0434\u0435\u0442: 2 * 366 * 24 * 60 * 60 = 63244800, \u0430 316224000 = 10 \u043b\u0435\u0442 StrongSignPassword - \u043f\u0430\u0440\u043e\u043b\u044c \u0434\u043b\u044f \u043a\u043b\u044e\u0447\u0430 \u0412 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0435 \u0431\u0443\u0434\u0435\u0442 \u0441\u0433\u0435\u043d\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u043d gpg \u043a\u043b\u044e\u0447 \u043f\u0440\u0438\u0432\u0430\u0442\u043d\u044b\u0439 \u0438 \u043f\u0443\u0431\u043b\u0438\u0447\u043d\u044b\u0439 \u0432 \u043f\u0430\u043f\u043a\u0435 keys, \u0436\u0435\u043b\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u043d\u0435 \u043f\u043e\u0442\u0435\u0440\u044f\u0442\u044c \u0438\u0445. \u041f\u0440\u043e\u0441\u043c\u043e\u0442\u0440 \u043f\u043e\u0434\u043f\u0438\u0441\u0430\u043d\u043d\u043e\u0433\u043e \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f - \u043f\u043e\u0441\u043b\u0435 \u043f\u043e\u0434\u043f\u0438\u0441\u0438 \u0432 \u043f\u0440\u043e\u0435\u043a\u0442\u0435 \u043f\u043e\u044f\u0432\u0438\u0442\u0441\u044f \u043f\u043e\u0434\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u0439 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0439 \u0441 \u043f\u0430\u043a\u0435\u0442\u0430\u043c\u0438 \u0438 \u0441\u0433\u0435\u043d\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u043c \u0444\u0430\u0439\u043b\u043e\u043c repoview. \u0422.\u0435 \u0432 \u0442\u0430\u043a\u043e\u043c \u0432\u0438\u0434\u0435 \u043a\u0430\u043a \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0439 \u0431\u0443\u0434\u0435\u0442 \u0432\u044b\u0433\u043b\u044f\u0434\u0435\u0442\u044c \u043f\u0440\u0438 \u043f\u0443\u0431\u043b\u0438\u043a\u0430\u0446\u0438\u0438 \u0432 \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442\u0435. \u0423\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u0430\u0434\u0440\u0435\u0441 \u043f\u043e\u0434\u043f\u0438\u0441\u0430\u043d\u043d\u043e\u0433\u043e \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0438\u044f - \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u0430\u0434\u0440\u0435\u0441\u0441 \u043f\u043e\u0434\u043f\u0438\u0441\u0430\u043d\u043d\u043e\u0433\u043e \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f, \u0442.\u0435 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c url, \u0434\u0430\u043d\u043d\u0430\u044f \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u0430 \u0434\u043b\u044f \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u043e\u0433\u043e \u0444\u043e\u0440\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0448\u0430\u043f\u043a\u0438: echo -e \"[project_test1] name=msvsphere9 repo on repo.brepo.ru baseurl=https://test.repo.tst/repo1/ enabled=1 gpgkey=https://test.repo.tst/repo1/project_test1-gpg-key gpgcheck=1\" > /etc/yum.repos.d/project_test1.repo \u0442.\u0435 \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u044b\u0439 url \u0431\u0443\u0434\u0443\u0449\u0435\u0433\u043e \u0443\u0434\u0430\u043b\u0435\u043d\u043d\u043e\u0433\u043e \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f. \u0423\u0434\u0430\u043b\u0438\u0442\u044c \u043f\u0440\u043e\u0435\u043a\u0442 - \u0443\u0434\u0430\u043b\u044f\u0435\u0442\u0441\u044f \u0432\u0435\u0441\u044c \u043f\u0440\u043e\u0435\u043a\u0442, \u043f\u043e\u0434\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u0435 \u0438 \u043d\u0435\u043f\u043e\u0434\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u0435 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0438, \u0441\u0431\u043e\u0440\u043a\u0438. \u041d\u043e \u0435\u0441\u043b\u0438 \u043f\u0440\u043e\u0435\u043a\u0442 \u0437\u0430\u043b\u0438\u043d\u043a\u043e\u0432\u0430\u043d \u0432 \u0434\u0440\u0443\u0433\u043e\u043c \u043f\u0440\u043e\u0435\u043a\u0442\u0435, \u0442\u043e \u0443\u0434\u0430\u043b\u0435\u043d\u0438\u0435 \u0431\u0443\u0434\u0435\u0442 \u043d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u044b\u043c, \u043f\u043e\u043a\u0430 \u043d\u0435 \u0431\u0443\u0434\u0435\u0442 \u0441\u043d\u044f\u0442 \u043b\u0438\u043d\u043a. \u0414\u043b\u044f \u0443\u0434\u0430\u043b\u0435\u043d\u0438\u044f - \u043d\u0443\u0436\u043d\u043e \u043f\u0435\u0440\u0435\u0432\u0435\u0441\u0442\u0438 \u0432 \u0430\u043a\u0442\u0438\u0432\u043d\u043e\u0435 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435 \u0444\u043b\u0430\u0436\u043e\u043a \u0438 \u043d\u0430\u0436\u0430\u0442\u044c \u043a\u043d\u043e\u043f\u043a\u0443 \"\u0423\u0434\u0430\u043b\u0438\u0442\u044c\". \u0411\u0435\u0437 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u0444\u043b\u0430\u0436\u043a\u0430 - \u0443\u0434\u0430\u043b\u0435\u043d\u0438\u0435 \u043d\u0435 \u043f\u0440\u043e\u0438\u0437\u043e\u0439\u0434\u0435. \u0422\u0430\u043a\u0430\u044f \u0437\u0430\u0449\u0438\u0442\u0430 \u043e\u0442 \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u043e\u0433\u043e \u0443\u0434\u0430\u043b\u0435\u043d\u0438\u044f.","title":"\u0418\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f \u043e \u043f\u0440\u043e\u0435\u043a\u0442\u0435"},{"location":"userguide/projects/#_5","text":"\u041d\u0430\u043f\u0440\u043e\u0442\u0438\u0432 \u043a\u0430\u0436\u0434\u043e\u0433\u043e git \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f, \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u043d\u043e\u0433\u043e \u0432 \u043f\u0440\u043e\u0435\u043a\u0442 \u0435\u0441\u0442\u044c \u0441\u043f\u0438\u0441\u043e\u043a \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0439: \u0421\u043b\u0435\u0432\u0430 \u043d\u0430\u043f\u0440\u0430\u0432\u043e: * \u0443\u0434\u0430\u043b\u0438\u0442\u044c git \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0439 \u0438\u0437 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 (\u043f\u0440\u0438 \u044d\u0442\u043e\u043c rpm \u043f\u0430\u043a\u0435\u0442\u044b \u0432 \u043f\u0440\u043e\u0435\u043a\u0442\u0435, \u0441\u0431\u043e\u0440\u043a\u0438 - \u043e\u0441\u0442\u0430\u044e\u0442\u0441\u044f) * \u043e\u0431\u043d\u043e\u0432\u0438\u0442\u044c \u0438\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u0438 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 - \u0435\u0441\u043b\u0438 \u0442\u0430\u043a\u043e\u0439 \u0437\u043d\u0430\u0447\u0435\u043a \u043f\u043e\u044f\u0432\u0438\u043b\u0441\u044f, \u0437\u043d\u0430\u0447\u0438\u0442 \u0432 git \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0439 \u0432 \u0432\u0435\u0442\u043a\u0443 master \u0431\u044b\u043b\u0438 \u0432\u043d\u0435\u0441\u0435\u043d\u044b \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0438 \u0432 \u0442\u0435\u043a\u0443\u0449\u0435\u043c \u043f\u0440\u043e\u0435\u043a\u0442\u0435 \u043d\u0435\u0430\u043a\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0435 \u0438\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u0438. \u041a\u043e\u0433\u0434\u0430 \u0438\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u0438 \u0430\u043a\u0442\u0430\u0443\u043b\u044c\u043d\u044b \u0441\u043f\u0438\u0441\u043e\u043a \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0439 \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u0442\u0430\u043a: \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u0441\u0431\u043e\u0440\u043a\u0443 - \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u0442\u0441\u044f \u0441\u0431\u043e\u0440\u043a\u0430 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u0432 \u0444\u043e\u043d\u0435. \u041e\u0442\u043e\u0431\u0440\u0430\u0436\u0430\u0435\u0442\u0441\u044f \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043e\u0431\u043d\u043e\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043a\u0430\u0436\u0434\u044b\u0435 5 \u0441\u0435\u043a\u0443\u043d\u0434 (\u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u043c\u043e\u0436\u043d\u043e \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u0438\u043b\u0438 \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u043e\u043f\u044f\u0442\u044c) \u0412\u043e \u0432\u0440\u0435\u043c\u044f \u0441\u0431\u043e\u0440\u043a\u0438 \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0430\u0435\u0442\u0441\u044f \u043b\u043e\u0433 \u0444\u0430\u0439\u043b \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430 \u0441\u0431\u043e\u0440\u043a\u0438. \u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0441\u0431\u043e\u0440\u043a\u0438 \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u043d\u0430 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0435 \u0441\u0431\u043e\u0440\u043a\u0438 \u0443\u043a\u0430\u0437\u0430\u0442\u044c \u0444\u0430\u0439\u043b spec \u0434\u043b\u044f \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u0438 git \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f - \u0435\u0441\u043b\u0438 \u0432 \u0433\u0438\u0442 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0438 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e spec \u0444\u0430\u0439\u043b\u043e\u0432, \u0442\u043e \u0431\u0443\u0434\u0435\u0442 \u043f\u043e\u0434\u0445\u0432\u0430\u0442\u044b\u0432\u0430\u0442\u044c\u0441\u044f \u043f\u0435\u0440\u0432\u044b\u0439 \u043f\u043e\u043f\u0430\u0432\u0448\u0438\u0439\u0441\u044f \u0444\u0430\u0439\u043b, \u0447\u0442\u043e\u0431 \u0438\u0437\u0431\u0435\u0436\u0430\u0442\u044c \u0442\u0430\u043a\u043e\u0433\u043e \u043f\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u044f \u043c\u043e\u0436\u043d\u043e \u0442\u043e\u0447\u043d\u043e \u0443\u043a\u0430\u0437\u0430\u0442\u044c \u043a\u0430\u043a\u043e\u0439 \u0444\u0430\u0439\u043b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043e\u0442\u043e\u0431\u0440\u0430\u0437\u0438\u0442\u044c \u0441\u043f\u0438\u0441\u043e\u043a \u0441\u0431\u043e\u0440\u043e\u043a \u0434\u043b\u044f \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u0438 \u0442\u0435\u043a\u0443\u0449\u0435\u0433\u043e git \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f \u0415\u0441\u043b\u0438 \u043d\u0430\u0436\u0430\u0442\u044c \u043d\u0430 \u0438\u043c\u044f git \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f \u0432 \u0441\u043f\u0438\u0441\u043a\u0435, \u0442\u043e \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u0435\u0433\u043e \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435, \u0442.\u0435 \u0441\u043f\u0438\u0441\u043e\u043a \u0444\u0430\u0439\u043b\u043e\u0432:","title":"\u0421\u043f\u0438\u0441\u043e\u043a \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0439 \u043d\u0430\u0434 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0435\u043c \u043f\u0440\u043e\u0435\u043a\u0442\u0430"},{"location":"userguide/recips/","text":"\u0421\u0446\u0435\u043d\u0430\u0440\u0438\u0438 \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043a\u0438 \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0445 \u043a\u043e\u0434\u043e\u0432 git \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0435\u0432 \u0421\u0446\u0435\u043d\u0430\u0440\u0438\u0438 \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043a\u0438 \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0445 \u043a\u043e\u0434\u043e\u0432 git \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0435\u0432 \u0432 \u0434\u0430\u043b\u044c\u043d\u0435\u0439\u0448\u0435\u043c \u0431\u0443\u0434\u0443 \u043d\u0430\u0437\u044b\u0432\u0430\u0442\u044c \u0440\u0435\u0446\u0435\u043f\u0442\u0430\u043c\u0438 . \u0414\u043b\u044f \u0441\u0431\u043e\u0440\u043a\u0438 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e, \u0447\u0442\u043e\u0431 \u0432\u0441\u0435 \u0444\u0430\u0439\u043b\u044b git \u043f\u0440\u0435\u043a\u0442\u0430 \u0431\u044b\u043b\u0438 \u043f\u0440\u043e\u043f\u0438\u0441\u0430\u043d\u044b \u0432 spec \u0444\u0430\u0439\u043b\u0435, \u0430 \u0437\u0430\u0447\u0430\u0441\u0442\u0443\u044e \u0432 spec \u0444\u0430\u0439\u043b\u0435 \u0444\u0430\u0439\u043b\u044b \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0445 \u043a\u043e\u0434\u043e\u0432 \u043f\u0440\u043e\u043f\u0438\u0441\u0430\u043d\u044b \u043a\u0430\u043a \u043e\u0434\u0438\u043d \u0430\u0440\u0445\u0438\u0432. \u041f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e MockGUI \u043f\u0440\u0435\u0434\u043f\u043e\u043b\u043f\u0433\u0430\u0435\u0442, \u0447\u0442\u043e \u0432 spec \u043f\u0440\u043e\u043f\u0438\u0441\u0430\u043d\u044b \u0432\u0441\u0435 \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0435 \u0444\u0430\u0439\u043b\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442\u0441\u044f \u043f\u0440\u0438 \u0441\u0431\u043e\u0440\u043a\u0435 \u0438 \u043d\u0438\u0447\u0435\u0433\u043e \u0434\u0435\u043b\u0430\u0442\u044c \u043d\u0435 \u043d\u0443\u0436\u043d\u043e. \u041d\u043e \u0435\u0441\u043b\u0438 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043f\u0440\u043e\u0434\u0435\u043b\u0430\u0442\u044c \u043a\u0430\u043a\u0438\u0435-\u0442\u043e \u043c\u0430\u043d\u0438\u043f\u0443\u043b\u044f\u0446\u0438\u0438 \u0434\u043b\u044f \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043a\u0438 \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0445 \u0444\u0430\u0439\u043b\u043e\u0432, \u0442\u043e \u0441\u0431\u043e\u0440\u043a\u0430 \u0437\u0430\u0432\u0435\u0440\u0448\u0438\u0442\u0441\u044f \u0441 \u043e\u0448\u0438\u0431\u043a\u043e\u0439. \u0427\u0442\u043e\u0431 \u043d\u0435 \u0431\u044b\u043b\u043e \u043e\u0448\u0438\u0431\u043a\u0438 \u0434\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0441\u0434\u0435\u043b\u0430\u043d\u044b \u0440\u0435\u0446\u0435\u043f\u0442\u044b. \u0420\u0435\u0446\u0435\u043f\u0442 - \u044d\u0442\u043e \u043f\u043e \u0441\u0443\u0442\u0438 bash \u0441\u043a\u0440\u0438\u043f\u0442, \u043a\u043e\u0442\u043e\u0440\u044b\u0439: \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442 \u043d\u0430 \u0432\u0445\u043e\u0434 spec \u0444\u0430\u0439\u043b \u043f\u0430\u0440\u0441\u0438\u0442 spec \u0444\u0430\u0439\u043b \u043f\u0440\u0438 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u0438 \u0434\u0435\u043b\u0430\u0435\u0442 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u0435 \u043c\u0430\u043d\u0438\u043f\u0443\u043b\u044f\u0446\u0438\u0438 \u0441 \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u043c\u0438 \u043a\u043e\u0434\u0430\u043c\u0438 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442 \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043a\u0443 \u043a \u0441\u0431\u043e\u0440\u043a\u0435 \u041d\u0443\u0436\u043d\u043e \u0443\u0447\u0438\u0442\u044b\u0432\u0430\u0442\u044c \u043f\u0440\u0438 \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0438\u0438 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0435\u0432, \u0447\u0442\u043e \u043e\u043d\u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u044e\u0442\u0441\u044f \u0432 \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u0435, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0438\u0445 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 \u044d\u0442\u043e \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c: * \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 sed, grep \u0434\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u0444\u0430\u0439\u043b\u043e\u0432 \u043a\u043e\u043d\u0444\u0438\u0433\u0440\u0443\u0430\u0446\u0438\u0439 * \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u0445 \u0430\u0440\u0445\u0438\u0432\u0430\u0442\u043e\u0440 \u0432 \u0441\u0438\u0441\u0442\u0435\u043c\u0435 \u0434\u043b\u044f \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043a\u0438 \u0430\u0440\u0445\u0438\u0432\u0430 * \u0438 \u0442.\u0434. \u041f\u0440\u0438\u043c\u0435\u0440 \u0442\u0430\u043a\u043e\u0433\u043e \u0441\u043a\u0440\u0438\u043f\u0442\u0430 \u0443\u0436\u0435 \u0432\u0441\u0442\u0440\u043e\u0435\u043d \u0432 MockGUI - make_tar_from_git. \u041e\u043d \u0438\u0437 \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0445 \u043a\u043e\u0434\u043e\u0432 git \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u0441\u043e\u0437\u0434\u0430\u0435\u0442 \u0430\u0440\u0445\u0438\u0432 \u0434\u043b\u044f \u0441\u0431\u043e\u0440\u043a\u0438: #!/bin/bash need_spec=\"n\" SPEC=\"$1\" FIND_SPEC=\"$SPEC\" if [ -z \"$SPEC\" ];then need_spec=\"y\" fi if [ -n \"$SPEC\" -a ! -e \"$SPEC\" ];then need_spec=\"y\" fi if [ \"$need_spec\" == \"y\" ];then FIND_SPEC=$(/usr/bin/find . -iname \"*.spec\" -type f -print -quit) fi if [ -n \"$FIND_SPEC\" ];then NAME=$(rpm -q --queryformat=\"%{NAME}\" --specfile \"$FIND_SPEC\" | xargs) VERSION=$(rpm -q --queryformat=\"%{VERSION}\" --specfile \"$FIND_SPEC\" | xargs) PKG_NAME=\"${NAME}-${VERSION}\" tar -h --exclude=\"${PKG_NAME}.tar.gz\" --exclude=\".git\" --exclude=\"$FIND_SPEC\" -cvf ${PKG_NAME}.tar.gz --transform \"s,^,${PKG_NAME}/,\" * exit 0 else echo \"\u041d\u0435 \u043d\u0430\u0439\u0434\u0435\u043d spec \u0444\u0430\u0439\u043b\" exit 255 fi \u0415\u0433\u043e \u043a\u043e\u0434 \u043f\u0440\u043e\u0441\u0442, \u0441\u043a\u0440\u0438\u043f\u0442 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442\u0441\u044f \u0432 \u043a\u043e\u0440\u043d\u0435 git \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f, \u043e\u043d \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442 spec \u0444\u0430\u0439\u043b, \u0438\u0437\u0432\u043b\u0435\u043a\u0430\u0435\u0442 \u0438\u0437 \u043d\u0435\u0433\u043e \u0432\u0435\u0440\u0441\u0438\u044e \u0438 \u0438\u043c\u044f \u043f\u0430\u043a\u0435\u0442\u0430 \u0438 \u0441\u043e\u0437\u0434\u0430\u0435\u0442 \u0442\u0443\u0442 \u0436\u0435 \u0430\u0440\u0445\u0438\u0432. \u0414\u0430\u043d\u043d\u044b\u0435\u0439 \u0440\u0435\u0446\u0435\u043f\u0442\u044b \u043c\u043e\u0433\u0443\u0442 \u0438\u0437\u043c\u0435\u043d\u044f\u0442\u044c \u0438\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u0438, \u044d\u0442\u043e \u043d\u0435 \u0432\u0440\u0435\u0434\u0438\u0442 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044e, \u0442.\u043a \u0432\u0441\u0435 \u043c\u0430\u043d\u0438\u043f\u0443\u043b\u044f\u0446\u0438\u0438 \u0434\u0435\u043b\u0430\u044e\u0442\u0441\u044f \u0441 \u043a\u043e\u043f\u0438\u0435\u0439 \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u043c \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u0435. \u041f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0441\u043f\u0438\u0441\u043e\u043a \u0440\u0435\u0446\u0435\u043f\u0442\u043e\u0432 \u0414\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u043d\u043e\u0432\u044b\u0439 \u0440\u0435\u0446\u0435\u043f\u0442 \u0418\u043c\u044f \u0440\u0435\u0446\u0435\u043f\u0442\u0430 - \u0438\u043c\u044f \u0444\u0430\u0439\u043b\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0431\u0443\u0434\u0435\u0442 \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c\u0441\u044f \u043f\u0440\u0438 \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043a\u0435 \u0441\u0431\u043e\u0440\u043a\u0438 \u0432\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u0438\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u0430\u0445 \u043f\u0440\u043e\u0435\u043a\u0442\u0430. \u0418\u043c\u044f \u0436\u0435\u043b\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u0432\u044b\u0431\u0438\u0440\u0430\u0442\u044c \u0442\u0430\u043a\u043e\u0435, \u0447\u0442\u043e\u0431 \u043e\u043d\u043e \u043d\u0435 \u043f\u0435\u0440\u0435\u043f\u0438\u0441\u0430\u043b\u043e \u0444\u0430\u0439\u043b \u0438\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u043e\u0432 \u041e\u043f\u0438\u0441\u0430\u043d\u044c\u0435 - \u043a\u0440\u0430\u0442\u043a\u043e\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0433\u043e \u0441\u043a\u0440\u0438\u043f\u0442\u0430 \u041a\u043e\u0434 - bash \u0441\u043a\u0440\u0438\u043f\u0442 git \u043f\u0440\u043e\u0435\u043a\u0442\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0449\u0438\u0435 \u0440\u0435\u0446\u0435\u043f\u0442 - \u0441\u043f\u0438\u0441\u043e\u043a git-\u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0435\u0432, \u0434\u043b\u044f \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0439 \u0440\u0435\u0446\u0435\u043f\u0442 \u0431\u0443\u0434\u0435\u0442 \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0442\u044c\u0441\u044f. \u041c\u043e\u0436\u0435\u0442 \u0438\u043c\u0435\u0442\u044c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439 \u0420\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0435\u0433\u043e \u0440\u0435\u0446\u0435\u043f\u0442\u0430 \u0423\u0434\u0430\u043b\u0435\u043d\u0438\u0435 \u0440\u0435\u0446\u0435\u043f\u0442\u0430 \u0414\u043b\u044f \u0443\u0434\u0430\u043b\u0435\u043d\u0438\u044f, \u043d\u0443\u0436\u043d\u043e \u043d\u0430\u0436\u0430\u0442\u044c \u043a\u043d\u043e\u043f\u043a\u0443 \"\u0423\u0434\u0430\u043b\u0438\u0442\u044c\" \u0438 \u0432 \u043f\u043e\u044f\u0432\u0438\u0432\u0448\u0435\u043c\u0441\u044f \u043e\u043a\u043d\u0435 \u0432\u043f\u0438\u0441\u0430\u0442\u044c \u0438\u043c\u044f \u0440\u0435\u0446\u0435\u043f\u0442\u0430 \u0434\u043b\u044f \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043d\u0438\u044f \u0443\u0434\u0430\u043b\u0435\u043d\u0438\u044f.","title":"\u0421\u0446\u0435\u043d\u0430\u0440\u0438\u0438 \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043a\u0438 \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0445 \u043a\u043e\u0434\u043e\u0432 git \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0435\u0432"},{"location":"userguide/recips/#git","text":"\u0421\u0446\u0435\u043d\u0430\u0440\u0438\u0438 \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043a\u0438 \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0445 \u043a\u043e\u0434\u043e\u0432 git \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0435\u0432 \u0432 \u0434\u0430\u043b\u044c\u043d\u0435\u0439\u0448\u0435\u043c \u0431\u0443\u0434\u0443 \u043d\u0430\u0437\u044b\u0432\u0430\u0442\u044c \u0440\u0435\u0446\u0435\u043f\u0442\u0430\u043c\u0438 . \u0414\u043b\u044f \u0441\u0431\u043e\u0440\u043a\u0438 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e, \u0447\u0442\u043e\u0431 \u0432\u0441\u0435 \u0444\u0430\u0439\u043b\u044b git \u043f\u0440\u0435\u043a\u0442\u0430 \u0431\u044b\u043b\u0438 \u043f\u0440\u043e\u043f\u0438\u0441\u0430\u043d\u044b \u0432 spec \u0444\u0430\u0439\u043b\u0435, \u0430 \u0437\u0430\u0447\u0430\u0441\u0442\u0443\u044e \u0432 spec \u0444\u0430\u0439\u043b\u0435 \u0444\u0430\u0439\u043b\u044b \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0445 \u043a\u043e\u0434\u043e\u0432 \u043f\u0440\u043e\u043f\u0438\u0441\u0430\u043d\u044b \u043a\u0430\u043a \u043e\u0434\u0438\u043d \u0430\u0440\u0445\u0438\u0432. \u041f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e MockGUI \u043f\u0440\u0435\u0434\u043f\u043e\u043b\u043f\u0433\u0430\u0435\u0442, \u0447\u0442\u043e \u0432 spec \u043f\u0440\u043e\u043f\u0438\u0441\u0430\u043d\u044b \u0432\u0441\u0435 \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0435 \u0444\u0430\u0439\u043b\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442\u0441\u044f \u043f\u0440\u0438 \u0441\u0431\u043e\u0440\u043a\u0435 \u0438 \u043d\u0438\u0447\u0435\u0433\u043e \u0434\u0435\u043b\u0430\u0442\u044c \u043d\u0435 \u043d\u0443\u0436\u043d\u043e. \u041d\u043e \u0435\u0441\u043b\u0438 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043f\u0440\u043e\u0434\u0435\u043b\u0430\u0442\u044c \u043a\u0430\u043a\u0438\u0435-\u0442\u043e \u043c\u0430\u043d\u0438\u043f\u0443\u043b\u044f\u0446\u0438\u0438 \u0434\u043b\u044f \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043a\u0438 \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0445 \u0444\u0430\u0439\u043b\u043e\u0432, \u0442\u043e \u0441\u0431\u043e\u0440\u043a\u0430 \u0437\u0430\u0432\u0435\u0440\u0448\u0438\u0442\u0441\u044f \u0441 \u043e\u0448\u0438\u0431\u043a\u043e\u0439. \u0427\u0442\u043e\u0431 \u043d\u0435 \u0431\u044b\u043b\u043e \u043e\u0448\u0438\u0431\u043a\u0438 \u0434\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0441\u0434\u0435\u043b\u0430\u043d\u044b \u0440\u0435\u0446\u0435\u043f\u0442\u044b. \u0420\u0435\u0446\u0435\u043f\u0442 - \u044d\u0442\u043e \u043f\u043e \u0441\u0443\u0442\u0438 bash \u0441\u043a\u0440\u0438\u043f\u0442, \u043a\u043e\u0442\u043e\u0440\u044b\u0439: \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442 \u043d\u0430 \u0432\u0445\u043e\u0434 spec \u0444\u0430\u0439\u043b \u043f\u0430\u0440\u0441\u0438\u0442 spec \u0444\u0430\u0439\u043b \u043f\u0440\u0438 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u0438 \u0434\u0435\u043b\u0430\u0435\u0442 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u0435 \u043c\u0430\u043d\u0438\u043f\u0443\u043b\u044f\u0446\u0438\u0438 \u0441 \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u043c\u0438 \u043a\u043e\u0434\u0430\u043c\u0438 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442 \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043a\u0443 \u043a \u0441\u0431\u043e\u0440\u043a\u0435 \u041d\u0443\u0436\u043d\u043e \u0443\u0447\u0438\u0442\u044b\u0432\u0430\u0442\u044c \u043f\u0440\u0438 \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0438\u0438 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0435\u0432, \u0447\u0442\u043e \u043e\u043d\u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u044e\u0442\u0441\u044f \u0432 \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u0435, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0438\u0445 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 \u044d\u0442\u043e \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c: * \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 sed, grep \u0434\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u0444\u0430\u0439\u043b\u043e\u0432 \u043a\u043e\u043d\u0444\u0438\u0433\u0440\u0443\u0430\u0446\u0438\u0439 * \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u0445 \u0430\u0440\u0445\u0438\u0432\u0430\u0442\u043e\u0440 \u0432 \u0441\u0438\u0441\u0442\u0435\u043c\u0435 \u0434\u043b\u044f \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043a\u0438 \u0430\u0440\u0445\u0438\u0432\u0430 * \u0438 \u0442.\u0434. \u041f\u0440\u0438\u043c\u0435\u0440 \u0442\u0430\u043a\u043e\u0433\u043e \u0441\u043a\u0440\u0438\u043f\u0442\u0430 \u0443\u0436\u0435 \u0432\u0441\u0442\u0440\u043e\u0435\u043d \u0432 MockGUI - make_tar_from_git. \u041e\u043d \u0438\u0437 \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0445 \u043a\u043e\u0434\u043e\u0432 git \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u0441\u043e\u0437\u0434\u0430\u0435\u0442 \u0430\u0440\u0445\u0438\u0432 \u0434\u043b\u044f \u0441\u0431\u043e\u0440\u043a\u0438: #!/bin/bash need_spec=\"n\" SPEC=\"$1\" FIND_SPEC=\"$SPEC\" if [ -z \"$SPEC\" ];then need_spec=\"y\" fi if [ -n \"$SPEC\" -a ! -e \"$SPEC\" ];then need_spec=\"y\" fi if [ \"$need_spec\" == \"y\" ];then FIND_SPEC=$(/usr/bin/find . -iname \"*.spec\" -type f -print -quit) fi if [ -n \"$FIND_SPEC\" ];then NAME=$(rpm -q --queryformat=\"%{NAME}\" --specfile \"$FIND_SPEC\" | xargs) VERSION=$(rpm -q --queryformat=\"%{VERSION}\" --specfile \"$FIND_SPEC\" | xargs) PKG_NAME=\"${NAME}-${VERSION}\" tar -h --exclude=\"${PKG_NAME}.tar.gz\" --exclude=\".git\" --exclude=\"$FIND_SPEC\" -cvf ${PKG_NAME}.tar.gz --transform \"s,^,${PKG_NAME}/,\" * exit 0 else echo \"\u041d\u0435 \u043d\u0430\u0439\u0434\u0435\u043d spec \u0444\u0430\u0439\u043b\" exit 255 fi \u0415\u0433\u043e \u043a\u043e\u0434 \u043f\u0440\u043e\u0441\u0442, \u0441\u043a\u0440\u0438\u043f\u0442 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442\u0441\u044f \u0432 \u043a\u043e\u0440\u043d\u0435 git \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f, \u043e\u043d \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442 spec \u0444\u0430\u0439\u043b, \u0438\u0437\u0432\u043b\u0435\u043a\u0430\u0435\u0442 \u0438\u0437 \u043d\u0435\u0433\u043e \u0432\u0435\u0440\u0441\u0438\u044e \u0438 \u0438\u043c\u044f \u043f\u0430\u043a\u0435\u0442\u0430 \u0438 \u0441\u043e\u0437\u0434\u0430\u0435\u0442 \u0442\u0443\u0442 \u0436\u0435 \u0430\u0440\u0445\u0438\u0432. \u0414\u0430\u043d\u043d\u044b\u0435\u0439 \u0440\u0435\u0446\u0435\u043f\u0442\u044b \u043c\u043e\u0433\u0443\u0442 \u0438\u0437\u043c\u0435\u043d\u044f\u0442\u044c \u0438\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u0438, \u044d\u0442\u043e \u043d\u0435 \u0432\u0440\u0435\u0434\u0438\u0442 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044e, \u0442.\u043a \u0432\u0441\u0435 \u043c\u0430\u043d\u0438\u043f\u0443\u043b\u044f\u0446\u0438\u0438 \u0434\u0435\u043b\u0430\u044e\u0442\u0441\u044f \u0441 \u043a\u043e\u043f\u0438\u0435\u0439 \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u043c \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u0435.","title":"\u0421\u0446\u0435\u043d\u0430\u0440\u0438\u0438 \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043a\u0438 \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0445 \u043a\u043e\u0434\u043e\u0432 git \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0435\u0432"},{"location":"userguide/recips/#_1","text":"","title":"\u041f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0441\u043f\u0438\u0441\u043e\u043a \u0440\u0435\u0446\u0435\u043f\u0442\u043e\u0432"},{"location":"userguide/recips/#_2","text":"\u0418\u043c\u044f \u0440\u0435\u0446\u0435\u043f\u0442\u0430 - \u0438\u043c\u044f \u0444\u0430\u0439\u043b\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0431\u0443\u0434\u0435\u0442 \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c\u0441\u044f \u043f\u0440\u0438 \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043a\u0435 \u0441\u0431\u043e\u0440\u043a\u0438 \u0432\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u0438\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u0430\u0445 \u043f\u0440\u043e\u0435\u043a\u0442\u0430. \u0418\u043c\u044f \u0436\u0435\u043b\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u0432\u044b\u0431\u0438\u0440\u0430\u0442\u044c \u0442\u0430\u043a\u043e\u0435, \u0447\u0442\u043e\u0431 \u043e\u043d\u043e \u043d\u0435 \u043f\u0435\u0440\u0435\u043f\u0438\u0441\u0430\u043b\u043e \u0444\u0430\u0439\u043b \u0438\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u043e\u0432 \u041e\u043f\u0438\u0441\u0430\u043d\u044c\u0435 - \u043a\u0440\u0430\u0442\u043a\u043e\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0433\u043e \u0441\u043a\u0440\u0438\u043f\u0442\u0430 \u041a\u043e\u0434 - bash \u0441\u043a\u0440\u0438\u043f\u0442 git \u043f\u0440\u043e\u0435\u043a\u0442\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0449\u0438\u0435 \u0440\u0435\u0446\u0435\u043f\u0442 - \u0441\u043f\u0438\u0441\u043e\u043a git-\u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0435\u0432, \u0434\u043b\u044f \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0439 \u0440\u0435\u0446\u0435\u043f\u0442 \u0431\u0443\u0434\u0435\u0442 \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0442\u044c\u0441\u044f. \u041c\u043e\u0436\u0435\u0442 \u0438\u043c\u0435\u0442\u044c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439","title":"\u0414\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u043d\u043e\u0432\u044b\u0439 \u0440\u0435\u0446\u0435\u043f\u0442"},{"location":"userguide/recips/#_3","text":"","title":"\u0420\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0435\u0433\u043e \u0440\u0435\u0446\u0435\u043f\u0442\u0430"},{"location":"userguide/recips/#_4","text":"\u0414\u043b\u044f \u0443\u0434\u0430\u043b\u0435\u043d\u0438\u044f, \u043d\u0443\u0436\u043d\u043e \u043d\u0430\u0436\u0430\u0442\u044c \u043a\u043d\u043e\u043f\u043a\u0443 \"\u0423\u0434\u0430\u043b\u0438\u0442\u044c\" \u0438 \u0432 \u043f\u043e\u044f\u0432\u0438\u0432\u0448\u0435\u043c\u0441\u044f \u043e\u043a\u043d\u0435 \u0432\u043f\u0438\u0441\u0430\u0442\u044c \u0438\u043c\u044f \u0440\u0435\u0446\u0435\u043f\u0442\u0430 \u0434\u043b\u044f \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043d\u0438\u044f \u0443\u0434\u0430\u043b\u0435\u043d\u0438\u044f.","title":"\u0423\u0434\u0430\u043b\u0435\u043d\u0438\u0435 \u0440\u0435\u0446\u0435\u043f\u0442\u0430"},{"location":"userguide/rpms/","text":"\u0421\u043f\u0438\u0441\u043e\u043a \u043f\u0430\u043a\u0435\u0442\u043e\u0432 \u0412 \u0434\u0430\u043d\u043d\u043e\u043c \u0440\u0430\u0437\u0434\u0435\u043b\u0435 \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0430\u0435\u0442\u0441\u044f \u0441\u043f\u0438\u0441\u043e\u043a git \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0435\u0432 \u0438 \u0447\u0438\u0441\u043b\u043e \u043f\u0430\u043a\u0435\u0442\u043e\u0432 \u0441\u043e\u0431\u0440\u0430\u043d\u043d\u044b\u0445 \u0438\u0437 \u0434\u0430\u043d\u043d\u043e\u0433\u043e \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f \u0414\u043b\u044f \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044f \u0431\u043e\u043b\u0435\u0435 \u0434\u0435\u0442\u0430\u043b\u044c\u043d\u043e\u0439 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438 \u043d\u0443\u0436\u043d\u043e \u043d\u0430\u0436\u0430\u0442\u044c \u043d\u0430 \u0441\u0442\u0440\u0435\u043b\u043a\u0443, \u0438 \u043e\u0442\u043e\u0431\u0440\u0430\u0437\u0438\u0442\u0441\u044f \u0441\u043f\u0438\u0441\u043e\u043a \u0432\u0441\u0435\u0445 \u043f\u0430\u043a\u0435\u0442\u043e\u0432, \u0441\u043e\u0431\u0440\u0430\u043d\u043d\u044b\u0445 \u0438\u0437 \u0434\u0430\u043d\u043d\u043e\u0433\u043e \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f. \u0417\u0434\u0435\u0441\u044c \u0436\u0435 \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e \u043a\u043e\u0433\u0434\u0430 \u0438 \u0434\u043b\u044f \u043a\u0430\u043a\u043e\u0433\u043e \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u0441\u043e\u0431\u0438\u0440\u0430\u043b\u0441\u044f \u043f\u0430\u043a\u0435\u0442, \u0430 \u0442\u0430\u043a \u0436\u0435 \u0434\u0435\u0442\u0430\u043b\u044c\u043d\u0443\u044e \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e \u043e\u0431 rpm \u043f\u0430\u043a\u0435\u0442\u0435.","title":"\u0421\u043f\u0438\u0441\u043e\u043a \u043f\u0430\u043a\u0435\u0442\u043e\u0432"},{"location":"userguide/rpms/#_1","text":"\u0412 \u0434\u0430\u043d\u043d\u043e\u043c \u0440\u0430\u0437\u0434\u0435\u043b\u0435 \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0430\u0435\u0442\u0441\u044f \u0441\u043f\u0438\u0441\u043e\u043a git \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0435\u0432 \u0438 \u0447\u0438\u0441\u043b\u043e \u043f\u0430\u043a\u0435\u0442\u043e\u0432 \u0441\u043e\u0431\u0440\u0430\u043d\u043d\u044b\u0445 \u0438\u0437 \u0434\u0430\u043d\u043d\u043e\u0433\u043e \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f \u0414\u043b\u044f \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044f \u0431\u043e\u043b\u0435\u0435 \u0434\u0435\u0442\u0430\u043b\u044c\u043d\u043e\u0439 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438 \u043d\u0443\u0436\u043d\u043e \u043d\u0430\u0436\u0430\u0442\u044c \u043d\u0430 \u0441\u0442\u0440\u0435\u043b\u043a\u0443, \u0438 \u043e\u0442\u043e\u0431\u0440\u0430\u0437\u0438\u0442\u0441\u044f \u0441\u043f\u0438\u0441\u043e\u043a \u0432\u0441\u0435\u0445 \u043f\u0430\u043a\u0435\u0442\u043e\u0432, \u0441\u043e\u0431\u0440\u0430\u043d\u043d\u044b\u0445 \u0438\u0437 \u0434\u0430\u043d\u043d\u043e\u0433\u043e \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f. \u0417\u0434\u0435\u0441\u044c \u0436\u0435 \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e \u043a\u043e\u0433\u0434\u0430 \u0438 \u0434\u043b\u044f \u043a\u0430\u043a\u043e\u0433\u043e \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u0441\u043e\u0431\u0438\u0440\u0430\u043b\u0441\u044f \u043f\u0430\u043a\u0435\u0442, \u0430 \u0442\u0430\u043a \u0436\u0435 \u0434\u0435\u0442\u0430\u043b\u044c\u043d\u0443\u044e \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e \u043e\u0431 rpm \u043f\u0430\u043a\u0435\u0442\u0435.","title":"\u0421\u043f\u0438\u0441\u043e\u043a \u043f\u0430\u043a\u0435\u0442\u043e\u0432"}]} \ No newline at end of file diff --git a/docs/mock-gui/site/search/worker.js b/docs/mock-gui/site/search/worker.js deleted file mode 100644 index 8628dbc..0000000 --- a/docs/mock-gui/site/search/worker.js +++ /dev/null @@ -1,133 +0,0 @@ -var base_path = 'function' === typeof importScripts ? '.' : '/search/'; -var allowSearch = false; -var index; -var documents = {}; -var lang = ['en']; -var data; - -function getScript(script, callback) { - console.log('Loading script: ' + script); - $.getScript(base_path + script).done(function () { - callback(); - }).fail(function (jqxhr, settings, exception) { - console.log('Error: ' + exception); - }); -} - -function getScriptsInOrder(scripts, callback) { - if (scripts.length === 0) { - callback(); - return; - } - getScript(scripts[0], function() { - getScriptsInOrder(scripts.slice(1), callback); - }); -} - -function loadScripts(urls, callback) { - if( 'function' === typeof importScripts ) { - importScripts.apply(null, urls); - callback(); - } else { - getScriptsInOrder(urls, callback); - } -} - -function onJSONLoaded () { - data = JSON.parse(this.responseText); - var scriptsToLoad = ['lunr.js']; - if (data.config && data.config.lang && data.config.lang.length) { - lang = data.config.lang; - } - if (lang.length > 1 || lang[0] !== "en") { - scriptsToLoad.push('lunr.stemmer.support.js'); - if (lang.length > 1) { - scriptsToLoad.push('lunr.multi.js'); - } - if (lang.includes("ja") || lang.includes("jp")) { - scriptsToLoad.push('tinyseg.js'); - } - for (var i=0; i < lang.length; i++) { - if (lang[i] != 'en') { - scriptsToLoad.push(['lunr', lang[i], 'js'].join('.')); - } - } - } - loadScripts(scriptsToLoad, onScriptsLoaded); -} - -function onScriptsLoaded () { - console.log('All search scripts loaded, building Lunr index...'); - if (data.config && data.config.separator && data.config.separator.length) { - lunr.tokenizer.separator = new RegExp(data.config.separator); - } - - if (data.index) { - index = lunr.Index.load(data.index); - data.docs.forEach(function (doc) { - documents[doc.location] = doc; - }); - console.log('Lunr pre-built index loaded, search ready'); - } else { - index = lunr(function () { - if (lang.length === 1 && lang[0] !== "en" && lunr[lang[0]]) { - this.use(lunr[lang[0]]); - } else if (lang.length > 1) { - this.use(lunr.multiLanguage.apply(null, lang)); // spread operator not supported in all browsers: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Spread_operator#Browser_compatibility - } - this.field('title'); - this.field('text'); - this.ref('location'); - - for (var i=0; i < data.docs.length; i++) { - var doc = data.docs[i]; - this.add(doc); - documents[doc.location] = doc; - } - }); - console.log('Lunr index built, search ready'); - } - allowSearch = true; - postMessage({config: data.config}); - postMessage({allowSearch: allowSearch}); -} - -function init () { - var oReq = new XMLHttpRequest(); - oReq.addEventListener("load", onJSONLoaded); - var index_path = base_path + '/search_index.json'; - if( 'function' === typeof importScripts ){ - index_path = 'search_index.json'; - } - oReq.open("GET", index_path); - oReq.send(); -} - -function search (query) { - if (!allowSearch) { - console.error('Assets for search still loading'); - return; - } - - var resultDocuments = []; - var results = index.search(query); - for (var i=0; i < results.length; i++){ - var result = results[i]; - doc = documents[result.ref]; - doc.summary = doc.text.substring(0, 200); - resultDocuments.push(doc); - } - return resultDocuments; -} - -if( 'function' === typeof importScripts ) { - onmessage = function (e) { - if (e.data.init) { - init(); - } else if (e.data.query) { - postMessage({ results: search(e.data.query) }); - } else { - console.error("Worker - Unrecognized message: " + e); - } - }; -} diff --git a/docs/mock-gui/site/sitemap.xml b/docs/mock-gui/site/sitemap.xml deleted file mode 100644 index 3c3825e..0000000 --- a/docs/mock-gui/site/sitemap.xml +++ /dev/null @@ -1,55 +0,0 @@ - -Для обновления сервиса, необходимо перейти в корневой каталог программы под пользователем mockgui:
-cd /home/mockgui/mock-gui/
-
-И затем вызвать команду:
-git pull
-
-Данна команда обновит системные каталоги, не тронув каталоги с данными.
-И затем от привилегированного пользователя вызвать:
-sudo systemctl restart mockgui.service
-
-Единственное предупреждение - в момент обновления не должно происходить никаких сборок в MockGUI, они должны быть все завершенные.
- -На данной страинце отображается ифнормация о текущих и прошлых сборках
-Если нажать на ссылку "Детальнее", то можно получить детальную информацию о сборке:
-Где можно увидеть вес файлы логов с ошибками и без, пакеты собранные при сборке и т.д.
-Список сборок может быть: -* общим -* сборки проекта -* сборки проекта и git репозитория
- -Конфигруация MockGUI представлена одним файлом config.ini
расположенном в корне проекта.
[server]
-port = 8081
-db = "sqlite://db/workbase.sqlite3"
-
-[repo]
-repo = "repo"
-
-[projects]
-path = "projects"
-old = 3
-
-[counter]
-path = "locks/counter"
-
-[configs]
-hide=open,amazon,anolis,circle,custom,euro,fedora,mageia,navy,alma,rocky
-selected=msvsphere
-
-[pages]
-items_per_page = 30
-
-[sign]
-path = "keys"
-
-[repoview]
-path = "repoview"
-
-Все пути указываются от корня проекта.
-port
- порт, который будет слущать сервер для доступа к WEB интерфейсу (умолчание: 8081)db
- путь к базе данных и тип базы данных (умолчание: db/workbase.sqlite3 и тип базы данных SQLite)repo
- путь к каталогу, где гранятся bare git проекты, можно скопировать уже существующие, они автоматом при старте добавятся в базу (умолчание: repo)path
- путь к глобальному счетчику сборок (умолчание: locks/counter)path
- путь к папке, где создаются проекты, в нее же копируются git исходники, поэтому рекомендуется эту папку делать пообъемнее (умолчание: projects)old
- неиспользуемый параметрhide
- скрыть из списка доступных конфигураций сборки считанных из /etc/mock/
, содержащие в имени одно из слов, указееых через запятую selected
- добавить в список избранных сборки с именами, указанными содержащими слова через запятуюitems_per_page
- отображать на страницах не более указанного числа записей (умолчание: 30)path
- папка, где хранятся gpg ключи (приватный и публичный) для подписи пакетов (умолчание: keys)path
- папка, где хранятся шаблоны для генерации статического repoview для подписанного репозитория (умолчание: repoview)Так же следует учесть, что сборки происходят в папке /var/lib/mock
поэтому данная папка так же должна быть большого объема.
Отображает список доступных окружений, отфильрованных согласно конфигруации
-Файлы конфигураци доступны только для ознакомления.
-Добавлять можно только вручную, редактируя файлы по пути /etc/mock/
В листинге файла конфигурации сборки можно кликать мышкой на include
и будет происходить переход на указнный шаблон или конфигурацию.
Такой механиз для ознакомления с конфигурацией сборки.
- -По-умолчанию git проекты - это папки содержащие bare git структуры, которые расположены в каталоге repo
(настраивается в конфигруации)
Папка repo может содержать не зарегистрированные git репозитории, в таком случае они при открытии страницы атоматически добавятся в базу (правда без писания).
-Необходимо заполнить имя git репозитория и описание. И нажать кнопку "Создать".
-На текущий момент етсть возможность просмотра:
-Список тегов и коммитов даст ифнормацию о том, что исходные коды в ветке master находятся в нужно состоянии ис нужными коммитами. -Сборочница производит выборку исходных кодов из master ветки git репозитория.
-Пример строки клонирования репозитория:
-Для успешного клонирования и наполнения git репозитория, необходимо либо установить публичный ключ для доумпа пользователя по ssh или знать пароль к mockgui пользователю по ssh. Вот почему в инсталляционном руководстве рекомендуется установить пароль для mockgui пользователя.
-Удаление возможно только в том случае, если данный git репозиторий не имеет ни рецептов сборки, а так же не подключен ни к одному проекту и соответсвенно, не имеет сборок, указывающих на данный git репозиторий.
-При нажатии на кнопку "Удалить" появится окно, где нужно будет написать имя репозитория и нажать кнопку "Удалить" для подтверждения удаления:
-Проекты - это объединения git репозиториев, результат которого - это репозиторий rpm пакетов (подписанный и не подписанный).
-Неподписанный репозиторий используется для внутренних сборок, при подключении проекта в другой проект.
-Подписанный репозиторий используется для публикации rpm пакетов на внешний сервер (внешний репозиторий).
-Название проекта
- уникальное название проекта, оно будет содержаться в названии будущего репозитория, поэтому стоит подходить к названию с умом.Описание
- краткое описаниеНе публиковать отладочные пакеты и исходные коды
- при установенном флажке в подписанный репозиторий не публикуются пакеты src.rpm, debuginfo, debugsource. Если флажок не установлен, то подписывается и публикуется все. Флажок для проприетарного ПОВыберите конфигурацию окружения сборки для проекта
- выбирается конфигурация сборки, выбирается один раз при создании проекта и больше потом не меняется. Можно только создать новый проект с другой конфигурацией.Пример выбора конфигурации. Имеется поле фильтрации.
-Добавить git репозиторий к проекту
- позволяет добавить к проекту один из существующих git репозиториев.
Необходимо из выпадающего списка выбрать один - нажать кнопку "Добавить".
-Тк выглядит добавленый в проект новый git репозиторий.
-
Пустые репозиториий без исходников добавить в проетк нельзя!
-Редактировать конфигурацию сборки
- локальная конфигурация сборочного окружения для mock.
Данный пукнт меню озволять отредактировать корневой файл сборочного окружения. -Здесь условно можно поменять конфигурацию сборки с которой создавался проект, но такой финт лучше не проделывать, особенно если есть уже собранные пакеты.
-Добавить внутренний репозиторий из другого проекта
- позволяет связать проекты при сбоке, т.е внутренний неподписанный репозиторий одного проекта, становится доступен для сборки текущего.
Список всех пакетов
- список пакетов, собранных для данного проекта (неподписанных пакетв)
Отображается структура репозитория, где можно перемещаться по папкам и нажимать на rpm пакеты, получая о них информацию.
-Список сборок проектов
- отображается список сборок, принадлежащих проекту.
В данном списке можно получить информацию о каждой сборке. Детальнее о сборках
-Подписать
- подписать gpg ключем файлы репозитория проекта и опубликовать их в отдельном репозитории
Как происходит подпись:
-Подписывание требует наличие gpg ключей в папке keys.
-Данные ключи создаются при установке скриптом ./install-key из папки gen-scripts
Параметры запуска:
-cd gen-scripts
-./install-key UserName UserEmail 316224000 StrongSignPassword
-
-В результате будет сгенерирован gpg ключ приватный и публичный в папке keys, желательно не потерять их.
-Просмотр подписанного репозитория
- после подписи в проекте появится подписанный репозиторий с пакетами и сгенерированным файлом repoview. Т.е в таком виде как репозиторий будет выглядеть при публикации в интернете.
Установить адрес подписанного репозитоия
- установить адресс подписанного репозитория, т.е установить url, данная информация необходима для корректного формирования шапки:
echo -e "[project_test1]
-name=msvsphere9 repo on repo.brepo.ru
-baseurl=https://test.repo.tst/repo1/
-enabled=1
-gpgkey=https://test.repo.tst/repo1/project_test1-gpg-key
-gpgcheck=1" > /etc/yum.repos.d/project_test1.repo
-
-т.е устанавливается корректный url будущего удаленного репозитория.
-Удалить проект
- удаляется весь проект, подписанные и неподписанные репозитории, сборки.
Но если проект залинкован в другом проекте, то удаление будет невозможным, пока не будет снят линк.
-Для удаления - нужно перевести в активное состояние флажок и нажать кнопку "Удалить". -Без установки флажка - удаление не произойде. Такая защита от случайного удаления.
-Напротив каждого git репозитория, добавленного в проект есть список действий:
-Слева направо: -* удалить git репозиторий из проекта (при этом rpm пакеты в проекте, сборки - остаются) -* обновить исходники проекта - если такой значек появился, значит в git репозиторий в ветку master были внесены изменения и в текущем проекте неактуальные исходники. Когда исходники актаульны список действий выглядит так:
-Во время сборки отображается лог файл процесса сборки. Результат сборки можно посмотреть на странице сборки
-Если нажать на имя git репозитория в списке, то можно просмотреть его содержимое, т.е список файлов:
-Сценарии подготовки исходных кодов git репозиториев в дальнейшем буду называть рецептами
.
Для сборки необходимо, чтоб все файлы git пректа были прописаны в spec файле, а зачастую в spec файле файлы исходных кодов прописаны как один архив.
-По умолчанию MockGUI предполпгает, что в spec прописаны все исходные файлы, которые используются при сборке и ничего делать не нужно.
-Но если необходимо проделать какие-то манипуляции для подготовки исходных файлов, то сборка завершится с ошибкой.
-Чтоб не было ошибки для этого сделаны рецепты.
-Рецепт - это по сути bash скрипт, который:
-Нужно учитывать при написании сценариев, что они выполняются в реальной системе, поэтому их функционал ограничен. Например это может быть: -* использование sed, grep для создания файлов конфигруаций -* использование доступных архиватор в системе для подготовки архива -* и т.д.
-Пример такого скрипта уже встроен в MockGUI - make_tar_from_git. Он из исходных кодов git проекта создает архив для сборки:
-#!/bin/bash
-
-need_spec="n"
-SPEC="$1"
-FIND_SPEC="$SPEC"
-if [ -z "$SPEC" ];then
- need_spec="y"
-fi
-if [ -n "$SPEC" -a ! -e "$SPEC" ];then
- need_spec="y"
-fi
-if [ "$need_spec" == "y" ];then
- FIND_SPEC=$(/usr/bin/find . -iname "*.spec" -type f -print -quit)
-fi
-if [ -n "$FIND_SPEC" ];then
- NAME=$(rpm -q --queryformat="%{NAME}" --specfile "$FIND_SPEC" | xargs)
- VERSION=$(rpm -q --queryformat="%{VERSION}" --specfile "$FIND_SPEC" | xargs)
- PKG_NAME="${NAME}-${VERSION}"
- tar -h --exclude="${PKG_NAME}.tar.gz" --exclude=".git" --exclude="$FIND_SPEC" -cvf ${PKG_NAME}.tar.gz --transform "s,^,${PKG_NAME}/," *
- exit 0
-else
- echo "Не найден spec файл"
- exit 255
-fi
-
-Его код прост, скрипт выполняется в корне git репозитория, он получает spec файл, извлекает из него версию и имя пакета и создает тут же архив. -Данныей рецепты могут изменять исходники, это не вредит репозиторию, т.к все манипуляции делаются с копией данных в временном каталоге.
-Имя рецепта
- имя файла, который будет создаваться при подготовке сборки во временных исходниках проекта. Имя желательно выбирать такое, чтоб оно не переписало файл исходников
Описанье
- краткое описание подготовительного скрипта
Код
- bash скрипт
git проекты использующие рецепт
- список git-репозиториев, для которых данный рецепт будет применяться. Может иметь несколько значений
Для удаления, нужно нажать кнопку "Удалить" и в появившемся окне вписать имя рецепта для подтверждения удаления.
- -В данном разделе отображается список git репозиториев и число пакетов собранных из данного репозитория
-Для получения более детальной информации нужно нажать на стрелку, и отобразится список всех пакетов, собранных из данного репозитория.
-Здесь же можно получить информацию когда и для какого проекта собирался пакет, а так же детальную информацию об rpm пакете.
-