ALT Linux Team development discussions
 help / color / mirror / Atom feed
From: Andrey Orlov <cray@neural.ru>
To: ALT Devel discussion list <devel@altlinux.ru>
Subject: [devel] Советы по установке и обновлению Fwd: Re: [Python-devel] Обновление python
Date: Tue, 15 Mar 2005 02:29:48 +0300
Message-ID: <200503150229.48977.cray@neural.ru> (raw)

Меня удивило то, что обновление вызвало проблемы. Похоже, чем гибче инструмент, тем
тяжелее им работать.  Мы в PDT перетерли эти проблемы, вот краткое резюме.


----------  Forwarded Message  ----------

Subject: Re: [Python-devel] Обновление python
Date: Saturday 12 March 2005 02:31
From: Andrey Orlov <cray_devel@neural.ru>
To: Закрытый список рассылки для обсуждения вопросов поддержки Python в ALT Linux <python-devel@altlinux.ru>

On Friday 11 March 2005 23:45, Vitaly Lipatov wrote:
> > Да, к сожалению apt не сумел разрулить переход.
> А это нормально?

Не совсем. Я, кстати, в некоторых случаях обновлялся нормально. На достижение этой
нормальности я убил все празники. apt-же не сумел разрулить ваши извращенные идеи. Ниже
следует некоторые идеи не-извращенные и дается их сравнения с идеями извращенными.

В принципе, если у вас есть пакеты, требующие __модули__ по
зависимостям вида python2.3(<МОДУЛЬ>), то у вас потянется установка
пакетов серии python2.3, которая вызовет снос заобсолеченных версий
пакетов серии python. В то же время, если у вас есть хоть один модуль, для которого 
уже есть модуль, пересобранный с новым питоном, то он проапдейтится и потянет
установку python2.4(<МОДУЛЬ>) - т.е. модулей из python-2.4.0, что вызовет снос
и замену по obsolete серии пакетов python2.4-*.

Таким образом, идеальный случай апдейта (это оттестировано), поставлен python2.4-relax
из дедала, свои пакеты пересобраны c --with или с альтернативным питоном и без --with,
и установлены. Делаем apt-get dist-upgrade и все ставиться. В теории, которая более-меня подтверждена
моей практикой.

Проблема, как вы понимается, в пакете strict, который не доопускает совместной установки.

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

> > Я обошел это примерно так:
> >
> > apt-get install python2.3-relaxed python2.3-base python2.3-dev
> > ... python2.3-modules ... python2.3-modules-ИМЯ... прописал
> > так почти все пакеты python2.3-*.
> Это принимать как рекомендацию по обновлению из Сизифа? Хотелось 
> бы проще.

Ну и наконец для извращенцев. Т.е. для тех, кто все-таки решил (зачем-то непонятным)
поставить python2.3. Почему это извращенцы. Есть три не-извращенных варианта:

 1. Я разработчик и, принимая риск, сношу весь шит, ставлю python-2.4.0, остальное пересобираю и доставляю. 
Это понятно и это работает.

2. Я потребитель, дожидаюсь, пока все интересные мне пакеты пересоберут с новым питоном, и когда это будет сделано,
я получаю гладкий dist-upgrade. Это тоже понятно.

3. Я экспериментатор, мне интересно пощупать новый питон. В тоже время, я не хочу чбы мне вынесло полситстемы. Тогда
вы ставите python2.4 из дедала. Возможно с --force, чбы не снести python-strict.
 
Все остальные варианты не позволят достичь каких-либо целей, не досьтжимых перечисленными, но обрекают
вас на кучу проблем. Поэтому их нужно избегать, стараясь свести к перечисленнным.

Для разработчиков, самый простой способ сведения - поставить чрут или vserver, поставить туда новый питон, и пройти там
алгоритм 1 для своих пакетов. Потом превратится в потребителя, и на основном сервере пройти алг.2. Возможно, вам придется
списаться с другими мантейнерами или пересобрать для себя чужие пакеты на п.1. Думаю, что можно договорится с их мантейнерами
о разовой альтернативной заливке. Я бы очень хотел, что бы все по этому пути пошли, особенно с последней оговоркой.

Теперь об извратах. Итак, я хочу поставить python2.3 вместо python. Зачем - хрен его знает, они друг от друга не отличаются.
Что делать? Можно так, как написал Иван. Можно так:

 apt-get install python2.3-strict и/или apt-get install python2.3-module

