From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: From: Andrey Orlov Date: Tue, 15 Mar 2005 02:29:48 +0300 User-Agent: KMail/1.7.1 To: ALT Devel discussion list MIME-Version: 1.0 Content-Type: text/plain; charset="koi8-r" Content-Transfer-Encoding: 8bit Content-Disposition: inline Message-Id: <200503150229.48977.cray@neural.ru> Subject: [devel] =?koi8-r?b?88/XxdTZINDPINXT1MHOz9fLxSDJIM/Czs/XzMXOycAg?= =?koi8-r?b?RndkOiBSZTogW1B5dGhvbi1kZXZlbF0g78LOz9fMxc7JxQ==?= python X-BeenThere: devel@altlinux.ru X-Mailman-Version: 2.1.5 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: Mon, 14 Mar 2005 23:29:53 -0000 Archived-At: List-Archive: List-Post: Меня удивило то, что обновление вызвало проблемы. Похоже, чем гибче инструмент, тем тяжелее им работать. Мы в PDT перетерли эти проблемы, вот краткое резюме. ---------- Forwarded Message ---------- Subject: Re: [Python-devel] Обновление python Date: Saturday 12 March 2005 02:31 From: Andrey Orlov To: Закрытый список рассылки для обсуждения вопросов поддержки Python в ALT Linux 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 --- ----------------------------------------