根据现有源制作您自己的 RPM - 更新 RPM?

根据现有源制作您自己的 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

答案1

您不应该直接运行./configure(而是使用%configure宏),并且您不应该以 root 身份进行构建,因为 spec 文件中的错误(如您所见)可能会损坏系统。

相关内容