Update docs

master
alexey 1 week ago
parent 74ca178a8b
commit 8ee140ae13

@ -34,3 +34,9 @@ MockGUI содержит линейный список git проектов, к
![Главный экран MockGUI](img/mockgui_mainscreen.png)
## Исходные коды
* [github](https://github.com/bayrepo/mock-gui)
* [developers git](https://dev.brepo.ru/brepo/mock-gui)

@ -35,7 +35,7 @@
![Информация о git репозитории](../img/mockgui_creategit5.png)
Для успешного клонирования и наполнения git репозитория, необходимо либо установить публичный ключ для доумпа пользователя по ssh или знать пароль к mockgui пользователю по ssh. Вот почему в [инсталляционном руководстве](../install.md) рекомендуется установить пароль для mockgui пользователя.
Для успешного клонирования и наполнения git репозитория, необходимо либо установить публичный ключ для доступа пользователя по ssh или знать пароль к mockgui пользователю по ssh. Вот почему в [инсталляционном руководстве](../install.md) рекомендуется установить пароль для mockgui пользователя.
## Удаление git репозитория

@ -18,6 +18,7 @@
* производит подготовку к сборке
Нужно учитывать при написании сценариев, что они выполняются в реальной системе, поэтому их функционал ограничен. Например это может быть:
* использование sed, grep для создания файлов конфигруаций
* использование доступных архиватор в системе для подготовки архива
* и т.д.

Binary file not shown.

@ -0,0 +1,145 @@
<!DOCTYPE html>
<html class="writer-html5" lang="ru" >
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link rel="shortcut icon" href="/mockgui/img/favicon.ico" />
<title>MockGUI</title>
<link rel="stylesheet" href="/mockgui/css/theme.css" />
<link rel="stylesheet" href="/mockgui/css/theme_extra.css" />
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.8.0/styles/github.min.css" />
<!--[if lt IE 9]>
<script src="/mockgui/js/html5shiv.min.js"></script>
<![endif]-->
<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.8.0/highlight.min.js"></script>
<script>hljs.highlightAll();</script>
</head>
<body class="wy-body-for-nav" role="document">
<div class="wy-grid-for-nav">
<nav data-toggle="wy-nav-shift" class="wy-nav-side stickynav">
<div class="wy-side-scroll">
<div class="wy-side-nav-search">
<a href="/mockgui/." class="icon icon-home"> MockGUI
</a><div role="search">
<form id ="rtd-search-form" class="wy-form" action="/mockgui//search.html" method="get">
<input type="text" name="q" placeholder="Поиск в документации" aria-label="Поиск в документации" title="Введите поисковый запрос" />
</form>
</div>
</div>
<div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Навигационное меню">
<ul>
<li class="toctree-l1"><a class="reference internal" href="/mockgui/.">MockGUI система сборки RPM пакетов</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="/mockgui/install/">Способы установки</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="/mockgui/update/">Обновление</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="/mockgui/run/">Запуск приложения</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="/mockgui/docs/">Документация</a>
</li>
</ul>
<p class="caption"><span class="caption-text">Инструкция пользователя</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="/mockgui/common/">Общий принцип работы с MockGUI</a>
</li>
<li class="toctree-l1"><a class="reference internal" href="/mockgui/userguide/configuration/">Конфигурация</a>
</li>
<li class="toctree-l1"><a class="reference internal" href="/mockgui/userguide/gits/">Управление git репозиториями</a>
</li>
<li class="toctree-l1"><a class="reference internal" href="/mockgui/userguide/recips/">Сценарии подготовки исходных кодов git репозиториев</a>
</li>
<li class="toctree-l1"><a class="reference internal" href="/mockgui/userguide/env/">Окружения сборки mock</a>
</li>
<li class="toctree-l1"><a class="reference internal" href="/mockgui/userguide/projects/">Управление проектами</a>
</li>
<li class="toctree-l1"><a class="reference internal" href="/mockgui/userguide/builds/">Список сборок</a>
</li>
<li class="toctree-l1"><a class="reference internal" href="/mockgui/userguide/rpms/">Список пакетов</a>
</li>
</ul>
</div>
</div>
</nav>
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
<nav class="wy-nav-top" role="navigation" aria-label="Мобильная версия навигации">
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
<a href="/mockgui/.">MockGUI</a>
</nav>
<div class="wy-nav-content">
<div class="rst-content"><div role="navigation" aria-label="breadcrumbs navigation">
<ul class="wy-breadcrumbs">
<li><a href="/mockgui/." class="icon icon-home" aria-label="Документация"></a></li>
<li class="wy-breadcrumbs-aside">
</li>
</ul>
<hr/>
</div>
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div class="section" itemprop="articleBody">
<h1 id="404-page-not-found">404</h1>
<p><strong>Страница не найдена</strong></p>
</div>
</div><footer>
<hr/>
<div role="contentinfo">
<!-- Copyright etc -->
<p>Copyright &copy; 2025 - ... BayRepo</p>
</div>
Собрано в <a href="https://www.mkdocs.org/">MkDocs</a> с использованием <a href="https://github.com/readthedocs/sphinx_rtd_theme">темы</a> от <a href="https://readthedocs.org">Read the Docs</a>.
</footer>
</div>
</div>
</section>
</div>
<div class="rst-versions" role="note" aria-label="Версии">
<span class="rst-current-version" data-toggle="rst-current-version">
<span>
<a href="https://dev.brepo.ru/brepo/mock-gui" class="fa fa-code-fork" style="color: #fcfcfc"> Dev</a>
</span>
</span>
</div>
<script src="/mockgui/js/jquery-3.6.0.min.js"></script>
<script>var base_url = "/mockgui/";</script>
<script src="/mockgui/js/theme_extra.js"></script>
<script src="/mockgui/js/theme.js"></script>
<script src="/mockgui/search/main.js"></script>
<script>
jQuery(function () {
SphinxRtdTheme.Navigation.enable(true);
});
</script>
</body>
</html>

@ -0,0 +1,170 @@
<!DOCTYPE html>
<html class="writer-html5" lang="ru" >
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><link rel="canonical" href="https://docs.brepo.ru/mockgui/common/" />
<link rel="shortcut icon" href="../img/favicon.ico" />
<title>Общий принцип работы с MockGUI - MockGUI</title>
<link rel="stylesheet" href="../css/theme.css" />
<link rel="stylesheet" href="../css/theme_extra.css" />
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.8.0/styles/github.min.css" />
<script>
// Current page data
var mkdocs_page_name = "\u041e\u0431\u0449\u0438\u0439 \u043f\u0440\u0438\u043d\u0446\u0438\u043f \u0440\u0430\u0431\u043e\u0442\u044b \u0441 MockGUI";
var mkdocs_page_input_path = "common.md";
var mkdocs_page_url = "/mockgui/common/";
</script>
<!--[if lt IE 9]>
<script src="../js/html5shiv.min.js"></script>
<![endif]-->
<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.8.0/highlight.min.js"></script>
<script>hljs.highlightAll();</script>
</head>
<body class="wy-body-for-nav" role="document">
<div class="wy-grid-for-nav">
<nav data-toggle="wy-nav-shift" class="wy-nav-side stickynav">
<div class="wy-side-scroll">
<div class="wy-side-nav-search">
<a href=".." class="icon icon-home"> MockGUI
</a><div role="search">
<form id ="rtd-search-form" class="wy-form" action="../search.html" method="get">
<input type="text" name="q" placeholder="Поиск в документации" aria-label="Поиск в документации" title="Введите поисковый запрос" />
</form>
</div>
</div>
<div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Навигационное меню">
<ul>
<li class="toctree-l1"><a class="reference internal" href="..">MockGUI система сборки RPM пакетов</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../install/">Способы установки</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../update/">Обновление</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../run/">Запуск приложения</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../docs/">Документация</a>
</li>
</ul>
<p class="caption"><span class="caption-text">Инструкция пользователя</span></p>
<ul class="current">
<li class="toctree-l1 current"><a class="reference internal current" href="#">Общий принцип работы с MockGUI</a>
<ul class="current">
<li class="toctree-l2"><a class="reference internal" href="#_1">Текущие ограничения</a>
</li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../userguide/configuration/">Конфигурация</a>
</li>
<li class="toctree-l1"><a class="reference internal" href="../userguide/gits/">Управление git репозиториями</a>
</li>
<li class="toctree-l1"><a class="reference internal" href="../userguide/recips/">Сценарии подготовки исходных кодов git репозиториев</a>
</li>
<li class="toctree-l1"><a class="reference internal" href="../userguide/env/">Окружения сборки mock</a>
</li>
<li class="toctree-l1"><a class="reference internal" href="../userguide/projects/">Управление проектами</a>
</li>
<li class="toctree-l1"><a class="reference internal" href="../userguide/builds/">Список сборок</a>
</li>
<li class="toctree-l1"><a class="reference internal" href="../userguide/rpms/">Список пакетов</a>
</li>
</ul>
</div>
</div>
</nav>
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
<nav class="wy-nav-top" role="navigation" aria-label="Мобильная версия навигации">
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
<a href="..">MockGUI</a>
</nav>
<div class="wy-nav-content">
<div class="rst-content"><div role="navigation" aria-label="breadcrumbs navigation">
<ul class="wy-breadcrumbs">
<li><a href=".." class="icon icon-home" aria-label="Документация"></a></li>
<li class="breadcrumb-item">Инструкция пользователя</li>
<li class="breadcrumb-item active">Общий принцип работы с MockGUI</li>
<li class="wy-breadcrumbs-aside">
</li>
</ul>
<hr/>
</div>
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div class="section" itemprop="articleBody">
<h1 id="mockgui">Общий принцип работы с MockGUI</h1>
<p>Системя является однопользовательской.</p>
<p>Рекомендуется устанвливать ее на локальной машине в локальной сети.</p>
<h2 id="_1">Текущие ограничения</h2>
<ul>
<li>Одновременно может запускаться только одна сборка.</li>
<li>Сборка потребляет все доступные ядра процессора</li>
<li>На текущий момент система является alpha сборкой, поэтому подавление ошибок не включено, для детального отслеживания ошибок</li>
</ul>
</div>
</div><footer>
<div class="rst-footer-buttons" role="navigation" aria-label="Навигация по странице">
<a href="../docs/" class="btn btn-neutral float-left" title="Документация"><span class="icon icon-circle-arrow-left"></span> Назад</a>
<a href="../userguide/configuration/" class="btn btn-neutral float-right" title="Конфигурация">Вперед <span class="icon icon-circle-arrow-right"></span></a>
</div>
<hr/>
<div role="contentinfo">
<!-- Copyright etc -->
<p>Copyright &copy; 2025 - ... BayRepo</p>
</div>
Собрано в <a href="https://www.mkdocs.org/">MkDocs</a> с использованием <a href="https://github.com/readthedocs/sphinx_rtd_theme">темы</a> от <a href="https://readthedocs.org">Read the Docs</a>.
</footer>
</div>
</div>
</section>
</div>
<div class="rst-versions" role="note" aria-label="Версии">
<span class="rst-current-version" data-toggle="rst-current-version">
<span>
<a href="https://dev.brepo.ru/brepo/mock-gui" class="fa fa-code-fork" style="color: #fcfcfc"> Dev</a>
</span>
<span><a href="../docs/" style="color: #fcfcfc">&laquo; Назад</a></span>
<span><a href="../userguide/configuration/" style="color: #fcfcfc">Вперед &raquo;</a></span>
</span>
</div>
<script src="../js/jquery-3.6.0.min.js"></script>
<script>var base_url = "..";</script>
<script src="../js/theme_extra.js"></script>
<script src="../js/theme.js"></script>
<script src="../search/main.js"></script>
<script>
jQuery(function () {
SphinxRtdTheme.Navigation.enable(true);
});
</script>
</body>
</html>

File diff suppressed because it is too large Load Diff

After

Width:  |  Height:  |  Size: 434 KiB

File diff suppressed because one or more lines are too long

@ -0,0 +1,197 @@
/*
* Wrap inline code samples otherwise they shoot of the side and
* can't be read at all.
*
* https://github.com/mkdocs/mkdocs/issues/313
* https://github.com/mkdocs/mkdocs/issues/233
* https://github.com/mkdocs/mkdocs/issues/834
*/
.rst-content code {
white-space: pre-wrap;
word-wrap: break-word;
padding: 2px 5px;
}
/**
* Make code blocks display as blocks and give them the appropriate
* font size and padding.
*
* https://github.com/mkdocs/mkdocs/issues/855
* https://github.com/mkdocs/mkdocs/issues/834
* https://github.com/mkdocs/mkdocs/issues/233
*/
.rst-content pre code {
white-space: pre;
word-wrap: normal;
display: block;
padding: 12px;
font-size: 12px;
}
/**
* Fix code colors
*
* https://github.com/mkdocs/mkdocs/issues/2027
*/
.rst-content code {
color: #E74C3C;
}
.rst-content pre code {
color: #000;
background: #f8f8f8;
}
/*
* Fix link colors when the link text is inline code.
*
* https://github.com/mkdocs/mkdocs/issues/718
*/
a code {
color: #2980B9;
}
a:hover code {
color: #3091d1;
}
a:visited code {
color: #9B59B6;
}
/*
* The CSS classes from highlight.js seem to clash with the
* ReadTheDocs theme causing some code to be incorrectly made
* bold and italic.
*
* https://github.com/mkdocs/mkdocs/issues/411
*/
pre .cs, pre .c {
font-weight: inherit;
font-style: inherit;
}
/*
* Fix some issues with the theme and non-highlighted code
* samples. Without and highlighting styles attached the
* formatting is broken.
*
* https://github.com/mkdocs/mkdocs/issues/319
*/
.rst-content .no-highlight {
display: block;
padding: 0.5em;
color: #333;
}
/*
* Additions specific to the search functionality provided by MkDocs
*/
.search-results {
margin-top: 23px;
}
.search-results article {
border-top: 1px solid #E1E4E5;
padding-top: 24px;
}
.search-results article:first-child {
border-top: none;
}
form .search-query {
width: 100%;
border-radius: 50px;
padding: 6px 12px;
border-color: #D1D4D5;
}
/*
* Improve inline code blocks within admonitions.
*
* https://github.com/mkdocs/mkdocs/issues/656
*/
.rst-content .admonition code {
color: #404040;
border: 1px solid #c7c9cb;
border: 1px solid rgba(0, 0, 0, 0.2);
background: #f8fbfd;
background: rgba(255, 255, 255, 0.7);
}
/*
* Account for wide tables which go off the side.
* Override borders to avoid weirdness on narrow tables.
*
* https://github.com/mkdocs/mkdocs/issues/834
* https://github.com/mkdocs/mkdocs/pull/1034
*/
.rst-content .section .docutils {
width: 100%;
overflow: auto;
display: block;
border: none;
}
td, th {
border: 1px solid #e1e4e5 !important;
border-collapse: collapse;
}
/*
* Without the following amendments, the navigation in the theme will be
* slightly cut off. This is due to the fact that the .wy-nav-side has a
* padding-bottom of 2em, which must not necessarily align with the font-size of
* 90 % on the .rst-current-version container, combined with the padding of 12px
* above and below. These amendments fix this in two steps: First, make sure the
* .rst-current-version container has a fixed height of 40px, achieved using
* line-height, and then applying a padding-bottom of 40px to this container. In
* a second step, the items within that container are re-aligned using flexbox.
*
* https://github.com/mkdocs/mkdocs/issues/2012
*/
.wy-nav-side {
padding-bottom: 40px;
}
/* For section-index only */
.wy-menu-vertical .current-section p {
background-color: #e3e3e3;
color: #404040;
}
/*
* The second step of above amendment: Here we make sure the items are aligned
* correctly within the .rst-current-version container. Using flexbox, we
* achieve it in such a way that it will look like the following:
*
* [No repo_name]
* Next >> // On the first page
* << Previous Next >> // On all subsequent pages
*
* [With repo_name]
* <repo_name> Next >> // On the first page
* <repo_name> << Previous Next >> // On all subsequent pages
*
* https://github.com/mkdocs/mkdocs/issues/2012
*/
.rst-versions .rst-current-version {
padding: 0 12px;
display: flex;
font-size: initial;
justify-content: space-between;
align-items: center;
line-height: 40px;
}
/*
* Please note that this amendment also involves removing certain inline-styles
* from the file ./mkdocs/themes/readthedocs/versions.html.
*
* https://github.com/mkdocs/mkdocs/issues/2012
*/
.rst-current-version span {
flex: 1;
text-align: center;
}

@ -0,0 +1,173 @@
<!DOCTYPE html>
<html class="writer-html5" lang="ru" >
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><link rel="canonical" href="https://docs.brepo.ru/mockgui/docs/" />
<link rel="shortcut icon" href="../img/favicon.ico" />
<title>Документация - MockGUI</title>
<link rel="stylesheet" href="../css/theme.css" />
<link rel="stylesheet" href="../css/theme_extra.css" />
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.8.0/styles/github.min.css" />
<script>
// Current page data
var mkdocs_page_name = "\u0414\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f";
var mkdocs_page_input_path = "docs.md";
var mkdocs_page_url = "/mockgui/docs/";
</script>
<!--[if lt IE 9]>
<script src="../js/html5shiv.min.js"></script>
<![endif]-->
<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.8.0/highlight.min.js"></script>
<script>hljs.highlightAll();</script>
</head>
<body class="wy-body-for-nav" role="document">
<div class="wy-grid-for-nav">
<nav data-toggle="wy-nav-shift" class="wy-nav-side stickynav">
<div class="wy-side-scroll">
<div class="wy-side-nav-search">
<a href=".." class="icon icon-home"> MockGUI
</a><div role="search">
<form id ="rtd-search-form" class="wy-form" action="../search.html" method="get">
<input type="text" name="q" placeholder="Поиск в документации" aria-label="Поиск в документации" title="Введите поисковый запрос" />
</form>
</div>
</div>
<div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Навигационное меню">
<ul>
<li class="toctree-l1"><a class="reference internal" href="..">MockGUI система сборки RPM пакетов</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../install/">Способы установки</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../update/">Обновление</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../run/">Запуск приложения</a>
</li>
</ul>
<ul class="current">
<li class="toctree-l1 current"><a class="reference internal current" href="#">Документация</a>
<ul class="current">
<li class="toctree-l2"><a class="reference internal" href="#_2">Сборка локальной докумнтации</a>
</li>
</ul>
</li>
</ul>
<p class="caption"><span class="caption-text">Инструкция пользователя</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../common/">Общий принцип работы с MockGUI</a>
</li>
<li class="toctree-l1"><a class="reference internal" href="../userguide/configuration/">Конфигурация</a>
</li>
<li class="toctree-l1"><a class="reference internal" href="../userguide/gits/">Управление git репозиториями</a>
</li>
<li class="toctree-l1"><a class="reference internal" href="../userguide/recips/">Сценарии подготовки исходных кодов git репозиториев</a>
</li>
<li class="toctree-l1"><a class="reference internal" href="../userguide/env/">Окружения сборки mock</a>
</li>
<li class="toctree-l1"><a class="reference internal" href="../userguide/projects/">Управление проектами</a>
</li>
<li class="toctree-l1"><a class="reference internal" href="../userguide/builds/">Список сборок</a>
</li>
<li class="toctree-l1"><a class="reference internal" href="../userguide/rpms/">Список пакетов</a>
</li>
</ul>
</div>
</div>
</nav>
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
<nav class="wy-nav-top" role="navigation" aria-label="Мобильная версия навигации">
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
<a href="..">MockGUI</a>
</nav>
<div class="wy-nav-content">
<div class="rst-content"><div role="navigation" aria-label="breadcrumbs navigation">
<ul class="wy-breadcrumbs">
<li><a href=".." class="icon icon-home" aria-label="Документация"></a></li>
<li class="breadcrumb-item active">Документация</li>
<li class="wy-breadcrumbs-aside">
</li>
</ul>
<hr/>
</div>
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div class="section" itemprop="articleBody">
<h1 id="_1">Документация</h1>
<h2 id="_2">Сборка локальной докумнтации</h2>
<pre><code class="language-shell">cd docs/mock-gui
pip install mkdocs
pip install markupsafe==2.0.1
pip install mkdocs-bootstrap
</code></pre>
<p>Локальный сервер:</p>
<pre><code class="language-shell">mkdocs serve
</code></pre>
<p>Или статическая документация:</p>
<pre><code class="language-shell">mkdocs build
</code></pre>
</div>
</div><footer>
<div class="rst-footer-buttons" role="navigation" aria-label="Навигация по странице">
<a href="../run/" class="btn btn-neutral float-left" title="Запуск приложения"><span class="icon icon-circle-arrow-left"></span> Назад</a>
<a href="../common/" class="btn btn-neutral float-right" title="Общий принцип работы с MockGUI">Вперед <span class="icon icon-circle-arrow-right"></span></a>
</div>
<hr/>
<div role="contentinfo">
<!-- Copyright etc -->
<p>Copyright &copy; 2025 - ... BayRepo</p>
</div>
Собрано в <a href="https://www.mkdocs.org/">MkDocs</a> с использованием <a href="https://github.com/readthedocs/sphinx_rtd_theme">темы</a> от <a href="https://readthedocs.org">Read the Docs</a>.
</footer>
</div>
</div>
</section>
</div>
<div class="rst-versions" role="note" aria-label="Версии">
<span class="rst-current-version" data-toggle="rst-current-version">
<span>
<a href="https://dev.brepo.ru/brepo/mock-gui" class="fa fa-code-fork" style="color: #fcfcfc"> Dev</a>
</span>
<span><a href="../run/" style="color: #fcfcfc">&laquo; Назад</a></span>
<span><a href="../common/" style="color: #fcfcfc">Вперед &raquo;</a></span>
</span>
</div>
<script src="../js/jquery-3.6.0.min.js"></script>
<script>var base_url = "..";</script>
<script src="../js/theme_extra.js"></script>
<script src="../js/theme.js"></script>
<script src="../search/main.js"></script>
<script>
jQuery(function () {
SphinxRtdTheme.Navigation.enable(true);
});
</script>
</body>
</html>

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 233 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 107 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 64 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 111 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 43 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 47 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 41 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 81 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 87 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

@ -0,0 +1,205 @@
<!DOCTYPE html>
<html class="writer-html5" lang="ru" >
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="description" content="None" /><link rel="canonical" href="https://docs.brepo.ru/mockgui/" />
<link rel="shortcut icon" href="img/favicon.ico" />
<title>MockGUI</title>
<link rel="stylesheet" href="css/theme.css" />
<link rel="stylesheet" href="css/theme_extra.css" />
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.8.0/styles/github.min.css" />
<script>
// Current page data
var mkdocs_page_name = "MockGUI \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u0441\u0431\u043e\u0440\u043a\u0438 RPM \u043f\u0430\u043a\u0435\u0442\u043e\u0432";
var mkdocs_page_input_path = "index.md";
var mkdocs_page_url = "/mockgui/";
</script>
<!--[if lt IE 9]>
<script src="js/html5shiv.min.js"></script>
<![endif]-->
<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.8.0/highlight.min.js"></script>
<script>hljs.highlightAll();</script>
</head>
<body class="wy-body-for-nav" role="document">
<div class="wy-grid-for-nav">
<nav data-toggle="wy-nav-shift" class="wy-nav-side stickynav">
<div class="wy-side-scroll">
<div class="wy-side-nav-search">
<a href="." class="icon icon-home"> MockGUI
</a><div role="search">
<form id ="rtd-search-form" class="wy-form" action="./search.html" method="get">
<input type="text" name="q" placeholder="Поиск в документации" aria-label="Поиск в документации" title="Введите поисковый запрос" />
</form>
</div>
</div>
<div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Навигационное меню">
<ul class="current">
<li class="toctree-l1 current"><a class="reference internal current" href="#">MockGUI система сборки RPM пакетов</a>
<ul class="current">
<li class="toctree-l2"><a class="reference internal" href="#_1">Описание</a>
</li>
<li class="toctree-l2"><a class="reference internal" href="#_2">Где можно запустить</a>
</li>
<li class="toctree-l2"><a class="reference internal" href="#_3">Интерфейс</a>
</li>
</ul>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="install/">Способы установки</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="update/">Обновление</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="run/">Запуск приложения</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="docs/">Документация</a>
</li>
</ul>
<p class="caption"><span class="caption-text">Инструкция пользователя</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="common/">Общий принцип работы с MockGUI</a>
</li>
<li class="toctree-l1"><a class="reference internal" href="userguide/configuration/">Конфигурация</a>
</li>
<li class="toctree-l1"><a class="reference internal" href="userguide/gits/">Управление git репозиториями</a>
</li>
<li class="toctree-l1"><a class="reference internal" href="userguide/recips/">Сценарии подготовки исходных кодов git репозиториев</a>
</li>
<li class="toctree-l1"><a class="reference internal" href="userguide/env/">Окружения сборки mock</a>
</li>
<li class="toctree-l1"><a class="reference internal" href="userguide/projects/">Управление проектами</a>
</li>
<li class="toctree-l1"><a class="reference internal" href="userguide/builds/">Список сборок</a>
</li>
<li class="toctree-l1"><a class="reference internal" href="userguide/rpms/">Список пакетов</a>
</li>
</ul>
</div>
</div>
</nav>
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
<nav class="wy-nav-top" role="navigation" aria-label="Мобильная версия навигации">
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
<a href=".">MockGUI</a>
</nav>
<div class="wy-nav-content">
<div class="rst-content"><div role="navigation" aria-label="breadcrumbs navigation">
<ul class="wy-breadcrumbs">
<li><a href="." class="icon icon-home" aria-label="Документация"></a></li>
<li class="breadcrumb-item active">MockGUI система сборки RPM пакетов</li>
<li class="wy-breadcrumbs-aside">
</li>
</ul>
<hr/>
</div>
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div class="section" itemprop="articleBody">
<h1 id="mockgui-rpm">MockGUI система сборки RPM пакетов</h1>
<h2 id="_1">Описание</h2>
<p>Это однопользовательская система по сборке ПО, а так же по подготовке репозиториев для установки собранного ПО.</p>
<p>Система является надстройкой над git, mock, rpmbuild, т.е. использует данные команды для подготовки и сборки программ.</p>
<p>mock в отличие от rpmbuild позволяет собрать пакет, при этом не изменяя конфигурацию системы, где он собирается и очистка изменений затрагивает удаление всего одного каталога сборки проекта, а MockGUI позволяет через web интерфейс управлять сборками. Группировать их и готовить к публикации.</p>
<p>MockGUI содержит линейный список git проектов, которые позволяет сгруппировать в проекты.</p>
<p>Каждый проект является отдельным репозиторием, подписанный проект может быть доступен для использования в локальной сети.</p>
<h2 id="_2">Где можно запустить</h2>
<p>ПО может быть установлено на следующих ОС:</p>
<ul>
<li>MSVSphere 9</li>
<li>Almalinux 9</li>
<li>RockyLinux 9</li>
</ul>
<p>Требования к системе:</p>
<table>
<thead>
<tr>
<th></th>
<th>Минимальные требовнаия</th>
</tr>
</thead>
<tbody>
<tr>
<td>CPU</td>
<td>1 ядро</td>
</tr>
<tr>
<td>Memory</td>
<td>Зависит от собираемых исходников, для небольших проектов 2Гб</td>
</tr>
<tr>
<td>HDD</td>
<td>размер исходных кодов * 4</td>
</tr>
</tbody>
</table>
<h2 id="_3">Интерфейс</h2>
<p><img alt="Главный экран MockGUI" src="img/mockgui_mainscreen.png" /></p>
</div>
</div><footer>
<div class="rst-footer-buttons" role="navigation" aria-label="Навигация по странице">
<a href="install/" class="btn btn-neutral float-right" title="Способы установки">Вперед <span class="icon icon-circle-arrow-right"></span></a>
</div>
<hr/>
<div role="contentinfo">
<!-- Copyright etc -->
<p>Copyright &copy; 2025 - ... BayRepo</p>
</div>
Собрано в <a href="https://www.mkdocs.org/">MkDocs</a> с использованием <a href="https://github.com/readthedocs/sphinx_rtd_theme">темы</a> от <a href="https://readthedocs.org">Read the Docs</a>.
</footer>
</div>
</div>
</section>
</div>
<div class="rst-versions" role="note" aria-label="Версии">
<span class="rst-current-version" data-toggle="rst-current-version">
<span>
<a href="https://dev.brepo.ru/brepo/mock-gui" class="fa fa-code-fork" style="color: #fcfcfc"> Dev</a>
</span>
<span><a href="install/" style="color: #fcfcfc">Вперед &raquo;</a></span>
</span>
</div>
<script src="js/jquery-3.6.0.min.js"></script>
<script>var base_url = ".";</script>
<script src="js/theme_extra.js"></script>
<script src="js/theme.js"></script>
<script src="search/main.js"></script>
<script>
jQuery(function () {
SphinxRtdTheme.Navigation.enable(true);
});
</script>
</body>
</html>
<!--
MkDocs version : 1.6.1
Build Date UTC : 2025-03-27 17:21:37.230706+00:00
-->

@ -0,0 +1,235 @@
<!DOCTYPE html>
<html class="writer-html5" lang="ru" >
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><link rel="canonical" href="https://docs.brepo.ru/mockgui/install/" />
<link rel="shortcut icon" href="../img/favicon.ico" />
<title>Способы установки - MockGUI</title>
<link rel="stylesheet" href="../css/theme.css" />
<link rel="stylesheet" href="../css/theme_extra.css" />
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.8.0/styles/github.min.css" />
<script>
// Current page data
var mkdocs_page_name = "\u0421\u043f\u043e\u0441\u043e\u0431\u044b \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438";
var mkdocs_page_input_path = "install.md";
var mkdocs_page_url = "/mockgui/install/";
</script>
<!--[if lt IE 9]>
<script src="../js/html5shiv.min.js"></script>
<![endif]-->
<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.8.0/highlight.min.js"></script>
<script>hljs.highlightAll();</script>
</head>
<body class="wy-body-for-nav" role="document">
<div class="wy-grid-for-nav">
<nav data-toggle="wy-nav-shift" class="wy-nav-side stickynav">
<div class="wy-side-scroll">
<div class="wy-side-nav-search">
<a href=".." class="icon icon-home"> MockGUI
</a><div role="search">
<form id ="rtd-search-form" class="wy-form" action="../search.html" method="get">
<input type="text" name="q" placeholder="Поиск в документации" aria-label="Поиск в документации" title="Введите поисковый запрос" />
</form>
</div>
</div>
<div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Навигационное меню">
<ul>
<li class="toctree-l1"><a class="reference internal" href="..">MockGUI система сборки RPM пакетов</a>
</li>
</ul>
<ul class="current">
<li class="toctree-l1 current"><a class="reference internal current" href="#">Способы установки</a>
<ul class="current">
<li class="toctree-l2"><a class="reference internal" href="#ansible-root">С помощью ansible от пользователя root</a>
</li>
<li class="toctree-l2"><a class="reference internal" href="#ansible-sudo">С помощью ansible и пользователь в sudo</a>
</li>
<li class="toctree-l2"><a class="reference internal" href="#_2">Ручная установка</a>
</li>
</ul>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../update/">Обновление</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../run/">Запуск приложения</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../docs/">Документация</a>
</li>
</ul>
<p class="caption"><span class="caption-text">Инструкция пользователя</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../common/">Общий принцип работы с MockGUI</a>
</li>
<li class="toctree-l1"><a class="reference internal" href="../userguide/configuration/">Конфигурация</a>
</li>
<li class="toctree-l1"><a class="reference internal" href="../userguide/gits/">Управление git репозиториями</a>
</li>
<li class="toctree-l1"><a class="reference internal" href="../userguide/recips/">Сценарии подготовки исходных кодов git репозиториев</a>
</li>
<li class="toctree-l1"><a class="reference internal" href="../userguide/env/">Окружения сборки mock</a>
</li>
<li class="toctree-l1"><a class="reference internal" href="../userguide/projects/">Управление проектами</a>
</li>
<li class="toctree-l1"><a class="reference internal" href="../userguide/builds/">Список сборок</a>
</li>
<li class="toctree-l1"><a class="reference internal" href="../userguide/rpms/">Список пакетов</a>
</li>
</ul>
</div>
</div>
</nav>
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
<nav class="wy-nav-top" role="navigation" aria-label="Мобильная версия навигации">
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
<a href="..">MockGUI</a>
</nav>
<div class="wy-nav-content">
<div class="rst-content"><div role="navigation" aria-label="breadcrumbs navigation">
<ul class="wy-breadcrumbs">
<li><a href=".." class="icon icon-home" aria-label="Документация"></a></li>
<li class="breadcrumb-item active">Способы установки</li>
<li class="wy-breadcrumbs-aside">
</li>
</ul>
<hr/>
</div>
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div class="section" itemprop="articleBody">
<h1 id="_1">Способы установки</h1>
<h2 id="ansible-root">С помощью ansible от пользователя root</h2>
<pre><code class="language-shell">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
</code></pre>
<p>И обязательно задать пароль для mockgui, т.к. без ключа git будет запрашивать именно пароль для этого пользователя:</p>
<pre><code class="language-shell">passwd mockgui
</code></pre>
<h2 id="ansible-sudo">С помощью ansible и пользователь в sudo</h2>
<pre><code class="language-shell">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
</code></pre>
<p>И обязательно задать пароль для mockgui, т.к. без ключа git будет запрашивать именно пароль для этого пользователя:</p>
<pre><code class="language-shell">passwd mockgui
</code></pre>
<h2 id="_2">Ручная установка</h2>
<p>Команды ниже выполнять под root или привилегированным пользователем с sudo:</p>
<ol>
<li>отключить selinux</li>
<li><code>systemctl stop firewalld</code></li>
<li><code>systemctl disable firewalld</code></li>
<li><code>systemctl stop nftables</code></li>
<li><code>systemctl disable nftables</code></li>
<li><code>useradd mockgui</code></li>
<li>Добавить репозиторий:</li>
</ol>
<pre><code class="language-ini"># 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
</code></pre>
<ol>
<li><code>dnf install epel-release</code></li>
<li><code>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</code></li>
<li><code>usermod -a -G mock mockgui</code></li>
<li>добавить в .bashrc root и mockgui строки: <code>export PATH=/usr/lib64/ccache:$PATH</code></li>
</ol>
<p>Команды ниже выполнять под пользователем mockgui:</p>
<ol>
<li><code>cd ~</code></li>
<li><code>git clone https://dev.brepo.ru/brepo/mock-gui.git</code></li>
<li><code>cd mock-gui</code></li>
<li><code>/opt/brepo/ruby33/bin/bundle install</code></li>
<li><code>/opt/brepo/ruby33/bin/bundle exec sequel -m db/migrations sqlite://db/workbase.sqlite3</code></li>
</ol>
<p>Следующая команда от root:</p>
<ol>
<li><code>cp /home/mockgui/mock-gui/mockgui.service /etc/systemd/system/mockgui.service</code></li>
<li><code>systemctl enable mockgui.service --now</code></li>
</ol>
<p>И обязательно задать пароль для mockgui, т.к. без ключа git будет запрашивать именно пароль для этого пользователя:</p>
<ol>
<li><code>passwd mockgui</code></li>
</ol>
</div>
</div><footer>
<div class="rst-footer-buttons" role="navigation" aria-label="Навигация по странице">
<a href=".." class="btn btn-neutral float-left" title="MockGUI система сборки RPM пакетов"><span class="icon icon-circle-arrow-left"></span> Назад</a>
<a href="../update/" class="btn btn-neutral float-right" title="Обновление">Вперед <span class="icon icon-circle-arrow-right"></span></a>
</div>
<hr/>
<div role="contentinfo">
<!-- Copyright etc -->
<p>Copyright &copy; 2025 - ... BayRepo</p>
</div>
Собрано в <a href="https://www.mkdocs.org/">MkDocs</a> с использованием <a href="https://github.com/readthedocs/sphinx_rtd_theme">темы</a> от <a href="https://readthedocs.org">Read the Docs</a>.
</footer>
</div>
</div>
</section>
</div>
<div class="rst-versions" role="note" aria-label="Версии">
<span class="rst-current-version" data-toggle="rst-current-version">
<span>
<a href="https://dev.brepo.ru/brepo/mock-gui" class="fa fa-code-fork" style="color: #fcfcfc"> Dev</a>
</span>
<span><a href=".." style="color: #fcfcfc">&laquo; Назад</a></span>
<span><a href="../update/" style="color: #fcfcfc">Вперед &raquo;</a></span>
</span>
</div>
<script src="../js/jquery-3.6.0.min.js"></script>
<script>var base_url = "..";</script>
<script src="../js/theme_extra.js"></script>
<script src="../js/theme.js"></script>
<script src="../search/main.js"></script>
<script>
jQuery(function () {
SphinxRtdTheme.Navigation.enable(true);
});
</script>
</body>
</html>

@ -0,0 +1,4 @@
/**
* @preserve HTML5 Shiv 3.7.3 | @afarkas @jdalton @jon_neal @rem | MIT/GPL2 Licensed
*/
!function(a,b){function c(a,b){var c=a.createElement("p"),d=a.getElementsByTagName("head")[0]||a.documentElement;return c.innerHTML="x<style>"+b+"</style>",d.insertBefore(c.lastChild,d.firstChild)}function d(){var a=t.elements;return"string"==typeof a?a.split(" "):a}function e(a,b){var c=t.elements;"string"!=typeof c&&(c=c.join(" ")),"string"!=typeof a&&(a=a.join(" ")),t.elements=c+" "+a,j(b)}function f(a){var b=s[a[q]];return b||(b={},r++,a[q]=r,s[r]=b),b}function g(a,c,d){if(c||(c=b),l)return c.createElement(a);d||(d=f(c));var e;return e=d.cache[a]?d.cache[a].cloneNode():p.test(a)?(d.cache[a]=d.createElem(a)).cloneNode():d.createElem(a),!e.canHaveChildren||o.test(a)||e.tagUrn?e:d.frag.appendChild(e)}function h(a,c){if(a||(a=b),l)return a.createDocumentFragment();c=c||f(a);for(var e=c.frag.cloneNode(),g=0,h=d(),i=h.length;i>g;g++)e.createElement(h[g]);return e}function i(a,b){b.cache||(b.cache={},b.createElem=a.createElement,b.createFrag=a.createDocumentFragment,b.frag=b.createFrag()),a.createElement=function(c){return t.shivMethods?g(c,a,b):b.createElem(c)},a.createDocumentFragment=Function("h,f","return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&("+d().join().replace(/[\w\-:]+/g,function(a){return b.createElem(a),b.frag.createElement(a),'c("'+a+'")'})+");return n}")(t,b.frag)}function j(a){a||(a=b);var d=f(a);return!t.shivCSS||k||d.hasCSS||(d.hasCSS=!!c(a,"article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}mark{background:#FF0;color:#000}template{display:none}")),l||i(a,d),a}var k,l,m="3.7.3",n=a.html5||{},o=/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i,p=/^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i,q="_html5shiv",r=0,s={};!function(){try{var a=b.createElement("a");a.innerHTML="<xyz></xyz>",k="hidden"in a,l=1==a.childNodes.length||function(){b.createElement("a");var a=b.createDocumentFragment();return"undefined"==typeof a.cloneNode||"undefined"==typeof a.createDocumentFragment||"undefined"==typeof a.createElement}()}catch(c){k=!0,l=!0}}();var t={elements:n.elements||"abbr article aside audio bdi canvas data datalist details dialog figcaption figure footer header hgroup main mark meter nav output picture progress section summary template time video",version:m,shivCSS:n.shivCSS!==!1,supportsUnknownElements:l,shivMethods:n.shivMethods!==!1,type:"default",shivDocument:j,createElement:g,createDocumentFragment:h,addElements:e};a.html5=t,j(b),"object"==typeof module&&module.exports&&(module.exports=t)}("undefined"!=typeof window?window:this,document);

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

@ -0,0 +1,8 @@
/*
* Assign 'docutils' class to tables so styling and
* JavaScript behavior is applied.
*
* https://github.com/mkdocs/mkdocs/issues/2028
*/
$('div.rst-content table').addClass('docutils');

@ -0,0 +1,178 @@
<!DOCTYPE html>
<html class="writer-html5" lang="ru" >
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><link rel="canonical" href="https://docs.brepo.ru/mockgui/run/" />
<link rel="shortcut icon" href="../img/favicon.ico" />
<title>Запуск приложения - MockGUI</title>
<link rel="stylesheet" href="../css/theme.css" />
<link rel="stylesheet" href="../css/theme_extra.css" />
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.8.0/styles/github.min.css" />
<script>
// Current page data
var mkdocs_page_name = "\u0417\u0430\u043f\u0443\u0441\u043a \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f";
var mkdocs_page_input_path = "run.md";
var mkdocs_page_url = "/mockgui/run/";
</script>
<!--[if lt IE 9]>
<script src="../js/html5shiv.min.js"></script>
<![endif]-->
<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.8.0/highlight.min.js"></script>
<script>hljs.highlightAll();</script>
</head>
<body class="wy-body-for-nav" role="document">
<div class="wy-grid-for-nav">
<nav data-toggle="wy-nav-shift" class="wy-nav-side stickynav">
<div class="wy-side-scroll">
<div class="wy-side-nav-search">
<a href=".." class="icon icon-home"> MockGUI
</a><div role="search">
<form id ="rtd-search-form" class="wy-form" action="../search.html" method="get">
<input type="text" name="q" placeholder="Поиск в документации" aria-label="Поиск в документации" title="Введите поисковый запрос" />
</form>
</div>
</div>
<div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Навигационное меню">
<ul>
<li class="toctree-l1"><a class="reference internal" href="..">MockGUI система сборки RPM пакетов</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../install/">Способы установки</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../update/">Обновление</a>
</li>
</ul>
<ul class="current">
<li class="toctree-l1 current"><a class="reference internal current" href="#">Запуск приложения</a>
<ul class="current">
<li class="toctree-l2"><a class="reference internal" href="#service">Ручной запуск без service файла</a>
</li>
<li class="toctree-l2"><a class="reference internal" href="#_2">Использование приложения</a>
</li>
</ul>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../docs/">Документация</a>
</li>
</ul>
<p class="caption"><span class="caption-text">Инструкция пользователя</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../common/">Общий принцип работы с MockGUI</a>
</li>
<li class="toctree-l1"><a class="reference internal" href="../userguide/configuration/">Конфигурация</a>
</li>
<li class="toctree-l1"><a class="reference internal" href="../userguide/gits/">Управление git репозиториями</a>
</li>
<li class="toctree-l1"><a class="reference internal" href="../userguide/recips/">Сценарии подготовки исходных кодов git репозиториев</a>
</li>
<li class="toctree-l1"><a class="reference internal" href="../userguide/env/">Окружения сборки mock</a>
</li>
<li class="toctree-l1"><a class="reference internal" href="../userguide/projects/">Управление проектами</a>
</li>
<li class="toctree-l1"><a class="reference internal" href="../userguide/builds/">Список сборок</a>
</li>
<li class="toctree-l1"><a class="reference internal" href="../userguide/rpms/">Список пакетов</a>
</li>
</ul>
</div>
</div>
</nav>
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
<nav class="wy-nav-top" role="navigation" aria-label="Мобильная версия навигации">
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
<a href="..">MockGUI</a>
</nav>
<div class="wy-nav-content">
<div class="rst-content"><div role="navigation" aria-label="breadcrumbs navigation">
<ul class="wy-breadcrumbs">
<li><a href=".." class="icon icon-home" aria-label="Документация"></a></li>
<li class="breadcrumb-item active">Запуск приложения</li>
<li class="wy-breadcrumbs-aside">
</li>
</ul>
<hr/>
</div>
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div class="section" itemprop="articleBody">
<h1 id="_1">Запуск приложения</h1>
<p>Для запуска необходимо выполнить слудующую команду:</p>
<pre><code class="language-shell">sudo systemctl start mockgui
</code></pre>
<h2 id="service">Ручной запуск без service файла</h2>
<p>Ручной запуск без service файла может выпоняться от пользователя состоящего в группе <code>mock</code>.</p>
<p>Подготовка базы данных(деалется один раз):</p>
<pre><code class="language-shell">/opt/brepo/ruby33/bin/bundle exec sequel -m db/migrations sqlite://db/workbase.sqlite3
</code></pre>
<p>Запуск приложения</p>
<pre><code class="language-shell">/opt/brepo/ruby33/bin/bundle exec /opt/brepo/ruby33/bin/ruby app.rb
</code></pre>
<h2 id="_2">Использование приложения</h2>
<p>Открыть в браузере страницу:</p>
<pre><code>http://[ip]:8081
</code></pre>
</div>
</div><footer>
<div class="rst-footer-buttons" role="navigation" aria-label="Навигация по странице">
<a href="../update/" class="btn btn-neutral float-left" title="Обновление"><span class="icon icon-circle-arrow-left"></span> Назад</a>
<a href="../docs/" class="btn btn-neutral float-right" title="Документация">Вперед <span class="icon icon-circle-arrow-right"></span></a>
</div>
<hr/>
<div role="contentinfo">
<!-- Copyright etc -->
<p>Copyright &copy; 2025 - ... BayRepo</p>
</div>
Собрано в <a href="https://www.mkdocs.org/">MkDocs</a> с использованием <a href="https://github.com/readthedocs/sphinx_rtd_theme">темы</a> от <a href="https://readthedocs.org">Read the Docs</a>.
</footer>
</div>
</div>
</section>
</div>
<div class="rst-versions" role="note" aria-label="Версии">
<span class="rst-current-version" data-toggle="rst-current-version">
<span>
<a href="https://dev.brepo.ru/brepo/mock-gui" class="fa fa-code-fork" style="color: #fcfcfc"> Dev</a>
</span>
<span><a href="../update/" style="color: #fcfcfc">&laquo; Назад</a></span>
<span><a href="../docs/" style="color: #fcfcfc">Вперед &raquo;</a></span>
</span>
</div>
<script src="../js/jquery-3.6.0.min.js"></script>
<script>var base_url = "..";</script>
<script src="../js/theme_extra.js"></script>
<script src="../js/theme.js"></script>
<script src="../search/main.js"></script>
<script>
jQuery(function () {
SphinxRtdTheme.Navigation.enable(true);
});
</script>
</body>
</html>

@ -0,0 +1,152 @@
<!DOCTYPE html>
<html class="writer-html5" lang="ru" >
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link rel="shortcut icon" href="./img/favicon.ico" />
<title>MockGUI</title>
<link rel="stylesheet" href="./css/theme.css" />
<link rel="stylesheet" href="./css/theme_extra.css" />
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.8.0/styles/github.min.css" />
<!--[if lt IE 9]>
<script src="./js/html5shiv.min.js"></script>
<![endif]-->
<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.8.0/highlight.min.js"></script>
<script>hljs.highlightAll();</script>
</head>
<body class="wy-body-for-nav" role="document">
<div class="wy-grid-for-nav">
<nav data-toggle="wy-nav-shift" class="wy-nav-side stickynav">
<div class="wy-side-scroll">
<div class="wy-side-nav-search">
<a href="./." class="icon icon-home"> MockGUI
</a><div role="search">
<form id ="rtd-search-form" class="wy-form" action="./search.html" method="get">
<input type="text" name="q" placeholder="Поиск в документации" aria-label="Поиск в документации" title="Введите поисковый запрос" />
</form>
</div>
</div>
<div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Навигационное меню">
<ul>
<li class="toctree-l1"><a class="reference internal" href="./.">MockGUI система сборки RPM пакетов</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="./install/">Способы установки</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="./update/">Обновление</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="./run/">Запуск приложения</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="./docs/">Документация</a>
</li>
</ul>
<p class="caption"><span class="caption-text">Инструкция пользователя</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="./common/">Общий принцип работы с MockGUI</a>
</li>
<li class="toctree-l1"><a class="reference internal" href="./userguide/configuration/">Конфигурация</a>
</li>
<li class="toctree-l1"><a class="reference internal" href="./userguide/gits/">Управление git репозиториями</a>
</li>
<li class="toctree-l1"><a class="reference internal" href="./userguide/recips/">Сценарии подготовки исходных кодов git репозиториев</a>
</li>
<li class="toctree-l1"><a class="reference internal" href="./userguide/env/">Окружения сборки mock</a>
</li>
<li class="toctree-l1"><a class="reference internal" href="./userguide/projects/">Управление проектами</a>
</li>
<li class="toctree-l1"><a class="reference internal" href="./userguide/builds/">Список сборок</a>
</li>
<li class="toctree-l1"><a class="reference internal" href="./userguide/rpms/">Список пакетов</a>
</li>
</ul>
</div>
</div>
</nav>
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
<nav class="wy-nav-top" role="navigation" aria-label="Мобильная версия навигации">
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
<a href="./.">MockGUI</a>
</nav>
<div class="wy-nav-content">
<div class="rst-content"><div role="navigation" aria-label="breadcrumbs navigation">
<ul class="wy-breadcrumbs">
<li><a href="./." class="icon icon-home" aria-label="Документация"></a></li>
<li class="wy-breadcrumbs-aside">
</li>
</ul>
<hr/>
</div>
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div class="section" itemprop="articleBody">
<h1 id="search">Результаты поиска</h1>
<form id="content_search" action="search.html">
<span role="status" aria-live="polite" class="ui-helper-hidden-accessible"></span>
<input name="q" id="mkdocs-search-query" type="text" class="search_input search-query ui-autocomplete-input" placeholder="Поиск в документах" aria-label="Поиск в документах" autocomplete="off" autofocus title="Введите поисковый запрос">
</form>
<div id="mkdocs-search-results" class="search-results" data-no-results-text="Ничего не найдено">
Поиск...
</div>
</div>
</div><footer>
<hr/>
<div role="contentinfo">
<!-- Copyright etc -->
<p>Copyright &copy; 2025 - ... BayRepo</p>
</div>
Собрано в <a href="https://www.mkdocs.org/">MkDocs</a> с использованием <a href="https://github.com/readthedocs/sphinx_rtd_theme">темы</a> от <a href="https://readthedocs.org">Read the Docs</a>.
</footer>
</div>
</div>
</section>
</div>
<div class="rst-versions" role="note" aria-label="Версии">
<span class="rst-current-version" data-toggle="rst-current-version">
<span>
<a href="https://dev.brepo.ru/brepo/mock-gui" class="fa fa-code-fork" style="color: #fcfcfc"> Dev</a>
</span>
</span>
</div>
<script src="./js/jquery-3.6.0.min.js"></script>
<script>var base_url = ".";</script>
<script src="./js/theme_extra.js"></script>
<script src="./js/theme.js"></script>
<script src="./search/main.js"></script>
<script>
jQuery(function () {
SphinxRtdTheme.Navigation.enable(true);
});
</script>
</body>
</html>

File diff suppressed because it is too large Load Diff

@ -0,0 +1,391 @@
/*!
* Lunr languages, `Russian` language
* https://github.com/MihaiValentin/lunr-languages
*
* Copyright 2014, Mihai Valentin
* http://www.mozilla.org/MPL/
*/
/*!
* based on
* Snowball JavaScript Library v0.3
* http://code.google.com/p/urim/
* http://snowball.tartarus.org/
*
* Copyright 2010, Oleg Mazko
* http://www.mozilla.org/MPL/
*/
/**
* export the module via AMD, CommonJS or as a browser global
* Export code from https://github.com/umdjs/umd/blob/master/returnExports.js
*/
;
(function(root, factory) {
if (typeof define === 'function' && define.amd) {
// AMD. Register as an anonymous module.
define(factory)
} else if (typeof exports === 'object') {
/**
* Node. Does not work with strict CommonJS, but
* only CommonJS-like environments that support module.exports,
* like Node.
*/
module.exports = factory()
} else {
// Browser globals (root is window)
factory()(root.lunr);
}
}(this, function() {
/**
* Just return a value to define the module export.
* This example returns an object, but the module
* can return a function as the exported value.
*/
return function(lunr) {
/* throw error if lunr is not yet included */
if ('undefined' === typeof lunr) {
throw new Error('Lunr is not present. Please include / require Lunr before this script.');
}
/* throw error if lunr stemmer support is not yet included */
if ('undefined' === typeof lunr.stemmerSupport) {
throw new Error('Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.');
}
/* register specific locale function */
lunr.ru = function() {
this.pipeline.reset();
this.pipeline.add(
lunr.ru.trimmer,
lunr.ru.stopWordFilter,
lunr.ru.stemmer
);
// for lunr version 2
// this is necessary so that every searched word is also stemmed before
// in lunr <= 1 this is not needed, as it is done using the normal pipeline
if (this.searchPipeline) {
this.searchPipeline.reset();
this.searchPipeline.add(lunr.ru.stemmer)
}
};
/* lunr trimmer function */
lunr.ru.wordCharacters = "\u0400-\u0484\u0487-\u052F\u1D2B\u1D78\u2DE0-\u2DFF\uA640-\uA69F\uFE2E\uFE2F";
lunr.ru.trimmer = lunr.trimmerSupport.generateTrimmer(lunr.ru.wordCharacters);
lunr.Pipeline.registerFunction(lunr.ru.trimmer, 'trimmer-ru');
/* lunr stemmer function */
lunr.ru.stemmer = (function() {
/* create the wrapped stemmer object */
var Among = lunr.stemmerSupport.Among,
SnowballProgram = lunr.stemmerSupport.SnowballProgram,
st = new function RussianStemmer() {
var a_0 = [new Among("\u0432", -1, 1), new Among("\u0438\u0432", 0, 2),
new Among("\u044B\u0432", 0, 2),
new Among("\u0432\u0448\u0438", -1, 1),
new Among("\u0438\u0432\u0448\u0438", 3, 2),
new Among("\u044B\u0432\u0448\u0438", 3, 2),
new Among("\u0432\u0448\u0438\u0441\u044C", -1, 1),
new Among("\u0438\u0432\u0448\u0438\u0441\u044C", 6, 2),
new Among("\u044B\u0432\u0448\u0438\u0441\u044C", 6, 2)
],
a_1 = [
new Among("\u0435\u0435", -1, 1), new Among("\u0438\u0435", -1, 1),
new Among("\u043E\u0435", -1, 1), new Among("\u044B\u0435", -1, 1),
new Among("\u0438\u043C\u0438", -1, 1),
new Among("\u044B\u043C\u0438", -1, 1),
new Among("\u0435\u0439", -1, 1), new Among("\u0438\u0439", -1, 1),
new Among("\u043E\u0439", -1, 1), new Among("\u044B\u0439", -1, 1),
new Among("\u0435\u043C", -1, 1), new Among("\u0438\u043C", -1, 1),
new Among("\u043E\u043C", -1, 1), new Among("\u044B\u043C", -1, 1),
new Among("\u0435\u0433\u043E", -1, 1),
new Among("\u043E\u0433\u043E", -1, 1),
new Among("\u0435\u043C\u0443", -1, 1),
new Among("\u043E\u043C\u0443", -1, 1),
new Among("\u0438\u0445", -1, 1), new Among("\u044B\u0445", -1, 1),
new Among("\u0435\u044E", -1, 1), new Among("\u043E\u044E", -1, 1),
new Among("\u0443\u044E", -1, 1), new Among("\u044E\u044E", -1, 1),
new Among("\u0430\u044F", -1, 1), new Among("\u044F\u044F", -1, 1)
],
a_2 = [
new Among("\u0435\u043C", -1, 1), new Among("\u043D\u043D", -1, 1),
new Among("\u0432\u0448", -1, 1),
new Among("\u0438\u0432\u0448", 2, 2),
new Among("\u044B\u0432\u0448", 2, 2), new Among("\u0449", -1, 1),
new Among("\u044E\u0449", 5, 1),
new Among("\u0443\u044E\u0449", 6, 2)
],
a_3 = [
new Among("\u0441\u044C", -1, 1), new Among("\u0441\u044F", -1, 1)
],
a_4 = [
new Among("\u043B\u0430", -1, 1),
new Among("\u0438\u043B\u0430", 0, 2),
new Among("\u044B\u043B\u0430", 0, 2),
new Among("\u043D\u0430", -1, 1),
new Among("\u0435\u043D\u0430", 3, 2),
new Among("\u0435\u0442\u0435", -1, 1),
new Among("\u0438\u0442\u0435", -1, 2),
new Among("\u0439\u0442\u0435", -1, 1),
new Among("\u0435\u0439\u0442\u0435", 7, 2),
new Among("\u0443\u0439\u0442\u0435", 7, 2),
new Among("\u043B\u0438", -1, 1),
new Among("\u0438\u043B\u0438", 10, 2),
new Among("\u044B\u043B\u0438", 10, 2), new Among("\u0439", -1, 1),
new Among("\u0435\u0439", 13, 2), new Among("\u0443\u0439", 13, 2),
new Among("\u043B", -1, 1), new Among("\u0438\u043B", 16, 2),
new Among("\u044B\u043B", 16, 2), new Among("\u0435\u043C", -1, 1),
new Among("\u0438\u043C", -1, 2), new Among("\u044B\u043C", -1, 2),
new Among("\u043D", -1, 1), new Among("\u0435\u043D", 22, 2),
new Among("\u043B\u043E", -1, 1),
new Among("\u0438\u043B\u043E", 24, 2),
new Among("\u044B\u043B\u043E", 24, 2),
new Among("\u043D\u043E", -1, 1),
new Among("\u0435\u043D\u043E", 27, 2),
new Among("\u043D\u043D\u043E", 27, 1),
new Among("\u0435\u0442", -1, 1),
new Among("\u0443\u0435\u0442", 30, 2),
new Among("\u0438\u0442", -1, 2), new Among("\u044B\u0442", -1, 2),
new Among("\u044E\u0442", -1, 1),
new Among("\u0443\u044E\u0442", 34, 2),
new Among("\u044F\u0442", -1, 2), new Among("\u043D\u044B", -1, 1),
new Among("\u0435\u043D\u044B", 37, 2),
new Among("\u0442\u044C", -1, 1),
new Among("\u0438\u0442\u044C", 39, 2),
new Among("\u044B\u0442\u044C", 39, 2),
new Among("\u0435\u0448\u044C", -1, 1),
new Among("\u0438\u0448\u044C", -1, 2), new Among("\u044E", -1, 2),
new Among("\u0443\u044E", 44, 2)
],
a_5 = [
new Among("\u0430", -1, 1), new Among("\u0435\u0432", -1, 1),
new Among("\u043E\u0432", -1, 1), new Among("\u0435", -1, 1),
new Among("\u0438\u0435", 3, 1), new Among("\u044C\u0435", 3, 1),
new Among("\u0438", -1, 1), new Among("\u0435\u0438", 6, 1),
new Among("\u0438\u0438", 6, 1),
new Among("\u0430\u043C\u0438", 6, 1),
new Among("\u044F\u043C\u0438", 6, 1),
new Among("\u0438\u044F\u043C\u0438", 10, 1),
new Among("\u0439", -1, 1), new Among("\u0435\u0439", 12, 1),
new Among("\u0438\u0435\u0439", 13, 1),
new Among("\u0438\u0439", 12, 1), new Among("\u043E\u0439", 12, 1),
new Among("\u0430\u043C", -1, 1), new Among("\u0435\u043C", -1, 1),
new Among("\u0438\u0435\u043C", 18, 1),
new Among("\u043E\u043C", -1, 1), new Among("\u044F\u043C", -1, 1),
new Among("\u0438\u044F\u043C", 21, 1), new Among("\u043E", -1, 1),
new Among("\u0443", -1, 1), new Among("\u0430\u0445", -1, 1),
new Among("\u044F\u0445", -1, 1),
new Among("\u0438\u044F\u0445", 26, 1), new Among("\u044B", -1, 1),
new Among("\u044C", -1, 1), new Among("\u044E", -1, 1),
new Among("\u0438\u044E", 30, 1), new Among("\u044C\u044E", 30, 1),
new Among("\u044F", -1, 1), new Among("\u0438\u044F", 33, 1),
new Among("\u044C\u044F", 33, 1)
],
a_6 = [
new Among("\u043E\u0441\u0442", -1, 1),
new Among("\u043E\u0441\u0442\u044C", -1, 1)
],
a_7 = [
new Among("\u0435\u0439\u0448\u0435", -1, 1),
new Among("\u043D", -1, 2), new Among("\u0435\u0439\u0448", -1, 1),
new Among("\u044C", -1, 3)
],
g_v = [33, 65, 8, 232],
I_p2, I_pV, sbp = new SnowballProgram();
this.setCurrent = function(word) {
sbp.setCurrent(word);
};
this.getCurrent = function() {
return sbp.getCurrent();
};
function habr3() {
while (!sbp.in_grouping(g_v, 1072, 1103)) {
if (sbp.cursor >= sbp.limit)
return false;
sbp.cursor++;
}
return true;
}
function habr4() {
while (!sbp.out_grouping(g_v, 1072, 1103)) {
if (sbp.cursor >= sbp.limit)
return false;
sbp.cursor++;
}
return true;
}
function r_mark_regions() {
I_pV = sbp.limit;
I_p2 = I_pV;
if (habr3()) {
I_pV = sbp.cursor;
if (habr4())
if (habr3())
if (habr4())
I_p2 = sbp.cursor;
}
}
function r_R2() {
return I_p2 <= sbp.cursor;
}
function habr2(a, n) {
var among_var, v_1;
sbp.ket = sbp.cursor;
among_var = sbp.find_among_b(a, n);
if (among_var) {
sbp.bra = sbp.cursor;
switch (among_var) {
case 1:
v_1 = sbp.limit - sbp.cursor;
if (!sbp.eq_s_b(1, "\u0430")) {
sbp.cursor = sbp.limit - v_1;
if (!sbp.eq_s_b(1, "\u044F"))
return false;
}
case 2:
sbp.slice_del();
break;
}
return true;
}
return false;
}
function r_perfective_gerund() {
return habr2(a_0, 9);
}
function habr1(a, n) {
var among_var;
sbp.ket = sbp.cursor;
among_var = sbp.find_among_b(a, n);
if (among_var) {
sbp.bra = sbp.cursor;
if (among_var == 1)
sbp.slice_del();
return true;
}
return false;
}
function r_adjective() {
return habr1(a_1, 26);
}
function r_adjectival() {
var among_var;
if (r_adjective()) {
habr2(a_2, 8);
return true;
}
return false;
}
function r_reflexive() {
return habr1(a_3, 2);
}
function r_verb() {
return habr2(a_4, 46);
}
function r_noun() {
habr1(a_5, 36);
}
function r_derivational() {
var among_var;
sbp.ket = sbp.cursor;
among_var = sbp.find_among_b(a_6, 2);
if (among_var) {
sbp.bra = sbp.cursor;
if (r_R2() && among_var == 1)
sbp.slice_del();
}
}
function r_tidy_up() {
var among_var;
sbp.ket = sbp.cursor;
among_var = sbp.find_among_b(a_7, 4);
if (among_var) {
sbp.bra = sbp.cursor;
switch (among_var) {
case 1:
sbp.slice_del();
sbp.ket = sbp.cursor;
if (!sbp.eq_s_b(1, "\u043D"))
break;
sbp.bra = sbp.cursor;
case 2:
if (!sbp.eq_s_b(1, "\u043D"))
break;
case 3:
sbp.slice_del();
break;
}
}
}
this.stem = function() {
r_mark_regions();
sbp.cursor = sbp.limit;
if (sbp.cursor < I_pV)
return false;
sbp.limit_backward = I_pV;
if (!r_perfective_gerund()) {
sbp.cursor = sbp.limit;
if (!r_reflexive())
sbp.cursor = sbp.limit;
if (!r_adjectival()) {
sbp.cursor = sbp.limit;
if (!r_verb()) {
sbp.cursor = sbp.limit;
r_noun();
}
}
}
sbp.cursor = sbp.limit;
sbp.ket = sbp.cursor;
if (sbp.eq_s_b(1, "\u0438")) {
sbp.bra = sbp.cursor;
sbp.slice_del();
} else
sbp.cursor = sbp.limit;
r_derivational();
sbp.cursor = sbp.limit;
r_tidy_up();
return true;
}
};
/* and return a function that stems a word for the current locale */
return function(token) {
// for lunr version 2
if (typeof token.update === "function") {
return token.update(function(word) {
st.setCurrent(word);
st.stem();
return st.getCurrent();
})
} else { // for lunr version <= 1
st.setCurrent(token);
st.stem();
return st.getCurrent();
}
}
})();
lunr.Pipeline.registerFunction(lunr.ru.stemmer, 'stemmer-ru');
lunr.ru.stopWordFilter = lunr.generateStopWordFilter('алло без близко более больше будем будет будете будешь будто буду будут будь бы бывает бывь был была были было быть в важная важное важные важный вам вами вас ваш ваша ваше ваши вверх вдали вдруг ведь везде весь вниз внизу во вокруг вон восемнадцатый восемнадцать восемь восьмой вот впрочем времени время все всегда всего всем всеми всему всех всею всю всюду вся всё второй вы г где говорил говорит год года году да давно даже далеко дальше даром два двадцатый двадцать две двенадцатый двенадцать двух девятнадцатый девятнадцать девятый девять действительно дел день десятый десять для до довольно долго должно другая другие других друго другое другой е его ее ей ему если есть еще ещё ею её ж же жизнь за занят занята занято заняты затем зато зачем здесь значит и из или им именно иметь ими имя иногда их к каждая каждое каждые каждый кажется как какая какой кем когда кого ком кому конечно которая которого которой которые который которых кроме кругом кто куда лет ли лишь лучше люди м мало между меля менее меньше меня миллионов мимо мира мне много многочисленная многочисленное многочисленные многочисленный мной мною мог могут мож может можно можхо мои мой мор мочь моя моё мы на наверху над надо назад наиболее наконец нам нами нас начала наш наша наше наши не него недавно недалеко нее ней нельзя нем немного нему непрерывно нередко несколько нет нею неё ни нибудь ниже низко никогда никуда ними них ничего но ну нужно нх о об оба обычно один одиннадцатый одиннадцать однажды однако одного одной около он она они оно опять особенно от отовсюду отсюда очень первый перед по под пожалуйста позже пока пор пора после посреди потом потому почему почти прекрасно при про просто против процентов пятнадцатый пятнадцать пятый пять раз разве рано раньше рядом с сам сама сами самим самими самих само самого самой самом самому саму свое своего своей свои своих свою сеаой себе себя сегодня седьмой сейчас семнадцатый семнадцать семь сих сказал сказала сказать сколько слишком сначала снова со собой собою совсем спасибо стал суть т та так такая также такие такое такой там твой твоя твоё те тебе тебя тем теми теперь тех то тобой тобою тогда того тоже только том тому тот тою третий три тринадцатый тринадцать ту туда тут ты тысяч у уж уже уметь хорошо хотеть хоть хотя хочешь часто чаще чего человек чем чему через четвертый четыре четырнадцатый четырнадцать что чтоб чтобы чуть шестнадцатый шестнадцать шестой шесть эта эти этим этими этих это этого этой этом этому этот эту я а'.split(' '));
lunr.Pipeline.registerFunction(lunr.ru.stopWordFilter, 'stopWordFilter-ru');
};
}))

@ -0,0 +1,304 @@
/*!
* Snowball JavaScript Library v0.3
* http://code.google.com/p/urim/
* http://snowball.tartarus.org/
*
* Copyright 2010, Oleg Mazko
* http://www.mozilla.org/MPL/
*/
/**
* export the module via AMD, CommonJS or as a browser global
* Export code from https://github.com/umdjs/umd/blob/master/returnExports.js
*/
;(function (root, factory) {
if (typeof define === 'function' && define.amd) {
// AMD. Register as an anonymous module.
define(factory)
} else if (typeof exports === 'object') {
/**
* Node. Does not work with strict CommonJS, but
* only CommonJS-like environments that support module.exports,
* like Node.
*/
module.exports = factory()
} else {
// Browser globals (root is window)
factory()(root.lunr);
}
}(this, function () {
/**
* Just return a value to define the module export.
* This example returns an object, but the module
* can return a function as the exported value.
*/
return function(lunr) {
/* provides utilities for the included stemmers */
lunr.stemmerSupport = {
Among: function(s, substring_i, result, method) {
this.toCharArray = function(s) {
var sLength = s.length, charArr = new Array(sLength);
for (var i = 0; i < sLength; i++)
charArr[i] = s.charCodeAt(i);
return charArr;
};
if ((!s && s != "") || (!substring_i && (substring_i != 0)) || !result)
throw ("Bad Among initialisation: s:" + s + ", substring_i: "
+ substring_i + ", result: " + result);
this.s_size = s.length;
this.s = this.toCharArray(s);
this.substring_i = substring_i;
this.result = result;
this.method = method;
},
SnowballProgram: function() {
var current;
return {
bra : 0,
ket : 0,
limit : 0,
cursor : 0,
limit_backward : 0,
setCurrent : function(word) {
current = word;
this.cursor = 0;
this.limit = word.length;
this.limit_backward = 0;
this.bra = this.cursor;
this.ket = this.limit;
},
getCurrent : function() {
var result = current;
current = null;
return result;
},
in_grouping : function(s, min, max) {
if (this.cursor < this.limit) {
var ch = current.charCodeAt(this.cursor);
if (ch <= max && ch >= min) {
ch -= min;
if (s[ch >> 3] & (0X1 << (ch & 0X7))) {
this.cursor++;
return true;
}
}
}
return false;
},
in_grouping_b : function(s, min, max) {
if (this.cursor > this.limit_backward) {
var ch = current.charCodeAt(this.cursor - 1);
if (ch <= max && ch >= min) {
ch -= min;
if (s[ch >> 3] & (0X1 << (ch & 0X7))) {
this.cursor--;
return true;
}
}
}
return false;
},
out_grouping : function(s, min, max) {
if (this.cursor < this.limit) {
var ch = current.charCodeAt(this.cursor);
if (ch > max || ch < min) {
this.cursor++;
return true;
}
ch -= min;
if (!(s[ch >> 3] & (0X1 << (ch & 0X7)))) {
this.cursor++;
return true;
}
}
return false;
},
out_grouping_b : function(s, min, max) {
if (this.cursor > this.limit_backward) {
var ch = current.charCodeAt(this.cursor - 1);
if (ch > max || ch < min) {
this.cursor--;
return true;
}
ch -= min;
if (!(s[ch >> 3] & (0X1 << (ch & 0X7)))) {
this.cursor--;
return true;
}
}
return false;
},
eq_s : function(s_size, s) {
if (this.limit - this.cursor < s_size)
return false;
for (var i = 0; i < s_size; i++)
if (current.charCodeAt(this.cursor + i) != s.charCodeAt(i))
return false;
this.cursor += s_size;
return true;
},
eq_s_b : function(s_size, s) {
if (this.cursor - this.limit_backward < s_size)
return false;
for (var i = 0; i < s_size; i++)
if (current.charCodeAt(this.cursor - s_size + i) != s
.charCodeAt(i))
return false;
this.cursor -= s_size;
return true;
},
find_among : function(v, v_size) {
var i = 0, j = v_size, c = this.cursor, l = this.limit, common_i = 0, common_j = 0, first_key_inspected = false;
while (true) {
var k = i + ((j - i) >> 1), diff = 0, common = common_i < common_j
? common_i
: common_j, w = v[k];
for (var i2 = common; i2 < w.s_size; i2++) {
if (c + common == l) {
diff = -1;
break;
}
diff = current.charCodeAt(c + common) - w.s[i2];
if (diff)
break;
common++;
}
if (diff < 0) {
j = k;
common_j = common;
} else {
i = k;
common_i = common;
}
if (j - i <= 1) {
if (i > 0 || j == i || first_key_inspected)
break;
first_key_inspected = true;
}
}
while (true) {
var w = v[i];
if (common_i >= w.s_size) {
this.cursor = c + w.s_size;
if (!w.method)
return w.result;
var res = w.method();
this.cursor = c + w.s_size;
if (res)
return w.result;
}
i = w.substring_i;
if (i < 0)
return 0;
}
},
find_among_b : function(v, v_size) {
var i = 0, j = v_size, c = this.cursor, lb = this.limit_backward, common_i = 0, common_j = 0, first_key_inspected = false;
while (true) {
var k = i + ((j - i) >> 1), diff = 0, common = common_i < common_j
? common_i
: common_j, w = v[k];
for (var i2 = w.s_size - 1 - common; i2 >= 0; i2--) {
if (c - common == lb) {
diff = -1;
break;
}
diff = current.charCodeAt(c - 1 - common) - w.s[i2];
if (diff)
break;
common++;
}
if (diff < 0) {
j = k;
common_j = common;
} else {
i = k;
common_i = common;
}
if (j - i <= 1) {
if (i > 0 || j == i || first_key_inspected)
break;
first_key_inspected = true;
}
}
while (true) {
var w = v[i];
if (common_i >= w.s_size) {
this.cursor = c - w.s_size;
if (!w.method)
return w.result;
var res = w.method();
this.cursor = c - w.s_size;
if (res)
return w.result;
}
i = w.substring_i;
if (i < 0)
return 0;
}
},
replace_s : function(c_bra, c_ket, s) {
var adjustment = s.length - (c_ket - c_bra), left = current
.substring(0, c_bra), right = current.substring(c_ket);
current = left + s + right;
this.limit += adjustment;
if (this.cursor >= c_ket)
this.cursor += adjustment;
else if (this.cursor > c_bra)
this.cursor = c_bra;
return adjustment;
},
slice_check : function() {
if (this.bra < 0 || this.bra > this.ket || this.ket > this.limit
|| this.limit > current.length)
throw ("faulty slice operation");
},
slice_from : function(s) {
this.slice_check();
this.replace_s(this.bra, this.ket, s);
},
slice_del : function() {
this.slice_from("");
},
insert : function(c_bra, c_ket, s) {
var adjustment = this.replace_s(c_bra, c_ket, s);
if (c_bra <= this.bra)
this.bra += adjustment;
if (c_bra <= this.ket)
this.ket += adjustment;
},
slice_to : function() {
this.slice_check();
return current.substring(this.bra, this.ket);
},
eq_v_b : function(s) {
return this.eq_s_b(s.length, s);
}
};
}
};
lunr.trimmerSupport = {
generateTrimmer: function(wordCharacters) {
var startRegex = new RegExp("^[^" + wordCharacters + "]+")
var endRegex = new RegExp("[^" + wordCharacters + "]+$")
return function(token) {
// for lunr version 2
if (typeof token.update === "function") {
return token.update(function (s) {
return s
.replace(startRegex, '')
.replace(endRegex, '');
})
} else { // for lunr version 1
return token
.replace(startRegex, '')
.replace(endRegex, '');
}
};
}
}
}
}));

@ -0,0 +1,109 @@
function getSearchTermFromLocation() {
var sPageURL = window.location.search.substring(1);
var sURLVariables = sPageURL.split('&');
for (var i = 0; i < sURLVariables.length; i++) {
var sParameterName = sURLVariables[i].split('=');
if (sParameterName[0] == 'q') {
return decodeURIComponent(sParameterName[1].replace(/\+/g, '%20'));
}
}
}
function joinUrl (base, path) {
if (path.substring(0, 1) === "/") {
// path starts with `/`. Thus it is absolute.
return path;
}
if (base.substring(base.length-1) === "/") {
// base ends with `/`
return base + path;
}
return base + "/" + path;
}
function escapeHtml (value) {
return value.replace(/&/g, '&amp;')
.replace(/"/g, '&quot;')
.replace(/</g, '&lt;')
.replace(/>/g, '&gt;');
}
function formatResult (location, title, summary) {
return '<article><h3><a href="' + joinUrl(base_url, location) + '">'+ escapeHtml(title) + '</a></h3><p>' + escapeHtml(summary) +'</p></article>';
}
function displayResults (results) {
var search_results = document.getElementById("mkdocs-search-results");
while (search_results.firstChild) {
search_results.removeChild(search_results.firstChild);
}
if (results.length > 0){
for (var i=0; i < results.length; i++){
var result = results[i];
var html = formatResult(result.location, result.title, result.summary);
search_results.insertAdjacentHTML('beforeend', html);
}
} else {
var noResultsText = search_results.getAttribute('data-no-results-text');
if (!noResultsText) {
noResultsText = "No results found";
}
search_results.insertAdjacentHTML('beforeend', '<p>' + noResultsText + '</p>');
}
}
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;
}

File diff suppressed because one or more lines are too long

@ -0,0 +1,133 @@
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);
}
};
}

