Deployment
RPM 改變包名,不改變解壓目錄
我已經開始創建我使用的軟體的 RPM,以便我能夠按照我想要的方式配置它。但是,如果不重命名 RPM 建構它的 tarball,我不知道如何重命名包。
例如,我在 tarball php-5.6.0RC3.tar.gz 中有 PHP5.6 的原始碼。在 RPM 建構過程中,它被提取到目錄 php-5.6.0RC3 並且建構過程 cd 進入該目錄以進行建構。
我想將包名稱更改為 phpcustom,並且仍然從 php-5.6.0RC3.tar.gz 建構它。提取過程有效,但隨後建構過程嘗試 cd 進入
phpcustom-5.6.0RC3
顯然不存在的目錄,因此它中斷了。我如何告訴 rpmbuild 建構應該在哪個目錄中進行?
我想我可以將
php-5.6.0RC3
目錄移動到phpcustom-5.6.0RC3
……但這似乎有點傻。我把我的規範文件放在下面,以防萬一。
%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 <devzero2000@rpm5.org> 1.0-1 - First Build EOF
-n
您可以使用參數來指定展開的目錄%prep
。