Ничего не выиграли, проиграли возможность плавного апгрейда.

Второй путь. Я хочу поставить python2.3 & python. Зачем - опять же не знаю, это идентично устанвке к имеющемуся 
python-у python2.4 из дедала. Достигается так: отрабатываете предыдущий п., затем:

apt-get install python2.3-relaxed, apt-get install python-relaxed, далее доставляете нужные модули. 

Наконец, третий п. Я хочу иметь поэтапный апгрейд. Это хоть понятно зачем :), на домашней машине. Проблема только 
одна: Два питона с python-strict стоять не могут. Соотв. python-strict нужно сносить. Вместе с пакетами всех добрых
людей, которым не хватило упорство воспользоваться полиси. Делается так:

apt-get install python-relaxed=2.3.4 (т.е. ставим старый пакет, где вы его возьмете - ума не приложу, можно поискать на зеркалах,
по идее, вся байда с дедалом была нужна в том числе и для того, чбы все заинтересованные могли это сделать в рамках "посмотреть 
на python2.4" - кто не воспользовался, я не виноват. Я три месяца просил это сдеать).  Далее, выполняем apt-get upgrade - т.е. практически
идентично не-извр.алг.2. 

Все-таки, мне кажется тоже ничего не выиграли по ср. с ориг.не-извр.алг.2, проиграли пакеты, зависящие от python-strict.

> > Потом тоже самое для 2.4...

:)

В общем, что я хочу сказать. Общее резюме такое: пересобирайте как-нибудь свои пакеты -- благо, современный алт-линукс предоставляет для
этого достаточно средств -- и ждите, пока apt-get dist-upgrade не предложит вам удовлетворительный вариант. НЕ ФОРСИРУЙТЕ переход
на python-2.4 или python2.3: АВТОМАТИЧЕСКИЕ ЗАВИСИМОСТИ ДЛЯ ТОГО И НУЖНЫ, ЧБЫ ВСЕ ПРОИЗОШЛЛО АВТОМАТИЧЕСКИ. Пинайте
тех, кто не пересобрал свои пакеты. 

Еще раз - все реально необходимые цели достижимы гладко. См. три неизвращенных алгоритма. А кто хочет изврата - получит его
в полный рост выносом половины системы. И наконец: ДУМАЙТЕ ОСНОВНОЙ ВЕТКОЙ. Забудьте про питон 2.3. Его больше нет. Если
вы будете старатся решить проблемы так, как будто 2.3 в сизифе больше нет, вы сэкономите время и силы себе и мне. Спасибо за
понимание.

После небольшого обсуждения (до понедельника) предлагаю отредактированный вариант этого текста пнуть в основной список.


-------------------------------------------------------

-- 
WthBstRgrds -- Андрей Орлов --  
 --- http: www.neural.ru, mail: cray@neural.ru, jid: cray@altlinux.org ---
----------------------------------------


             reply	other threads:[~2005-03-14 23:29 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-03-14 23:29 Andrey Orlov [this message]
2005-03-14 23:56 ` [devel] Советы по установке и обновлению python Dmitry V. Levin
2005-03-15  6:40   ` Alexey I. Froloff
2005-03-15  9:19     ` Mikhail Zabaluev
2005-03-15  8:07   ` Andrey Orlov
2005-03-15  8:11     ` Alexey I. Froloff
2005-03-15 19:01       ` Andrey Orlov
2005-03-16  6:43         ` Alexey I. Froloff
2005-03-16  6:57           ` Ivan Fedorov
2005-03-16  7:56           ` Andrey Orlov
2005-03-16  8:11           ` Andrey Orlov
2005-03-16 12:55     ` Dmitry V. Levin
2005-03-15  7:43 ` [devel] Re: Советы по установке и обновлению Fwd: Re: [Python-devel] Обновление python Michael Shigorin
2005-03-15 19:10   ` Andrey Orlov
2005-03-15 19:34     ` Michael Shigorin
2005-03-15 19:56       ` Andrey Orlov
2005-03-16  9:40         ` Sergey Bolshakov
2005-03-16 11:05           ` Andrey Orlov

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=200503150229.48977.cray@neural.ru \
    --to=cray@neural.ru \
    --cc=devel@altlinux.ru \
    /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