根据现有源创build自己的RPM – 更新RPM?

我正在尝试编译我自己的一些现有软件的RPM包。 这个软件大部分通常都是通过安装来安装的

./configure make install 

我在这里跟着一个教程,并试图适应的东西: http : //www.lamolabs.org/blog/164/centos-rpm-tutorial-1/

我假设在这个SPEC中的构build步骤,我只是运行一个./configure和make,而对于SPEC中的安装步骤,我只是运行make install。 我想确认这是正确的? (目前等待很长时间才能编译)

我也想检查一下, 如果有人希望在将来更新自定义RPM,我必须做一些特别的事情来涵盖RPM的更新/删除? 这是为我pipe理的?

另外: 构build失败,出现错误:find:/ var / tmp / php-buildroot:没有这样的文件或目录

我的构build树在〜/ 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 (而是使用%configuremacros),并且不应该以root身份进行构build,因为spec文件中的错误(如您所用)会损坏系统。