我已经开始创build我使用的软件的RPM,以便我能够按照自己的想法configuration它。 但是我不知道如何重命名包,而不重命名RPM构build它的tarball。
例如,我在PHP-5.6.0RC3.tar.gz的tarball中有PHP5.6的源码。 在RPM构build过程中,这将被提取到目录php-5.6.0RC3和构build进程cd到该目录中。
我想改变包名称为phpcustom,并且仍然从php-5.6.0RC3.tar.gz构build它。 解压缩过程起作用,但是然后构build过程试图cd进入phpcustom-5.6.0RC3这个显然不存在的目录,因此中断了。
如何告诉rpmbuild构build应该在哪个目录中进行?
我想我可以移动php-5.6.0RC3目录为phpcustom-5.6.0RC3 …但它似乎有点傻。
我已经把我的spec文件放在下面,以防万一。
%define __spec_install_post %{nil} %define debug_package %{nil} %define __os_install_post %{_dbpath}/brp-compress Summary: Custom built PHP with APCU Name: php #Name: phpcustom - this doesn't work Provides: php Conflicts: php Version: 5.6.0RC3 Release: 1 License: None Group: Development/Tools Requires: bzip2, libcurl, libxml2 SOURCE0 : http://downloads.php.net/tyrael/php-5.6.0RC3.tar.gz SOURCE1: php.ini SOURCE2: php-cli.ini SOURCE3: apcu-4.0.6.tgz URL: http://php.net/ %description %{summary} %prep %setup -q -n php-%{version} %setup -T -D -a 3 %build mkdir -p %{buildroot} ./configure \ --disable-cgi \ --disable-debug \ --disable-rpath \ --disable-xmlreader \ --disable-xmlwriter \ --disable-xml \ --enable-fpm \ --enable-intl \ --enable-json \ --enable-mbregex \ --enable-mbstring \ --enable-pcntl \ --enable-pdo \ --enable-sockets \ --enable-sysvsem \ --enable-sysvshm \ --enable-zip \ --with-apcu \ --with-bz2 \ --with-config-file-path=/etc \ --with-curl \ --with-freetype-dir=/usr/lib \ --with-gd \ --with-jpeg-dir=/usr/lib \ --with-mcrypt \ --with-png-dir=/usr/lib \ --with-pdo-mysql \ --with-zlib \ --with-mhash \ --with-mysql \ --with-mysqli=mysqlnd \ --with-openssl \ --with-pcre-regex \ --without-pear \ --without-zlib \ --enable-maintainer-zts make -j4 %install rm -rf %{buildroot} mkdir -p %{buildroot}%{_initrddir} install -Dp -m0755 sapi/fpm/init.d.php-fpm.in %{buildroot}%{_initrddir}/php-fpm %{__make} install INSTALL_ROOT="%{buildroot}" cp %{SOURCE1} %{buildroot}/etc/php.ini cp %{SOURCE2} %{buildroot}/etc/php-cli.ini %post %/sbin/chkconfig --add php-fpm %/sbin/chkconfig --level 2345 php-fpm on %clean rm -rf %{buildroot} %preun if [ "$1" = 0 ] ; then /sbin/service php-fpm stop > /dev/null 2>&1 /sbin/chkconfig --del php-fpm fi exit 0 %postun if [ "$1" -ge 1 ]; then /sbin/service php-fpm condrestart > /dev/null 2>&1 fi exit 0 %files %defattr(-,root,root,-) %config(noreplace) %{_sysconfdir}/php.ini %config(noreplace) %{_sysconfdir}/php-cli.ini /etc/rc.d/init.d/php-fpm /usr/local/bin/* /usr/local/etc/* /usr/local/include/php/* /usr/local/lib/php/build/* /usr/local/php/fpm/* /usr/local/php/man/man1/* /usr/local/php/man/man8/* /usr/local/sbin/* /usr/local/lib/php/extensions/no-debug-zts-20131226/opcache.a /usr/local/lib/php/extensions/no-debug-zts-20131226/opcache.so %changelog * Thu Apr 24 2009 Elia Pinto <[email protected]> 1.0-1 - First Build EOF
您可以使用带-n参数的展开目录来指定%prep 。