[devel] /usr/lib/rpm/*-files.req.list
Stanislav Ievlev
=?iso-8859-1?q?inger_=CE=C1_altlinux=2Eorg?=
Вт Июн 17 10:45:10 MSD 2008
Хорошо бы все эти знания на wiki.
On Tue, Jun 17, 2008 at 09:05:06AM +0400, Alexey M. Tourbin wrote:
> Я сделал модульным механизм поиска зависимостей на каталоги.
> Теперь каждый может создать файл /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
> _______________________________________________
> Devel mailing list
> Devel на lists.altlinux.org
> https://lists.altlinux.org/mailman/listinfo/devel
Подробная информация о списке рассылки Devel