[devel] /usr/lib/rpm/*-files.req.list

Alexey M. Tourbin =?iso-8859-1?q?at_=CE=C1_altlinux=2Eorg?=
Вт Июн 17 09:05:06 MSD 2008


Я сделал модульным механизм поиска зависимостей на каталоги.
Теперь каждый может создать файл /usr/lib/rpm/%name-files.req.list
(но желательно сначала написать об этом сюда).

Формат файла /usr/lib/rpm/%name-files.req.list следующий:
1) Значащие строки начинаются со слеша '/'.
2a) Значащая строка может содержать одно поле:
<каталог>
2б) или же два поля:
<каталог> <пакет>

Здесь <каталог> означает тот каталог, на который будет выставляться
зависимость; <пакет> в 2б означает пакет, который эксклюзивно владеет
каталогом.  Если указан эксклюзивный владелец каталога, то будет
срабатывать проверка (чтобы никакой другой пакет не смог завладеть
каталогом).

<каталог> может быть записан в форме с одним окончательным слешем
(или без него), количество пробелов любое.

Если файл подпадает под два или более каталога (в таком случае один из
каталогов является подкаталогом другого), то будет выбран самый длинный
каталог.

Далее приведён пример, как реализовать зависимости на каталоги
/usr/lib/pkgconfig
/usr/lib64/pkgconfig
/usr/share/pkgconfig
при этом пакет pkg-config эксклюзивно владеет этими каталогами.

Интересно, что каталогом /usr/lib64/pkgconfig незаконно владеют
ещё три пакета:

sphinxbase 0.3-alt1
libvolume_id-devel 124-alt1
libsynce-devel 0.11.1-alt1


commit ee38c43ae68a0a39b238abd3e8bb4f2121f75c50
Author: Alexey Tourbin <at на altlinux>
Date:   Mon Jun 16 12:39:54 2008 +0400

    spec: make %_rpmlibdir/pkgconfig-files.req.list

Full diff since common ancestor `0.23-alt1' follows:
diff --git a/pkg-config.spec b/pkg-config.spec
index 55ae32a..a90832b 100644
--- a/pkg-config.spec
+++ b/pkg-config.spec
@@ -8,6 +8,9 @@ Group: Development/Other
 Url: http://pkg-config.freedesktop.org/wiki/
 Packager: Dmitry V. Levin <ldv на altlinux>
 
+Provides: %_libdir/pkgconfig
+Provides: %_datadir/pkgconfig
+
 Provides: pkgconfig-reqprov, pkgconfig-recursion, pkgconfig = 1:%version-%release
 Obsoletes: pkgconfig
 
@@ -55,8 +58,17 @@ cat <<\EOF >%buildroot%_sysconfdir/buildreqs/files/ignore.d/%name
 ^(%_libdir|%_datadir)/pkgconfig/[^/]+\.pc$
 EOF
 
+mkdir -p %buildroot%_rpmlibdir
+cat <<\EOF >%buildroot%_rpmlibdir/pkgconfig-files.req.list
+# %name dirlist for %_rpmlibdir/files.req
+/usr/lib/pkgconfig	%name
+/usr/lib64/pkgconfig	%name
+/usr/share/pkgconfig	%name
+EOF
+
 %files
 %config %_sysconfdir/buildreqs/files/ignore.d/*
+%config %_rpmlibdir/*
 %_bindir/pkg-config
 %dir %_libdir/pkgconfig
 %dir %_datadir/pkgconfig
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип     : application/pgp-signature
Размер  : 197 байтов
Описание: =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Url     : <http://lists.altlinux.org/pipermail/devel/attachments/20080617/feae5336/attachment-0002.bin>


Подробная информация о списке рассылки Devel