ALT Linux Team development discussions
 help / color / mirror / Atom feed
From: Alexey Tourbin <at@altlinux.ru>
To: ALT Devel discussion list <devel@lists.altlinux.org>
Subject: Re: [devel] symlinks.req: semi-unmets
Date: Tue, 7 Aug 2007 03:34:49 +0400
Message-ID: <20070806233448.GI7530@solemn.turbinal> (raw)
In-Reply-To: <20070806222048.GH7530@solemn.turbinal>

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

On Tue, Aug 07, 2007 at 02:20:48AM +0400, Alexey Tourbin wrote:
> ЗАОСТРЯЮ ПРОБЛЕМУ "ПОЛУ-АНМЕТОВ".
> 
> 
> Это проблема проявляется тогда, когда зависимость имеет вид /ПУТЬ,
> но у соответствующего пакета не стоит Provides: /ПУТЬ.  На уровне
> rpm это не является unmet'ом: если при установке пакета с такой
> зависимостью имеется какой-либо другой пакет с файлом /ПУТЬ,
> то для rpm это "канает".
> 
> С другой стороны, apt видит такую зависимость именно как unmet.
> Вообще-то у апта к каждому пакету есть файловые листы, и он использует
> их для разрешения такого рода зависимостей.  Но при изготовлении
> репозитария аптовые листы у нас насильно "оптимизируются".
> 
> Два простых варианта решения это проблемы:
> 
> 1) Генерировать более полный content_index для hasher, чтобы любой путь
> более гарантированно трансформировался в название пакета (насколько
> более полный/гарантированно?).
> 
> 2) Восстановить файловые листы для апт.  Насколько потяжелеет
> pkglist.classic.bz2?

Если мыслей нет, то утро вечера мудренее.  Пока есть только идея
захачить hsh-sh-cache-contents-functions, чтобы он изготовлял
contents_index_all.gz.

Кстати, там есть ошибочка, из-за которой дупы могут не отлавливаться.

$ grep /sbin/ifup build/cache/contents/contents_index_bin 
/sbin/ifup      etcnet
/sbin/ifup      net-scripts
$

Это потому что net-scripts из i586 а etcnet из noarch.

--- /usr/bin/hsh-sh-cache-contents-functions-	2007-06-16 13:11:39 +0000
+++ /usr/bin/hsh-sh-cache-contents-functions	2007-08-06 23:29:22 +0000
@@ -195,6 +195,8 @@ create_contents()
 		Fatal 'Failed to create contents index.'
 	fi
 
+	sort -u -o "$contents" "$contents"
+
 	if ! LC_COLLATE=C prepare_contents "$tmpdir" >"$contents_index_bin"; then
 		rm -rf "$tmpdir"
 		Fatal 'Failed to prepare contents index.'

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

  reply	other threads:[~2007-08-06 23:34 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-08-06 22:20 Alexey Tourbin
2007-08-06 23:34 ` Alexey Tourbin [this message]
2007-08-10  8:21   ` Alexey Tourbin
2007-08-11 16:26 ` Alexey Tourbin
2007-08-11 19:07 ` Alexey Tourbin
2007-08-13 10:12   ` Alexey Tourbin

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=20070806233448.GI7530@solemn.turbinal \
    --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