| Summary: | libqhttpengine: shared libs policy fix | ||
|---|---|---|---|
| Product: | Sisyphus | Reporter: | viy <viy> |
| Component: | libqhttpengine | Assignee: | ulysses <ulysses> |
| Status: | CLOSED FIXED | QA Contact: | qa-sisyphus |
| Severity: | normal | ||
| Priority: | P5 | CC: | drool, ulysses |
| Version: | unstable | ||
| Hardware: | x86_64 | ||
| OS: | Linux | ||
|
Description
viy
2020-09-22 09:09:10 MSK
Таском #258519 в сизиф уезжают libqmdnsengine.git=0.2.0-alt1 и libqhttpengine.git=1.0.1-alt1. Спасибо! Сняли конфликт по пакетам с autoimports. Я теперь могу удалять qhttpengine. Единственно, пакет собран не совсем в соответствии с shared libs policy
вот этим в %files вы себе в ногу выстрелили:
%_libdir/lib*.so.*
надо
%define soversion 1
%files -n libqhttpengine%{soversion}
%_libdir/lib*.so.%{soversion}*
Потому что если при обновлении версии сменится soversion,
то в вашем случае пакет останется называться libqhttpengine1,
но внутри будет не libqhttpengine.so.1, а libqhttpengine.so.2.
Второй вариант такое предотвратит. Если soversion изменится,
то lib*.so.%{soversion}* не найдет libqhttpengine.so.1
и надо будет делать
%define soversion 2
(Ответ для viy на комментарий #3) > Единственно, пакет собран не совсем в соответствии с shared libs policy > вот этим в %files вы себе в ногу выстрелили: > %_libdir/lib*.so.* > надо > %define soversion 1 > %files -n libqhttpengine%{soversion} > %_libdir/lib*.so.%{soversion}* > > Потому что если при обновлении версии сменится soversion, > то в вашем случае пакет останется называться libqhttpengine1, > но внутри будет не libqhttpengine.so.1, а libqhttpengine.so.2. > Второй вариант такое предотвратит. Если soversion изменится, > то lib*.so.%{soversion}* не найдет libqhttpengine.so.1 > и надо будет делать > %define soversion 2 Это на одну строку больше, но я бы рекомендовал использовать не lib*.so.%{soversion}*, а отдельно: lib*.so.%{soversion} lib*.so.%{soversion}.* Иначе с вашим же примером, перескочит апстрим с soname 1 на soname 11 по любой причине, и это может пройти незамеченно. (Ответ для Aleksei Nikiforov на комментарий #4) > Иначе с вашим же примером, перескочит апстрим с soname 1 на soname 11 по > любой причине, и это может пройти незамеченно. плюсую. libqhttpengine-1.0.1-alt2 -> sisyphus: Mon Oct 19 2020 Igor Vlasenko <viy@altlinux.ru> 1.0.1-alt2 - NMU: proper shared libs policy (closes: #38976) |