Назад | Перейти на главную страницу

Создание собственных RPM на основе существующего источника - Обновление RPM?

Я пытаюсь скомпилировать свои собственные RPM-пакеты для некоторого различного существующего программного обеспечения. Большая часть этого программного обеспечения обычно устанавливается путем выполнения

./configure
make install

Я следовал руководству здесь и попытался адаптировать вещи: http://www.lamolabs.org/blog/164/centos-rpm-tutorial-1/

Я предполагаю, что для этапа сборки в этом SPEC я просто запускаю ./configure и make, а для этапа установки в SPEC я просто запускаю make install. Я хотел подтвердить, что это правильно? (в настоящее время долго жду компиляции)

Еще хотел проверить, если кто-то желает обновить пользовательский RPM в будущем, нужно ли мне делать что-то особенное, чтобы покрыть обновление / удаление для RPM? Это удалось мне?

Дополнение: Сборки завершаются с ошибкой: find: / var / tmp / php-buildroot: нет такого файла или каталога

Мое дерево сборки находится в ~ / rpmbuild /

Ниже приводится образец спецификации, которую я пробовал для PHP.

Summary: x86 PHP Package
Name: php
Version: 5.3.3
Release: 1
Source0: php-5.3.3.tar.gz
License: GPL
Group: Language
BuildArch: i386
BuildRoot: %{_tmppath}/%{name}-buildroot
%description
PHP.What more is there to say?
%prep
yum -y install bzip2 libxml2-devel httpd-devel curl-devel php-mysql gd-devel freetds-devel mysql-devel postgresql-devel
%setup -q
%build
./configure --with-apxs2=/usr/sbin/apxs --with-mysql --with-pgsql --with-mssql=/usr --prefix=/usr/local/php5 --enable-force-cgi-redirect --disable-cgi --with-zlib --with-gettext --with-ldap --with-curl --with-gd --disable-ereg --disable-fileinfo --disable-phar
%install
make install -j2
%clean
rm -rf $RPM_BUILD_ROOT
%post
echo " "
echo "PHP 5.3.3 installed!"
%files

Вы не должны бежать ./configure напрямую (используйте %configure макрос вместо этого), и вы не должны создавать с правами root, поскольку ошибки в файле спецификации (как и у вас) могут повредить систему.