Bug 30113 - libsasl2-3-2.1.26-alt4 conflicts with package libsasl2-2.1.26-alt0.M70P.1
Summary: libsasl2-3-2.1.26-alt4 conflicts with package libsasl2-2.1.26-alt0.M70P.1
Status: CLOSED FIXED
Alias: None
Product: Sisyphus
Classification: Development
Component: libsasl2-3 (show other bugs)
Version: unstable
Hardware: all Linux
: P3 normal
Assignee: Sergey Y. Afonin
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-06-11 14:23 MSK by Vitaly Lipatov
Modified: 2014-06-17 23:57 MSK (History)
2 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Vitaly Lipatov 2014-06-11 14:23:19 MSK
При обновлении с 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
Comment 1 Sergey Y. Afonin 2014-06-11 14:53:20 MSK
Мне кажется, что это результат последнего обновления, так как я этот момент тестировал, на сколько помню.

 2014-06-04 Gleb F-Malinovskiy <glebfm at altlinux.org> 2.1.26-alt4

    - Drop Conflicts: libsasl2 to comply SharedLibs Policy.
Comment 2 Sergey Y. Afonin 2014-06-11 15:33:01 MSK
SharedLibs Policy, тут, видимо, или нельзя применять, или надо плагины sasl2/*.so убрать в отдельный подпакет, но вот вопрос, будут ли эти плагины с разными libsasl совместимы...
Comment 3 Gleb F-Malinovskiy 2014-06-11 15:49:19 MSK
Между альтернативными soname не должно быть конфликта, так что исправление было правильное.

Придётся избавляться от файлового конфликта.

(In reply to comment #2)
> SharedLibs Policy, тут, видимо, или нельзя применять,

Policy был нарушен, из-за этого возникли проблемы при вычислении обновления.

> или надо плагины
> sasl2/*.so убрать в отдельный подпакет,
> но вот вопрос, будут ли эти плагины с
> разными libsasl совместимы...

По идее, совместимые, а на самом деле -- не ясно.

Возможно, придётся для этой библиотеки переместить плагины в другое место.
Comment 4 Vitaly Lipatov 2014-06-11 16:25:59 MSK
(В ответ на комментарий №3)
...
> Возможно, придётся для этой библиотеки переместить плагины в другое место.
Да, если действительно есть необходимость держать в системе разные версии libsasl2, то явно их плагины надо паковать в разные каталоги.

Я, правда, не понял, почему при том, что версии у libsasl2-3 и libsasl2 одинаковые, нельзя было проставить provides для замещения.
Comment 5 Sergey Y. Afonin 2014-06-11 16:33:25 MSK
(In reply to comment #3)

> Придётся избавляться от файлового конфликта.
> По идее, совместимые, а на самом деле -- не ясно.

От этого многое зависит.

> Возможно, придётся для этой библиотеки переместить плагины в другое место.

Если нужна жёсткая зависимость плагин-библиотека, другого пути нет, видимо. Но затратность решения я оценить не могу. Так-то, наверное, было бы хорошо с вариантом sasl2-<soname>/*.so
Comment 6 Sergey Y. Afonin 2014-06-11 16:36:56 MSK
(In reply to comment #4)

> Я, правда, не понял, почему при том, что версии у libsasl2-3 и libsasl2
> одинаковые, нельзя было проставить provides для замещения.

Там soname разные. В libsasl2 остался неправильный, который был давно заменён. Я не придумал, как по-другому разрулить, а таскать неправильный дальше показалось плохо, хотя LDV и предлагал оставить, правда, не очень настойчиво.
Comment 7 Sergey Y. Afonin 2014-06-11 16:37:55 MSK
(In reply to comment #6)

> неправильный

В смысле, несоответствующий апстриму.
Comment 8 Sergey Y. Afonin 2014-06-12 14:06:27 MSK
>From:	Gleb Fotengauer-Malinovskiy <glebfm@altlinux.org>
>
> 's,%_libdir/sasl2,&-%abiversion,' спасёт.

Если бы я был профессиональным программистом и постоянно пользовался средствами для компиляции, я бы, наверное, знал, куда это воткнуть. :-) Речь про CFLAGS, или про что ?
Comment 9 Gleb F-Malinovskiy 2014-06-12 14:23:05 MSK
(In reply to comment #8)
> Если бы я был профессиональным программистом и постоянно пользовался средствами
> для компиляции, я бы, наверное, знал, куда это воткнуть. :-) Речь про CFLAGS,
> или про что ?

Это sed-expression который достаточно применить к spec-у. :)
sed -e 's,%_libdir/sasl2,&-%abiversion,' -i <specfile>
Comment 10 Sergey Y. Afonin 2014-06-13 17:41:57 MSK
(In reply to comment #9)

> Это sed-expression

Не узнал с запятыми. :-)

Что-то вроде --with-plugindir я искале, но в хелпе configure не углядел.
Comment 11 Gleb F-Malinovskiy 2014-06-13 21:46:23 MSK
(In reply to comment #10)
> Что-то вроде --with-plugindir я искале, но в хелпе configure не углядел.

В cпеке даже используется эта опция именно с таким именем, просто там написано %_libdir/sasl2, а может быть написано %_libdir/sasl2-%abiversion .
Comment 12 Sergey Y. Afonin 2014-06-14 11:53:10 MSK
Так я и нашёл там после 9-ого комментария. Но надо собрать, посмотреть... А на выходные планы другие. Опять же, Eve R. Ybody в acl...
Comment 13 Sergey Y. Afonin 2014-06-14 23:25:48 MSK
Проверить бы задание 121506. У меня ничего с Сизифом нет сейчас, чтобы там ещё и sasl нужен был.
Comment 14 Repository Robot 2014-06-17 12:54:35 MSK
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)
Comment 15 Sergey Y. Afonin 2014-06-17 13:27:34 MSK
Хотя, наверное, это несовсем аккуратный фикс, как сейчас подумалось. Отдельные подпакеты с плагинами именуются без %abiversion и будут "выносить", при обновлении, плагины от старого libsasl2-%abiversion. Видимо, их надо тоже паковать с %abiversion, хотя они к этому отношения и не имеют, вроде бы...
Comment 16 Gleb F-Malinovskiy 2014-06-17 20:23:00 MSK
(In reply to comment #15)
> Хотя, наверное, это несовсем аккуратный фикс, как сейчас подумалось. Отдельные
> подпакеты с плагинами именуются без %abiversion и будут "выносить", при
> обновлении, плагины от старого libsasl2-%abiversion. Видимо, их надо тоже
> паковать с %abiversion, хотя они к этому отношения и не имеют, вроде бы...

Ну так и не появилось же нового пакета, что вы имеете в виду?
По моему, всё хорошо теперь должно быть.
Comment 17 Sergey Y. Afonin 2014-06-17 23:57:57 MSK
Сейчас есть 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-* вообще ?