@ -0,0 +1,55 @@
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://docs.brepo.ru/mockgui/</loc>
<lastmod>2025-03-27</lastmod>
</url>
<url>
<loc>https://docs.brepo.ru/mockgui/common/</loc>
<lastmod>2025-03-27</lastmod>
</url>
<url>
<loc>https://docs.brepo.ru/mockgui/docs/</loc>
<lastmod>2025-03-27</lastmod>
</url>
<url>
<loc>https://docs.brepo.ru/mockgui/install/</loc>
<lastmod>2025-03-27</lastmod>
</url>
<url>
<loc>https://docs.brepo.ru/mockgui/run/</loc>
<lastmod>2025-03-27</lastmod>
</url>
<url>
<loc>https://docs.brepo.ru/mockgui/update/</loc>
<lastmod>2025-03-27</lastmod>
</url>
<url>
<loc>https://docs.brepo.ru/mockgui/userguide/builds/</loc>
<lastmod>2025-03-27</lastmod>
</url>
<url>
<loc>https://docs.brepo.ru/mockgui/userguide/configuration/</loc>
<lastmod>2025-03-27</lastmod>
</url>
<url>
<loc>https://docs.brepo.ru/mockgui/userguide/env/</loc>
<lastmod>2025-03-27</lastmod>
</url>
<url>
<loc>https://docs.brepo.ru/mockgui/userguide/gits/</loc>
<lastmod>2025-03-27</lastmod>
</url>
<url>
<loc>https://docs.brepo.ru/mockgui/userguide/projects/</loc>
<lastmod>2025-03-27</lastmod>
</url>
<url>
<loc>https://docs.brepo.ru/mockgui/userguide/recips/</loc>
<lastmod>2025-03-27</lastmod>
</url>
<url>
<loc>https://docs.brepo.ru/mockgui/userguide/rpms/</loc>
<lastmod>2025-03-27</lastmod>
</url>
</urlset>

