20.2.3 Изменение установок

Для изменения установок RPM можно редактировать системный или пользовательский rc файл. Формат rpmrc файлов исключительно прост, хотя есть несколько исключений. Базовый формат уже неоднократно обсуждался:

setting: value

В более сложных случаях, например, при указании системной архитектуры, синтаксис может быть таким:

setting: uname: value

В данном примере поле uname замещается значением, которое вернул системный вызов uname(2), например, i686.

В большинстве случаев не требуется держать в голове все исключения, достаточно скопировать и изменить существующую нужную установку.

20.2.3.1 Установка флагов оптимизации
Одно из исключений синтаксиса - установки флагов оптимизации, которые контролируют опции компилятора. Формат флагов:

setting: arch value

Двоеточие после архитектуры не используется. Например:

optflags: i686 -O2 -march=i686

optflags: alphaev5 -O2 -mieee -mcpu=ev5

В данном примере устанавливаются флаги -O2 -march=i686 для архитектуры i686 и -O2 -mieee -mcpu=ev5 для архитектуры alphaev5.

20.2.3.2 Установка архитектур
Установка значений поля arch_canon задает соответствие между названиями архитектур и внутренним представлением в виде числовых маркеров. Нижеследующий пример показывает, как установить соответствия между архитектурами Intel и SPARC и внутренним представлением:

arch_canon: athlon: athlon 1

arch_canon: i686: i686 1

arch_canon: i586: i586 1

arch_canon: i486: i486 1

arch_canon: i386: i386 1

arch_canon: sparc: sparc 3

arch_canon: sun4: sparc 3

arch_canon: sun4m: sparc 3

arch_canon: sun4c: sparc 3

arch_canon: sun4d: sparc 3

arch_canon: sparcv9: sparcv9 3

Поле arch_compat позволяет построить таблицу совместимых архитектур. Формат:

arch_compat: arch: compatible_with

Такая строка определяет данную архитектуру, как совместимую с другой архитектурой. Например:

arch_compat: athlon: i686

С помощью этого синтаксиса можно построить примерно такую таблицу совместимости архитектур:

arch_compat: i686: i586

arch_compat: i586: i486

arch_compat: i486: i386

arch_compat: i386: noarch

Установка os_canon определяет таблицу соответствия названий операционных систем и внутренних числовых идентификаторов. Базовый синтаксис:

os_canon: arch: name value

arch - это результат, возвращенный системным вызовом uname(2). name предоставляется через имя операционной системы, как оно определено в RPM, value - это внутренний числовой идентификатор, например:

os_canon: Linux: Linux 1

os_canon: HP-UX: hpux10 6

Установка buildarchtranslate определяет установку операционной системы для использования ее как системы сборки. Это значение транслирует то, что получено от системного вызова uname(2) в значение, которое ислользует опция arch_canon. Например:

buildarchtranslate: athlon: i386

buildarchtranslate: i686: i386

buildarchtranslate: i586: i386

buildarchtranslate: i486: i386

buildarchtranslate: i386: i386

buildarchtranslate: sun4c: sparc

buildarchtranslate: sun4d: sparc

buildarchtranslate: sun4m: sparc

buildarchtranslate: sparcv9: sparc

buildarchtranslate: sun4u: sparc64

Далее - Добавление псевдонимов popt
Назад - Расположение rpmrc-файлов
Содержание