ALT Linux Team development discussions
 help / color / mirror / Atom feed
From: "Алексей Любимов" <avl@l14.ru>
To: ALT Devel discussion list <devel@altlinux.ru>
Subject: Re: [devel] Python Modules Policy:
Date: Thu, 12 Feb 2004 11:29:59 +0300
Message-ID: <402B3987.80901@l14.ru> (raw)
In-Reply-To: <20040211095023.GV13525@pyro.hopawar.private.net>



Alexey Morozov пишет:

>On Tue, Feb 10, 2004 at 06:51:18PM +0300, Алексей Любимов wrote:
>  
>
>>>Не вопрос. Мы с Андреем уже договорились (в джаббере) до того, что
>>>
>>>1. Он проставляет Obsoletes: pythonN в python{N+1} или делает
>>> аналогичные изменения, о точном решении будет сообщено
>>> дополнительно ориентировочно в конце недели.
>>>2. _Одновременная_ сборка пакетов под разные версии питона является
>>> на данный момент ненужной ввиду своей трудоемкости.
>>>      
>>>
>>реально это означает, что поддержка python22 отменяется.
>>Или, проще говоря, на зоп* в сизифе и все, что посложнее "hello world" 
>>можно забить.
>>    
>>
>Нет. Их можно будет собирать "неодновременно", т.е. в два прохода.
>Может быть, даже автоматом.
>
А, так это в том смысле, что из одного спека за один проход собирать 
пакеты для всех питонов трудоемко?
Это как раз само собой разумеется.

Раз так, то на зоп в сизифе и все, что посложнее "hello world" можно (и 
нужно) не забивать :)


>  
>
>>>3. Андрей думает над целесообразностью сборки пакетов вида
>>> python<N>-ModuleName из исходника вида python-ModuleName
>>>      
>>>
>>Если будет строго выполнен пункт 2, то это имхо лишнее...
>>Уж если у кого дойдут руки, то можно делать пакеты python22-ModuleName
>>то есть схема пакет и compat-пакет, а не ПакетВерсия1 и ПакетВерсия2
>>    
>>
>См. выше про автомат.
>root, root
>
Теперь понятно.

>  
>
>>>5. В полиси для питоньих модулей вносится обязательный
>>> Requires: python = %<pversion>, где %<pversion> совпадает с
>>> %__python_version того питона, для которого производилась сборка.
>>>      
>>>
>>Это понятно.
>>    
>>
>ldv@ уже предложил решение, которое, вроде бы, не хуже по последствиям,
>но автоматизируется. Прокомментируйте его, пожалуйста.
>
Менять макросы rpmbuild?
По моему это источник еще одной головной боли.
Опять будет куча unmets, как это происходит при любом чихе сейчас с 
перлом и прочими.
Но самое главное, будет непрозрачное повдение rpm при сборке пакета.
Проблема с с зависимостями питона не так серьезна, чтобы рубить с плеча.
По моему все очень просто - поставил Requires: python = %<pversion> и 
получил нужную зависимость.
А не поставил - получил более свободный и универсальный вариант. Всем 
хорошо и никому плохо.

>>>Предлагается подумать над следующими двумя полиси:
>>>6. Программы на python, не зависящие от конкретной версии питона
>>> (epydoc, python-doc-tools), собираются _без_ байткода и,
>>> соответственно, без привязки к точной версии питона, используется
>>> #!/usr/bin/env python ...
>>>      
>>>
>>А где же они лежать будут? по логике все равно в python?.?/site-packages/
>>    
>>
>Нет. Питоньи скрипты (н-р, python-doc-tools) лежат не там.
>epydoc тоже лежит не там, вроде бы. Если нужно подумать над
>"версионно-независимом" каталоге для питона, его можно организовать,
>насколько я понимаю.
>
Ну так это же просто программы на питоне.
Однако все равно любая такая прога сложнее трех строк  зависит от  
импортируемых модулей из python?.?/site-packages/.
То бишь 99,9% пакетов все равно потребуют питона с набором дополнений 
под его версию. Плохо представляю себе, как должны выглядеть зависимости 
такого пакета. Причем все равно такие программы запросто не будут 
работать под тем или иным питоном даже при наличии нужных модулей.
Разве не проще разобраться с неработоспособностью пакета, увидев в 
репорте gdesklets22, а не gdesklets? Да и класть только 
некомпилированные модули в пакет, это фактически ухудшить качество 
пакета. Скомпилировать его юзер уже не сможет и ему будет выгоднее 
просто скопировать содержимое  к себе в хоум и запускать оттуда. На этот 
слакварный вариант целимся?