Binary file not shown.

@ -0,0 +1,170 @@
<!DOCTYPE html>
<html class="writer-html5" lang="ru" >
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><link rel="canonical" href="https://docs.brepo.ru/mockgui/update/" />
<link rel="shortcut icon" href="../img/favicon.ico" />
<title>Обновление - MockGUI</title>
<link rel="stylesheet" href="../css/theme.css" />
<link rel="stylesheet" href="../css/theme_extra.css" />
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.8.0/styles/github.min.css" />
<script>
// Current page data
var mkdocs_page_name = "\u041e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435";
var mkdocs_page_input_path = "update.md";
var mkdocs_page_url = "/mockgui/update/";
</script>
<!--[if lt IE 9]>
<script src="../js/html5shiv.min.js"></script>
<![endif]-->
<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.8.0/highlight.min.js"></script>
<script>hljs.highlightAll();</script>
</head>
<body class="wy-body-for-nav" role="document">
<div class="wy-grid-for-nav">
<nav data-toggle="wy-nav-shift" class="wy-nav-side stickynav">
<div class="wy-side-scroll">
<div class="wy-side-nav-search">
<a href=".." class="icon icon-home"> MockGUI
</a><div role="search">
<form id ="rtd-search-form" class="wy-form" action="../search.html" method="get">
<input type="text" name="q" placeholder="Поиск в документации" aria-label="Поиск в документации" title="Введите поисковый запрос" />
</form>
</div>
</div>
<div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Навигационное меню">
<ul>
<li class="toctree-l1"><a class="reference internal" href="..">MockGUI система сборки RPM пакетов</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../install/">Способы установки</a>
</li>
</ul>
<ul class="current">
<li class="toctree-l1 current"><a class="reference internal current" href="#">Обновление</a>
<ul class="current">
</ul>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../run/">Запуск приложения</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../docs/">Документация</a>
</li>
</ul>
<p class="caption"><span class="caption-text">Инструкция пользователя</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../common/">Общий принцип работы с MockGUI</a>
</li>
<li class="toctree-l1"><a class="reference internal" href="../userguide/configuration/">Конфигурация</a>
</li>
<li class="toctree-l1"><a class="reference internal" href="../userguide/gits/">Управление git репозиториями</a>
</li>
<li class="toctree-l1"><a class="reference internal" href="../userguide/recips/">Сценарии подготовки исходных кодов git репозиториев</a>
</li>
<li class="toctree-l1"><a class="reference internal" href="../userguide/env/">Окружения сборки mock</a>
</li>
<li class="toctree-l1"><a class="reference internal" href="../userguide/projects/">Управление проектами</a>
</li>
<li class="toctree-l1"><a class="reference internal" href="../userguide/builds/">Список сборок</a>
</li>
<li class="toctree-l1"><a class="reference internal" href="../userguide/rpms/">Список пакетов</a>
</li>
</ul>
</div>
</div>
</nav>
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
<nav class="wy-nav-top" role="navigation" aria-label="Мобильная версия навигации">
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
<a href="..">MockGUI</a>
</nav>
<div class="wy-nav-content">
<div class="rst-content"><div role="navigation" aria-label="breadcrumbs navigation">
<ul class="wy-breadcrumbs">
<li><a href=".." class="icon icon-home" aria-label="Документация"></a></li>
<li class="breadcrumb-item active">Обновление</li>
<li class="wy-breadcrumbs-aside">
</li>
</ul>
<hr/>
</div>
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div class="section" itemprop="articleBody">
<h1 id="_1">Обновление</h1>
<p>Для обновления сервиса, необходимо перейти в корневой каталог программы под пользователем mockgui:</p>
<pre><code class="language-shell">cd /home/mockgui/mock-gui/
</code></pre>
<p>И затем вызвать команду:</p>
<pre><code class="language-shell">git pull
</code></pre>
<p>Данна команда обновит системные каталоги, не тронув каталоги с данными.</p>
<p>И затем от привилегированного пользователя вызвать:</p>
<pre><code class="language-shell">sudo systemctl restart mockgui.service
</code></pre>
<p>Единственное предупреждение - в момент обновления не должно происходить никаких сборок в MockGUI, они должны быть все завершенные.</p>
</div>
</div><footer>
<div class="rst-footer-buttons" role="navigation" aria-label="Навигация по странице">
<a href="../install/" class="btn btn-neutral float-left" title="Способы установки"><span class="icon icon-circle-arrow-left"></span> Назад</a>
<a href="../run/" class="btn btn-neutral float-right" title="Запуск приложения">Вперед <span class="icon icon-circle-arrow-right"></span></a>
</div>
<hr/>
<div role="contentinfo">
<!-- Copyright etc -->
<p>Copyright &copy; 2025 - ... BayRepo</p>
</div>
Собрано в <a href="https://www.mkdocs.org/">MkDocs</a> с использованием <a href="https://github.com/readthedocs/sphinx_rtd_theme">темы</a> от <a href="https://readthedocs.org">Read the Docs</a>.
</footer>
</div>
</div>
</section>
</div>
<div class="rst-versions" role="note" aria-label="Версии">
<span class="rst-current-version" data-toggle="rst-current-version">
<span>
<a href="https://dev.brepo.ru/brepo/mock-gui" class="fa fa-code-fork" style="color: #fcfcfc"> Dev</a>
</span>
<span><a href="../install/" style="color: #fcfcfc">&laquo; Назад</a></span>
<span><a href="../run/" style="color: #fcfcfc">Вперед &raquo;</a></span>
</span>
</div>
<script src="../js/jquery-3.6.0.min.js"></script>
<script>var base_url = "..";</script>
<script src="../js/theme_extra.js"></script>
<script src="../js/theme.js"></script>
<script src="../search/main.js"></script>
<script>
jQuery(function () {
SphinxRtdTheme.Navigation.enable(true);
});
</script>
</body>
</html>

