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 ---
----------------------------------------
next 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