Мне нужно создать RPM с единственной целью - установить несколько шрифтов. Я прочитал несколько руководств по этому поводу, однако все, кажется, предлагают что-то другое, и я не смог найти что-то вроде очень простой настройки для этого.
Можно ли просто сослаться на файлы в разделе %files
спецификации? Однако я пробовал, RMP всегда пытается найти файлы в каталоге tmp
. Нужно ли мне добавлять конкретный этап сборки, который копирует все, что мне нужно, в каталог tmp
?
Должны ли эти файлы помещаться в каталог SOURCE
или BUILD
при сборке RPM? Я нашел много разной информации по этому поводу. Некоторые предлагают создать архив, содержащий файлы, и поместить его в каталог SOURCE
, однако это кажется неправильным, поскольку файлы шрифтов для меня не являются фактическими исходными файлами.
В идеале я хотел бы просто поместить все файлы шрифтов в папку BUILD в структуру каталогов, например ./usr/share/fonts/
, а затем сослаться на нее в разделе %file
SPEC и позволить rpm
творить чудеса. Возможно, я что-то упускаю или неправильно понимаю.
Всегда ли раздел %files
ожидает найти исходные файлы в каталоге tmp
, или что-то не так с моей настройкой? Я создал ~/.rpmmacros
, который содержит
%_topdir /Users/user/rpm
который является корневым каталогом сборки и содержит каталоги BUILD, RPMS, SOURCES, SPECS и tmp.
Я был бы рад, если бы кто-нибудь мог указать, какие наименее необходимые элементы в файле спецификации, чтобы заставить это работать чисто.
Изменить
Следуя предложениям user3159253, я использую следующий файл спецификации:
Name: test
Version: 1.0.0
Release: 1
Copyright: Copyright info
Group: Applications/System
BuildArch: noarch
%description
Brief description of software package.
%prep
%build
%install
mkdir -p %{buildroot}/usr/share/fonts
cp ./usr/share/fonts/* %buildroot/usr/share/fonts/
%clean
%files
/usr/share/fonts/*
Я скопировал шрифты в каталог BUILD / usr / share / fonts /. Если я запрашиваю у rpm список файлов, все шрифты присутствуют. Однако, когда я устанавливаю rpm, он жалуется на
/usr/share/fonts is needed by test-1.0.0-1.noarch
Однако не имеет значения, существует этот каталог или нет, поэтому я предполагаю, что rpm
жалуется, что этого ресурса нет в его базе данных.
Мне удалось это исправить, изменив раздел %file
на:
/usr/
/usr/share/
/usr/share/fonts/
/usr/share/fonts/*
Однако я сомневаюсь, что это такая хорошая идея. Есть ли лучший способ исправить это?