@ -0,0 +1,169 @@
<!DOCTYPE html>
<html class="writer-html5" lang="ru" >
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><link rel="canonical" href="https://docs.brepo.ru/mockgui/userguide/builds/" />
<link rel="shortcut icon" href="../../img/favicon.ico" />
<title>Список сборок - MockGUI</title>
<link rel="stylesheet" href="../../css/theme.css" />
<link rel="stylesheet" href="../../css/theme_extra.css" />
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.8.0/styles/github.min.css" />
<script>
// Current page data
var mkdocs_page_name = "\u0421\u043f\u0438\u0441\u043e\u043a \u0441\u0431\u043e\u0440\u043e\u043a";
var mkdocs_page_input_path = "userguide/builds.md";
var mkdocs_page_url = "/mockgui/userguide/builds/";
</script>
<!--[if lt IE 9]>
<script src="../../js/html5shiv.min.js"></script>
<![endif]-->
<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.8.0/highlight.min.js"></script>
<script>hljs.highlightAll();</script>
</head>
<body class="wy-body-for-nav" role="document">
<div class="wy-grid-for-nav">
<nav data-toggle="wy-nav-shift" class="wy-nav-side stickynav">
<div class="wy-side-scroll">
<div class="wy-side-nav-search">
<a href="../.." class="icon icon-home"> MockGUI
</a><div role="search">
<form id ="rtd-search-form" class="wy-form" action="../../search.html" method="get">
<input type="text" name="q" placeholder="Поиск в документации" aria-label="Поиск в документации" title="Введите поисковый запрос" />
</form>
</div>
</div>
<div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Навигационное меню">
<ul>
<li class="toctree-l1"><a class="reference internal" href="../..">MockGUI система сборки RPM пакетов</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../../install/">Способы установки</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../../update/">Обновление</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../../run/">Запуск приложения</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../../docs/">Документация</a>
</li>
</ul>
<p class="caption"><span class="caption-text">Инструкция пользователя</span></p>
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="../../common/">Общий принцип работы с MockGUI</a>
</li>
<li class="toctree-l1"><a class="reference internal" href="../configuration/">Конфигурация</a>
</li>
<li class="toctree-l1"><a class="reference internal" href="../gits/">Управление git репозиториями</a>
</li>
<li class="toctree-l1"><a class="reference internal" href="../recips/">Сценарии подготовки исходных кодов git репозиториев</a>
</li>
<li class="toctree-l1"><a class="reference internal" href="../env/">Окружения сборки mock</a>
</li>
<li class="toctree-l1"><a class="reference internal" href="../projects/">Управление проектами</a>
</li>
<li class="toctree-l1 current"><a class="reference internal current" href="#">Список сборок</a>
<ul class="current">
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../rpms/">Список пакетов</a>
</li>
</ul>
</div>
</div>
</nav>
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
<nav class="wy-nav-top" role="navigation" aria-label="Мобильная версия навигации">
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
<a href="../..">MockGUI</a>
</nav>
<div class="wy-nav-content">
<div class="rst-content"><div role="navigation" aria-label="breadcrumbs navigation">
<ul class="wy-breadcrumbs">
<li><a href="../.." class="icon icon-home" aria-label="Документация"></a></li>
<li class="breadcrumb-item">Инструкция пользователя</li>
<li class="breadcrumb-item active">Список сборок</li>
<li class="wy-breadcrumbs-aside">
</li>
</ul>
<hr/>
</div>
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div class="section" itemprop="articleBody">
<h1 id="_1">Список сборок</h1>
<p>На данной страинце отображается ифнормация о текущих и прошлых сборках</p>
<p><img alt="Список сборок" src="../../img/mockgui_builds1.png" /></p>
<p>Если нажать на ссылку "Детальнее", то можно получить детальную информацию о сборке:</p>
<p><img alt="Список сборок2" src="../../img/mockgui_build10.png" /></p>
<p>Где можно увидеть вес файлы логов с ошибками и без, пакеты собранные при сборке и т.д.</p>
<p>Список сборок может быть:
* общим
* сборки проекта
* сборки проекта и git репозитория</p>
</div>
</div><footer>
<div class="rst-footer-buttons" role="navigation" aria-label="Навигация по странице">
<a href="../projects/" class="btn btn-neutral float-left" title="Управление проектами"><span class="icon icon-circle-arrow-left"></span> Назад</a>
<a href="../rpms/" class="btn btn-neutral float-right" title="Список пакетов">Вперед <span class="icon icon-circle-arrow-right"></span></a>
</div>
<hr/>
<div role="contentinfo">
<!-- Copyright etc -->
<p>Copyright &copy; 2025 - ... BayRepo</p>
</div>
Собрано в <a href="https://www.mkdocs.org/">MkDocs</a> с использованием <a href="https://github.com/readthedocs/sphinx_rtd_theme">темы</a> от <a href="https://readthedocs.org">Read the Docs</a>.
</footer>
</div>
</div>
</section>
</div>
<div class="rst-versions" role="note" aria-label="Версии">
<span class="rst-current-version" data-toggle="rst-current-version">
<span>
<a href="https://dev.brepo.ru/brepo/mock-gui" class="fa fa-code-fork" style="color: #fcfcfc"> Dev</a>
</span>
<span><a href="../projects/" style="color: #fcfcfc">&laquo; Назад</a></span>
<span><a href="../rpms/" style="color: #fcfcfc">Вперед &raquo;</a></span>
</span>
</div>
<script src="../../js/jquery-3.6.0.min.js"></script>
<script>var base_url = "../..";</script>
<script src="../../js/theme_extra.js"></script>
<script src="../../js/theme.js"></script>
<script src="../../search/main.js"></script>
<script>
jQuery(function () {
SphinxRtdTheme.Navigation.enable(true);
});
</script>
</body>
</html>

