ALT Linux Team development discussions
 help / color / mirror / Atom feed
* [devel] Q: contents_index content ?
@ 2008-10-01  8:43 Vitaly Ostanin
  2008-10-03  4:33 ` Alexey Tourbin
  0 siblings, 1 reply; 11+ messages in thread
From: Vitaly Ostanin @ 2008-10-01  8:43 UTC (permalink / raw)
  To: ALT Devel discussion list

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

Здравствуйте.

Скажите, а как создаются файлы contents_index в репозиториях и с 
какой целью?

То, что они содержат кучу строк вида
/file /file
вместо
/file package
, ещё терпимо, пакеты можно выдрать из pkglist апта.

Но вот в пакете service есть каталог /etc/rc.d/init.d. А в 
contents_index (Sisyphus/i586/base) записи об этом нет. Так и 
должно быть?

-- 
Regards, Vyt
mailto:  vyt@altlinux.org
JID:     vitaly.ostanin@gmail.com


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 252 bytes --]

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [devel] Q: contents_index content ?
  2008-10-01  8:43 [devel] Q: contents_index content ? Vitaly Ostanin
@ 2008-10-03  4:33 ` Alexey Tourbin
  2008-10-03  6:18   ` Slava Semushin
                     ` (3 more replies)
  0 siblings, 4 replies; 11+ messages in thread
From: Alexey Tourbin @ 2008-10-03  4:33 UTC (permalink / raw)
  To: ALT Devel discussion list


