<div dir="ltr"><div><div>Всем спасибо за помощь, проблема, по идее, решена.<br><br></div>Похоже, начиная с версии 8 у ghc в ключе пакета убран хэш-код, остались только имя и версия пакета. В результате сломалась логика генерации зависимостей в скрипте haskell.req из пакета rpm-build-haskell. Вообще говоря, хэш был не нужен уже в версии ghc7.6.1, соответствующее поле в haskell.req вычислялось, но никак не использовалось. А теперь оно исчезло и в самом ghc, и haskell.req вместо версии получал имя библиотеки. Естественно, такая &quot;версия&quot; не стыковалась с тем, что пакет предоставлял --- там вычисление версии идет через сам rpm.<br><br></div>В общем, получается, что нужно определять отдельно rpm-build-haskell8, куда вносить соответствующие изменения, а затем при сборке ghc версии 8 давать зависимость уже на rpm-build-haskell8. В целом это не проверял, но думаю, что должно заработать.<br></div><div class="gmail_extra"><br><div class="gmail_quote">2018-04-08 20:29 GMT+03:00 Ivan Zakharyaschev <span dir="ltr">&lt;<a href="mailto:imz@altlinux.org" target="_blank">imz@altlinux.org</a>&gt;</span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class=""><br>
On Sun, 8 Apr 2018, Eugine Kosenko wrote:<br>
<br>
</span><div><div class="h5">&gt; После сборки пакета ghc8.0.1 при попытке его установить его в систему<br>
&gt; возникает куча неудовлетворенных зависимостей:<br>
&gt;<br>
&gt; # rpm -i ghc8.0.1-8.0.1-alt1.x86_64.rpm<br>
&gt; ошибка: Неудовлетворенные зависимости:<br>
&gt;         ghc8.0.1(array) = array нужен для ghc8.0.1-8.0.1-alt1.x86_64<br>
&gt;         ghc8.0.1(base) = base нужен для ghc8.0.1-8.0.1-alt1.x86_64<br>
&gt;         ghc8.0.1(binary) = binary нужен для ghc8.0.1-8.0.1-alt1.x86_64<br>
&gt;         ghc8.0.1(bytestring) = bytestring нужен для<br>
&gt; ghc8.0.1-8.0.1-alt1.x86_64<br>
&gt;         ghc8.0.1(containers) = containers нужен для<br>
&gt; ghc8.0.1-8.0.1-alt1.x86_64<br>
&gt;         ghc8.0.1(deepseq) = deepseq нужен для ghc8.0.1-8.0.1-alt1.x86_64<br>
&gt;         ghc8.0.1(directory) = directory нужен для ghc8.0.1-8.0.1-alt1.x86_64<br>
&gt;         ghc8.0.1(filepath) = filepath нужен для ghc8.0.1-8.0.1-alt1.x86_64<br>
&gt;         ghc8.0.1(ghc) = boot нужен для ghc8.0.1-8.0.1-alt1.x86_64<br>
&gt;         ghc8.0.1(ghc) = prim нужен для ghc8.0.1-8.0.1-alt1.x86_64<br>
&gt;         ghc8.0.1(ghc-boot) = th нужен для ghc8.0.1-8.0.1-alt1.x86_64<br>
&gt;         ghc8.0.1(ghci) = ghci нужен для ghc8.0.1-8.0.1-alt1.x86_64<br>
&gt;         ghc8.0.1(hoopl) = hoopl нужен для ghc8.0.1-8.0.1-alt1.x86_64<br>
&gt;         ghc8.0.1(hpc) = hpc нужен для ghc8.0.1-8.0.1-alt1.x86_64<br>
&gt;         ghc8.0.1(integer) = gmp нужен для ghc8.0.1-8.0.1-alt1.x86_64<br>
&gt;         ghc8.0.1(pretty) = pretty нужен для ghc8.0.1-8.0.1-alt1.x86_64<br>
&gt;         ghc8.0.1(process) = process нужен для ghc8.0.1-8.0.1-alt1.x86_64<br>
&gt;         ghc8.0.1(template) = haskell нужен для ghc8.0.1-8.0.1-alt1.x86_64<br>
&gt;         ghc8.0.1(terminfo) = terminfo нужен для ghc8.0.1-8.0.1-alt1.x86_64<br>
&gt;         ghc8.0.1(time) = time нужен для ghc8.0.1-8.0.1-alt1.x86_64<br>
&gt;         ghc8.0.1(transformers) = transformers нужен для<br>
&gt; ghc8.0.1-8.0.1-alt1.x86_64<br>
&gt;         ghc8.0.1(unix) = unix нужен для ghc8.0.1-8.0.1-alt1.x86_64<br>
&gt;<br>
&gt; Суть в том, что все эти библиотеки входят в ядро ghc и предоставляются<br>
&gt; самим этим пакетом. При форсировании установки получается вполне<br>
&gt; работоспособная версия, на которой удалось собрать ghc8.4.1 (именно этого я<br>
&gt; сейчас добиваюсь). При сборке модифицированного ghc7.6.1 и даже ghc7.10.1<br>
&gt; такой проблемы не возникало, хотя для спека во всех этих случаях я беру<br>
&gt; один и тот же спек ghc7.6.1.spec из текущего Сизифа. На всякий случай<br>
&gt; присоединяю к этому письму ghc8.0.1.spec.<br>
&gt;<br>
&gt; Если коротко, то как правильно и проще всего подавить такие ложные<br>
&gt; зависимости?<br>
<br>
</div></div>Мне кажется предпочтительным не подавлять зависимости, а заставить<br>
сгенерировать соответствующие Provides . Это будет правдой и полезно для<br>
удовлетворения таких зависимостей в других пакетах, если они возникнут.<br>
<br>
(В итоге в таком случае в этом пакете они просто будут соптимизированы<br>
самим rpm-build, чтобы не было у него большого количества ничего не<br>
значащих Requires.)<br>
<span class="HOEnZb"><font color="#888888"><br>
--<br>
Best regards,<br>
Ivan</font></span><br>______________________________<wbr>_________________<br>
Devel mailing list<br>
<a href="mailto:Devel@lists.altlinux.org">Devel@lists.altlinux.org</a><br>
<a href="https://lists.altlinux.org/mailman/listinfo/devel" rel="noreferrer" target="_blank">https://lists.altlinux.org/<wbr>mailman/listinfo/devel</a><br></blockquote></div><br></div>