Мне нужно создать RPM с единственной целью установки нескольких шрифтов. Я прочитал несколько руководств об этом, но все, кажется, предлагают что-то другое, и я не смог найти что-то вроде очень простой установки, чтобы сделать это.Создайте RPM, чтобы просто установить файлы
Можно ли просто ссылаться на файлы в разделе% файлов спецификации? Я попытался, однако, rpm всегда пытается найти файлы в каталоге tmp. Нужно ли мне добавить конкретный шаг сборки, который копирует все, что мне нужно, в каталог tmp?
Должны ли эти файлы заходить в каталог SOURCE или BUILD при построении rpm? Я нахожу много различной информации об этом. Некоторые предлагают создать tarball, который содержит файлы и помещать их в каталог SOURCE, однако это кажется неправильным, поскольку файлы шрифтов не являются фактическими исходными файлами для меня.
В идеале, я хотел бы просто поместить все файлы шрифтов в папку BUILD в структуре каталогов, например «./usr/share/fonts/», а затем ссылаться на это в разделе% файлов SPEC и позволить RPM делай свою магию. Наверное, я что-то упускаю или что-то недопонимаю.
Разделяет ли раздел% файлов исходные файлы в каталоге tmp или что-то не так с моей настройкой? Я создал ~/.rpmmacros, который содержит
%_topdir /Users/user/rpm
который является каталог для сборки корневой и содержит Билд, RPMS, источники, Спекуляции и TMP каталогов.
Я был бы рад, если бы кто-нибудь мог предоставить, какие наименее необходимые элементы в файле spec, чтобы заставить это работать чисто.
Редактировать
После предложения 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/доли/шрифты/каталог. Если я запрашиваю rpm для списка файлов, все шрифты есть. Однако, когда я устанавливаю обороты, он жалуется на
/usr/share/fonts is needed by test-1.0.0-1.noarch
Однако, это не имеет значения, если она существует, или нет, поэтому я думаю, число оборотов в минуту жалуется, что этот ресурс не указан в его базе данных.
Я был в состоянии исправить это, изменив раздел файла% к:
/usr/
/usr/share/
/usr/share/fonts/
/usr/share/fonts/*
Однако, я сомневаюсь, что это такая хорошая идея. Есть ли лучший способ исправить это?
Спасибо, по крайней мере, мне нужно собрать rpm со всеми файлами в нем, однако он все равно не работает. Я обновил свой вопрос. Надеюсь, вы можете взглянуть на него. –
Обновлен ответ. Надеюсь, поможет. – user3159253
Большое спасибо. ** AutoReqProv: нет ** должно быть достаточно, поскольку никто не будет использовать этот об/мин для установки шрифтов. Просто используя его для распространения файлов через марионетку. Регистрация шрифтов, скорее всего, будет проще с куклами. –