Воскресенье, 29 Март 2009

Про RPM

Пытаюсь собрать rpm. Получается. Не нравится разница spec для разных дистрибутивов (в debian ты можешь писать rules на чем захочешь и оно будет работать везде) и не возможность собрать пакет без tar.gz.

С первым я смириться еще могу, а вот со вторым уже никак.

Или я не прав?

Написано в: 14:29 | 11 комментариев | | теги: , | постоянная ссылка |
Добавить пост в:   Delicious Reddit Slashdot Digg Technorati Google


Последние комментарии

Комментарии

chip 30.03.2009 11:17

Конечно, не прав. Укажи в .spec файле

Source: %{name}-%{version}.tar.bz2

ответить
Kirill A. Korinskiy 1.04.2009 3:30

Я не хочу указывать tar.bz2, ибо его у меня нет.

Я хочу положить rpm.sh и file.spec в дерево исходных кодов и получить кучу rpm’ок (ну или одну) на выходе. Научите меня писать такие spec файлы, а?

ответить
chip 1.04.2009 14:37

Что такое rpm.sh и file.spec? Основная цель — исключить внесение тарбола с исходными текстами в систему версионного контроля?

ответить
Kirill A. Korinskiy 1.04.2009 14:40

У меня есть дерево с исходными кодами моей программы. В них есть файл deb.sh который создает пакет для debian. Я хочу создать возможность создавать так же пакет для centos.

ответить
chip 1.04.2009 17:34

Опять не вижу проблемы.

Что мешает в секции %prep не использовать макрос %setup? Скопировать необходимое дерево исходных текстов в %{_builddir} для дальнейшей сборки.

ответить
Kirill A. Korinskiy 1.04.2009 18:15

Спасибо.

Можешь стукнуть мне в jabber (катап-катап.ру), я лучше там буду вопросы задавать?

ответить
Alrond 6.04.2009 4:26

Можешь свой deb.sh показать?

ответить
Kirill A. Korinskiy 6.04.2009 4:44

Надо понимать что это для приватной сборки

#!/bin/sh

./version.sh
date=`LC_ALL=C date "+%a, %d %b %Y %H:%M:%S %z"`
ver=`grep NGINX_VERSION src/core/nginx.h | head -n 1 | sed -e 's:^.*"\(.*\)".*$:\1:g'`

rm -f debian/changelog
cat debian/changelog.in | sed -e "s|@@DATE@@|$date|g" | sed -e "s|@@VER@@|$ver|g" > debian/changelog
dpkg-buildpackage -rfakeroot -us -uc -i\.git -I.git

как-то так. Для публичных репозиториев я использую git-buildpackages. Да, оно мерзкое, но лучше нет и сам делать не хочу.

ответить
Alrond 6.04.2009 15:27

Я просто хотел сравнить, у меня для моих приватных deb-ов что-то типа такого:

sudo checkinstall --fstrans=no --pkgname=packname --pkgversion "2:0.svn`date +%Y%m%d`-12ubuntu3"
ответить
Kirill A. Korinskiy 6.04.2009 15:31

Вообще это плохо. Это очень плохо.

Лучше использовать fakeroot и честную сборку deb пакета.

ответить

Форма комментирования для «Про RPM»

Обязательное поле. Не больше 30 символов.

Обязательное поле

Alrond 6.04.2009 15:43

Вот подкорректирую скрипт от тебя, и будет честная сборка ;)

ответить