Глава 3. ALT Secure Packaging Policy

Преобразование оригинального текста в DocBook : Ю. Зотов

Содержание

Массовые операции над файлами и каталогами (секции: %setup, %build, %install, %pre*, %post*, %trigger*)
Операции с временными файлами
Чужие и системные каталоги и файлы (секции: %install, %files)
Атрибуты файлов и каталогов (секции: %install, %files)
Блокировки (секции: %build, %install, %files)

Массовые операции над файлами и каталогами (секции: %setup, %build, %install, %pre*, %post*, %trigger*)

При массовой обработке файлов и каталогов (glob expansion, find и др.) НЕОБХОДИМО отделять команду с параметрами от списка аргументов разделителем “--” везде, где это поддерживается.

Обоснование: Массовые операции над файлами, имена которых начинаются на “-”, могут давать неверный результат в случае неиспользования “--”.

При использовании утилиты find для изменения файлов и каталогов НЕОБХОДИМО использовать параметр -print0; соответствующие ему параметры других утилит:

xargs: -r0

grep: -Z

sort: -z

Обоснование: Использование find при работе с каталогами, содержащими объекты с нестандартными именами (пробелами и др.), без использования -print0 приводит к неправильному результату.

Пример 3.1. Правильное использование find

find -type f -print0 |
    xargs -r0 %__grep -FZl 'mawk gawk' -- |
    xargs -r0 %__perl -pi -e 's/mawk gawk/gawk mawk/g' --