1

Откомпилировав исходный код получил несколько папок: /bin (с бинарными файлами), /conf (с кофигами), /doc (документация),как их упаковать в RPM пакет?

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

нашел единственную похожую статью с описанием того что мне нужно (http://emanual.ru/download/www.eManual.ru_3235.html), но советы в ней видимо устарели.

Пример спека для этой задачи очень бы пригодился.
Нужно чтобы данные папки устанавливались в нужное место.

2

Это же проще простого.
http://tigro.info/wp/?p=375
http://fedoraproject.org/wiki/How_to_cr … PM_package

3

mkiselev пишет:

Откомпилировав исходный код получил несколько папок: /bin (с бинарными файлами), /conf (с кофигами), /doc (документация),как их упаковать в RPM пакет?

читаем внимательно про  rpmbuild. Там как раз это все описывается что и как и куда будет ставится и собираться.

mkiselev пишет:

Пример спека для этой задачи очень бы пригодился.

любой spec файл берите правьте под себя и собирайте.

mkiselev пишет:

Нужно чтобы данные папки устанавливались в нужное место.

легко, все описывается в spec файле.

mkiselev пишет:

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

Плохо читали и искали.

It is good day to die ...
MS Windows 10
Заметки о главном...

4

Подскажите, я правильно понял?

из всего прочитанно можно сделать вывод:
-все папки упаковать в *.tar.gz
-в секции %prep его распаковать
-секцию%build можно пропустить
-в секции %install описать куда устанавливать
а вот в %files не совсем понятно, ясно что нужно указывать все файлы кот должны войти в пакет, но с каким путем их прописывать, где должны лежать или где лежат на момент распаковки?

5 (27.10.2011 16:36:40 отредактировано i2ks)

mkiselev пишет:

указывать все файлы кот должны войти в пакет

+

mkiselev пишет:

где должны лежать

ну вот как то так:
%files
/home/username/bin/my_programm
/home/username/doc/my_files
а еще, можно в начале spec файла определить пути установки итд
и получится что  то в виде
%{my_bin_dir}/*
%{my_doc_dir}/*
и т.д, все файлы не обязательно описывать, можно по маске задавать и не только
Еще добавить секции %post и %postun =)

It is good day to die ...
MS Windows 10
Заметки о главном...

6

1. Упаковывать не обязательно, если перечислить все файлы в секции Source0, Source1 и т.д. Но в целом да.
2. секцию %build оставить пустой
3. В %files прописывается где должны лежать и это должно соответствовать тому, где они лежат после распаковки и установки.
То есть если после %install файл лежит в ~/rpmbuild/BUILDROOT/project/usr/bin/my_file, то в секции %files должно быть %{_bindir}/my_file
%{_bindir} соответствует /usr/bin

Все макросы и соответствия можно посмотреть тут http://fedoraproject.org/wiki/How_to_cr … PM_package

7

Спасибо,

Подскажите еще:
можно папки не упаковывать не упаковывать, а просто записать в
Source0:   %{my_bin_dir}/*
Source1:   %{my_doc_dir}/*

и в %install прописать:
install -m 777 что куда?

8

Нет, так можно только файлы указывать.
Сам попробуй, и увидишь, что он ругается.
Потом ещё через rpmlint прогони спек и полученные пакеты.

9

Спасибо, за ответы и их своевременность.