[-- Attachment #1.1: Type: text/plain, Size: 1233 bytes --]

On Wed, Oct 01, 2008 at 12:43:28PM +0400, Vitaly Ostanin wrote:
> Скажите, а как создаются файлы contents_index в 
> репозиториях и с какой целью?

Создаются в /usr/bin/sisyphus_gen_contents,
используются в /usr/lib/rpm/find-package с целью
отображения пути файла в имя зависимости.

> То, что они содержат кучу строк вида
> /file /file
> вместо
> /file package
> , ещё терпимо, пакеты можно выдрать из 
> pkglist апта.

Запись '/file /file', означает, что файл принадлежт более чем одному
пакету (то есть двум или более пакетам с разными названиями).  Поэтому
отображение файл -> зависимость принимает вид файл0 -> файл0.

> Но вот в пакете service есть каталог 
> /etc/rc.d/init.d. А в contents_index (Sisyphus/i586/base) записи 
> об этом нет. Так и должно быть?

$ fgrep $'/etc/rc.d/init.d\t' /ALT/Sisyphus/i586/base/contents_index 
/etc/rc.d/init.d        /etc/rc.d/init.d
$

Каталогом /etc/rc.d/init.d владеют несколько пакетов.

$ bzcat /ALT/Sisyphus/i586/base/pkglist.classic.bz2 |./pkglist-query '[%{FILENAMES}\t%{NAME}\n]' - |fgrep  $'/etc/rc.d/init.d\t'
/etc/rc.d/init.d        3proxy
/etc/rc.d/init.d        atslog
/etc/rc.d/init.d        ez-ipupdate
/etc/rc.d/init.d        service
$ 

[-- Attachment #1.2: pkglist-query.c --]
[-- Type: text/plain, Size: 731 bytes --]

#include <rpmlib.h>
#include <stdio.h>

///extern int _rpmio_debug = 1;

int main(int argc, const char *argv[])
{
    const char *progname = argv[0];
    if (argc != 3) {
	fprintf(stderr, "Usage: %s QUERY pkglist", progname);
	exit(2);
    }
    const char *query = argv[1], *pkglist = argv[2];
    FD_t Fd = Fopen(pkglist, "r");
    if (Ferror(Fd)) {
	fprintf(stderr, "%s: %s: %s\n", progname, pkglist, Fstrerror(Fd));
	exit(1);
    }
    Header h;
    while ((h = headerRead(Fd, HEADER_MAGIC_YES))) {
	char *str = headerSprintf(h, query, rpmTagTable, rpmHeaderFormats, NULL);
	if (str) {
	    fputs(str, stdout);
	    str = _free(str);
	}
	headerFree(h);
    }
    Fclose(Fd);
    return 0;
}

/* ex:set ts=8 sts=4 sw=4 noet: */

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

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [devel] Q: contents_index content ?
  2008-10-03  4:33 ` Alexey Tourbin
@ 2008-10-03  6:18   ` Slava Semushin
  2008-10-03  6:56   ` Alexey Gladkov
                     ` (2 subsequent siblings)
  3 siblings, 0 replies; 11+ messages in thread
From: Slava Semushin @ 2008-10-03  6:18 UTC (permalink / raw)
  To: ALT Linux Team development discussions

3 октября 2008 г. 11:33 пользователь Alexey Tourbin <at%altlinux.ru> написал:
[...]
> Каталогом /etc/rc.d/init.d владеют несколько пакетов.

И, насколько понимаю, это баг всех пакетов, кроме service..

> $ bzcat /ALT/Sisyphus/i586/base/pkglist.classic.bz2 |./pkglist-query '[%{FILENAMES}\t%{NAME}\n]' - |fgrep  $'/etc/rc.d/init.d\t'
> /etc/rc.d/init.d        3proxy
> /etc/rc.d/init.d        atslog
> /etc/rc.d/init.d        ez-ipupdate
> /etc/rc.d/init.d        service
> $


-- 
+ Slava Semushin | slava.semushin @ gmail.com
+ ALT Linux Team | php-coder @ altlinux.ru

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [devel] Q: contents_index content ?
  2008-10-03  4:33 ` Alexey Tourbin
  2008-10-03  6:18   ` Slava Semushin
@ 2008-10-03  6:56   ` Alexey Gladkov
  2008-10-03  7:15     ` Alexey Tourbin
  2008-10-04  6:13   ` Vitaly Ostanin
  2008-10-06  8:35   ` Vitaly Ostanin
  3 siblings, 1 reply; 11+ messages in thread
From: Alexey Gladkov @ 2008-10-03  6:56 UTC (permalink / raw)
  To: ALT Linux Team development discussions

Alexey Tourbin wrote:
> Каталогом /etc/rc.d/init.d владеют несколько пакетов.

И во всех пакетах (кроме service) это ошибка.

> $ bzcat /ALT/Sisyphus/i586/base/pkglist.classic.bz2 |./pkglist-query '[%{FILENAMES}\t%{NAME}\n]' - |fgrep  $'/etc/rc.d/init.d\t'
> /etc/rc.d/init.d        3proxy

%_sysconfdir/*

> /etc/rc.d/init.d        atslog

%config %_sysconfdir/rc.d/*

> /etc/rc.d/init.d        ez-ipupdate

%dir %_initdir
%attr(0755,root,root) %_initdir/%name

> /etc/rc.d/init.d        service
> $ 

/etc/rc.d/init.d          runawfe-server-2.1-alt3.svn819

%_sysconfdir/rc.d/*

/etc/rc.d/init.d          runawfe-botstation-2.1-alt3.svn819

%_sysconfdir/rc.d/*

-- 
Rgrds, legion



^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [devel] Q: contents_index content ?
  2008-10-03  6:56   ` Alexey Gladkov
@ 2008-10-03  7:15     ` Alexey Tourbin
  2008-10-03  7:31       ` Alexey Gladkov
  0 siblings, 1 reply; 11+ messages in thread
From: Alexey Tourbin @ 2008-10-03  7:15 UTC (permalink / raw)
  To: ALT Linux Team development discussions

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

On Fri, Oct 03, 2008 at 10:56:16AM +0400, Alexey Gladkov wrote:
> Alexey Tourbin wrote:
> >Каталогом /etc/rc.d/init.d владеют несколько 
> >пакетов.
> 
> И во всех пакетах (кроме service) это ошибка.

Есть готовый механизм, чтобы отлавливать эти ошибки автоматически:
/usr/lib/rpm/files.req + /etc/sisyphus_check/check.d/190-check-dirlist

То есть можно создать запись в /usr/lib/rpm/*-files.req.list:
/etc/rc.d/init.d	service
и тогда
1) у каждого пакета, который пакует что-либо в /etc/rc.d/init.d,
появится зависимость на /etc/rc.d/init.d;
2) для каждого пакета, который пакует сам каталог /etc/rc.d/init.d,
кроме пакета service, sisyphus_check выдаст ошибку.

Правда, это комбинированный мехнизм: он совмещает как зависимость,
так и проверку на эксклюзивное владение каталогом.  В некоторых случаях
именно такой комбинированный механизм и имеет смысл (например, чтобы
отлавливать ошибки типа /usr/lib/pkgconfig в x86_64 пакетах; при
запаковке /usr/lib/pkgconfig/* возникнет анмет на /usr/lib/pkgconfig,
а сам каталог /usr/lib/pkgconfig запаковать не удатся).

Не знаю, подходит ли этот механизм для /etc/rc.d/init.d или нет.

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

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [devel] Q: contents_index content ?
  2008-10-03  7:15     ` Alexey Tourbin
@ 2008-10-03  7:31       ` Alexey Gladkov
  2008-10-03  7:42         ` Alexey Tourbin
  0 siblings, 1 reply; 11+ messages in thread
From: Alexey Gladkov @ 2008-10-03  7:31 UTC (permalink / raw)
  To: ALT Linux Team development discussions

Alexey Tourbin wrote:
> Не знаю, подходит ли этот механизм для /etc/rc.d/init.d или нет.

Мне кажется, что подходит. Этому каталогу самое место в 
0common-files.req.list .

-- 
Rgrds, legion



^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [devel] Q: contents_index content ?
  2008-10-03  7:31       ` Alexey Gladkov
@ 2008-10-03  7:42         ` Alexey Tourbin
  0 siblings, 0 replies; 11+ messages in thread
From: Alexey Tourbin @ 2008-10-03  7:42 UTC (permalink / raw)
  To: ALT Linux Team development discussions

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

On Fri, Oct 03, 2008 at 11:31:52AM +0400, Alexey Gladkov wrote:
> Alexey Tourbin wrote:
> >Не знаю, подходит ли этот механизм для 
> >/etc/rc.d/init.d или нет.
> 
> Мне кажется, что подходит. Этому каталогу 
> самое место в 0common-files.req.list .

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

Правда, тогда у всех пакетов, которые пакуют /etc/rc.d/init.d/*,
появится зависимость на /etc/rc.d/init.d, которая будет скорее излишней
(потому что у пакетов уже есть зависимость на /etc/rc.d/init.d/functions).
Однако есть как минимум один пакет (etcnet), который не использует
/etc/rc.d/init.d/functions, но при этом пакует /etc/rc.d/init.d/network.

К тому же, мы решили не экономить на Requires зависимостях (мы не
удаляем зависимость на /bin/sh, хотя такое предложение было)...

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

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [devel] Q: contents_index content ?
  2008-10-03  4:33 ` Alexey Tourbin
  2008-10-03  6:18   ` Slava Semushin
  2008-10-03  6:56   ` Alexey Gladkov
@ 2008-10-04  6:13   ` Vitaly Ostanin
  2008-10-04  8:16     ` Slava Semushin
  2008-10-06  8:35   ` Vitaly Ostanin
  3 siblings, 1 reply; 11+ messages in thread
From: Vitaly Ostanin @ 2008-10-04  6:13 UTC (permalink / raw)
  To: ALT Linux Team development discussions

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

Alexey Tourbin пишет:

<skipped/>

> $ fgrep $'/etc/rc.d/init.d\t' /ALT/Sisyphus/i586/base/contents_index 
> /etc/rc.d/init.d        /etc/rc.d/init.d
> $
> 
> Каталогом /etc/rc.d/init.d владеют несколько пакетов.

Спасибо, понятно.

> $ bzcat /ALT/Sisyphus/i586/base/pkglist.classic.bz2 |./pkglist-query '[%{FILENAMES}\t%{NAME}\n]' - |fgrep  $'/etc/rc.d/init.d\t'
> /etc/rc.d/init.d        3proxy
> /etc/rc.d/init.d        atslog
> /etc/rc.d/init.d        ez-ipupdate
> /etc/rc.d/init.d        service

Скажите, pkglist-query - это из apt/contrib/apt-files/convert.py, 
или что-то более скоростное ? Хотелось бы взглянуть.

<skipped/>

-- 
Regards, Vyt
mailto:  vyt@altlinux.org
JID:     vitaly.ostanin@gmail.com


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 252 bytes --]

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [devel] Q: contents_index content ?
  2008-10-04  6:13   ` Vitaly Ostanin
@ 2008-10-04  8:16     ` Slava Semushin
  2008-10-04  8:29       ` Vitaly Ostanin
  0 siblings, 1 reply; 11+ messages in thread
From: Slava Semushin @ 2008-10-04  8:16 UTC (permalink / raw)
  To: ALT Linux Team development discussions

4 октября 2008 г. 13:13 пользователь Vitaly Ostanin <vyt%altlinux.org> написал:
[...]
> Скажите, pkglist-query - это из apt/contrib/apt-files/convert.py, или что-то
> более скоростное ? Хотелось бы взглянуть.

pkglist-query.c в первом письме Алексея был приаттачен.


-- 
+ Slava Semushin | slava.semushin @ gmail.com
+ ALT Linux Team | php-coder @ altlinux.ru

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [devel] Q: contents_index content ?
  2008-10-04  8:16     ` Slava Semushin
@ 2008-10-04  8:29       ` Vitaly Ostanin
  0 siblings, 0 replies; 11+ messages in thread
From: Vitaly Ostanin @ 2008-10-04  8:29 UTC (permalink / raw)
  To: ALT Linux Team development discussions

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

Slava Semushin пишет:
> 4 октября 2008 г. 13:13 пользователь Vitaly Ostanin <vyt%altlinux.org> написал:
> [...]
>> Скажите, pkglist-query - это из apt/contrib/apt-files/convert.py, или что-то
>> более скоростное ? Хотелось бы взглянуть.
> 
> pkglist-query.c в первом письме Алексея был приаттачен.

Виноват, просмотрел.

-- 
Regards, Vyt
mailto:  vyt@altlinux.org
JID:     vitaly.ostanin@gmail.com


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 252 bytes --]

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [devel] Q: contents_index content ?
  2008-10-03  4:33 ` Alexey Tourbin
                     ` (2 preceding siblings ...)
  2008-10-04  6:13   ` Vitaly Ostanin
@ 2008-10-06  8:35   ` Vitaly Ostanin
  3 siblings, 0 replies; 11+ messages in thread
From: Vitaly Ostanin @ 2008-10-06  8:35 UTC (permalink / raw)
  To: ALT Linux Team development discussions

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

Alexey Tourbin пишет:

<skipped/>

> Каталогом /etc/rc.d/init.d владеют несколько пакетов.
> 
> $ bzcat /ALT/Sisyphus/i586/base/pkglist.classic.bz2 |./pkglist-query '[%{FILENAMES}\t%{NAME}\n]' - |fgrep  $'/etc/rc.d/init.d\t'

Скажите, этот pkglist-query.c можно запаковать в какой-нибудь 
rpm-utils, чтобы им можно было пользоваться "дистрибутивно" ?

<skipped/>

-- 
Regards, Vyt
mailto:  vyt@altlinux.org
JID:     vitaly.ostanin@gmail.com


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 252 bytes --]

^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2008-10-06  8:35 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2008-10-01  8:43 [devel] Q: contents_index content ? Vitaly Ostanin
2008-10-03  4:33 ` Alexey Tourbin
2008-10-03  6:18   ` Slava Semushin
2008-10-03  6:56   ` Alexey Gladkov
2008-10-03  7:15     ` Alexey Tourbin
2008-10-03  7:31       ` Alexey Gladkov
2008-10-03  7:42         ` Alexey Tourbin
2008-10-04  6:13   ` Vitaly Ostanin
2008-10-04  8:16     ` Slava Semushin
2008-10-04  8:29       ` Vitaly Ostanin
2008-10-06  8:35   ` Vitaly Ostanin

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