From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: From: Led To: ALT Devel discussion list Date: Thu, 20 Apr 2006 13:09:47 +0300 User-Agent: KMail/1.9.1 References: <20060419230848.GA29224@mash.office.altlinux.ru> <20060420041719.GA28163@localhost> <200604201259.29576.icesik@mail.ru> In-Reply-To: <200604201259.29576.icesik@mail.ru> MIME-Version: 1.0 Content-Type: text/plain; charset="windows-1251" Content-Transfer-Encoding: 8bit Content-Disposition: inline Message-Id: <200604201309.47395.led@altlinux.ru> Subject: Re: [devel] abi_drift X-BeenThere: devel@lists.altlinux.org X-Mailman-Version: 2.1.7 Precedence: list Reply-To: ALT Devel discussion list List-Id: ALT Devel discussion list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 20 Apr 2006 10:09:41 -0000 Archived-At: List-Archive: List-Post: В сообщении от 20 апреля 2006 12:59 Igor Zubkov написал(a): > В сообщении от 20 апреля 2006 07:17 Alexey Tourbin написал(a): > > On Thu, Apr 20, 2006 at 04:27:55AM +0400, Alexey Tourbin wrote: > > > Кстати, я придумал ещё одного робота, который анализирует бинарную > > > совместимость между двумя различными срезами сизифа. Идея в > > > следующем: при частичном обновлении возможны конфигурации, когда > > > приложение из нового среза не работает с библиотекой из старого среза, > > > потому что использует какие-то функции, которые появились в более новой > > > версии библиотеки (в новом срезе сизифа). > > > > Проанализировал archive/Sisyphus/2006/01/04/files/i586/RPMS против > > текущего сизифа. Полный список прилагается. Поля в списке такие: > > > > abidrift ::= newpkg newbin oldlibpkg oldlibpath newlibpkg newlibpath > > soname T sym > > > > Смысл этого отношения такой, что пакет newpkg работает с библиотекой > > newlibpkg, но не будет работать с библиотекой oldlibpkg, потому что в > > новой библиотеке есть симовол sym, который используется newbin (а в > > старой библиотеке этого символа нет). > > А теперь, научно-популярно. На примере пакета devilspie: > devilspie /usr/bin/devilspie > glib2 /usr/lib/libglib-2.0.so.0.800.4 glib2 /usr/lib/libglib-2. > 0.so.0.1000.2 libglib-2.0.so.0 T g_intern_static_string > > devilspie /usr/bin/devilspie > glib2 /usr/lib/libglib-2.0.so.0.800.4 glib2 /usr/lib/libglib-2. > 0.so.0.1000.2 libglib-2.0.so.0 T g_slice_alloc0 > > devilspie /usr/bin/devilspie > glib2 /usr/lib/libglib-2.0.so.0.800.4 glib2 /usr/lib/libglib-2. > 0.so.0.1000.2 libglib-2.0.so.0 T g_slice_free1 > > Самый простой способ починить этот пакет, прибить гвоздями минимальную > версию glib2 для использования. В текущий момент это (это та версия которая > сейчас лежит в репозитории): > [icesik@iceberg ~]$ rpm -q glib2 > glib2-2.10.2-alt1 > [icesik@iceberg ~]$ > Т.е.: > Requires: glib2 >= 2.10.2-alt1 > > Второй способ (более правильный, но более сложный), найти версию glib2 в > которой были добавлены эти символы и прописать её в Requires. Поиск по ChangeLog показывает, что эти символы, похоже, были добавлены в 2.9.1 -- Led.