>>По моему, это излишнее усложнение. Поддерживается один питон, так и
>>пусть поддерживается.
>>Наоборот скорее от сорцов надо избавлятся (только без размножения 
>>пакетов).
>>    
>>
>Без разможения пакетов - плохо, по-моему. Я сейчас периодически сам
>заглядываю в твистедовые потроха, чтобы понять, что же имелось ввиду в
>доке.
>  
>
я имею в виду не молчаливое удаление *.py как это сделали с *.la, а 
некий инструмент, селектирующий систему после (и в процессе) установки.

А под размножением пакетов я имею в виду следующее:
что у нас сегодня есть из _одного_ пакета/дистрибутива Zope

Zope-DateTime - Date and time representation
Zope-DocumentTemplate - DocumentTemplate - DTML template engine
Zope-Modules - Zope modules used by ZServer and PCGI
Zope-RestrictedPython - RestrictedPython for protected environments
Zope-StructuredText - StructuredText - automatic text markup
Zope-TAL - TAL - XML template engine
Zope-Testing - Testing environment for Zope components
Zope-ZHome - ZHome - sample home directory of ZServer
Zope-ZODB - ZODB and BTrees - object-oriented database ZODB
Zope-ZPublisher - ZPublisher - Zope query proceeding
Zope-ZServer - ZServer - Zope Application Server
Zope-ZUtils - ZUtils - Zope startup and maintenance scripts
Zope-core - Libraries used by Zope and ZODB
Zope-ReST - ReST - ReStructuredText Document for Zope
Zope-reStructuredText - reStructuredText - enhanced automatic text markup

То есть один дистрибутив расщепился на 15 пакетов, что уже много.

Представим себе еще расщепление на *.py *pyc и *.pyo и получим 30/45 
пакетов из одного дистра зопа.
Добавим туда немножко косяков с автозависимостями в rpm и вполне можно 
бежать за веревкой...

Замечу, что зоп, это здорово, но еще далеко не все.

Вот, что дополнительно используется только на www.linux-os.ru (ничего 
такого специфичного)

ArchExample    
CMFCalendar     
CMFQuickInstallerTool 
Epoz            
MailManager                 
TranslationService
ArchGenXML     
CMFCore           
CMFTopic              
Formulator      
PlacelessTranslationService 
UserTrack
Archetypes     
CMFDefault        
CMFUserTrackTool      
GroupUserFolder 
PloneSearchBox              
ZWiki
BTreeFolder2   
CMFFormController  
Localizer       
PloneWebMail               
CMFActionIcons 
CMFMessage                 
MPoll           
PortalTransforms            
generator
CMFBoard       
CMFPlone          
DCWorkflow            
MailBoxer       
PortalTransport             
validation

Перемножим и это на два/три пакета и получим совсем кашу.

>>>7. Программы, имеющие такую привязку (н-р, идущие вместе с конкретной
>>> версией питона) иcпользуют #!/usr/bin/env python<version> ...
>>> и могут таскать за собой байткод.
>>>      
>>>
>>В скриптах? и вы согласны переписывать все скрипты в модуле при переходе 
>>версий???
>>    
>>
>Если эти _скрипты_ завязаны на данную версию питона: да, согласен.
>Но, мой опыт (сборки twisted) показывает, что достаточно внятно разделить:
>вот этот пакет - модул{ь,и}, он[и] привязан[ы] к версии питона, а вот
>это - скрипты [из /usr/bin], которые одинаково хорошо работают как с
>твистедом, собранным под 2.2, так и с твистедом, собранным под 2.3
>  
>

а какой смысл в разделении? не проще ли собрать два пакета вместо 
четырех, полностью их скомпилировать и в дальнейшем сопровождать?

>>>8. Некоторое время назад Андрей предлагал в "боевых" пакетах таскать
>>> только байткод, а .py заворачивать в отдельные пакеты "для
>>> интересующихся" (по моему разумению, по схеме, напоминающей то, что
>>> делает Алекс Отт для емакса, хотя _это мои предположения_)
>>>      
>>>
>>И наплодить еще дубликатов-пакетов пачку.
>>    
>>
>У Андрея были практические соображения, почему в боевую версию НЕ надо
>пихать сорцы. С другой стороны, мой небольшой практический опыт
>показывает, что сорцы _иногда_ нужны.
>  
>
мой опыт говорит, что сырцы нужны всегда или почти всегда.
вот сейчас пытаюсь завести науменовскую crm 2.3 без сырцов и ни хрена не 
получается.
версия 2.2 с сырцами завелась практически сразу, потому как из них было 
видно, что конкретно не устраивает программу.

