ALT Linux Team development discussions
 help / color / mirror / Atom feed
From: "Денис Смирнов" <mithraen@altlinux.ru>
To: ALT Linux Team development discussions <devel@lists.altlinux.org>
Subject: Re: [devel] [[Обсуждение:SharedLibsPolicy]] (was: boost-1.42.0)
Date: Sat, 3 Apr 2010 22:51:29 +0400
Message-ID: <20100403185128.GA523@mw.office.seiros.ru> (raw)
In-Reply-To: <20100403180345.GM11734@osdn.org.ua>

[-- Attachment #1: Type: text/plain, Size: 1880 bytes --]

On Sat, Apr 03, 2010 at 09:03:46PM +0300, Michael Shigorin wrote:

MS> Два месяца не архивировал почту -- всё равно не придумал...
MS> Хоть здесь: http://www.altlinux.org/Обсуждение:SharedLibsPolicy

Оба описанных метода с точки зрения пользователя, который делает
dist-upgrade между разными версиями дистирибутивов будет расценен как
"вредительство" и "этот [censored] apt выносит пол системы вместо
обновления".

Единственный работоспособный вариант -- это soname должна быть частью
имени бинарного пакета.

Т.е. идеальная схема обновления lib%name.so.1 на lib%name.so.2  выглядит
так:
- пересобираем lib%name1, отключив у него devel;
- собираем liba%name2, соответственно собирая lib%name-devel из него
- все пакеты, которые раньше были собраны с lib%name.so пинаем на
  пересборку по мере возможностей (этот процесс может затянуться на
  некоторое время)
- как только в репозитории не остается больше пакетов, которым был бы
  нужен lib%name1, и если он не нужен всяким проприетарным поделиям, то
  удаляем его из репозитория

В идеале также следовало бы с помощью того же repocop отлавливать те
пакеты, которые требуют пересборки с новой версией, ибо желательно чтобы в
дистрибутиве не было разных пакетов которые бы требовали разные версии
одной библиотеки (чтобы избежать вероятного взрыва).

Такая схема имеет ровно один недостаток -- при частичном обновлении есть
вероятность получить ситуацию, когда приложение по цепочке зависимостей
через разные библиотеки цепляет к себе две версии одной и той же
библиотеки.

Однако это именно проблема частичного обновления (делающие которое сами
себе буратины, тем более что это грабля весьма не частая).

Любая другая схема не работает, потому что apt -- тупой.

-- 
С уважением, Денис

http://mithraen.ru/
----------------------------------------------------------------------------


[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 198 bytes --]

  reply	other threads:[~2010-04-03 18:51 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-02-05 18:06 [devel] boost-1.42.0 Alexey Voinov
2010-02-05 18:14 ` Damir Shayhutdinov
2010-02-05 20:02   ` Alexey Voinov
2010-02-05 20:16     ` Anton Farygin
2010-02-06 13:58       ` Alexey Voinov
2010-02-08  0:45         ` Dmitry V. Levin
2010-02-08  5:58           ` Alexey Voinov
2010-02-08  9:06             ` Ivan A. Melnikov
2010-02-08 12:47               ` Alexey Voinov
2010-02-08 13:19                 ` Ivan A. Melnikov
2010-02-08 19:48                   ` Alexey Voinov
2010-04-03 18:03       ` [devel] [[Обсуждение:SharedLibsPolicy]] (was: boost-1.42.0) Michael Shigorin
2010-04-03 18:51         ` Денис Смирнов [this message]
2010-04-03 18:54           ` Michael Shigorin
2010-04-03 21:01             ` Денис Смирнов

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20100403185128.GA523@mw.office.seiros.ru \
    --to=mithraen@altlinux.ru \
    --cc=devel@lists.altlinux.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

ALT Linux Team development discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/devel/0 devel/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 devel devel/ http://lore.altlinux.org/devel \
		devel@altlinux.org devel@altlinux.ru devel@lists.altlinux.org devel@lists.altlinux.ru devel@linux.iplabs.ru mandrake-russian@linuxteam.iplabs.ru sisyphus@linuxteam.iplabs.ru
	public-inbox-index devel

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.devel


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git