From: Igor Vlasenko <vlasenko@imath.kiev.ua>
To: devel@lists.altlinux.org
Subject: [devel] unmets policy
Date: Tue, 15 Sep 2009 18:25:10 +0300
Message-ID: <20090915152510.GA24809@dad.imath.kiev.ua> (raw)
Уважаемые господа,
раз уже с карманами у нас не складывается,
предлагаю к обсуждению
http://www.altlinux.org/Unmets_Creation_Policy
Unmets Creation Policy.
-----------------------
== Вводная часть ==
Unmets (unmet dependencies) -- зависимости пакета, которые
не могут быть разрешены в существующем репозитарии.
В Сизифе не рекомендуется создавать unmet dependencies.
Рекомендуется переводить транзакциями репозитарий
с одного устойчивого состояния в другое.
К сожалению, пока (до появления надлежащей реализации карманов?)
некоторые транзакции и workflows сборочницей не поддерживаются.
В частности, не поддерживаются транзакции, включающие в себя несколько версий
одного и того же пакета (bootstrap-сборка).
Получается противоречие: сборочница не позволяет создать unmets,
в то время как для того, чтобы обновить пакет, unmets необходимо создать.
Это противоречие можно обойти, спрятав unmets под ковер:
создав пакет-заглушку, который обманывает сборочную систему,
фиктивно предоставляя отсутствующие Provides:.
Однако наличие таких пакетов в Сизифе создает другие проблемы,
устранение которых является целью данного полиси.
== Требования к пакетам, прячущим unmets ==
Реальные пакеты не должны иметь фиктивных (закрывающих unmets) Provides.
Фиктивные Provides необходимо выделять в отдельный исходный пакет.
Название пакета должно иметь вид unment-dependency-<пакет, породивший unments>.
Обоснование: легкая фильтрация таких пакетов.
Рекомендуется делать пакет с фиктивными Provides: не устанавливаемым.
Для этого рекомендуется создавать файловый конфликт на существующий пакет.
AutoReqProv: noauto
Requires(pre): diffutils.
...
touch $RPM_BUILD_ROOT/usr/bin/diff
...
%files
/usr/bin/diff
Обоснование: чтобы пока в процессе обновления Сизиф разломан,
пользователи не могли обновиться до разломанного состояния.
Рекомендуется ставить в пакете AutoReqProv: noauto,
все фиктивные Provides: прописывать вручную.
Обоснование: во избежание. Например, в примере выше можно на
автомате получить Provides: /usr/bin/diff.
== Требования к сборочной системе ==
желательно иметь возможность принудительное удалять пакеты,
несмотря на возникающие unmets.
В крайнем случае, при удалении пакета вида unment-dependency-*
проверка на возникающие unmets не должна проводиться.
--
Dr. Igor Vlasenko
--------------------
Topology Department
Institute of Math
Kiev, Ukraine
next reply other threads:[~2009-09-15 15:25 UTC|newest]
Thread overview: 51+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-09-15 15:25 Igor Vlasenko [this message]
2009-09-15 16:29 ` Dmitry V. Levin
2009-09-15 16:51 ` Igor Vlasenko
2009-09-15 18:20 ` Dmitry V. Levin
2009-09-15 19:17 ` Alexey Tourbin
2009-09-15 19:36 ` Денис Смирнов
2009-09-15 19:42 ` Alexey I. Froloff
2009-09-15 19:52 ` Dmitry V. Levin
2009-09-15 20:35 ` Alexey Tourbin
2009-09-16 3:03 ` Денис Смирнов
2009-09-16 10:32 ` Alexey Tourbin
2009-09-16 17:32 ` Денис Смирнов
2009-09-16 19:28 ` Alexey Tourbin
2009-09-16 7:16 ` [devel] bootstrap (was Re: unmets policy) Ivan A. Melnikov
2009-09-16 11:03 ` Alexey Tourbin
2009-09-16 17:38 ` Денис Смирнов
2009-09-16 17:59 ` Vladislav Zavjalov
2009-09-16 22:27 ` Денис Смирнов
2009-09-17 7:09 ` Vladislav Zavjalov
2009-09-17 7:35 ` Kirill A. Shutemov
2009-09-17 8:03 ` Dmitry V. Levin
2009-09-17 8:47 ` Kirill A. Shutemov
2009-09-17 18:14 ` Денис Смирнов
2009-09-17 18:12 ` Денис Смирнов
2009-09-17 18:25 ` Vladislav Zavjalov
2009-09-17 18:44 ` Vladislav Zavjalov
2009-09-17 20:41 ` Dmitry V. Levin
2009-09-17 3:50 ` Alexey Tourbin
2009-09-17 6:54 ` Vladislav Zavjalov
2009-09-17 21:21 ` Денис Смирнов
2009-09-17 21:37 ` Dmitry V. Levin
2009-09-17 23:50 ` Денис Смирнов
2009-09-16 19:09 ` Dmitry V. Levin
2009-09-16 22:27 ` Денис Смирнов
2009-09-16 23:01 ` Dmitry V. Levin
2009-09-17 18:16 ` Денис Смирнов
2009-09-17 20:42 ` Dmitry V. Levin
2009-09-16 17:33 ` Денис Смирнов
2009-09-16 8:28 ` [devel] unmets policy Vladislav Zavjalov
2009-09-16 10:55 ` Alexey Tourbin
2009-09-16 12:32 ` Vladislav Zavjalov
2009-09-16 18:00 ` Vladislav Zavjalov
2009-09-23 16:17 ` [devel] unmets policy - summary Igor Vlasenko
2009-09-28 19:34 ` Michael Shigorin
2009-09-29 18:29 ` Igor Vlasenko
2009-09-29 23:38 ` Alexey Tourbin
2009-09-30 7:12 ` Igor Vlasenko
2009-09-30 8:25 ` Alexey Tourbin
2009-09-30 8:52 ` Igor Vlasenko
2009-10-02 18:42 ` Igor Vlasenko
2009-09-30 9:37 ` Денис Смирнов
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=20090915152510.GA24809@dad.imath.kiev.ua \
--to=vlasenko@imath.kiev.ua \
--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