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] Q: second class packages in Sisyphus
Date: Mon, 12 Jul 2010 23:17:03 +0400
Message-ID: <20100712191703.GM23050@altlinux.org> (raw)
In-Reply-To: <20100712165906.GE19836@wo.int.altlinux.org>

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

On Mon, Jul 12, 2010 at 08:59:06PM +0400, Dmitry V. Levin wrote:
> On Mon, Jul 12, 2010 at 08:54:50PM +0400, Alexey Tourbin wrote:
> > On Sun, Jul 11, 2010 at 01:26:51PM +0400, Dmitry V. Levin wrote:
> > > On Sun, Jul 11, 2010 at 12:33:57PM +0400, Dmitry V. Levin wrote:
> > > > gb-task-repo-elfsym был обманут наличием в Сизифе пакета libtiff3:
> > > 
> > > Налицо проблема: второсортные пакеты, которые некоторые мейнтейнеры хотят
> > > видеть в Сизифе для обеспечения обратной совместимости с третьесортными
> > > пакетами, которых в Сизифе нет, мешают полноценно поддерживать основные
> > > пакеты.
> > > 
> > > Я вижу два потенциальных решения проблемы:
> > > - упразднить все глобальные проверки;
> > 
> > А чем плохи глобальные проверки (такие как gb-task-repo-elfsym),
> > кроме того, что они могут оказаться недостаточны?
> 
> Они создают иллюзию почвы под ногами.  Чем больше в Сизифе второсортных
> пакетов, тем более зыбкая почва.

У проверок elfsym и unmets есть два интресных свойства.
1) Они не дают ложных срабатываний (не считая проприетарных драйверов).
Иначе можно сказать, что они проверяют необходимые условия.  Увы, эти
необходимые условия довольно слабые.
2) Они работают быстро.

Эти два свойства в сумме означают, что эти проверки могут работать
совершенно автоматически, проверять за ними каждый раз не надо,
и "хуже не будет".

Можно усовершенствовать проверку elfsym, добивив "локальные" условия -
засчитывать разрешимость только по слинкованным библиотекам.  Но это
сразу открывает a can of wo^W corner cases, начиная с того, что нужно
ассоциировать файлы и сонеймы (см. warning чуть ниже), и кончая тем,
что такая проверка будет зарубать недолинкованные плагины, а в схеме
c -rdynamic executable недолинкованные плагины будут неизбежны (примеры:
/bin/zsh, /usr/bin/Xorg).  И, кроме того, ELF всё же разрешает
транзитивное разрешение символов.  И, кроме того, при большом желании
в ELF можно зашить DT_NEEDED = libc-2.10.so вместо libc.so.6.

Я уже когда-то рисовал такой скрипт - qa-robot/linkage_problems.
Жду когда он что-нибудь покажет.  Пока вижу только warnings.

[at@people at]$ workdir=$PWD linkage_problems -p /ALT/Sisyphus/files/x86_64/RPMS/
warning: libbfl-devel-0.6.1-alt1.svn20090324.x86_64.rpm: unmapped sonames:
liborocos-bfl.so
warning: libmediainfo-devel-0.7.28-alt4.x86_64.rpm: unmapped sonames:
libmediainfo.so
warning: libmnogosearch-3.3.8-alt1.x86_64.rpm: unmapped sonames:
libmnogosearch-3.3.so
warning: libnumpy-devel-2.0.0-alt1.svn20100607.x86_64.rpm: unmapped sonames:
libnpymath.so
warning: libpano13-devel-2.9.17-alt0.beta1.x86_64.rpm: unmapped sonames:
libpano13.so
warning: libpastix-2200-alt8.x86_64.rpm: multimapped sonames:
libpastix_murge.so.0    /usr/lib/pastix/lib/libpastix_murge.so.0.22.00
libpastix_murge.so.0    /usr/lib64/libpastix_murge.so.0.22.00
warning: libtbb-devel-30_20100310-alt2.x86_64.rpm: unmapped sonames:
libtbb.so
libtbbmalloc.so
warning: libwebkit-1.2.1-alt1.x86_64.rpm: unmapped sonames:
libwebkit-1.0.so.2.13.0
warning: libzen-devel-0.4.11-alt2.x86_64.rpm: unmapped sonames:
libzen.so
warning: skrooge-0.5.3-alt1.x86_64.rpm: multimapped sonames:
libskgbankgui.so.1      /usr/lib64/kde4/plugins/designer/libskgbankgui.so.0.5.3
libskgbankgui.so.1      /usr/lib64/libskgbankgui.so.0.5.3
libskgbasegui.so.1      /usr/lib64/kde4/plugins/designer/libskgbasegui.so.0.5.3
libskgbasegui.so.1      /usr/lib64/libskgbasegui.so.0.5.3

Короче такой скрипт уже нельзя заряжать автоматически - скорее,
он дает пищу для QA.

А если взять проверку unmets, то вместо неё нужно проверять
устанавливаемсть каждого пакета в репозитории (точнее, чтобы
устанавливаемсть пакетов не ухудшалось).  Но это, во-первых, долго будет
работать.  А во-вторых, в апте есть corner cases при выборе пакетов
(типа tetex vs texlive).

В общем смысл примерно такой, что глобальные проверки на данном этапе -
это не самое глупое, что удалось придумать.  Увы, мы на зыбкой почве.
Но иногда страховка срабатывает, а иногда - нет.

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

  reply	other threads:[~2010-07-12 19:17 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-07-10 23:43   ` [devel] Fwd: hylafax-5.2.7-alt5: Sisyphus/i586 test rebuild failed Led
2010-07-11  6:40     ` Денис Смирнов
2010-07-11  8:33       ` Dmitry V. Levin
2010-07-11  9:26         ` [devel] Q: second class packages in Sisyphus Dmitry V. Levin
2010-07-11 15:07           ` Michael Shigorin
2010-07-11 19:08             ` Yuri N. Sedunov
2010-07-12  5:14           ` Денис Смирнов
2010-07-12 16:47             ` Dmitry V. Levin
2010-07-12 16:54           ` Alexey Tourbin
2010-07-12 16:59             ` Dmitry V. Levin
2010-07-12 19:17               ` Alexey Tourbin [this message]
2010-07-12 20:19                 ` [devel] linkage_problems abiword unjoined Alexey Tourbin
2010-07-13  8:07                   ` Alexey Tourbin
2010-07-13  9:37                     ` Alexey Tourbin
2010-07-13 10:05                       ` Dmitry V. Levin
2010-07-13 10:37                     ` Kirill A. Shutemov
2010-07-12 22:10                 ` [devel] unjoined g_free Alexey Tourbin
2010-07-12 23:50                   ` Dmitry V. Levin
2010-07-15  8:01                   ` [devel] [cross] " Ildar Mulyukov
2010-07-12  5:17         ` [devel] Fwd: hylafax-5.2.7-alt5: Sisyphus/i586 test rebuild failed Денис Смирнов

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=20100712191703.GM23050@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