On Thu, Mar 05, 2009 at 05:04:42PM +0300, Epiphanov Sergei wrote: > > То есть у apt и rpm немного разное представление о том, что такое > > конфликт пакетов. Apt "продавливает" свою точку зрения когда > > устанавливает пакеты через librpm API. > > > > Вот такая вот дрянь у нас водится на уровне базовой технологии. > > "Хорошая" неоднозначность... Интересно, кто же тогда среди равных у нас ещё > равнее? Опираться на rpm? Это сложная тема почему некоторые вещи работают так или сяк. Они так по определенной причине работают, хотя не факт что эти причины очень благородные. Дело в том что в rpm через командную строку нельзя задействовать более одного "major" (главных) режима (работы rpmi). Главных режима всего три: rpm -i, rpm -U и rpm -e (установка, обновление и удаление). Существуют более сложные транзакции, которые не сводятся к последостельности установок, обновлений и удалений (без промежуточного нарушений зависимостей). А именно, может НЕ существовать последовательности изолированных транзакций -i -U -e, которые бы соответствовала одной единственной транзакции, в которой пакеты комбинированно и одновременно устанавливаются, обновляются и удаляются. В принципе librpm умеет выполнять сложные транзакции (которые не распадаются на последовательность примитивных транзакций, каждая из которых подчинена единственному major режиму). А apt умеет вычислять как раз такие нетривиальные транзакции, которые нельзя провести через /bin/rpm. Но в общем почему-то в apt используется опция --nodeps. Для этого есть определенные причины. Долго объяснять. Дело в том, что apt должен уметь работать не только через librpm API, но и по базису /bin/rpm -i -U -e. А работать по базису -i -U -e нельзя без нарушения зависимостей (потому что сложные транзакции не сводятся к последовательным транзакциям по базису). Ну и типа в апте решили, что раз такое дело, то --nodeps можно лепить везде. Унификация кода. > > Я пока не знаю, что посоветовать. Надо подумать, стоит ли запатчить > > librpm, чтобы никакой пакет сам с собой не конфликтовал. Или не стоит. > > Ладно, пока попробую перепакетить autopano-sift с изменением имём ("чтобы > было") или отправлю на покой. А у другого пакета сниму конфликт на самого > себя. Не спешите. Не факт, что во всём виноваты Вы. :)