Вход:  Пароль:  
FreeSource: AltLinux/Sisyphus/devel/SpecTips/FileDirs ...
Free Source | Каталог | Изменения | НовыеКомментарии | Пользователи | Регистрация |
Это старая версия AltLinux/Sisyphus/devel/SpecTips/FileDirs за 2005-04-28 11:15:35..

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

%files
%_bindir
%_menudir
%_datadir

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


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


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


но не

%_datadir/%name/file1
%_datadir/%name/file2
%_datadir/%name/dir1/file1
%_datadir/%name/dir2/file1

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

%_datadir/%name

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


%files
%_bindir/*
%exclude %_bindir/*-debug


%files debug
#...
%_bindir/*-debug


 
Файлов нет. [Показать файлы/форму]
Комментариев нет. [Показать комментарии/форму]