@ -0,0 +1,249 @@
<!DOCTYPE html>
<html class="writer-html5" lang="ru" >
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><link rel="canonical" href="https://docs.brepo.ru/mockgui/userguide/configuration/" />
<link rel="shortcut icon" href="../../img/favicon.ico" />
<title>Конфигурация - MockGUI</title>
<link rel="stylesheet" href="../../css/theme.css" />
<link rel="stylesheet" href="../../css/theme_extra.css" />
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.8.0/styles/github.min.css" />
<script>
// Current page data
var mkdocs_page_name = "\u041a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f";
var mkdocs_page_input_path = "userguide/configuration.md";
var mkdocs_page_url = "/mockgui/userguide/configuration/";
</script>
<!--[if lt IE 9]>
<script src="../../js/html5shiv.min.js"></script>
<![endif]-->
<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.8.0/highlight.min.js"></script>
<script>hljs.highlightAll();</script>
</head>
<body class="wy-body-for-nav" role="document">
<div class="wy-grid-for-nav">
<nav data-toggle="wy-nav-shift" class="wy-nav-side stickynav">
<div class="wy-side-scroll">
<div class="wy-side-nav-search">
<a href="../.." class="icon icon-home"> MockGUI
</a><div role="search">
<form id ="rtd-search-form" class="wy-form" action="../../search.html" method="get">
<input type="text" name="q" placeholder="Поиск в документации" aria-label="Поиск в документации" title="Введите поисковый запрос" />
</form>
</div>
</div>
<div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Навигационное меню">
<ul>
<li class="toctree-l1"><a class="reference internal" href="../..">MockGUI система сборки RPM пакетов</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../../install/">Способы установки</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../../update/">Обновление</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../../run/">Запуск приложения</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../../docs/">Документация</a>
</li>
</ul>
<p class="caption"><span class="caption-text">Инструкция пользователя</span></p>
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="../../common/">Общий принцип работы с MockGUI</a>
</li>
<li class="toctree-l1 current"><a class="reference internal current" href="#">Конфигурация</a>
<ul class="current">
<li class="toctree-l2"><a class="reference internal" href="#_2">Пример файла конфигруации</a>
</li>
<li class="toctree-l2"><a class="reference internal" href="#_3">Секции</a>
<ul>
<li class="toctree-l3"><a class="reference internal" href="#server">server</a>
</li>
<li class="toctree-l3"><a class="reference internal" href="#repo">repo</a>
</li>
<li class="toctree-l3"><a class="reference internal" href="#counter">counter</a>
</li>
<li class="toctree-l3"><a class="reference internal" href="#projects">projects</a>
</li>
<li class="toctree-l3"><a class="reference internal" href="#configs">configs</a>
</li>
<li class="toctree-l3"><a class="reference internal" href="#pages">pages</a>
</li>
<li class="toctree-l3"><a class="reference internal" href="#sign">sign</a>
</li>
<li class="toctree-l3"><a class="reference internal" href="#repoview">repoview</a>
</li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../gits/">Управление git репозиториями</a>
</li>
<li class="toctree-l1"><a class="reference internal" href="../recips/">Сценарии подготовки исходных кодов git репозиториев</a>
</li>
<li class="toctree-l1"><a class="reference internal" href="../env/">Окружения сборки mock</a>
</li>
<li class="toctree-l1"><a class="reference internal" href="../projects/">Управление проектами</a>
</li>
<li class="toctree-l1"><a class="reference internal" href="../builds/">Список сборок</a>
</li>
<li class="toctree-l1"><a class="reference internal" href="../rpms/">Список пакетов</a>
</li>
</ul>
</div>
</div>
</nav>
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
<nav class="wy-nav-top" role="navigation" aria-label="Мобильная версия навигации">
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
<a href="../..">MockGUI</a>
</nav>
<div class="wy-nav-content">
<div class="rst-content"><div role="navigation" aria-label="breadcrumbs navigation">
<ul class="wy-breadcrumbs">
<li><a href="../.." class="icon icon-home" aria-label="Документация"></a></li>
<li class="breadcrumb-item">Инструкция пользователя</li>
<li class="breadcrumb-item active">Конфигурация</li>
<li class="wy-breadcrumbs-aside">
</li>
</ul>
<hr/>
</div>
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div class="section" itemprop="articleBody">
<h1 id="_1">Конфигурация</h1>
<p>Конфигруация MockGUI представлена одним файлом <code>config.ini</code> расположенном в корне проекта.</p>
<h2 id="_2">Пример файла конфигруации</h2>
<pre><code class="language-ini">[server]
port = 8081
db = &quot;sqlite://db/workbase.sqlite3&quot;
[repo]
repo = &quot;repo&quot;
[projects]
path = &quot;projects&quot;
old = 3
[counter]
path = &quot;locks/counter&quot;
[configs]
hide=open,amazon,anolis,circle,custom,euro,fedora,mageia,navy,alma,rocky
selected=msvsphere
[pages]
items_per_page = 30
[sign]
path = &quot;keys&quot;
[repoview]
path = &quot;repoview&quot;
</code></pre>
<h2 id="_3">Секции</h2>
<p>Все пути указываются от корня проекта.</p>
<h3 id="server">server</h3>
<ul>
<li><code>port</code> - порт, который будет слущать сервер для доступа к WEB интерфейсу (умолчание: 8081)</li>
<li><code>db</code> - путь к базе данных и тип базы данных (умолчание: db/workbase.sqlite3 и тип базы данных SQLite)</li>
</ul>
<h3 id="repo">repo</h3>
<ul>
<li><code>repo</code> - путь к каталогу, где гранятся bare git проекты, можно скопировать уже существующие, они автоматом при старте добавятся в базу (умолчание: repo)</li>
</ul>
<h3 id="counter">counter</h3>
<ul>
<li><code>path</code> - путь к глобальному счетчику сборок (умолчание: locks/counter)</li>
</ul>
<h3 id="projects">projects</h3>
<ul>
<li><code>path</code> - путь к папке, где создаются проекты, в нее же копируются git исходники, поэтому рекомендуется эту папку делать пообъемнее (умолчание: projects)</li>
<li><code>old</code> - неиспользуемый параметр</li>
</ul>
<h3 id="configs">configs</h3>
<ul>
<li><code>hide</code> - скрыть из списка доступных конфигураций сборки считанных из <code>/etc/mock/</code>, содержащие в имени одно из слов, указееых через запятую </li>
<li><code>selected</code> - добавить в список избранных сборки с именами, указанными содержащими слова через запятую</li>
</ul>
<h3 id="pages">pages</h3>
<ul>
<li><code>items_per_page</code> - отображать на страницах не более указанного числа записей (умолчание: 30)</li>
</ul>
<h3 id="sign">sign</h3>
<ul>
<li><code>path</code> - папка, где хранятся gpg ключи (приватный и публичный) для подписи пакетов (умолчание: keys)</li>
</ul>
<h3 id="repoview">repoview</h3>
<ul>
<li><code>path</code> - папка, где хранятся шаблоны для генерации статического repoview для подписанного репозитория (умолчание: repoview)</li>
</ul>
<p>Так же следует учесть, что сборки происходят в папке <code>/var/lib/mock</code> поэтому данная папка так же должна быть большого объема.</p>
</div>
</div><footer>
<div class="rst-footer-buttons" role="navigation" aria-label="Навигация по странице">
<a href="../../common/" class="btn btn-neutral float-left" title="Общий принцип работы с MockGUI"><span class="icon icon-circle-arrow-left"></span> Назад</a>
<a href="../gits/" class="btn btn-neutral float-right" title="Управление git репозиториями">Вперед <span class="icon icon-circle-arrow-right"></span></a>
</div>
<hr/>
<div role="contentinfo">
<!-- Copyright etc -->
<p>Copyright &copy; 2025 - ... BayRepo</p>
</div>
Собрано в <a href="https://www.mkdocs.org/">MkDocs</a> с использованием <a href="https://github.com/readthedocs/sphinx_rtd_theme">темы</a> от <a href="https://readthedocs.org">Read the Docs</a>.
</footer>
</div>
</div>
</section>
</div>
<div class="rst-versions" role="note" aria-label="Версии">
<span class="rst-current-version" data-toggle="rst-current-version">
<span>
<a href="https://dev.brepo.ru/brepo/mock-gui" class="fa fa-code-fork" style="color: #fcfcfc"> Dev</a>
</span>
<span><a href="../../common/" style="color: #fcfcfc">&laquo; Назад</a></span>
<span><a href="../gits/" style="color: #fcfcfc">Вперед &raquo;</a></span>
</span>
</div>
<script src="../../js/jquery-3.6.0.min.js"></script>
<script>var base_url = "../..";</script>
<script src="../../js/theme_extra.js"></script>
<script src="../../js/theme.js"></script>
<script src="../../search/main.js"></script>
<script>
jQuery(function () {
SphinxRtdTheme.Navigation.enable(true);
});
</script>
</body>
</html>

