From: Andrey Orlov <cray@neural.ru>
To: ALT Devel discussion list <devel@altlinux.ru>
Subject: Re: [devel] Python Modules Policy: (was: alternatives && postfix)
Date: Mon, 16 Feb 2004 12:10:14 +0300
Message-ID: <200402161210.14350.cray@neural.ru> (raw)
In-Reply-To: <200402161122.02014.cray@neural.ru>
[-- Attachment #1: Type: text/plain, Size: 3838 bytes --]
On Monday 16 February 2004 11:46, Andrey Orlov wrote:
> что с Obsoletes / Conflicts разобрался только-только. Я поставил Conflicts.
> Причины и подробное описание будут в отдельном письме, тестовый пакет
> в дедалусе будет сегодня или завтра.
Введение :
В существующем варианте системы зависимостей на пакетах python и модулей
к ним, существует проблема, состоящая в несостоятельности системы
ограничений, например:
Zope требует python23
Zope требует MySQLdb
MySQLdb требует python22
Приведет к установке Zope, python23, MySQLdb & python22, что окажется
нераобтоспособным. Возможное решение состоит в внесении дополнительного
ограничения на совместную установку python23 & python22, что может быть
не очень удобно для некоторых пользователей, готовых "рискнуть".
Предлагаемое решение :
Спеки для мистического пакета test & test-module лежат в атаче, чбы
пример заработал, в /etc/apt/pkgpriorities нужно добавить строчки
test23, test23-strict, test22-weak (Кстати, к кому обращатся по поводу
их внесения на постоянной основе для пакетов python?).
Чбы проиллюстрировать работу, просто приведу несколько команд:
1. Установка старой версии :
apt-get install test22
2.1 Обновление ее до новой версии (старая версия будет снесена):
apt-get install test23
2.2 Установка новой версии с сохранением старой (для тех кому
надо):
apt-get install test23-weak
2.2.1 Удаление старой версии
apt-get install test23-strict
Обычные пользователи проводят систему через стадии 1, 2.1; Разработчики,
которым некоторое время могут быть реально нужны обе версии python,
проводят систему через стадии 1, 2.2, 2.2.1, понимая при этом, что на
стадии 2.2 система может оказаться не юзабельной.
Преимущества и недостатки решения :
Раз уж оба пакета можно поставить, то умный apt должен бы находить
решение (недопустимое) в системе ограничений, описанной в "введении",
Правда, в моих опытах apt решение не находит, но я не знаю как к этому
относится: не полному пониманию смысла ограничений мной, или ошибкой в
apt. Если кто-то себя считает авторитетом в apt (LDV?) и ему это
интересно - можно обсудить приватно. Если apt начнет находить решение,
то стоит отказаться от пакетов *weak или вынести их в отдельный
репозиторий, сделав ограничение строгим.
В тоже время, по крайней мере "обычные" варианты апгрейда системы будут
приводить к обязательному сносу старой версии python. Т.о. это работает.
Если кто-то обратил внимание, в спеках прописано ограничение вида
"Conflicts", а не "Obsoletes", из комментариев видно, что "Obsoletes" я
тоже пробовал. Мне показалось (частью потому, как это работает, частью
после чтения ченджлогов и исходников на rpm), что фича rpm Obsoletes в
паре с apt преимуществ не имеет, возможно в силу того, что apt о ее
отличиях от Conflicts просто не знает. Мне проще использовать Conflicts,
так как Obsoletes на виртуальные пакеты не действует, но в принципе с
Obsoletes (см. комментарии) тоже работает.
Есть упрощенный вариант, в котором нет пакета test23-strict, а его функции
берет на себя пакет test23, этот вариант тоже работает. Правда, наличие
в заголовке конфликта на самого себя выглядит неким хаком и внушает горячкее желание
поближе ознакомится с обработкой зависимостей в apt/rpm. В принципе, если
я проблем не найду, то именно второй вариант останетя для python.
--
WthBstRgrds -- Андрей Орлов --
--- http: www.neural.ru, mail: cray@neural.ru, jid: cray@altlinux.org ---
----------------------------------------
[-- Attachment #2: test22-module.spec --]
[-- Type: text/plain, Size: 386 bytes --]
%define curver 22
%define prever 21
Version: 2.3.3
Release: alt5.99
Name: test%curver-module
Summary: Stupid module
License: PSF
Group: Development/Python
Url: http://www.python.org/
Packager: Python Development Team <python@packages.altlinux.org>
Provides: test-module
Requires: test%curver-core
%description
test
package.
%prep
%build
%install
%__mkdir_p $RPM_BUILD_ROOT
%files
[-- Attachment #3: test23-module.spec --]
[-- Type: text/plain, Size: 386 bytes --]
%define curver 23
%define prever 22
Version: 2.3.3
Release: alt5.99
Name: test%curver-module
Summary: Stupid module
License: PSF
Group: Development/Python
Url: http://www.python.org/
Packager: Python Development Team <python@packages.altlinux.org>
Provides: test-module
Requires: test%curver-core
%description
test
package.
%prep
%build
%install
%__mkdir_p $RPM_BUILD_ROOT
%files
[-- Attachment #4: test23.spec --]
[-- Type: text/plain, Size: 1138 bytes --]
%define curver 23
%define prever 22
Version: 2.3.3
Release: alt5.991
Name: test%curver
Summary: An interpreted, interactive object-oriented programming language
License: PSF
Group: Development/Python
Url: http://www.python.org/
Packager: Python Development Team <python@packages.altlinux.org>
Provides: test
Requires: test%curver-core
%description
test
package.
%package weak
Summary: Python with weak conflicts: using with python22 are allowed
Group: Development/Python
Provides: test%curver-core
Conflicts: test%curver-strict
Requires: test%curver-base
%description weak
%package strict
Summary: Python with weak conflicts: using with python22 are allowed
Group: Development/Python
Provides: test%curver-core
Conflicts: test%curver-weak
Requires: test%curver-base
#Obsoletes: test%prever-core
Conflicts: test%prever-core
#Obsoletes: test%prever-strict
#Obsoletes: test%prever-weak
%description strict
%package base
Summary: Base python modules and executables
Group: Development/Python
Requires: test%curver-core
%description base
%prep
%build
%install
%__mkdir_p $RPM_BUILD_ROOT
%files
%files weak
%files strict
%files base
[-- Attachment #5: test22.spec --]
[-- Type: text/plain, Size: 1138 bytes --]
%define curver 22
%define prever 21
Version: 2.3.3
Release: alt5.991
Name: test%curver
Summary: An interpreted, interactive object-oriented programming language
License: PSF
Group: Development/Python
Url: http://www.python.org/
Packager: Python Development Team <python@packages.altlinux.org>
Provides: test
Requires: test%curver-core
%description
test
package.
%package weak
Summary: Python with weak conflicts: using with python22 are allowed
Group: Development/Python
Provides: test%curver-core
Conflicts: test%curver-strict
Requires: test%curver-base
%description weak
%package strict
Summary: Python with weak conflicts: using with python22 are allowed
Group: Development/Python
Provides: test%curver-core
Conflicts: test%curver-weak
Requires: test%curver-base
#Obsoletes: test%prever-core
Conflicts: test%prever-core
#Obsoletes: test%prever-strict
#Obsoletes: test%prever-weak
%description strict
%package base
Summary: Base python modules and executables
Group: Development/Python
Requires: test%curver-core
%description base
%prep
%build
%install
%__mkdir_p $RPM_BUILD_ROOT
%files
%files weak
%files strict
%files base
next prev parent reply other threads:[~2004-02-16 9:10 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 ` [devel] " Алексей Любимов
2004-02-12 10:03 ` 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 ` Andrey Orlov [this message]
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=200402161210.14350.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