При обновлении с p7 до Сизифа: file /usr/lib64/sasl2/libanonymous.so from install of libsasl2-3-2.1.26-alt4 conflicts with file from package libsasl2-2.1.26-alt0.M70P.1 file /usr/lib64/sasl2/libcrammd5.so from install of libsasl2-3-2.1.26-alt4 conflicts with file from package libsasl2-2.1.26-alt0.M70P.1 file /usr/lib64/sasl2/libdigestmd5.so from install of libsasl2-3-2.1.26-alt4 conflicts with file from package libsasl2-2.1.26-alt0.M70P.1 file /usr/lib64/sasl2/liblogin.so
Мне кажется, что это результат последнего обновления, так как я этот момент тестировал, на сколько помню. 2014-06-04 Gleb F-Malinovskiy <glebfm at altlinux.org> 2.1.26-alt4 - Drop Conflicts: libsasl2 to comply SharedLibs Policy.
SharedLibs Policy, тут, видимо, или нельзя применять, или надо плагины sasl2/*.so убрать в отдельный подпакет, но вот вопрос, будут ли эти плагины с разными libsasl совместимы...
Между альтернативными soname не должно быть конфликта, так что исправление было правильное. Придётся избавляться от файлового конфликта. (In reply to comment #2) > SharedLibs Policy, тут, видимо, или нельзя применять, Policy был нарушен, из-за этого возникли проблемы при вычислении обновления. > или надо плагины > sasl2/*.so убрать в отдельный подпакет, > но вот вопрос, будут ли эти плагины с > разными libsasl совместимы... По идее, совместимые, а на самом деле -- не ясно. Возможно, придётся для этой библиотеки переместить плагины в другое место.
(В ответ на комментарий №3) ... > Возможно, придётся для этой библиотеки переместить плагины в другое место. Да, если действительно есть необходимость держать в системе разные версии libsasl2, то явно их плагины надо паковать в разные каталоги. Я, правда, не понял, почему при том, что версии у libsasl2-3 и libsasl2 одинаковые, нельзя было проставить provides для замещения.
(In reply to comment #3) > Придётся избавляться от файлового конфликта. > По идее, совместимые, а на самом деле -- не ясно. От этого многое зависит. > Возможно, придётся для этой библиотеки переместить плагины в другое место. Если нужна жёсткая зависимость плагин-библиотека, другого пути нет, видимо. Но затратность решения я оценить не могу. Так-то, наверное, было бы хорошо с вариантом sasl2-<soname>/*.so
(In reply to comment #4) > Я, правда, не понял, почему при том, что версии у libsasl2-3 и libsasl2 > одинаковые, нельзя было проставить provides для замещения. Там soname разные. В libsasl2 остался неправильный, который был давно заменён. Я не придумал, как по-другому разрулить, а таскать неправильный дальше показалось плохо, хотя LDV и предлагал оставить, правда, не очень настойчиво.
(In reply to comment #6) > неправильный В смысле, несоответствующий апстриму.
>From: Gleb Fotengauer-Malinovskiy <glebfm@altlinux.org> > > 's,%_libdir/sasl2,&-%abiversion,' спасёт. Если бы я был профессиональным программистом и постоянно пользовался средствами для компиляции, я бы, наверное, знал, куда это воткнуть. :-) Речь про CFLAGS, или про что ?
(In reply to comment #8) > Если бы я был профессиональным программистом и постоянно пользовался средствами > для компиляции, я бы, наверное, знал, куда это воткнуть. :-) Речь про CFLAGS, > или про что ? Это sed-expression который достаточно применить к spec-у. :) sed -e 's,%_libdir/sasl2,&-%abiversion,' -i <specfile>
(In reply to comment #9) > Это sed-expression Не узнал с запятыми. :-) Что-то вроде --with-plugindir я искале, но в хелпе configure не углядел.
(In reply to comment #10) > Что-то вроде --with-plugindir я искале, но в хелпе configure не углядел. В cпеке даже используется эта опция именно с таким именем, просто там написано %_libdir/sasl2, а может быть написано %_libdir/sasl2-%abiversion .
Так я и нашёл там после 9-ого комментария. Но надо собрать, посмотреть... А на выходные планы другие. Опять же, Eve R. Ybody в acl...
Проверить бы задание 121506. У меня ничего с Сизифом нет сейчас, чтобы там ещё и sasl нужен был.
cyrus-sasl2-2.1.26-alt5 -> sisyphus: * Sat Jun 14 2014 Sergey Y. Afonin <asy@altlinux> 2.1.26-alt5 - 20140330 git snapshot - moved plugins to sasl2-%abiversion directoy (ALT #30113)
Хотя, наверное, это несовсем аккуратный фикс, как сейчас подумалось. Отдельные подпакеты с плагинами именуются без %abiversion и будут "выносить", при обновлении, плагины от старого libsasl2-%abiversion. Видимо, их надо тоже паковать с %abiversion, хотя они к этому отношения и не имеют, вроде бы...
(In reply to comment #15) > Хотя, наверное, это несовсем аккуратный фикс, как сейчас подумалось. Отдельные > подпакеты с плагинами именуются без %abiversion и будут "выносить", при > обновлении, плагины от старого libsasl2-%abiversion. Видимо, их надо тоже > паковать с %abiversion, хотя они к этому отношения и не имеют, вроде бы... Ну так и не появилось же нового пакета, что вы имеете в виду? По моему, всё хорошо теперь должно быть.
Сейчас есть libsasl2-3 и соответствующий ему libsasl2-plugin-sql. Допустим, появляется sasl 2.2 с abi версии 4. В результате будут libsasl2-4 и тот же самый libsasl2-plugin-sql. Соответственно, при обновлении libsasl2-plugin-sql 2.1 на libsasl2-plugin-sql 2.2 библиотека libsasl2-3 лишится sql-плагина и всё, что с libsasl2-4 не будет пересобрано, станет неработоспособно при использовании плагина sql. Но если плагины паковать с %abiversion, то libsasl2-4-plugin-sql сам не установится... Тоже не хорошо. Собрать всё в один пакет, убрав libsasl2-plugin-* вообще ?