как устанавливать rpm пакеты в роса линукс
ROSAForum
Forum about ROSA Linux Distros
Полезные команды при работе с RPM в РОСЕ
Полезные команды при работе с RPM в РОСЕ
Сообщение ДроноваЮ » 11 сен 2012, 15:10
Re: Полезные команды при работе с RPM в РОСЕ
Сообщение PastorDi » 12 сен 2012, 23:11
Re: Полезные команды при работе с RPM в РОСЕ
Сообщение tverskoy » 25 дек 2012, 23:33
Re: Полезные команды при работе с RPM в РОСЕ
Сообщение ans » 21 фев 2013, 13:38
# dmidecode 2.11
SMBIOS 2.3 present.
29 structures occupying 1561 bytes.
Table at 0x000E74F0.
Handle 0x0000, DMI type 0, 20 bytes
BIOS Information
Vendor: Intel Corp.
Version: WB91X10J.86A.0690.2004.1119.1536
Release Date: 11/19/2004
Address: 0xF0000
Runtime Size: 64 kB
ROM Size: 512 kB
Characteristics:
PCI is supported
BIOS is upgradeable
BIOS shadowing is allowed
Boot from CD is supported
Selectable boot is supported
EDD is supported
8042 keyboard services are supported (int 9h)
Serial services are supported (int 14h)
Printer services are supported (int 17h)
CGA/mono video services are supported (int 10h)
ACPI is supported
USB legacy is supported
ATAPI Zip drive boot is supported
BIOS boot specification is supported
Function key-initiated network boot is supported
Handle 0x0001, DMI type 1, 25 bytes
System Information
Manufacturer:
Product Name:
Version:
Serial Number:
UUID: B2471EB2-8D04-11D9-8DE5-000EA68F726A
Wake-up Type: Power Switch
Handle 0x0002, DMI type 2, 20 bytes
Base Board Information
Manufacturer: Intel Corporation
Product Name: D915GVWB
Version: AAC82205-103
Serial Number: FCWB51100564
Asset Tag: Base Board Asset Tag
Features:
Board is a hosting board
Board is replaceable
Location In Chassis: Base Board Chassis Location
Chassis Handle: 0x0003
Type: Unknown
Contained Object Handles: 0
Handle 0x0003, DMI type 3, 17 bytes
Chassis Information
Manufacturer:
Type: Unknown
Lock: Not Present
Version:
Serial Number:
Asset Tag:
Boot-up State: Safe
Power Supply State: Safe
Thermal State: Other
Security Status: Other
OEM Information: 0x00000000
Handle 0x0004, DMI type 8, 9 bytes
Port Connector Information
Internal Reference Designator: PRIMARY
Internal Connector Type: On Board IDE
External Reference Designator: Not Specified
External Connector Type: None
Port Type: Other
Handle 0x0005, DMI type 8, 9 bytes
Port Connector Information
Internal Reference Designator: SECONDARY
Internal Connector Type: On Board IDE
External Reference Designator: Not Specified
External Connector Type: None
Port Type: Other
Handle 0x0006, DMI type 8, 9 bytes
Port Connector Information
Internal Reference Designator: ATX_PWR
Internal Connector Type: Other
External Reference Designator: Not Specified
External Connector Type: None
Port Type: Other
Handle 0x0007, DMI type 9, 13 bytes
System Slot Information
Designation: PCIE X1 SLOT
Type: PCI Express
Current Usage: Available
Length: Short
ID: 12
Characteristics:
3.3 V is provided
PME signal is supported
SMBus signal is supported
Handle 0x0008, DMI type 9, 13 bytes
System Slot Information
Designation: PCI SLOT 1
Type: 32-bit PCI
Current Usage: In Use
Length: Long
ID: 1
Characteristics:
3.3 V is provided
PME signal is supported
SMBus signal is supported
Handle 0x0009, DMI type 9, 13 bytes
System Slot Information
Designation: PCI SLOT 2
Type: 32-bit PCI
Current Usage: Available
Length: Long
ID: 2
Characteristics:
3.3 V is provided
PME signal is supported
SMBus signal is supported
Handle 0x000A, DMI type 10, 6 bytes
On Board Device Information
Type: Video
Status: Enabled
Description: Intel(R) Extreme Graphics 3 Controller
Handle 0x000B, DMI type 10, 6 bytes
On Board Device Information
Type: Ethernet
Status: Enabled
Description: Intel (R) 82562 Ethernet Device
Handle 0x000C, DMI type 10, 6 bytes
On Board Device Information
Type: Sound
Status: Enabled
Description: Intel(R) Azalia Audio Device
Handle 0x000D, DMI type 13, 22 bytes
BIOS Language Information
Language Description Format: Abbreviated
Installable Languages: 1
enUS
Currently Installed Language: enUS
Handle 0x000E, DMI type 32, 20 bytes
System Boot Information
Status: No errors detected
Handle 0x000F, DMI type 4, 35 bytes
Processor Information
Socket Designation: Not Specified
Type: Central Processor
Family: Pentium 4
Manufacturer: Intel(R) Corporation
ID: 41 0F 00 00 FF FB EB BF
Signature: Type 0, Family 15, Model 4, Stepping 1
Flags:
FPU (Floating-point unit on-chip)
VME (Virtual mode extension)
DE (Debugging extension)
PSE (Page size extension)
TSC (Time stamp counter)
MSR (Model specific registers)
PAE (Physical address extension)
MCE (Machine check exception)
CX8 (CMPXCHG8 instruction supported)
APIC (On-chip APIC hardware supported)
SEP (Fast system call)
MTRR (Memory type range registers)
PGE (Page global enable)
MCA (Machine check architecture)
CMOV (Conditional move instruction supported)
PAT (Page attribute table)
PSE-36 (36-bit page size extension)
CLFSH (CLFLUSH instruction supported)
DS (Debug store)
ACPI (ACPI supported)
MMX (MMX technology supported)
FXSR (FXSAVE and FXSTOR instructions supported)
SSE (Streaming SIMD extensions)
SSE2 (Streaming SIMD extensions 2)
SS (Self-snoop)
HTT (Multi-threading)
TM (Thermal monitor supported)
PBE (Pending break enabled)
Version: Intel(R) Celeron(R) CPU 2.66GHz
Voltage: 3.0 V
External Clock: 533 MHz
Max Speed: 3600 MHz
Current Speed: 2660 MHz
Status: Populated, Enabled
Upgrade: Other
L1 Cache Handle: 0x0010
L2 Cache Handle: 0x0011
L3 Cache Handle: Not Provided
Serial Number: Not Specified
Asset Tag: Not Specified
Part Number: Not Specified
Handle 0x0010, DMI type 7, 19 bytes
Cache Information
Socket Designation: Unknown
Configuration: Enabled, Not Socketed, Level 1
Operational Mode: Write Back
Location: Internal
Installed Size: 16 kB
Maximum Size: 16 kB
Supported SRAM Types:
Asynchronous
Installed SRAM Type: Asynchronous
Speed: Unknown
Error Correction Type: Single-bit ECC
System Type: Data
Associativity: 8-way Set-associative
Handle 0x0011, DMI type 7, 19 bytes
Cache Information
Socket Designation: Unknown
Configuration: Enabled, Not Socketed, Level 2
Operational Mode: Write Back
Location: Internal
Installed Size: 256 kB
Maximum Size: 256 kB
Supported SRAM Types:
Asynchronous
Installed SRAM Type: Asynchronous
Speed: Unknown
Error Correction Type: Single-bit ECC
System Type: Unified
Associativity: 4-way Set-associative
Handle 0x0012, DMI type 16, 15 bytes
Physical Memory Array
Location: System Board Or Motherboard
Use: System Memory
Error Correction Type: None
Maximum Capacity: 4 GB
Error Information Handle: Not Provided
Number Of Devices: 4
Handle 0x0013, DMI type 17, 27 bytes
Memory Device
Array Handle: 0x0012
Error Information Handle: Not Provided
Total Width: 64 bits
Data Width: 64 bits
Size: 256 MB
Form Factor: DIMM
Set: None
Locator: J6H1
Bank Locator: CHAN A DIMM 0
Type: DDR
Type Detail: Synchronous
Speed: 333 MHz
Manufacturer: 0xCE00000000000000
Serial Number: 0x080C2236
Asset Tag: Unknown
Part Number: 0x4D332036384C3332323345544E2D43423320
Handle 0x0014, DMI type 20, 19 bytes
Memory Device Mapped Address
Starting Address: 0x00000000000
Ending Address: 0x0000FFFFFFF
Range Size: 256 MB
Physical Device Handle: 0x0013
Memory Array Mapped Address Handle: 0x001B
Partition Row Position: 1
Interleave Position: 1
Interleaved Data Depth: 1
Handle 0x0015, DMI type 17, 27 bytes
Memory Device
Array Handle: 0x0012
Error Information Handle: Not Provided
Total Width: 64 bits
Data Width: 64 bits
Size: 256 MB
Form Factor: DIMM
Set: None
Locator: J6H2
Bank Locator: CHAN A DIMM 1
Type: DDR
Type Detail: Synchronous
Speed: 333 MHz
Manufacturer: 0xCE00000000000000
Serial Number: 0x4102B677
Asset Tag: Unknown
Part Number: 0x4D332036384C3332323343544C2D43423320
Handle 0x0016, DMI type 20, 19 bytes
Memory Device Mapped Address
Starting Address: 0x00010000000
Ending Address: 0x0001FFFFFFF
Range Size: 256 MB
Physical Device Handle: 0x0015
Memory Array Mapped Address Handle: 0x001B
Partition Row Position: 1
Interleave Position: 1
Interleaved Data Depth: 1
Handle 0x0017, DMI type 17, 27 bytes
Memory Device
Array Handle: 0x0012
Error Information Handle: Not Provided
Total Width: 64 bits
Data Width: 64 bits
Size: 256 MB
Form Factor: DIMM
Set: None
Locator: J6J1
Bank Locator: CHAN B DIMM 0
Type: DDR
Type Detail: Synchronous
Speed: 333 MHz
Manufacturer: 0xCE00000000000000
Serial Number: 0x35F14E01
Asset Tag: Unknown
Part Number: 0x4D332036384C3332323344544C2D43423020
Handle 0x0018, DMI type 20, 19 bytes
Memory Device Mapped Address
Starting Address: 0x00020000000
Ending Address: 0x0002FFFFFFF
Range Size: 256 MB
Physical Device Handle: 0x0017
Memory Array Mapped Address Handle: 0x001B
Partition Row Position: 2
Interleave Position: 2
Interleaved Data Depth: 1
Handle 0x0019, DMI type 17, 27 bytes
Memory Device
Array Handle: 0x0012
Error Information Handle: Not Provided
Total Width: 64 bits
Data Width: 64 bits
Size: 256 MB
Form Factor: DIMM
Set: None
Locator: J6J2
Bank Locator: CHAN B DIMM 1
Type: DDR
Type Detail: Synchronous
Speed: 333 MHz
Manufacturer: 0xCE00000000000000
Serial Number: 0x410F6BA4
Asset Tag: Unknown
Part Number: 0x4D332036384C3332323344544D2D43423320
Handle 0x001A, DMI type 20, 19 bytes
Memory Device Mapped Address
Starting Address: 0x00030000000
Ending Address: 0x0003FFFFFFF
Range Size: 256 MB
Physical Device Handle: 0x0019
Memory Array Mapped Address Handle: 0x001B
Partition Row Position: 2
Interleave Position: 2
Interleaved Data Depth: 1
Handle 0x001B, DMI type 19, 15 bytes
Memory Array Mapped Address
Starting Address: 0x00000000000
Ending Address: 0x0003FFFFFFF
Range Size: 1 GB
Physical Array Handle: 0x0012
Partition Width: 4
Handle 0xFFFD, DMI type 127, 4 bytes
End Of Table
Установка и удаление программ
Содержание
Программа управления приложениями
В системе имеется несколько программ, помогающих в управлении программным обеспечением. Наиболее важными являются программы установки, удаления приложений ( rpmdrake / drakrpm).
Установка и удаление программ
Программа управления программным обеспечением называется rpmdrake / drakrpm.
С её помощью также можно управлять сетевыми репозиториями (источниками программ) и репозиториями на сменных носителях. rpmdrake / drakrpm можно запустить несколькими способами:
Фильтры пакетов при разных способах запуска
Подробнее об интерфейсе программы управления пакетами написано в этой статье.
В РОСА версии 2010.2 ) и более поздних rpmdrake / drakrpm запускается с фильтром «пакеты с графическим интерфейсом».
Команда rpmdrake-remove запускает rpmdrake / drakrpm с фильтром «установлен». Использование этого фильтра позволяет получить пользователю список всех установленных в системе пакетов, что является наиболее удобным способом представления списка для операций удаления пакетов из системы.
«Просмотр доступного программного обеспечения» (в «Управлении программами») запускает rpmdrake / drakrpm без прав администратора. В этом случае пользователь может просматривать установленные в системе пакеты, а также просматривать пакеты, доступные для установки, но ни удалять ни устанавливать пакеты в этом режиме нельзя.
Установка обновлений
Для поддержания системы в актуальном состоянии необходимо регулярно производить её обновление. Для решения этих задач в РОСА предусмотрен инструмент, помогающий в установке обновлений. Запустить его можно так:
Если программа обновления была запущена впервые с момента установки РОСА Linux на ваш компьютер, она спросит разрешения на подключение к серверам РОСА, чтобы получить список зеркал, с которых можно загружать обновления. После получения вашего согласия на подключение, программа попросит выбрать наиболее географически близкое к вам месторасположение зеркала. После того, как зеркало выбрано, программа получит список доступных обновлений. По умолчанию программа получает список пакетов, исправляющих проблемы с безопасностью и критически важные ошибки (баг-фиксы).
Дополнительные приложения
После процедуры установки РОСА Linux на компьютер пользователь будет иметь доступ только к программному обеспечению, находящемуся на CD или DVD (в зависимости от того, с какого носителя была произведена установка). Конечно, количество доступных программ в таком случае невелико. Для того, чтобы получить доступ к дополнительным приложениям, необходимо настроить систему на использование общедоступных репозиториев, содержащих пакеты для РОСА Linux.
Настройку репозиториев можно произвести в любой момент, в том числе и отказавшись от предложения rpmdrake настроить источники программ при первом запуске. Подробную инструкцию можно найти на этой странице.
Опытным пользователям. Консольные инструменты управления пакетами
Кроме средств с графическим интерфейсом существуют инструменты управления пакетами, использующие интерфейс командной строки. Список доступного программного обеспечения не зависит от выбора инструмента.
Полное описание этих приложений выходит за рамки этой страницы. Более подробную информацию можно получить на этой странице.
Коротко о программах
urpmi
urpme
urpmq и urpmf
urpmq и urpmf являются средствами поиска. Они могут быть использованы с правами обычного пользователя. urpmf используется для поиска пакета, содержащего определённый файл. urpmq используется для всех других поисковых операций. Вызываемый без параметров urpmq ищет имена пакетов. Обратитесь к страницам руководства (man-страницам) для получения дополнительной информации.
urpmi.addmedia и urpmi.removemedia
Эти инструменты предназначены для добавления и удаления репозиториев. Обратитесь к страницам руководства (man-страницам) для получения информации об использовании необходимых параметров. Существует несколько веб-сайтов, которые помогут сгенерировать команды для добавления репозиториев программ с помощью urpmi.addmedia. Два наиболее популярных веб-ресурса: официальный поиск зеркал Mandriva и поддерживаемые сообществом веб-сайты EasyUrpmi, urpmi.mandriva.ru.
Опытным пользователям. Репозитории backports и testing
Для РОСА существуют несколько официальных репозиториев программного обеспечения различного типа. Для получения полного перечня репозиториев и их описания, обратитесь к этой странице.
Рекомендуется не оставлять репозитории testing и backports постоянно включенными. Если нужно установить какой-то определённый пакет, находящийся в одном из этих репозиториев, можно включить эти репозитории, установить необходимый пакет, и снова отключить.
Опытным пользователям. Альтернативные способы установки программного обеспечения
Порой может возникнуть потребность в установке приложения, которого нет в официальном репозитории, или в приложении более новой версии. В этом случае можно использовать альтернативные методы установки программного обеспечения.
Сторонние репозитории
Можно поискать сторонние репозитории для РОСА/Mandriva Linux. Они могут содержать программы, версии которых новее чем те, что содержатся в официальных репозиториях. Кроме того, можно найти пакеты, которых вообще нет в официальных репозиториях.
В основном, рекомендуется использовать официальные репозитории в тех случаях, когда это возможно, но если действительно появляется необходимость в приложениях (или их новых версиях), которых нет в официальных репозиториях, использование сторонних репозиториев является более безопасным вариантом, чем использование пакетов, предназначенных для других дистрибутивов, или сборка и установка программ с использованием исходных кодов.
РОСА/Mandriva не может предоставить какую-либо поддержку для пакетов, предоставляемых третьими сторонами. При возникновении проблем, связанных с использованием таких пакетов, просьба обращаться за поддержкой к стороннему поставщику этих пакетов.
Очень многие пользователи жалуются: «Это приложение не работает!» На этот счёт можно дать несколько рекомендаций. Старайтесь использовать приложения из официальных репозиториев. Помните, что приоритетным является использование именно официальных репозиториев. Кроме того, использование новейшей версии пакета (и, возможно, содержащей ошибки) не так важно, как использование более старой, но лучше оттестированной версии. Если использование программы более новой версии так критично, её можно найти в backports.
Пересборка с помощью source RPM более позднего релиза РОСА Linux
Если необходим какой-либо пакет или его версия, отсутствующий в официальном или стороннем репозиториях для данного релиза РОСА Linux, но доступный для последующих релизов (включая Cooker), можно попробовать перекомпилировать SRPM из более позднего релиза. Source RPM можно найти на любом официальном зеркале РОСА в подкаталоге релиза /SRPMS, где имеется необходимый вам пакет. Для создания source RPM, следуйте инструкциям из Основы RPM: Вам нужно будет выполнить шаги из раздела «Предварительные задачи», а затем, следовать инструкциям раздела «Из существующих «исходников» RPM».
Установка программ с использование исходных кодов
Если нужное приложение отсутствует в официальных и сторонних репозиториях, его можно установить, загрузив и скомпилировав исходный код этого приложения. Это — наименее предпочтительный способ установки программного обеспечения, к нему следует прибегать только в случае крайней необходимости. Для получения более подробной информации о процедуре установки приложений с использованием их исходного кода обратитесь к этой странице.
Содержание
Подготовка к сборке и обзор spec-файла
В %
Также вы можете встретить без исходного кода. Обычно их создают для проприетарных программ, которые нельзя включать в дистрибутив (исходников нет, а бинарник каким-то образом нужно переделать либо просто запрещено размещать на зеркалах дистрибутива лицензией). Внутри этого пакета находится обычно только spec-файл, а бинарник скачивается и, при необходимости, модифицируется, в процессе установки пакета (например, в post-скрипте, о котором речь пойдет ниже).
Что нужно сделать, чтобы можно было собирать пакеты из-под обычного пользователя? Первым делом нужно создать в своём домашнем каталоге файл директорию rpmbuild со следующей структурой:
В РОСЕ не принято писать сборщика пакета и вендора в spec-файлах; эти значения выставляются автоматически системой сборки ABF. Также ABF автоматически подписывает собранные пакеты ключом соответствующего репозитория. Поэтому эти вопросы мы здесь затрагивать не будем.
Spec-файл состоит из секций и шапки:
Summary — краткое описание пакета, Name — название, Version — версия, Release — релиз. Последним трем тегам соответствуют макроопределения %
Далее, License — лицензия, под которой распространяется программа (обычно указано в самом пакете). Раньше в ходу был также тег Copyright, но сейчас он не используется. URL — сайт программы, Group — группа, в которую будет входить данный пакет. Обычно следует прикинуть на что этот пакет похож, и посмотреть группу похожего пакета. Придумывать группу самому не стоит, лучше посмотреть в список имеющихся.
BuildRequires — секция, в которую через запятую или через пробел прописываются пакеты, которые требуются для сборки нашей программы. Почерпнуть их можно из каких-нибудь файлов README и INSTALL (хотя там редко бывает что-то полезное по этому поводу), из процесса конфигурации (на данный момент обычно это скрипт configure ) и из самого процесса сборки (иногда configure что-нибудь пропустит и сборка остановится).
Requires — в эту секцию записываются пакеты или файлы(!), которые будет требовать данный пакет при установке. При сборке в зависимости автоматически пропишутся все библиотеки, которые наш пакет потребует, но вы также можете указать пакеты вручную. Rpm также автоматически прописывает зависимости perl, python, mono и некоторые другие (все эти зависимости прописываются не в spec-файл разумеется, а в сам пакет). Если вам не нужно, чтобы зависимости прописывались автоматически, следует прописать в spec-файл новый тег AutoReq: no. Обычно его прописывают при сборки проприетарных программ, так как rpm добавляет внутренние зависимости из собираемой программы.
Есть ещё несколько полезных тегов, которые здесь не используются.
— другие названия, помимо %
— перечисляются пакеты, которые конфликтуют с текущим. Подразумевается что указанные пакеты нужно вручную удалить, перед установкой нашего. Также используются конструкции со знаками сравнения и версиями (см. выше).
— архитектура, под которую будет собираться наш пакет. Если эта опция не указана, то пакет соберётся под текущую архитектуру. Обычно эту опцию указывают для того, чтобы собирать пакет архитектуры noarch, то есть пакет, в котором нет бинарников.
— архитектуры, под которые данный пакет может быть собран. Обычно используется при сборки модулей к ядру.
На этом шапка заканчивается и начинаются отдельные секции.
Описание главного пакета, того, у которого будет имя %
Описание второго пакета
Секция %prep в ней начинается подготовка к сборке. %setup распаковывает исходники. Опция -q не показывает вывод распаковывания архива. Опция -a1 используется для распаковки %
Секции для установочных скриптов. Вообще их бывает несколько. %pre — выполняется перед установкой, %post — после установки, %preun — перед удалением, %postun — после удаления. В нашем примере при удалении удаляются схемы Gconf. Здесь мы предполагаем, что в пакете только одна схема и ее имя совпадает с именем пакета. Обратите внимание, что для удаления схем мы вызываем специальный макрос; этот макрос раскрывается rpmbuild РОСЫ в набор необходимых команд оболочки Shell, которые, собственно, и удаляют схему. Установка схем при установке пакета выполняется автоматически за счет файловых триггеров RPM.
Для каждого пакета могут быть свои скрипты, поэтому следует также почитать документацию. Если никаких скриптов для правильной работы не нужно, то и секции эти не следует использовать. В этих секциях можно применять bash-скрипты (впрочем как и в любых других секциях).
В секциях %files мы должны указать какие файлы должны быть упакованы в пакеты. Все файлы должны быть оговорены, в противном случае rpmbuild выдаст сообщение о неупакованных файлах.
Опцией -f указываются файл, содержащий список обрабатываемых файлов. В нашем случае этот файл содержит пути к файлам локализации. Вы в принципе можете создать свой файл и подсунуть его.
Для определения каталогов используются специальные макроопределения.
Далее просто перечисляются файлы.
Макроопределения
Теперь пора познакомиться поближе с макросами и переменными. Допустим, мы собираем пакет из SVN, в данном случае в релиз обычно включается дата ревизии. В самом начале spec-файла нужно определить переменную date:
Крайне популярным макроопределением является конструкция
Как уже отмечалось выше во всех секциях spec-файла вы можете использовать любые команды Shell, включая for, while, if и др.
Сборка пакета
После этого пакет соберётся (или не соберётся, а вывалится с ошибками), и в подкаталогах каталога RPMS появятся бинарные пакеты, а в каталоге SRPMS появится исходник.
Если необходимо собрать только бинарник или только исходник, то вместо -ba следует использовать -bb и -bs соответственно. Из полезных параметров rpmbuild можно отметить -clean (удалить весь мусор), -rmsource (удалить исходники из каталога SOURCE ) и -target=архитектура (собрать пакет под конкретную архитектуру).
Можно также выполнять сценарии только в определённой секции. Описывать подобные параметры мы здесь не будем, см. man rpmbuild.
Сборка RPM пакета из уже установленного в системе
Иногда случается ситуация, что какой-то пакет уже установлен в системе (может быть в очень старой системе) и очень хочется получить rpm’ку с ним, а она как раз и не сохранилась. Также может захотеться собрать по быстрому пакет с изменёнными под ваши нужды конфигурационными файлами.
Для решения этой проблемы следует воспользоваться утилитой rpmrebuild. Эта написанная на bash утилита доступна в contrib-репозитории РОСЫ.
Работать с ней крайне просто. Нужно отдать всего лишь команду:
Если какой-либо файл был изменён, то вам об этом сообщат, но процесс сборки не прервётся.
Rpmrebuild обладает огромным количеством параметров, например, вы можете изменять release пакета, changelog, скрипты, секции Requires, описания пакета и многое другое. Можете даже просто напросто изменить spec-файл, который скрипт сгенерирует сам. Он правда будет немного страшный, но это все же лучше, чем ничего.