[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