@ -0,0 +1,173 @@
<!DOCTYPE html>
<html class="writer-html5" lang="ru" >
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><link rel="canonical" href="https://docs.brepo.ru/mockgui/userguide/env/" />
<link rel="shortcut icon" href="../../img/favicon.ico" />
<title>Окружения сборки mock - MockGUI</title>
<link rel="stylesheet" href="../../css/theme.css" />
<link rel="stylesheet" href="../../css/theme_extra.css" />
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.8.0/styles/github.min.css" />
<script>
// Current page data
var mkdocs_page_name = "\u041e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u044f \u0441\u0431\u043e\u0440\u043a\u0438 mock";
var mkdocs_page_input_path = "userguide/env.md";
var mkdocs_page_url = "/mockgui/userguide/env/";
</script>
<!--[if lt IE 9]>
<script src="../../js/html5shiv.min.js"></script>
<![endif]-->
<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.8.0/highlight.min.js"></script>
<script>hljs.highlightAll();</script>
</head>
<body class="wy-body-for-nav" role="document">
<div class="wy-grid-for-nav">
<nav data-toggle="wy-nav-shift" class="wy-nav-side stickynav">
<div class="wy-side-scroll">
<div class="wy-side-nav-search">
<a href="../.." class="icon icon-home"> MockGUI
</a><div role="search">
<form id ="rtd-search-form" class="wy-form" action="../../search.html" method="get">
<input type="text" name="q" placeholder="Поиск в документации" aria-label="Поиск в документации" title="Введите поисковый запрос" />
</form>
</div>
</div>
<div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Навигационное меню">
<ul>
<li class="toctree-l1"><a class="reference internal" href="../..">MockGUI система сборки RPM пакетов</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../../install/">Способы установки</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../../update/">Обновление</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../../run/">Запуск приложения</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../../docs/">Документация</a>
</li>
</ul>
<p class="caption"><span class="caption-text">Инструкция пользователя</span></p>
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="../../common/">Общий принцип работы с MockGUI</a>
</li>
<li class="toctree-l1"><a class="reference internal" href="../configuration/">Конфигурация</a>
</li>
<li class="toctree-l1"><a class="reference internal" href="../gits/">Управление git репозиториями</a>
</li>
<li class="toctree-l1"><a class="reference internal" href="../recips/">Сценарии подготовки исходных кодов git репозиториев</a>
</li>
<li class="toctree-l1 current"><a class="reference internal current" href="#">Окружения сборки mock</a>
<ul class="current">
<li class="toctree-l2"><a class="reference internal" href="#_1">Список конфигураций</a>
</li>
<li class="toctree-l2"><a class="reference internal" href="#_2">Просмотр файлов конфигураций сборки</a>
</li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../projects/">Управление проектами</a>
</li>
<li class="toctree-l1"><a class="reference internal" href="../builds/">Список сборок</a>
</li>
<li class="toctree-l1"><a class="reference internal" href="../rpms/">Список пакетов</a>
</li>
</ul>
</div>
</div>
</nav>
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
<nav class="wy-nav-top" role="navigation" aria-label="Мобильная версия навигации">
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
<a href="../..">MockGUI</a>
</nav>
<div class="wy-nav-content">
<div class="rst-content"><div role="navigation" aria-label="breadcrumbs navigation">
<ul class="wy-breadcrumbs">
<li><a href="../.." class="icon icon-home" aria-label="Документация"></a></li>
<li class="breadcrumb-item">Инструкция пользователя</li>
<li class="breadcrumb-item active">Окружения сборки mock</li>
<li class="wy-breadcrumbs-aside">
</li>
</ul>
<hr/>
</div>
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div class="section" itemprop="articleBody">
<h1 id="mock">Окружения сборки mock</h1>
<p>Отображает список доступных окружений, отфильрованных согласно <a href="../configuration/">конфигруации</a> </p>
<p>Файлы конфигураци доступны только для ознакомления.</p>
<p>Добавлять можно только вручную, редактируя файлы по пути <code>/etc/mock/</code></p>
<h2 id="_1">Список конфигураций</h2>
<p><img alt="Список конфигураций" src="../../img/mockgui_env1.png" /></p>
<h2 id="_2">Просмотр файлов конфигураций сборки</h2>
<p><img alt="Конфигурация сборки" src="../../img/mockgui_env2.png" /></p>
<p>В листинге файла конфигурации сборки можно кликать мышкой на <code>include</code> и будет происходить переход на указнный шаблон или конфигурацию.</p>
<p>Такой механиз для ознакомления с конфигурацией сборки.</p>
</div>
</div><footer>
<div class="rst-footer-buttons" role="navigation" aria-label="Навигация по странице">
<a href="../recips/" class="btn btn-neutral float-left" title="Сценарии подготовки исходных кодов git репозиториев"><span class="icon icon-circle-arrow-left"></span> Назад</a>
<a href="../projects/" class="btn btn-neutral float-right" title="Управление проектами">Вперед <span class="icon icon-circle-arrow-right"></span></a>
</div>
<hr/>
<div role="contentinfo">
<!-- Copyright etc -->
<p>Copyright &copy; 2025 - ... BayRepo</p>
</div>
Собрано в <a href="https://www.mkdocs.org/">MkDocs</a> с использованием <a href="https://github.com/readthedocs/sphinx_rtd_theme">темы</a> от <a href="https://readthedocs.org">Read the Docs</a>.
</footer>
</div>
</div>
</section>
</div>
<div class="rst-versions" role="note" aria-label="Версии">
<span class="rst-current-version" data-toggle="rst-current-version">
<span>
<a href="https://dev.brepo.ru/brepo/mock-gui" class="fa fa-code-fork" style="color: #fcfcfc"> Dev</a>
</span>
<span><a href="../recips/" style="color: #fcfcfc">&laquo; Назад</a></span>
<span><a href="../projects/" style="color: #fcfcfc">Вперед &raquo;</a></span>
</span>
</div>
<script src="../../js/jquery-3.6.0.min.js"></script>
<script>var base_url = "../..";</script>
<script src="../../js/theme_extra.js"></script>
<script src="../../js/theme.js"></script>
<script src="../../search/main.js"></script>
<script>
jQuery(function () {
SphinxRtdTheme.Navigation.enable(true);
});
</script>
</body>
</html>

