FreeSource: AltLinux/Sisyphus/devel/SpecTips/FileDirs

Эта страница была перенесена на altlinux.org. Текст на freesource.info заморожен.

Нюансы секции files

В секции %files должны быть указаны только те файлы и каталоги, которые принадлежат собираемому пакету.

Tо есть, если написать

то каталоги /usr/bin, /usr/lib/menu и /usr/share будут показаны как принадлежащие вашему пакету, что очевидно неверно.

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

Нужно прописывать каталоги, по смыслу принадлежащие вашей программе, и только их. Все остальные файлы описывать как файлы (а не содержащие их каталоги):

не %_bindir, а %_bindir/*

не %_iconsdir, а %_iconsdir/*/*/*/*

не %_datadir/applnk, а %_datadir/applnk/Utilities/*

но не

а весь каталог

Если надо исключить файл или каталог из пакета (например, чтобы разместить его в другом подпакете или просто за ненадобностью), это можно сделать либо файловыми масками, либо — что обычно более надёжно, удобно и понятно — при помощи %exclude:

Если необходимо включить каталог в файл, но не включать все содержащиеся в нем файлы (это может понадобиться если из одного spec-файла получается несколько rpm-пакетом, соотвественно, в spec-файле существует несколько секций %files), то для этого существует макрос %dir:

Страницы, ссылающиеся на данную: AltLinux/Sisyphus/devel/spectips