Sergey Vlasov пишет: > On Tue, May 26, 2009 at 01:40:04AM +0400, Aleksey Avdeev wrote: >> Dmitry V. Levin пишет: >>> Виноват цикл зависимостей: >>> $ rpmquery -pR libkrb5-1.6.3-alt7.x86_64.rpm |fgrep crypto >>> libcrypto.so.7()(64bit) >>> $ rpmquery -pR libssl7-0.9.8k-alt2.x86_64.rpm |fgrep krb >>> libkrb5.so.3(krb5_3_MIT)(64bit) >>> >>> Этот цикл нужно разорвать в правильном >>> месте, которое надо найти. >> Как насчёт дополнения зависимостей openssl >> ручным PreReq: libkrb5 (тот вариант что я в >> качестве NMU предлагаю)? (Есть ли подводные >> камни?) > > Тогда то же самое произойдёт, если кому-то в скриптах потребуются > библиотеки libkrb5. В смысле -- аналогичная ошибка? Не думаю, т. к. зависимость добавлена в пакет openssl, содержащий утилиты (и обвязку к ним), которые без libkrb5 теперь не работают, а не libssl7, содержащий библиотеки. И т. к. libkrb5 от _утилит_ openssl не зависит (он зависит от _библиотек_, которые идут отдельным пакетом): $ rpm -qRp libkrb5-1.6.3-alt7.x86_64.rpm gawk rpmlib(PayloadFilesHavePrefix) <= 4.0-1 rpmlib(CompressedFileNames) <= 3.0.4-1 /bin/sh /etc/rc.d/init.d /etc/rc.d/init.d(action) /etc/rc.d/init.d/functions libc.so.6(GLIBC_2.2.5)(64bit) libc.so.6(GLIBC_2.3)(64bit) libc.so.6(GLIBC_2.3.4)(64bit) libc.so.6(GLIBC_2.4)(64bit) libcom_err.so.2()(64bit) libcrypto.so.7()(64bit) libdl.so.2(GLIBC_2.2.5)(64bit) libkeyutils.so.1(KEYUTILS_0.3)(64bit) libresolv.so.2(GLIBC_2.2.5)(64bit) rtld(GNU_HASH) rpmlib(PayloadIsLzma) <= 4.4.2-1 > > Возможно, стоит распилить libssl7, положив libcrypto.so.7 в отдельный > пакет; тогда пакеты libkrb5 и libssl7 будут зависеть от libcrypto7, а > у libcrypto7 в зависимостях из библиотек останется только glibc; ещё у > libssl7 будет зависимость на libkrb5, но цикла в зависимостях уже не > будет. Кроме того, станет возможной установка libcrypto7 без libssl7 > (сейчас есть более 100 пакетов, использующих libcrypto, но при этом не > использующих libssl). > > Либо можно пилить libkrb5 - ни одна из библиотек оттуда, используемых > libssl.so.7 (libkrb5.so.3, libk5crypto.so.3), прямо или косвенно не > использует libcrypto.so.7; зависимость этого пакета от libcrypto.so.7 > возникает из-за /usr/lib/krb5/plugins/preauth/pkinit.so. Вообще пакет > libkrb5 на самом деле не совсем похож на обычный пакет вида lib* > (например, там есть файл /etc/rc.d/init.d/kdcrotate). Это дело нужное, но и в реализации сложнее. -- С уважением. Алексей.