ALT Linux Team development discussions
 help / color / mirror / Atom feed
From: "Денис Смирнов" <mithraen@altlinux.ru>
To: devel@altlinux.ru, sisyphus@altlinux.ru
Subject: Re: [devel] Мусор в quis
Date: Mon, 1 Mar 2004 20:01:37 +0300
Message-ID: <20040301170137.GH10460@localhost.localdomain> (raw)
In-Reply-To: <20040301042520.GF1875@solemn.turbinal.org>

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

On Mon, Mar 01, 2004 at 07:25:20AM +0300, Алексей Турбин wrote:

 >> 1. Убиение дупов. Периодически в разных пакетах я вижу полосы из нескольких
 >> /bin/sh, иногда и другие пакеты также дупятся. Это хоть и некритично, но
 AT> AFAIK, дупы уже убиваются, в пределах каждой стадии зависимостей.
 AT> Насчет /bin/sh вообще согласен: самые частые зависимости обычно самые
 AT> бесполезные (я даже убиваю некоторые бесполезные зависимости в
 AT> /usr/lib/rpm/perl.req).  Система, в которой нет /bin/sh, просто
 AT> непригодна для какого-либо обновления.  Зависимость на /bin/sh нужна
 AT> в архи-частных случаях. :)

По крайней мере зависимость на функцию шелл-скрипта должна быть
достаточным поводом, чтобы убрать зависимость на /bin/sh.

А насчёт дупов... В аттаче пример списка requires из одного пакета.

 >> 2. Если требется, например libc.so.6 и libc.so.6(GLIBC_2.0), то первая запись
 AT> Прикрутите ispell к редактору.

man что? (редактор -- vim).

>> явно не имеет смысла ни для apt, ни для rpm (любой пакет которой provides
>> второй вариант обязательно будет provides первый вариант, насколько я понимаю).
>> Решение: для каждой зависимости вида lib([a-z]+).so.(\d+)\(.*\) удалять
>> зависимость вида lib$1.so.$2
 AT> Тогда будет невозможен анализ зависимостей типа
 AT> apt-get showpkg lib$1.so.$2
 AT> т.е. "общий знаменатель" имеет смысл.

Мда. Без более глубокого копания в apt сделать красиво не получится
(хорошо бы научить apt обрабатывать "виртуальные" зависимости, которые
физически не прописаны, но подразумеваются). А пока действительно в этом
смысле ваш вариант оказывается лучше.

>> 3. Привожу пример:
>>     - libc.so.6
>>     - libc.so.6(GLIBC_2.0)
>>     - libc.so.6(GLIBC_2.1)
>>     - libc.so.6(GLIBC_2.1.2)
>>     - libc.so.6(GLIBC_2.1.3)
>>     - libc.so.6(GLIBC_2.2)
>> Красиво? Логика мне подсказывает, что лишь последняя запись здесь имеет смысл.
 AT> Тогда первая и последняя.  Но произвольный формат symbol versioning
 AT> может не совпадать с rpmvercmp, а не хотелось бы внедрять неточные
 AT> алгоритмы.

Для начала можно обработать конкретный частный случай.

 >> 5. libXXX и libXXX.so.Y
 >> Логика мне подсказывает, что вторая зависимость такого вида чаще всего
 >> является лишь уточнением первой.
 AT> Логика также подсказывает, что первая зависимость появилась вручную, а
 AT> вторая -- автоматически.  Из чего вывод: не надо проставлять зависимости
 AT> вручную, кроме особых случаев.

Претензии не ко мне :)

>> 6. Есть пары пакетов, один из которых всегда требует другого. Обычно это
>> какая-то программа, и основная библиотека, на которой она построена. Кроме
>> того есть пакеты, всегда представляющие пару provides (например sh, который
>> предоставляет sh и /bin/sh).
>> 
>> Примеры:
>>  - tcl и libtcl
>>  - tk и libtk
>>  - acl и libacl
>>  - sh и /bin/sh
>> 
>> Предложение: добавить механизм замен пар (или групп) пакетов на один, например:
>> 
>> tcl + libtcl -> tcl
>> tk + libtk   -> tk
>> acl + libacl -> acl
>> sh + /bin/sh -> sh
 AT> У меня были мысли не эту тему, см.
 AT> Sun, 16 Nov 2003 [devel] packagereq/buildreq proposal
 AT> 20031116145830.GC1863@julia.office.altlinux.ru

Можно ссылочку, или копию?
 
>> Вопрос -- оно нам надо? В смысле -- я могу это сделать, но это имеет смысл
 AT> Думаю, что надо, но не всё сразу. :)
 AT> В целом, нужно стремиться к точным алгоритмам, а это сложнее, чем хаки.

Разумеется. С другой стороны можно идти последовательным улучшением
(добавляя хаки, логика которых прозрачна и работоспособность
гарантирована).

-- 
С уважением, Денис

http://dimline.ru/

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

  reply	other threads:[~2004-03-01 17:01 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-02-29 22:13 [devel] Мусор в Requires Денис Смирнов
2004-02-29 22:20 ` [devel] Мусор в requires Денис Смирнов
2004-02-29 23:12   ` Денис Смирнов
2004-03-01  4:25 ` [devel] Re: Мусор в Requires Alexey Tourbin
2004-03-01 17:01   ` Денис Смирнов [this message]
2004-03-01  8:32 ` [devel] " Andrey Orlov
2004-03-01 16:53   ` [devel] Мусор в quis Денис Смирнов
2004-03-01 21:59     ` Andrey Orlov
2004-03-02 10:44       ` Денис Смирнов
2004-03-02 11:42     ` Dmitry V. Levin
2004-03-01 17:24   ` [devel] Re: Мусор в Requires Michael Shigorin

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=20040301170137.GH10460@localhost.localdomain \
    --to=mithraen@altlinux.ru \
    --cc=devel@altlinux.ru \
    --cc=sisyphus@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