From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Date: Fri, 8 Oct 2010 21:38:32 +0400 From: Alexey Tourbin To: ALT Linux Team development discussions Message-ID: <20101008173832.GA11679@altlinux.org> References: <20101004193504.GA13540@altlinux.org> <20101004204144.GB13540@altlinux.org> <4CAF3042.6090905@solin.spb.ru> Mime-Version: 1.0 Content-Type: text/plain; charset=koi8-r Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <4CAF3042.6090905@solin.spb.ru> Subject: Re: [devel] I: rpm 4.0.4-alt98.49, latter rain X-BeenThere: devel@lists.altlinux.org X-Mailman-Version: 2.1.12 Precedence: list Reply-To: ALT Linux Team development discussions List-Id: ALT Linux Team development discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 08 Oct 2010 17:38:33 -0000 Archived-At: List-Archive: List-Post: On Fri, Oct 08, 2010 at 06:52:50PM +0400, Aleksey Avdeev wrote: > 05.10.2010 00:41, Alexey Tourbin пишет: > > Ничем не замечателен, для постоянных посетителей заведения > > всё должно пройти незаметно.-) > > > > Предыдущий релиз rpm уже генерировал зависимости вида > > Provides: libfoo.so.1 = set:7f0252c3... > > > > Теперь же генерируются и зависимости > > Requires: libfoo.so.1 >= set:3f5b289c... > > а это делает процесс необратимым. > > > > Т.н. set-версии позволяют проверить совпадение библиотечных функций, > > используемых в программе, и экспортируемых функций библиотеки. Но это > > совпадение - не прямое равенство, а подмножество. Отсюда весь сыр-бор. > > Правильно понимаю, что это позволит исключить ситуации когда программа > и подгружаемый плагин (например apache и его модуль) слинкованы > несовместимыми версиями некой библиотеки? Смотря что понимать под разными версиями библиотеки. Библиотеки с разными сонеймами считются разными библиотеками. И если, например, программа слинкована с libdb4.7, а плагин слинкован с libdb5.x, то на уровне зависимостей сделать что-либо очень сложно, чтобы предотвратить такую ситуацию. С другой стороны, если сонейм не изменился, но изменились названия функций (добавились/удалились функции), а программа и плагин были собраны в разное время, то несовместимость по символам будет хорошо отлавливаться. Впрочем, это уже не связано напрямую со схемой программа/плагины.