@ -0,0 +1,195 @@
<!DOCTYPE html>
<html class="writer-html5" lang="ru" >
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><link rel="canonical" href="https://docs.brepo.ru/mockgui/userguide/gits/" />
<link rel="shortcut icon" href="../../img/favicon.ico" />
<title>Управление git репозиториями - MockGUI</title>
<link rel="stylesheet" href="../../css/theme.css" />
<link rel="stylesheet" href="../../css/theme_extra.css" />
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.8.0/styles/github.min.css" />
<script>
// Current page data
var mkdocs_page_name = "\u0423\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 git \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f\u043c\u0438";
var mkdocs_page_input_path = "userguide/gits.md";
var mkdocs_page_url = "/mockgui/userguide/gits/";
</script>
<!--[if lt IE 9]>
<script src="../../js/html5shiv.min.js"></script>
<![endif]-->
<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.8.0/highlight.min.js"></script>
<script>hljs.highlightAll();</script>
</head>
<body class="wy-body-for-nav" role="document">
<div class="wy-grid-for-nav">
<nav data-toggle="wy-nav-shift" class="wy-nav-side stickynav">
<div class="wy-side-scroll">
<div class="wy-side-nav-search">
<a href="../.." class="icon icon-home"> MockGUI
</a><div role="search">
<form id ="rtd-search-form" class="wy-form" action="../../search.html" method="get">
<input type="text" name="q" placeholder="Поиск в документации" aria-label="Поиск в документации" title="Введите поисковый запрос" />
</form>
</div>
</div>
<div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Навигационное меню">
<ul>
<li class="toctree-l1"><a class="reference internal" href="../..">MockGUI система сборки RPM пакетов</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../../install/">Способы установки</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../../update/">Обновление</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../../run/">Запуск приложения</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../../docs/">Документация</a>
</li>
</ul>
<p class="caption"><span class="caption-text">Инструкция пользователя</span></p>
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="../../common/">Общий принцип работы с MockGUI</a>
</li>
<li class="toctree-l1"><a class="reference internal" href="../configuration/">Конфигурация</a>
</li>
<li class="toctree-l1 current"><a class="reference internal current" href="#">Управление git репозиториями</a>
<ul class="current">
<li class="toctree-l2"><a class="reference internal" href="#git_1">Список git репозиториями</a>
</li>
<li class="toctree-l2"><a class="reference internal" href="#git_2">Создание нового пустого git репозитория</a>
</li>
<li class="toctree-l2"><a class="reference internal" href="#git_3">Просмотр информации git репозитория</a>
</li>
<li class="toctree-l2"><a class="reference internal" href="#git_4">Удаление git репозитория</a>
</li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../recips/">Сценарии подготовки исходных кодов git репозиториев</a>
</li>
<li class="toctree-l1"><a class="reference internal" href="../env/">Окружения сборки mock</a>
</li>
<li class="toctree-l1"><a class="reference internal" href="../projects/">Управление проектами</a>
</li>
<li class="toctree-l1"><a class="reference internal" href="../builds/">Список сборок</a>
</li>
<li class="toctree-l1"><a class="reference internal" href="../rpms/">Список пакетов</a>
</li>
</ul>
</div>
</div>
</nav>
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
<nav class="wy-nav-top" role="navigation" aria-label="Мобильная версия навигации">
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
<a href="../..">MockGUI</a>
</nav>
<div class="wy-nav-content">
<div class="rst-content"><div role="navigation" aria-label="breadcrumbs navigation">
<ul class="wy-breadcrumbs">
<li><a href="../.." class="icon icon-home" aria-label="Документация"></a></li>
<li class="breadcrumb-item">Инструкция пользователя</li>
<li class="breadcrumb-item active">Управление git репозиториями</li>
<li class="wy-breadcrumbs-aside">
</li>
</ul>
<hr/>
</div>
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div class="section" itemprop="articleBody">
<h1 id="git">Управление git репозиториями</h1>
<p>По-умолчанию git проекты - это папки содержащие bare git структуры, которые расположены в каталоге <code>repo</code> (настраивается в <a href="../configuration/">конфигруации</a>)</p>
<p>Папка repo может содержать не зарегистрированные git репозитории, в таком случае они при открытии страницы атоматически добавятся в базу (правда без писания).</p>
<h2 id="git_1">Список git репозиториями</h2>
<p><img alt="Первоначальный вид" src="../../img/mockgui_creategit1.png" /></p>
<p><img alt="С добавленными репозиториями" src="../../img/mockgui_creategit3.png" /></p>
<h2 id="git_2">Создание нового пустого git репозитория</h2>
<p><img alt="Создание пустого git репозитория" src="../../img/mockgui_creategit2.png" /></p>
<p>Необходимо заполнить имя git репозитория и описание. И нажать кнопку "Создать".</p>
<h2 id="git_3">Просмотр информации git репозитория</h2>
<p>На текущий момент етсть возможность просмотра:</p>
<ul>
<li>Списка веток</li>
<li>Списка коммитов</li>
<li>Списка тегов</li>
<li>Строки для клонирования репозитория</li>
<li>Описание репозитория</li>
</ul>
<p>Список тегов и коммитов даст ифнормацию о том, что исходные коды в ветке master находятся в нужно состоянии ис нужными коммитами.
Сборочница производит выборку исходных кодов из master ветки git репозитория.</p>
<p><img alt="Информация о git репозитории" src="../../img/mockgui_creategit4.png" /></p>
<p>Пример строки клонирования репозитория:</p>
<p><img alt="Информация о git репозитории" src="../../img/mockgui_creategit5.png" /></p>
<p>Для успешного клонирования и наполнения git репозитория, необходимо либо установить публичный ключ для доумпа пользователя по ssh или знать пароль к mockgui пользователю по ssh. Вот почему в <a href="../../install/">инсталляционном руководстве</a> рекомендуется установить пароль для mockgui пользователя.</p>
<h2 id="git_4">Удаление git репозитория</h2>
<p>Удаление возможно только в том случае, если данный git репозиторий не имеет ни рецептов сборки, а так же не подключен ни к одному проекту и соответсвенно, не имеет сборок, указывающих на данный git репозиторий.</p>
<p>При нажатии на кнопку "Удалить" появится окно, где нужно будет написать имя репозитория и нажать кнопку "Удалить" для подтверждения удаления:</p>
<p><img alt="Удаление git репозитория" src="../../img/mockgui_deletegit1.png" /></p>
</div>
</div><footer>
<div class="rst-footer-buttons" role="navigation" aria-label="Навигация по странице">
<a href="../configuration/" class="btn btn-neutral float-left" title="Конфигурация"><span class="icon icon-circle-arrow-left"></span> Назад</a>
<a href="../recips/" class="btn btn-neutral float-right" title="Сценарии подготовки исходных кодов git репозиториев">Вперед <span class="icon icon-circle-arrow-right"></span></a>
</div>
<hr/>
<div role="contentinfo">
<!-- Copyright etc -->
<p>Copyright &copy; 2025 - ... BayRepo</p>
</div>
Собрано в <a href="https://www.mkdocs.org/">MkDocs</a> с использованием <a href="https://github.com/readthedocs/sphinx_rtd_theme">темы</a> от <a href="https://readthedocs.org">Read the Docs</a>.
</footer>
</div>
</div>
</section>
</div>
<div class="rst-versions" role="note" aria-label="Версии">
<span class="rst-current-version" data-toggle="rst-current-version">
<span>
<a href="https://dev.brepo.ru/brepo/mock-gui" class="fa fa-code-fork" style="color: #fcfcfc"> Dev</a>
</span>
<span><a href="../configuration/" style="color: #fcfcfc">&laquo; Назад</a></span>
<span><a href="../recips/" style="color: #fcfcfc">Вперед &raquo;</a></span>
</span>
</div>
<script src="../../js/jquery-3.6.0.min.js"></script>
<script>var base_url = "../..";</script>
<script src="../../js/theme_extra.js"></script>
<script src="../../js/theme.js"></script>
<script src="../../search/main.js"></script>
<script>
jQuery(function () {
SphinxRtdTheme.Navigation.enable(true);
});
</script>
</body>
</html>

