http://wiki.rosalab.com/ru/index.php?title=%D0%A1%D0%B1%D0%BE%D1%80%D0%BA%D0%B0_%D0%BF%D0%B0%D0%BA%D0%B5%D1%82%D0%BE%D0%B2_%D1%81_%D0%BC%D0%BE%D0%B4%D1%83%D0%BB%D1%8F%D0%BC%D0%B8_Perl&feed=atom&action=historyСборка пакетов с модулями Perl - История изменений2024-03-28T14:57:31ZИстория изменений этой страницы в викиMediaWiki 1.26.4http://wiki.rosalab.com/ru/index.php?title=%D0%A1%D0%B1%D0%BE%D1%80%D0%BA%D0%B0_%D0%BF%D0%B0%D0%BA%D0%B5%D1%82%D0%BE%D0%B2_%D1%81_%D0%BC%D0%BE%D0%B4%D1%83%D0%BB%D1%8F%D0%BC%D0%B8_Perl&diff=18280&oldid=prevD uragan: Now we use 2019.1 branch2019-07-03T10:03:47Z<p>Now we use 2019.1 branch</p>
<table class='diff diff-contentalign-left'>
<col class='diff-marker' />
<col class='diff-content' />
<col class='diff-marker' />
<col class='diff-content' />
<tr style='vertical-align: top;' lang='ru'>
<td colspan='2' style="background-color: white; color:black; text-align: center;">← Предыдущая</td>
<td colspan='2' style="background-color: white; color:black; text-align: center;">Версия 10:03, 3 июля 2019</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l24" >Строка 24:</td>
<td colspan="2" class="diff-lineno">Строка 24:</td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>Если вызов {{Prog|cpan2dist}} завершился с ошибкой, то необходимо с этой ошибкой разбираться. Типичная причина ошибки - необходимость для сборки других модулей, которых еще нет в репозиториях РОСЫ. В таком случае вы получите сообщение, что urpmi не смог установить зависимость типа '''perl(C::D)'''. В таком случае надо сначала создать пакет с модулем '''C::D''', установить его в систему и попробовать снова запустить {{Prog|cpan2dist}}.</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>Если вызов {{Prog|cpan2dist}} завершился с ошибкой, то необходимо с этой ошибкой разбираться. Типичная причина ошибки - необходимость для сборки других модулей, которых еще нет в репозиториях РОСЫ. В таком случае вы получите сообщение, что urpmi не смог установить зависимость типа '''perl(C::D)'''. В таком случае надо сначала создать пакет с модулем '''C::D''', установить его в систему и попробовать снова запустить {{Prog|cpan2dist}}.</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>Для надежности, следует попробовать собрать пакет уже на ABF - это позволяет выявить ошибки, которые можно пропустить при локальной сборке. Для этого необходимо перейти на страничку вашего проекта, нажать "New Build" и в появившемся окне слева отметить галочками репозитории main и contrib для платформы <del class="diffchange diffchange-inline">rosa2016</del>.1 (последней на момент написания этой странички, если есть платформа поновее <del class="diffchange diffchange-inline">типа rosa2019.1 </del>- то надо выбирать ее).</div></td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>Для надежности, следует попробовать собрать пакет уже на ABF - это позволяет выявить ошибки, которые можно пропустить при локальной сборке. Для этого необходимо перейти на страничку вашего проекта, нажать "New Build" и в появившемся окне слева отметить галочками репозитории main и contrib для платформы <ins class="diffchange diffchange-inline">rosa2019</ins>.1 (последней на момент написания этой странички, если есть платформа поновее - то надо выбирать ее).</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>Более подробная информация о правилах оформления модулей Perl приведена на странице [[Perl policy]].</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>Более подробная информация о правилах оформления модулей Perl приведена на странице [[Perl policy]].</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>[[Категория:Практика студентов]]</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>[[Категория:Практика студентов]]</div></td></tr>
</table>D uraganhttp://wiki.rosalab.com/ru/index.php?title=%D0%A1%D0%B1%D0%BE%D1%80%D0%BA%D0%B0_%D0%BF%D0%B0%D0%BA%D0%B5%D1%82%D0%BE%D0%B2_%D1%81_%D0%BC%D0%BE%D0%B4%D1%83%D0%BB%D1%8F%D0%BC%D0%B8_Perl&diff=17550&oldid=prevD uragan в 05:33, 22 сентября 20182018-09-22T05:33:21Z<p></p>
<table class='diff diff-contentalign-left'>
<col class='diff-marker' />
<col class='diff-content' />
<col class='diff-marker' />
<col class='diff-content' />
<tr style='vertical-align: top;' lang='ru'>
<td colspan='2' style="background-color: white; color:black; text-align: center;">← Предыдущая</td>
<td colspan='2' style="background-color: white; color:black; text-align: center;">Версия 05:33, 22 сентября 2018</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l23" >Строка 23:</td>
<td colspan="2" class="diff-lineno">Строка 23:</td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>Если вызов {{Prog|cpan2dist}} завершился с ошибкой, то необходимо с этой ошибкой разбираться. Типичная причина ошибки - необходимость для сборки других модулей, которых еще нет в репозиториях РОСЫ. В таком случае вы получите сообщение, что urpmi не смог установить зависимость типа '''perl(C::D)'''. В таком случае надо сначала создать пакет с модулем '''C::D''', установить его в систему и попробовать снова запустить {{Prog|cpan2dist}}.</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>Если вызов {{Prog|cpan2dist}} завершился с ошибкой, то необходимо с этой ошибкой разбираться. Типичная причина ошибки - необходимость для сборки других модулей, которых еще нет в репозиториях РОСЫ. В таком случае вы получите сообщение, что urpmi не смог установить зависимость типа '''perl(C::D)'''. В таком случае надо сначала создать пакет с модулем '''C::D''', установить его в систему и попробовать снова запустить {{Prog|cpan2dist}}.</div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;"></ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;">Для надежности, следует попробовать собрать пакет уже на ABF - это позволяет выявить ошибки, которые можно пропустить при локальной сборке. Для этого необходимо перейти на страничку вашего проекта, нажать "New Build" и в появившемся окне слева отметить галочками репозитории main и contrib для платформы rosa2016.1 (последней на момент написания этой странички, если есть платформа поновее типа rosa2019.1 - то надо выбирать ее).</ins></div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>Более подробная информация о правилах оформления модулей Perl приведена на странице [[Perl policy]].</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>Более подробная информация о правилах оформления модулей Perl приведена на странице [[Perl policy]].</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>[[Категория:Практика студентов]]</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>[[Категория:Практика студентов]]</div></td></tr>
</table>D uraganhttp://wiki.rosalab.com/ru/index.php?title=%D0%A1%D0%B1%D0%BE%D1%80%D0%BA%D0%B0_%D0%BF%D0%B0%D0%BA%D0%B5%D1%82%D0%BE%D0%B2_%D1%81_%D0%BC%D0%BE%D0%B4%D1%83%D0%BB%D1%8F%D0%BC%D0%B8_Perl&diff=15588&oldid=prevD uragan в 21:59, 20 ноября 20162016-11-20T21:59:36Z<p></p>
<table class='diff diff-contentalign-left'>
<col class='diff-marker' />
<col class='diff-content' />
<col class='diff-marker' />
<col class='diff-content' />
<tr style='vertical-align: top;' lang='ru'>
<td colspan='2' style="background-color: white; color:black; text-align: center;">← Предыдущая</td>
<td colspan='2' style="background-color: white; color:black; text-align: center;">Версия 21:59, 20 ноября 2016</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l1" >Строка 1:</td>
<td colspan="2" class="diff-lineno">Строка 1:</td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>В мире существует огромное множество модулей для языка Perl, большинство которых находится на сайте [http://www.cpan.org/ CPAN]. Чтобы упростить установку этих модуле в РОСЕ, они оформляются в виде пакетов rpm - в таком случае их можно поставить через стандартный менеджер пакетов.</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>В мире существует огромное множество модулей для языка Perl, большинство которых находится на сайте [http://www.cpan.org/ CPAN]. Чтобы упростить установку этих модуле в РОСЕ, они оформляются в виде пакетов rpm - в таком случае их можно поставить через стандартный менеджер пакетов.</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>Для автоматического создания пакетов с модулями Perl используется утилита cpan2dist с бэкендом CPANPLUS-Dist-Mdv. Утилита сама находит и скачивает архив с исходным кодом, формирует spec-файл с инструкциями сборки  </div></td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>Для автоматического создания пакетов с модулями Perl используется утилита cpan2dist с бэкендом CPANPLUS-Dist-Mdv. Утилита сама находит и скачивает архив с исходным кодом, формирует spec-файл с инструкциями сборки и пытается собрать пакет.</div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>и пытается собрать пакет.</div></td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div></div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>Перед запуском утилиты необходимо создать все требуемые ей директории:</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>Перед запуском утилиты необходимо создать все требуемые ей директории:</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>$ mkdir -p ~/rpmbuild/RPMS ~/rpmbuild/SOURCES ~/rpmbuild/SPECS ~/rpmbuild/SRPMS ~/rpmbuild/tmp</div></td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins class="diffchange diffchange-inline"> </ins>$ mkdir -p ~/rpmbuild/RPMS ~/rpmbuild/SOURCES ~/rpmbuild/SPECS ~/rpmbuild/SRPMS ~/rpmbuild/tmp</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>Пакет для модуля Foo::Bar создается следующей командой:</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>Пакет для модуля Foo::Bar создается следующей командой:</div></td></tr>
<tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l23" >Строка 23:</td>
<td colspan="2" class="diff-lineno">Строка 22:</td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>Если все ok, то на основе пакета src.rpm ({{File|~/rpmbuild/SRPMS/perl-Foo-Bar-<version>.src.rpm}}) необходимо [http://wiki.rosalab.ru/ru/index.php/ABF:_%D1%83%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5_%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82%D0%B0%D0%BC%D0%B8#.D0.A1.D0.BE.D0.B7.D0.B4.D0.B0.D0.BD.D0.B8.D0.B5_.D0.BD.D0.BE.D0.B2.D0.BE.D0.B3.D0.BE_.D0.BF.D1.80.D0.BE.D0.B5.D0.BA.D1.82.D0.B0_.D1.81_.D0.BD.D1.83.D0.BB.D1.8F сделать проект на ABF] в своем репозитории.</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>Если все ok, то на основе пакета src.rpm ({{File|~/rpmbuild/SRPMS/perl-Foo-Bar-<version>.src.rpm}}) необходимо [http://wiki.rosalab.ru/ru/index.php/ABF:_%D1%83%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5_%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82%D0%B0%D0%BC%D0%B8#.D0.A1.D0.BE.D0.B7.D0.B4.D0.B0.D0.BD.D0.B8.D0.B5_.D0.BD.D0.BE.D0.B2.D0.BE.D0.B3.D0.BE_.D0.BF.D1.80.D0.BE.D0.B5.D0.BA.D1.82.D0.B0_.D1.81_.D0.BD.D1.83.D0.BB.D1.8F сделать проект на ABF] в своем репозитории.</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>Если вызов {{Prog|cpan2dist}} завершился с ошибкой, то необходимо с этой ошибкой разбираться. Типичная причина ошибки - необходимость для сборки других модулей, которых еще нет в репозиториях <del class="diffchange diffchange-inline">РОСы</del>. В таком случае вы получите сообщение, что urpmi не смог установить зависимость типа '''perl(C::D)'''. В таком случае надо сначала создать пакет с модулем '''C::D''', установить его в систему и попробовать снова запустить {{Prog|cpan2dist}}.</div></td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>Если вызов {{Prog|cpan2dist}} завершился с ошибкой, то необходимо с этой ошибкой разбираться. Типичная причина ошибки - необходимость для сборки других модулей, которых еще нет в репозиториях <ins class="diffchange diffchange-inline">РОСЫ</ins>. В таком случае вы получите сообщение, что urpmi не смог установить зависимость типа '''perl(C::D)'''. В таком случае надо сначала создать пакет с модулем '''C::D''', установить его в систему и попробовать снова запустить {{Prog|cpan2dist}}<ins class="diffchange diffchange-inline">.</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div> </div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins class="diffchange diffchange-inline">Более подробная информация о правилах оформления модулей Perl приведена на странице [[Perl policy]]</ins>.</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>[[Категория:Практика студентов]]</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>[[Категория:Практика студентов]]</div></td></tr>
</table>D uraganhttp://wiki.rosalab.com/ru/index.php?title=%D0%A1%D0%B1%D0%BE%D1%80%D0%BA%D0%B0_%D0%BF%D0%B0%D0%BA%D0%B5%D1%82%D0%BE%D0%B2_%D1%81_%D0%BC%D0%BE%D0%B4%D1%83%D0%BB%D1%8F%D0%BC%D0%B8_Perl&diff=15480&oldid=prevD uragan: Новая страница: «В мире существует огромное множество модулей для языка Perl, большинство которых находитс…»2016-11-02T14:20:17Z<p>Новая страница: «В мире существует огромное множество модулей для языка Perl, большинство которых находитс…»</p>
<p><b>Новая страница</b></p><div>В мире существует огромное множество модулей для языка Perl, большинство которых находится на сайте [http://www.cpan.org/ CPAN]. Чтобы упростить установку этих модуле в РОСЕ, они оформляются в виде пакетов rpm - в таком случае их можно поставить через стандартный менеджер пакетов.<br />
<br />
Для автоматического создания пакетов с модулями Perl используется утилита cpan2dist с бэкендом CPANPLUS-Dist-Mdv. Утилита сама находит и скачивает архив с исходным кодом, формирует spec-файл с инструкциями сборки <br />
и пытается собрать пакет.<br />
<br />
Перед запуском утилиты необходимо создать все требуемые ей директории:<br />
<br />
$ mkdir -p ~/rpmbuild/RPMS ~/rpmbuild/SOURCES ~/rpmbuild/SPECS ~/rpmbuild/SRPMS ~/rpmbuild/tmp<br />
<br />
Пакет для модуля Foo::Bar создается следующей командой:<br />
<br />
$ cpan2dist --format CPANPLUS::Dist::Mdv Foo::Bar<br />
<br />
Если повезет, то все соберется сразу и в результате у вас будет лежать собранный пакет, а также пакет src.rpm - {{File|~/rpmbuild/SRPMS/perl-Foo-Bar-<version>.src.rpm}}.<br />
<br />
Получившийся в результате пакет необходимо попробовать установить с помощью urpmi:<br />
<br />
$ urpmi --test ~/rpmbuild/RPMS/<pkg_arch>/perl-Foo-Bar-<version>.rpm<br />
<br />
Здесь <pkg_arch> может принимать значение i586, x86_64 или noarch – это зависит от архитектуры вашей системы и от того, помечен ли пакет как независимый от архитектуры (это определяется наличием конструкции "BuildArch: noarch" в spec-файле).<br />
Посмотрите на вывод rpmbuild – он выводит пути к собранным пакетам. Если {{Prog|urpmi}} сообщит, что не может установить зависимость типа '''perl(A::B)''', то вам нужно также озаботиться созданием пакета для модуля '''A::B'''. Для сборки нашего модуля он не нужен, но вот для его работы понадобится.<br />
<br />
Если все ok, то на основе пакета src.rpm ({{File|~/rpmbuild/SRPMS/perl-Foo-Bar-<version>.src.rpm}}) необходимо [http://wiki.rosalab.ru/ru/index.php/ABF:_%D1%83%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5_%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82%D0%B0%D0%BC%D0%B8#.D0.A1.D0.BE.D0.B7.D0.B4.D0.B0.D0.BD.D0.B8.D0.B5_.D0.BD.D0.BE.D0.B2.D0.BE.D0.B3.D0.BE_.D0.BF.D1.80.D0.BE.D0.B5.D0.BA.D1.82.D0.B0_.D1.81_.D0.BD.D1.83.D0.BB.D1.8F сделать проект на ABF] в своем репозитории.<br />
<br />
Если вызов {{Prog|cpan2dist}} завершился с ошибкой, то необходимо с этой ошибкой разбираться. Типичная причина ошибки - необходимость для сборки других модулей, которых еще нет в репозиториях РОСы. В таком случае вы получите сообщение, что urpmi не смог установить зависимость типа '''perl(C::D)'''. В таком случае надо сначала создать пакет с модулем '''C::D''', установить его в систему и попробовать снова запустить {{Prog|cpan2dist}}.<br />
<br />
[[Категория:Практика студентов]]</div>D uragan