ALT Linux Team development discussions
 help / color / mirror / Atom feed
From: Alexey Tourbin <at@altlinux.ru>
To: ALT Linux Team development discussions <devel@lists.altlinux.org>
Subject: Re: [devel] Python 2.6: task #16528
Date: Sun, 29 Nov 2009 04:52:12 +0300
Message-ID: <20091129015212.GI9723@altlinux.org> (raw)
In-Reply-To: <200911290338.53444.ledest@gmail.com>

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

On Sun, Nov 29, 2009 at 03:38:53AM +0200, Led wrote:
> On Sunday, 29 November 2009 03:32:02 Alexey Tourbin wrote:
> > On Sun, Nov 29, 2009 at 03:14:13AM +0200, Led wrote:
> > > On Sunday, 29 November 2009 02:51:52 Alexey Tourbin wrote:
> > > > On Sun, Nov 29, 2009 at 01:01:36AM +0200, Michael Shigorin wrote:
> > > > > On Wed, Nov 25, 2009 at 10:37:57AM +0300, Alexey Tourbin wrote:
> > > > > > Если от двух питонов решили отказаться, то есть смысл изменить
> > > > > > зависимости вида python2.X(...) на просто python(...).  Потому
> > > > > > что скрипты на питоне по идее не зависят от версии питона.
> > > > >
> > > > > Лёш, ты серьёзно?  Вообще-то с совместимостью там так себе.
> > > >
> > > > python2.5 -> python2.6 пакеты пересобираются as is.
> > > > Почему у отдельно взятого скрипта должны измениться зависимости
> > > > на питон, если сам скрипт не изменился?
> > > >
> > > > Фактически же часть пакетов сейчас пересобирается почему?
> > > > Потому что надо чтобы у них поменялись зависимости с 2.5 на 2.6.
> > > > А в остальном в этих пакетах ничего не меняется.
> > >
> > > *.pyc меняются
> >
> > Если это очень одинокий скрипт то у него *.pyc нету.
> > Например /usr/bin/asciidoc.
> >
> > Сейчас кстати *.pyc вообще не создает зависимостей.  Зато создаются
> > зависимости на /usr/lib/python2.5/site-packages и libpython2.5.so.1 (для
> > всех питоновских модулей, которые становятся в стандартный каталог и/или
> > компилируются).  То есть теперь имеются другие достаточно надёжные
> > способы обеспечить физическую целостность питновского хозяйства при
> > миграции на новый питон.  И они включаются как раз тогда когда надо.
> 
> Дело не в зависимостях. Если *.pyc не перекомпилированы, а интерпритатор 
> сменил версию (2.5 -> 2.6), то *.pyc превращаются в неиспользуемый балласт 
> (AFAIR).

Можно контролировать совместимость по *.pyc.  В *.pyc файле содержится
версия питона, для которой он подходит (напр. 2.5 или 2.6).  Тогда для
каждого *.pyс файла можно генерировать зависимость типа
Requires: python-bytecode-version = 2.5 (или 2.6).

Это открывает интересные возможности при миграции на новый питон.
А именно, на первой стадии пересборки новый питон может предоставлять
условную совместимость со старым байткодом:
Provides: python-bytecode-version = 2.5
Provides: python-bytecode-version = 2.6

Это позволяет быстрее провести переехать на новый питон, пересобрав
только те пакеты, которые действительно необходимо пересобрать (как
минимум по сонейму).  На второй стадии совместимость со старым питоном
удаляется, остаётся только
Provides: python-bytecode-version = 2.6

тогда потребуется пересобрать уже все пакеты со старым байткодом.

Можно пойти ещё дальше и попробовать сделать чтобы на первой стадии
новый питон поддерживал старый noarch каталог site-packages.

В любом случае это открывает более интересные возможности, чем просто
пересобрать _все_ пакеты которым _хоть что-то_ нужно от питона.
Даже очень одинокие скрипты.

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

  reply	other threads:[~2009-11-29  1:52 UTC|newest]

Thread overview: 42+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-11-25  7:12 REAL
2009-11-25  7:37 ` Alexey Tourbin
2009-11-25  8:00   ` REAL
2009-11-25  7:54     ` Alexey Tourbin
2009-11-25  8:16       ` REAL
2009-11-25  8:03         ` Alexey Tourbin
2009-11-25  8:22           ` REAL
2009-11-25  8:44             ` Alexey Tourbin
2009-11-25  9:33               ` Andrey Rahmatullin
2009-11-25 19:50                 ` Alexey Tourbin
2009-11-25 20:04                   ` Igor Vlasenko
2009-11-25 21:37                     ` Igor Vlasenko
2009-11-25 22:02                       ` Alexey Tourbin
2009-11-26  9:04                         ` Igor Vlasenko
2009-11-26  9:18                           ` Alexey Tourbin
2009-11-26  9:20                             ` Igor Vlasenko
2009-11-26 12:49               ` Alexey Morsov
2009-11-25  8:23       ` Денис Смирнов
2009-11-25  8:29         ` Alexey Tourbin
2009-11-28 23:01   ` Michael Shigorin
2009-11-29  0:51     ` Alexey Tourbin
2009-11-29  1:14       ` Led
2009-11-29  1:32         ` Alexey Tourbin
2009-11-29  1:38           ` Led
2009-11-29  1:52             ` Alexey Tourbin [this message]
2009-11-30  4:14       ` REAL
2009-11-30  4:26         ` Alexey Tourbin
2009-11-30  4:50           ` REAL
2009-11-30  4:50             ` [devel] трансфёр гарантий Alexey Tourbin
2009-11-30  5:13               ` REAL
2009-11-30  5:33                 ` Alexey Tourbin
2009-11-30  6:04                   ` REAL
2009-11-30  5:25               ` Sergey Alembekov
2009-11-25  8:36 ` [devel] Python 2.6: task #16528 Sergey Y. Afonin
2009-11-25  9:02   ` REAL
2009-11-26  9:02 ` Alexey Tourbin
2009-11-26 17:00   ` Alexey Tourbin
2009-11-27  9:12     ` Alexey Tourbin
2009-11-27  9:38       ` REAL
2009-11-27 11:35         ` Alexey Tourbin
2009-11-27 12:25         ` Alexey Tourbin
2009-11-27  2:54   ` Alexey Tourbin

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=20091129015212.GI9723@altlinux.org \
    --to=at@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