>>У меня вот зреет какое то общее средство под кодовым названием stripper.
>>    
>>
>...
>  
>
>>Также можно поставить правила по умолчанию и они будут срабатывать при 
>>установке пакетов сами.
>>    
>>
>Это никак не упихивается в рамки distutils?
>  
>
/usr/lib/python2.3/site-packages/libaltdist.py ?
не похоже.
Эта штука должна по идее сопровождать установленную систему все время 
его существования (как апт или control) и даже иметь страничку в 
конфигураторе (которого нет).
Вобщем пока все слишком непонятно, чтобы обсуждать рамки.

>>Незрело, конечно, но по моему, вполне может получится...
>>    
>>
>Показывайте.
>
попробую ближе к выходным.




  parent reply	other threads:[~2004-02-12  8:29 UTC|newest]

Thread overview: 193+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-02-09 12:47 [devel] alternatives && postfix Grigory Milev
2004-02-09 12:47 ` Grigory Milev
2004-02-09 14:03 ` Алексей Любимов
2004-02-09 14:06   ` Алексей Любимов
2004-02-09 14:20   ` [devel] " Michael Shigorin
2004-02-09 14:20     ` Michael Shigorin
2004-02-09 14:45     ` Алексей Любимов
2004-02-09 14:49       ` Алексей Любимов
2004-02-09 15:04       ` Yuri N. Sedunov
2004-02-09 15:04         ` Yuri N. Sedunov
2004-02-09 15:30         ` Алексей Любимов
2004-02-09 15:34           ` Алексей Любимов
2004-02-09 15:44           ` Yuri N. Sedunov
2004-02-09 15:44             ` Yuri N. Sedunov
2004-02-09 15:53             ` Алексей Любимов
2004-02-09 15:56               ` Алексей Любимов
2004-02-09 16:01               ` Alexander Bokovoy
2004-02-09 16:02                 ` Alexander Bokovoy
2004-02-09 16:02                 ` Алексей Любимов
2004-02-09 16:06                   ` Алексей Любимов
2004-02-09 16:00           ` Yuri N. Sedunov
2004-02-09 16:00             ` Yuri N. Sedunov
2004-02-09 19:12         ` Egor S. Orlov
2004-02-09 19:13           ` Egor S. Orlov
2004-02-09 20:01           ` Alexey Lubimov
2004-02-09 20:01             ` Alexey Lubimov
2004-02-10  6:47             ` Egor S. Orlov
2004-02-10  6:48               ` Egor S. Orlov
2004-02-10  9:09               ` Michael Shigorin
2004-02-10  9:09                 ` Michael Shigorin
2004-02-10  9:20                 ` Egor S. Orlov
2004-02-10  9:21                   ` Egor S. Orlov
2004-02-10  9:51                   ` Michael Shigorin
2004-02-10  9:51                     ` Michael Shigorin
2004-02-10 10:21                     ` Egor S. Orlov
2004-02-10 10:22                       ` Egor S. Orlov
2004-02-10 10:23                     ` Yuri N. Sedunov
2004-02-10 10:23                       ` Yuri N. Sedunov
2004-02-09 21:28           ` Yuri N. Sedunov
2004-02-09 21:28             ` Yuri N. Sedunov
2004-02-10 14:14         ` Egor S. Orlov
2004-02-10 14:15           ` Egor S. Orlov
2004-02-10 20:40           ` Andrey Orlov
2004-02-10 20:39             ` Andrey Orlov
2004-02-09 15:09       ` Alexey Morozov
2004-02-09 15:10         ` Alexey Morozov
2004-02-09 15:21         ` Alex Murygin
2004-02-09 15:22           ` Alex Murygin
2004-02-09 15:53           ` Alexey Morozov
2004-02-09 15:53             ` Alexey Morozov
2004-02-09 15:39         ` Алексей Любимов
2004-02-09 15:43           ` Алексей Любимов
2004-02-09 16:09           ` Alexey Morozov
2004-02-09 16:09             ` Alexey Morozov
2004-02-09 17:32             ` [devel] " Денис Смирнов
2004-02-09 18:09         ` [devel] " Andrey Orlov
2004-02-09 18:08           ` Andrey Orlov
2004-02-09 18:29           ` Michael Shigorin
2004-02-09 18:29             ` Michael Shigorin
2004-02-09 19:04             ` Alexey Lubimov
2004-02-09 19:04               ` Alexey Lubimov
2004-02-09 19:13             ` Andrey Orlov
2004-02-09 19:12               ` Andrey Orlov
2004-02-09 19:37               ` Michael Shigorin
2004-02-09 19:37                 ` Michael Shigorin
2004-02-09 21:18                 ` Andrey Orlov
2004-02-09 21:24                   ` Andrey Orlov
2004-02-09 20:23               ` Alexey Lubimov
2004-02-09 20:23                 ` Alexey Lubimov
2004-02-09 20:54                 ` Andrey Orlov
2004-02-09 20:53                   ` Andrey Orlov
2004-02-09 22:26                   ` Alexey Lubimov
2004-02-09 22:27                     ` Alexey Lubimov
2004-02-09 23:43                     ` Andrey Orlov
2004-02-10  0:02                       ` Andrey Orlov
2004-02-09 21:25                 ` Andrey Orlov
2004-02-09 21:24                   ` Andrey Orlov
2004-02-09 22:31                   ` Alexey Lubimov
2004-02-09 22:31                     ` Alexey Lubimov
2004-02-10  0:01                     ` Andrey Orlov
2004-02-10  0:02                       ` Andrey Orlov
2004-02-10  7:43                       ` Алексей Любимов
2004-02-10  7:46                         ` Алексей Любимов
2004-02-10  8:04                         ` Alexey Morozov
2004-02-10  8:04                           ` Alexey Morozov
2004-02-10  8:28                           ` Andrey Orlov
2004-02-10  8:27                             ` Andrey Orlov
2004-02-10  8:46                             ` [devel] [JT] " Alexey Morozov
2004-02-10  8:46                               ` Alexey Morozov
2004-02-10  9:05                               ` Andrey Orlov
2004-02-10  9:04                                 ` Andrey Orlov
2004-02-10 16:06                             ` [devel] " Anton Farygin
2004-02-10 16:06                               ` Anton Farygin
2004-02-10  9:19                           ` Алексей Любимов
2004-02-10  9:22                             ` Алексей Любимов
2004-02-10 10:15                             ` [devel] Python Modules Policy: (was: alternatives && postfix) Alexey Morozov
2004-02-10 10:15                               ` Alexey Morozov
2004-02-10 15:51                               ` [devel] Python Modules Policy: Алексей Любимов
2004-02-10 15:54                                 ` Алексей Любимов
2004-02-10 17:44                                 ` Andrey Orlov
2004-02-10 17:53                                   ` Andrey Orlov
2004-02-10 18:28                                   ` Алексей Любимов
2004-02-10 19:27                                     ` Алексей Любимов
2004-02-11  6:04                                     ` Andrey Orlov
2004-02-11  6:03                                       ` Andrey Orlov
2004-02-11  9:50                                 ` Alexey Morozov
2004-02-11 13:46                                   ` [devel] " Andrey Khavryuchenko
2004-02-16  8:07                                     ` Andrey Orlov
2004-02-16 10:07                                       ` Алексей Любимов
2004-02-16 21:36                                         ` Andrey Orlov
2004-02-17 10:15                                           ` Алексей Любимов
2004-02-16 10:20                                       ` Alexey Morozov
2004-02-16 13:06                                         ` Andrey Orlov
2004-02-12  8:29                                   ` Алексей Любимов [this message]
2004-02-12 10:03                                     ` [devel] " Alexey Morozov
2004-02-12 15:22                                       ` Алексей Любимов
2004-02-12 16:15                                         ` Alexey Morozov
2004-02-12 17:10                                           ` Алексей Любимов
2004-02-12 17:44                                             ` Alexey Morozov
2004-02-13 11:21                                             ` [devel] [JT] " Michael Shigorin
2004-02-16  8:46                               ` [devel] Python Modules Policy: (was: alternatives && postfix) Andrey Orlov
2004-02-16  9:00                                 ` [devel] (was: Python Modules Policy) Andrey Orlov
2004-02-16 11:03                                   ` Alexey Morozov
2004-02-16 13:02                                     ` Andrey Orlov
2004-02-16 13:48                                       ` Alexey Morozov
2004-02-16 13:24                                     ` Andrey Orlov
2004-02-16 13:51                                       ` Alexey Morozov
2004-02-17  8:01                                         ` Andrey Orlov
2004-02-21 18:52                                           ` Dmitry V. Levin
2004-02-23 12:11                                             ` Alexey I. Froloff
2004-02-16  9:10                                 ` [devel] Python Modules Policy: (was: alternatives && postfix) Andrey Orlov
2004-02-10  8:17                         ` [devel] Re: alternatives && postfix Andrey Orlov
2004-02-10  8:16                           ` Andrey Orlov
2004-02-10  8:20                         ` Andrey Orlov
2004-02-10  8:19                           ` Andrey Orlov
2004-02-10  1:27               ` Alexey Tourbin
2004-02-10  1:28                 ` Alexey Tourbin
2004-02-10  6:52                 ` Andrey Orlov
2004-02-10  6:51                   ` Andrey Orlov
2004-02-10  7:45                   ` Alexey Morozov
2004-02-10  7:45                     ` Alexey Morozov
2004-02-10  8:11                     ` Andrey Orlov
2004-02-10  8:10                       ` Andrey Orlov
2004-02-10  8:30                       ` Alexey Morozov
2004-02-10  8:30                         ` Alexey Morozov
2004-02-10  8:37                         ` Andrey Orlov
2004-02-10  8:36                           ` Andrey Orlov
2004-02-10  8:46                       ` Vitaly Ostanin
2004-02-10  8:46                         ` Vitaly Ostanin
2004-02-10  9:06                         ` Andrey Orlov
2004-02-10  9:05                           ` Andrey Orlov
2004-02-10  7:42               ` Alexey Morozov
2004-02-10  7:42                 ` Alexey Morozov
2004-02-10  7:55                 ` Andrey Khavryuchenko
2004-02-10  7:56                   ` Andrey Khavryuchenko
2004-02-10  8:25                   ` Alexey Morozov
2004-02-10  8:25                     ` Alexey Morozov
2004-02-10  8:11                 ` Andrey Orlov
2004-02-10  8:10                   ` Andrey Orlov
2004-02-10  8:42                   ` Alexey Morozov
2004-02-10  8:42                     ` Alexey Morozov
2004-02-10  9:04                     ` Andrey Orlov
2004-02-10  9:03                       ` Andrey Orlov
2004-02-10  7:24             ` Alexey Morozov
2004-02-10  7:24               ` Alexey Morozov
2004-02-10 21:19     ` [devel] Administrativia Dmitry V. Levin
2004-02-10 21:19       ` Dmitry V. Levin
2004-02-11 15:58       ` [devel] Muchos gracios Michael Shigorin
2004-02-09 15:36   ` [devel] alternatives && postfix Grigory Milev
2004-02-09 15:36     ` Grigory Milev
2004-02-09 17:05 ` Денис Смирнов
2004-02-09 20:07   ` Re[2]: " Volkov Serge
2004-02-09 19:45     ` Valery V. Inozemtsev
2004-02-09 20:46       ` Valery V. Inozemtsev
2004-02-10 10:04       ` Grigory Milev
2004-02-10 10:04         ` Grigory Milev
2004-02-09 20:34     ` Re[2]: " Volkov Serge
2004-02-10 10:00   ` Grigory Milev
2004-02-10 10:01     ` Grigory Milev
2004-02-10 21:22 ` Dmitry V. Levin
2004-02-10 21:22   ` Dmitry V. Levin
2004-02-11  8:48   ` Grigory Milev
2004-02-11  8:42     ` Grigory Milev
2004-02-11 12:28     ` Alexei Takaseev
2004-02-11 12:44       ` Grigory Milev
2004-02-11 12:38         ` Grigory Milev
2004-02-11 12:48         ` Alexei Takaseev
2004-02-11 13:04           ` Grigory Milev
2004-02-11 12:58             ` Grigory Milev
2004-02-11 13:14             ` Alexei Takaseev
2004-02-11 13:54               ` Grigory Milev
2004-02-11 14:03                 ` vserge
2004-02-11 17:58                 ` Денис Смирнов

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=402B3987.80901@l14.ru \
    --to=avl@l14.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