@ -0,0 +1,257 @@
<!DOCTYPE html>
<html class="writer-html5" lang="ru" >
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><link rel="canonical" href="https://docs.brepo.ru/mockgui/userguide/projects/" />
<link rel="shortcut icon" href="../../img/favicon.ico" />
<title>Управление проектами - MockGUI</title>
<link rel="stylesheet" href="../../css/theme.css" />
<link rel="stylesheet" href="../../css/theme_extra.css" />
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.8.0/styles/github.min.css" />
<script>
// Current page data
var mkdocs_page_name = "\u0423\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043f\u0440\u043e\u0435\u043a\u0442\u0430\u043c\u0438";
var mkdocs_page_input_path = "userguide/projects.md";
var mkdocs_page_url = "/mockgui/userguide/projects/";
</script>
<!--[if lt IE 9]>
<script src="../../js/html5shiv.min.js"></script>
<![endif]-->
<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.8.0/highlight.min.js"></script>
<script>hljs.highlightAll();</script>
</head>
<body class="wy-body-for-nav" role="document">
<div class="wy-grid-for-nav">
<nav data-toggle="wy-nav-shift" class="wy-nav-side stickynav">
<div class="wy-side-scroll">
<div class="wy-side-nav-search">
<a href="../.." class="icon icon-home"> MockGUI
</a><div role="search">
<form id ="rtd-search-form" class="wy-form" action="../../search.html" method="get">
<input type="text" name="q" placeholder="Поиск в документации" aria-label="Поиск в документации" title="Введите поисковый запрос" />
</form>
</div>
</div>
<div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Навигационное меню">
<ul>
<li class="toctree-l1"><a class="reference internal" href="../..">MockGUI система сборки RPM пакетов</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../../install/">Способы установки</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../../update/">Обновление</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../../run/">Запуск приложения</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../../docs/">Документация</a>
</li>
</ul>
<p class="caption"><span class="caption-text">Инструкция пользователя</span></p>
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="../../common/">Общий принцип работы с MockGUI</a>
</li>
<li class="toctree-l1"><a class="reference internal" href="../configuration/">Конфигурация</a>
</li>
<li class="toctree-l1"><a class="reference internal" href="../gits/">Управление git репозиториями</a>
</li>
<li class="toctree-l1"><a class="reference internal" href="../recips/">Сценарии подготовки исходных кодов git репозиториев</a>
</li>
<li class="toctree-l1"><a class="reference internal" href="../env/">Окружения сборки mock</a>
</li>
<li class="toctree-l1 current"><a class="reference internal current" href="#">Управление проектами</a>
<ul class="current">
<li class="toctree-l2"><a class="reference internal" href="#_2">Список проектов</a>
</li>
<li class="toctree-l2"><a class="reference internal" href="#_3">Создание нового проекта</a>
</li>
<li class="toctree-l2"><a class="reference internal" href="#_4">Информация о проекте</a>
<ul>
<li class="toctree-l3"><a class="reference internal" href="#_5">Список действий над репозиторием проекта</a>
</li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../builds/">Список сборок</a>
</li>
<li class="toctree-l1"><a class="reference internal" href="../rpms/">Список пакетов</a>
</li>
</ul>
</div>
</div>
</nav>
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
<nav class="wy-nav-top" role="navigation" aria-label="Мобильная версия навигации">
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
<a href="../..">MockGUI</a>
</nav>
<div class="wy-nav-content">
<div class="rst-content"><div role="navigation" aria-label="breadcrumbs navigation">
<ul class="wy-breadcrumbs">
<li><a href="../.." class="icon icon-home" aria-label="Документация"></a></li>
<li class="breadcrumb-item">Инструкция пользователя</li>
<li class="breadcrumb-item active">Управление проектами</li>
<li class="wy-breadcrumbs-aside">
</li>
</ul>
<hr/>
</div>
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div class="section" itemprop="articleBody">
<h1 id="_1">Управление проектами</h1>
<p>Проекты - это объединения git репозиториев, результат которого - это репозиторий rpm пакетов (подписанный и не подписанный).</p>
<p>Неподписанный репозиторий используется для внутренних сборок, при подключении проекта в другой проект.</p>
<p>Подписанный репозиторий используется для публикации rpm пакетов на внешний сервер (внешний репозиторий).</p>
<h2 id="_2">Список проектов</h2>
<p><img alt="Список проектов пустой" src="../../img/mockgui_project1.png" /></p>
<p><img alt="Список проектов" src="../../img/mockgui_projects4.png" /></p>
<h2 id="_3">Создание нового проекта</h2>
<p><img alt="Новый проект" src="../../img/mockgui_projects2.png" /></p>
<ul>
<li><code>Название проекта</code> - уникальное название проекта, оно будет содержаться в названии будущего репозитория, поэтому стоит подходить к названию с умом.</li>
<li><code>Описание</code> - краткое описание</li>
<li><code>Не публиковать отладочные пакеты и исходные коды</code> - при установенном флажке в подписанный репозиторий не публикуются пакеты src.rpm, debuginfo, debugsource. Если флажок не установлен, то подписывается и публикуется все. Флажок для проприетарного ПО</li>
<li><code>Выберите конфигурацию окружения сборки для проекта</code> - выбирается конфигурация сборки, выбирается один раз при создании проекта и больше потом не меняется. Можно только создать новый проект с другой конфигурацией.</li>
</ul>
<p>Пример выбора конфигурации. Имеется поле фильтрации.</p>
<p><img alt="Выбор конфигурации" src="../../img/mockgui_projects3.png" /></p>
<h2 id="_4">Информация о проекте</h2>
<p><img alt="Проектная информация" src="../../img/mockgui_projects5.png" /></p>
<p><code>Добавить git репозиторий к проекту</code> - позволяет добавить к проекту один из существующих git репозиториев.</p>
<p>Необходимо из выпадающего списка выбрать один - нажать кнопку "Добавить".</p>
<p>Тк выглядит добавленый в проект новый git репозиторий.
<img alt="Добавленый репозиторий" src="../../img/mockgui_projects6.png" /></p>
<p>Пустые репозиториий без исходников добавить в проетк нельзя!</p>
<p><code>Редактировать конфигурацию сборки</code> - локальная конфигурация сборочного окружения для mock.</p>
<p>Данный пукнт меню озволять отредактировать корневой файл сборочного окружения.
Здесь условно можно поменять конфигурацию сборки с которой создавался проект, но такой финт лучше не проделывать, особенно если есть уже собранные пакеты.</p>
<p><img alt="Конфигурация сборки" src="../../img/mockgui_projects7.png" /></p>
<p><code>Добавить внутренний репозиторий из другого проекта</code> - позволяет связать проекты при сбоке, т.е внутренний неподписанный репозиторий одного проекта, становится доступен для сборки текущего. </p>
<p><img alt="Линк на другой проект" src="../../img/mockgui_projects8.png" /></p>
<p><code>Список всех пакетов</code> - список пакетов, собранных для данного проекта (неподписанных пакетв)</p>
<p><img alt="Список пакетов" src="../../img/mockgui_projects20.png" /></p>
<p>Отображается структура репозитория, где можно перемещаться по папкам и нажимать на rpm пакеты, получая о них информацию.</p>
<p><code>Список сборок проектов</code> - отображается список сборок, принадлежащих проекту.</p>
<p>В данном списке можно получить информацию о каждой сборке. Детальнее о <a href="../builds/">сборках</a></p>
<p><code>Подписать</code> - подписать gpg ключем файлы репозитория проекта и опубликовать их в отдельном репозитории</p>
<p>Как происходит подпись:</p>
<p><img alt="Подпись" src="../../img/mockgui_projects25.png" /></p>
<p>Подписывание требует наличие gpg ключей в папке keys.</p>
<p>Данные ключи создаются при <a href="../../install/">установке</a> скриптом ./install-key из папки <code>gen-scripts</code></p>
<p>Параметры запуска:</p>
<pre><code class="language-shell">cd gen-scripts
./install-key UserName UserEmail 316224000 StrongSignPassword
</code></pre>
<ul>
<li>UserName - это имя владельца ключа</li>
<li>UserEmail - почта владельца ключа</li>
<li>316224000 - число секунд жизни ключа. Высчитывается по формуле: пусть нужен ключ на 2 года значит чилсо будет: 2 * 366 * 24 * 60 * 60 = 63244800, а 316224000 = 10 лет</li>
<li>StrongSignPassword - пароль для ключа</li>
</ul>
<p>В результате будет сгенерирован gpg ключ приватный и публичный в папке keys, желательно не потерять их.</p>
<p><code>Просмотр подписанного репозитория</code> - после подписи в проекте появится подписанный репозиторий с пакетами и сгенерированным файлом repoview. Т.е в таком виде как репозиторий будет выглядеть при публикации в интернете.</p>
<p><img alt="Подписанный репозиторий" src="../../img/mockgui_projects26.png" /></p>
<p><code>Установить адрес подписанного репозитоия</code> - установить адресс подписанного репозитория, т.е установить url, данная информация необходима для корректного формирования шапки:</p>
<pre><code class="language-shell">echo -e &quot;[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&quot; &gt; /etc/yum.repos.d/project_test1.repo
</code></pre>
<p>т.е устанавливается корректный url будущего удаленного репозитория.</p>
<p><code>Удалить проект</code> - удаляется весь проект, подписанные и неподписанные репозитории, сборки.</p>
<p>Но если проект залинкован в другом проекте, то удаление будет невозможным, пока не будет снят линк.</p>
<p><img alt="Пример удаления" src="../../img/mockgui_projects27.png" /></p>
<p>Для удаления - нужно перевести в активное состояние флажок и нажать кнопку "Удалить".
Без установки флажка - удаление не произойде. Такая защита от случайного удаления.</p>
<h3 id="_5">Список действий над репозиторием проекта</h3>
<p>Напротив каждого git репозитория, добавленного в проект есть список действий:</p>
<p><img alt="Расширенный список действий" src="../../img/mockgui_list2.png" /></p>
<p>Слева направо:
* удалить git репозиторий из проекта (при этом rpm пакеты в проекте, сборки - остаются)
* обновить исходники проекта - если такой значек появился, значит в git репозиторий в ветку master были внесены изменения и в текущем проекте неактуальные исходники. Когда исходники актаульны список действий выглядит так:</p>
<p><img alt="" src="../../img/mockgui_list1.png" /></p>
<ul>
<li>запустить сборку - запускается сборка проекта в фоне. Отображается страница, которая обновляется каждые 5 секунд (обновление можно остановить или запустить опять)</li>
</ul>
<p><img alt="Сборка проекта" src="../../img/mockgui_projects10.png" /></p>
<p>Во время сборки отображается лог файл процесса сборки. Результат сборки можно посмотреть на странице <a href="../builds/">сборки</a></p>
<ul>
<li>указать файл spec для проекта и git репозитория - если в гит репозитории несколько spec файлов, то будет подхватываться первый попавшийся файл, чтоб избежать такого поведения можно точно указать какой файл использовать</li>
</ul>
<p><img alt="Установка spec файла" src="../../img/mockgui_projects9.png" /></p>
<ul>
<li>отобразить список сборок для проекта и текущего git репозитория</li>
</ul>
<p>Если нажать на имя git репозитория в списке, то можно просмотреть его содержимое, т.е список файлов:</p>
<p><img alt="Список файлов репозитория" src="../../img/mockgui_projects14.png" /></p>
</div>
</div><footer>
<div class="rst-footer-buttons" role="navigation" aria-label="Навигация по странице">
<a href="../env/" class="btn btn-neutral float-left" title="Окружения сборки mock"><span class="icon icon-circle-arrow-left"></span> Назад</a>
<a href="../builds/" class="btn btn-neutral float-right" title="Список сборок">Вперед <span class="icon icon-circle-arrow-right"></span></a>
</div>
<hr/>
<div role="contentinfo">
<!-- Copyright etc -->
<p>Copyright &copy; 2025 - ... BayRepo</p>
</div>
Собрано в <a href="https://www.mkdocs.org/">MkDocs</a> с использованием <a href="https://github.com/readthedocs/sphinx_rtd_theme">темы</a> от <a href="https://readthedocs.org">Read the Docs</a>.
</footer>
</div>
</div>
</section>
</div>
<div class="rst-versions" role="note" aria-label="Версии">
<span class="rst-current-version" data-toggle="rst-current-version">
<span>
<a href="https://dev.brepo.ru/brepo/mock-gui" class="fa fa-code-fork" style="color: #fcfcfc"> Dev</a>
</span>
<span><a href="../env/" style="color: #fcfcfc">&laquo; Назад</a></span>
<span><a href="../builds/" style="color: #fcfcfc">Вперед &raquo;</a></span>
</span>
</div>
<script src="../../js/jquery-3.6.0.min.js"></script>
<script>var base_url = "../..";</script>
<script src="../../js/theme_extra.js"></script>
<script src="../../js/theme.js"></script>
<script src="../../search/main.js"></script>
<script>
jQuery(function () {
SphinxRtdTheme.Navigation.enable(true);
});
</script>
</body>
</html>

@ -0,0 +1,225 @@
<!DOCTYPE html>
<html class="writer-html5" lang="ru" >
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><link rel="canonical" href="https://docs.brepo.ru/mockgui/userguide/recips/" />
<link rel="shortcut icon" href="../../img/favicon.ico" />
<title>Сценарии подготовки исходных кодов git репозиториев - MockGUI</title>
<link rel="stylesheet" href="../../css/theme.css" />
<link rel="stylesheet" href="../../css/theme_extra.css" />
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.8.0/styles/github.min.css" />
<script>
// Current page data
var mkdocs_page_name = "\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";
var mkdocs_page_input_path = "userguide/recips.md";
var mkdocs_page_url = "/mockgui/userguide/recips/";
</script>
<!--[if lt IE 9]>
<script src="../../js/html5shiv.min.js"></script>
<![endif]-->
<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.8.0/highlight.min.js"></script>
<script>hljs.highlightAll();</script>
</head>
<body class="wy-body-for-nav" role="document">
<div class="wy-grid-for-nav">
<nav data-toggle="wy-nav-shift" class="wy-nav-side stickynav">
<div class="wy-side-scroll">
<div class="wy-side-nav-search">
<a href="../.." class="icon icon-home"> MockGUI
</a><div role="search">
<form id ="rtd-search-form" class="wy-form" action="../../search.html" method="get">
<input type="text" name="q" placeholder="Поиск в документации" aria-label="Поиск в документации" title="Введите поисковый запрос" />
</form>
</div>
</div>
<div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Навигационное меню">
<ul>
<li class="toctree-l1"><a class="reference internal" href="../..">MockGUI система сборки RPM пакетов</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../../install/">Способы установки</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../../update/">Обновление</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../../run/">Запуск приложения</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../../docs/">Документация</a>
</li>
</ul>
<p class="caption"><span class="caption-text">Инструкция пользователя</span></p>
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="../../common/">Общий принцип работы с MockGUI</a>
</li>
<li class="toctree-l1"><a class="reference internal" href="../configuration/">Конфигурация</a>
</li>
<li class="toctree-l1"><a class="reference internal" href="../gits/">Управление git репозиториями</a>
</li>
<li class="toctree-l1 current"><a class="reference internal current" href="#">Сценарии подготовки исходных кодов git репозиториев</a>
<ul class="current">
<li class="toctree-l2"><a class="reference internal" href="#_1">Получить список рецептов</a>
</li>
<li class="toctree-l2"><a class="reference internal" href="#_2">Добавить новый рецепт</a>
</li>
<li class="toctree-l2"><a class="reference internal" href="#_3">Редактирование существующего рецепта</a>
</li>
<li class="toctree-l2"><a class="reference internal" href="#_4">Удаление рецепта</a>
</li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../env/">Окружения сборки mock</a>
</li>
<li class="toctree-l1"><a class="reference internal" href="../projects/">Управление проектами</a>
</li>
<li class="toctree-l1"><a class="reference internal" href="../builds/">Список сборок</a>
</li>
<li class="toctree-l1"><a class="reference internal" href="../rpms/">Список пакетов</a>
</li>
</ul>
</div>
</div>
</nav>
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
<nav class="wy-nav-top" role="navigation" aria-label="Мобильная версия навигации">
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
<a href="../..">MockGUI</a>
</nav>
<div class="wy-nav-content">
<div class="rst-content"><div role="navigation" aria-label="breadcrumbs navigation">
<ul class="wy-breadcrumbs">
<li><a href="../.." class="icon icon-home" aria-label="Документация"></a></li>
<li class="breadcrumb-item">Инструкция пользователя</li>
<li class="breadcrumb-item active">Сценарии подготовки исходных кодов git репозиториев</li>
<li class="wy-breadcrumbs-aside">
</li>
</ul>
<hr/>
</div>
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div class="section" itemprop="articleBody">
<h1 id="git">Сценарии подготовки исходных кодов git репозиториев</h1>
<p>Сценарии подготовки исходных кодов git репозиториев в дальнейшем буду называть <code>рецептами</code>.</p>
<p>Для сборки необходимо, чтоб все файлы git пректа были прописаны в spec файле, а зачастую в spec файле файлы исходных кодов прописаны как один архив.</p>
<p>По умолчанию MockGUI предполпгает, что в spec прописаны все исходные файлы, которые используются при сборке и ничего делать не нужно.</p>
<p>Но если необходимо проделать какие-то манипуляции для подготовки исходных файлов, то сборка завершится с ошибкой.</p>
<p>Чтоб не было ошибки для этого сделаны рецепты.</p>
<p>Рецепт - это по сути bash скрипт, который:</p>
<ul>
<li>получает на вход spec файл</li>
<li>парсит spec файл при необходимости</li>
<li>делает необходимые манипуляции с исходными кодами</li>
<li>производит подготовку к сборке</li>
</ul>
<p>Нужно учитывать при написании сценариев, что они выполняются в реальной системе, поэтому их функционал ограничен. Например это может быть:
* использование sed, grep для создания файлов конфигруаций
* использование доступных архиватор в системе для подготовки архива
* и т.д.</p>
<p>Пример такого скрипта уже встроен в MockGUI - make_tar_from_git. Он из исходных кодов git проекта создает архив для сборки:</p>
<pre><code class="language-bash">#!/bin/bash
need_spec=&quot;n&quot;
SPEC=&quot;$1&quot;
FIND_SPEC=&quot;$SPEC&quot;
if [ -z &quot;$SPEC&quot; ];then
need_spec=&quot;y&quot;
fi
if [ -n &quot;$SPEC&quot; -a ! -e &quot;$SPEC&quot; ];then
need_spec=&quot;y&quot;
fi
if [ &quot;$need_spec&quot; == &quot;y&quot; ];then
FIND_SPEC=$(/usr/bin/find . -iname &quot;*.spec&quot; -type f -print -quit)
fi
if [ -n &quot;$FIND_SPEC&quot; ];then
NAME=$(rpm -q --queryformat=&quot;%{NAME}&quot; --specfile &quot;$FIND_SPEC&quot; | xargs)
VERSION=$(rpm -q --queryformat=&quot;%{VERSION}&quot; --specfile &quot;$FIND_SPEC&quot; | xargs)
PKG_NAME=&quot;${NAME}-${VERSION}&quot;
tar -h --exclude=&quot;${PKG_NAME}.tar.gz&quot; --exclude=&quot;.git&quot; --exclude=&quot;$FIND_SPEC&quot; -cvf ${PKG_NAME}.tar.gz --transform &quot;s,^,${PKG_NAME}/,&quot; *
exit 0
else
echo &quot;Не найден spec файл&quot;
exit 255
fi
</code></pre>
<p>Его код прост, скрипт выполняется в корне git репозитория, он получает spec файл, извлекает из него версию и имя пакета и создает тут же архив.
Данныей рецепты могут изменять исходники, это не вредит репозиторию, т.к все манипуляции делаются с копией данных в временном каталоге.</p>
<h2 id="_1">Получить список рецептов</h2>
<p><img alt="Список рецетов" src="../../img/mockgui_recips1.png" /></p>
<h2 id="_2">Добавить новый рецепт</h2>
<p><img alt="Добавить рецепт" src="../../img/mockgui_recip2.png" /></p>
<p><code>Имя рецепта</code> - имя файла, который будет создаваться при подготовке сборки во временных исходниках проекта. Имя желательно выбирать такое, чтоб оно не переписало файл исходников</p>
<p><code>Описанье</code> - краткое описание подготовительного скрипта</p>
<p><code>Код</code> - bash скрипт</p>
<p><code>git проекты использующие рецепт</code> - список git-репозиториев, для которых данный рецепт будет применяться. Может иметь несколько значений</p>
<h2 id="_3">Редактирование существующего рецепта</h2>
<p><img alt="Редактирование рецепта" src="../../img/mockgui_recip3.png" /></p>
<h2 id="_4">Удаление рецепта</h2>
<p><img alt="Удаление рецепта" src="../../img/mockgui_recip11.png" /></p>
<p>Для удаления, нужно нажать кнопку "Удалить" и в появившемся окне вписать имя рецепта для подтверждения удаления.</p>
</div>
</div><footer>
<div class="rst-footer-buttons" role="navigation" aria-label="Навигация по странице">
<a href="../gits/" class="btn btn-neutral float-left" title="Управление git репозиториями"><span class="icon icon-circle-arrow-left"></span> Назад</a>
<a href="../env/" class="btn btn-neutral float-right" title="Окружения сборки mock">Вперед <span class="icon icon-circle-arrow-right"></span></a>
</div>
<hr/>
<div role="contentinfo">
<!-- Copyright etc -->
<p>Copyright &copy; 2025 - ... BayRepo</p>
</div>
Собрано в <a href="https://www.mkdocs.org/">MkDocs</a> с использованием <a href="https://github.com/readthedocs/sphinx_rtd_theme">темы</a> от <a href="https://readthedocs.org">Read the Docs</a>.
</footer>
</div>
</div>
</section>
</div>
<div class="rst-versions" role="note" aria-label="Версии">
<span class="rst-current-version" data-toggle="rst-current-version">
<span>
<a href="https://dev.brepo.ru/brepo/mock-gui" class="fa fa-code-fork" style="color: #fcfcfc"> Dev</a>
</span>
<span><a href="../gits/" style="color: #fcfcfc">&laquo; Назад</a></span>
<span><a href="../env/" style="color: #fcfcfc">Вперед &raquo;</a></span>
</span>
</div>
<script src="../../js/jquery-3.6.0.min.js"></script>
<script>var base_url = "../..";</script>
<script src="../../js/theme_extra.js"></script>
<script src="../../js/theme.js"></script>
<script src="../../search/main.js"></script>
<script>
jQuery(function () {
SphinxRtdTheme.Navigation.enable(true);
});
</script>
</body>
</html>

@ -0,0 +1,163 @@
<!DOCTYPE html>
<html class="writer-html5" lang="ru" >
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><link rel="canonical" href="https://docs.brepo.ru/mockgui/userguide/rpms/" />
<link rel="shortcut icon" href="../../img/favicon.ico" />
<title>Список пакетов - MockGUI</title>
<link rel="stylesheet" href="../../css/theme.css" />
<link rel="stylesheet" href="../../css/theme_extra.css" />
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.8.0/styles/github.min.css" />
<script>
// Current page data
var mkdocs_page_name = "\u0421\u043f\u0438\u0441\u043e\u043a \u043f\u0430\u043a\u0435\u0442\u043e\u0432";
var mkdocs_page_input_path = "userguide/rpms.md";
var mkdocs_page_url = "/mockgui/userguide/rpms/";
</script>
<!--[if lt IE 9]>
<script src="../../js/html5shiv.min.js"></script>
<![endif]-->
<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.8.0/highlight.min.js"></script>
<script>hljs.highlightAll();</script>
</head>
<body class="wy-body-for-nav" role="document">
<div class="wy-grid-for-nav">
<nav data-toggle="wy-nav-shift" class="wy-nav-side stickynav">
<div class="wy-side-scroll">
<div class="wy-side-nav-search">
<a href="../.." class="icon icon-home"> MockGUI
</a><div role="search">
<form id ="rtd-search-form" class="wy-form" action="../../search.html" method="get">
<input type="text" name="q" placeholder="Поиск в документации" aria-label="Поиск в документации" title="Введите поисковый запрос" />
</form>
</div>
</div>
<div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Навигационное меню">
<ul>
<li class="toctree-l1"><a class="reference internal" href="../..">MockGUI система сборки RPM пакетов</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../../install/">Способы установки</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../../update/">Обновление</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../../run/">Запуск приложения</a>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../../docs/">Документация</a>
</li>
</ul>
<p class="caption"><span class="caption-text">Инструкция пользователя</span></p>
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="../../common/">Общий принцип работы с MockGUI</a>
</li>
<li class="toctree-l1"><a class="reference internal" href="../configuration/">Конфигурация</a>
</li>
<li class="toctree-l1"><a class="reference internal" href="../gits/">Управление git репозиториями</a>
</li>
<li class="toctree-l1"><a class="reference internal" href="../recips/">Сценарии подготовки исходных кодов git репозиториев</a>
</li>
<li class="toctree-l1"><a class="reference internal" href="../env/">Окружения сборки mock</a>
</li>
<li class="toctree-l1"><a class="reference internal" href="../projects/">Управление проектами</a>
</li>
<li class="toctree-l1"><a class="reference internal" href="../builds/">Список сборок</a>
</li>
<li class="toctree-l1 current"><a class="reference internal current" href="#">Список пакетов</a>
<ul class="current">
</ul>
</li>
</ul>
</div>
</div>
</nav>
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
<nav class="wy-nav-top" role="navigation" aria-label="Мобильная версия навигации">
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
<a href="../..">MockGUI</a>
</nav>
<div class="wy-nav-content">
<div class="rst-content"><div role="navigation" aria-label="breadcrumbs navigation">
<ul class="wy-breadcrumbs">
<li><a href="../.." class="icon icon-home" aria-label="Документация"></a></li>
<li class="breadcrumb-item">Инструкция пользователя</li>
<li class="breadcrumb-item active">Список пакетов</li>
<li class="wy-breadcrumbs-aside">
</li>
</ul>
<hr/>
</div>
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div class="section" itemprop="articleBody">
<h1 id="_1">Список пакетов</h1>
<p>В данном разделе отображается список git репозиториев и число пакетов собранных из данного репозитория</p>
<p><img alt="Список пакетов" src="../../img/mockgui_rpm1.png" /></p>
<p>Для получения более детальной информации нужно нажать на стрелку, и отобразится список всех пакетов, собранных из данного репозитория.</p>
<p><img alt="Список пакетов2" src="../../img/mockgui_rpm2.png" /></p>
<p>Здесь же можно получить информацию когда и для какого проекта собирался пакет, а так же детальную информацию об rpm пакете.</p>
<p><img alt="Список пакетов3" src="../../img/mockgui_rpm3.png" /></p>
</div>
</div><footer>
<div class="rst-footer-buttons" role="navigation" aria-label="Навигация по странице">
<a href="../builds/" class="btn btn-neutral float-left" title="Список сборок"><span class="icon icon-circle-arrow-left"></span> Назад</a>
</div>
<hr/>
<div role="contentinfo">
<!-- Copyright etc -->
<p>Copyright &copy; 2025 - ... BayRepo</p>
</div>
Собрано в <a href="https://www.mkdocs.org/">MkDocs</a> с использованием <a href="https://github.com/readthedocs/sphinx_rtd_theme">темы</a> от <a href="https://readthedocs.org">Read the Docs</a>.
</footer>
</div>
</div>
</section>
</div>
<div class="rst-versions" role="note" aria-label="Версии">
<span class="rst-current-version" data-toggle="rst-current-version">
<span>
<a href="https://dev.brepo.ru/brepo/mock-gui" class="fa fa-code-fork" style="color: #fcfcfc"> Dev</a>
</span>
<span><a href="../builds/" style="color: #fcfcfc">&laquo; Назад</a></span>
</span>
</div>
<script src="../../js/jquery-3.6.0.min.js"></script>
<script>var base_url = "../..";</script>
<script src="../../js/theme_extra.js"></script>
<script src="../../js/theme.js"></script>
<script src="../../search/main.js"></script>
<script>
jQuery(function () {
SphinxRtdTheme.Navigation.enable(true);
});
</script>
</body>
</html>
Loading…
Cancel
Save