Solution: Creating rpm packages
Table of contents:
Description
You might want to create custom rpm packages of your own supported eZ publish requirements.
As many distributions have poor support for PHP 4.4 branch (atm) many users find themselves installing their own software to provide PHP 4.4 or greater.
Examples
Examples of software possibly worth packaging for production server software management.
- eZ
- PHP
- Apache
- MySQL
Commands
No command summary provided at this time.
The basic process is as follows
- Create spec file
- Build rpm and srpm
- Install PHP
Create PHP4.4.6 RPM
Create Spec File
root@lotta:~/> vim /usr/src/packages/SPECS/.spec
Build rpm and srpm
root@lotta:~/> cd /usr/src/packages/BUILD root@lotta:/usr/src/packages/BUILD> rpmbuild -ba .spec
Install PHP rpm
root@lotta:~/> rpm -i /usr/src/packages/RPMS/i586/php-4.4.6-1.i586.rpm
Example Spec Files
Create PHP4.4.6 RPM for Suse Linux Enterprise Server 10
Paste this into the file /usr/src/packages/SPECS/.spec
%define name php %define version 4.4.6 %define release 1 %define _prefix /usr %define var --with-apxs2=/usr/sbin/apxs2-prefork --with-gd --with-t1lib --with-jpeg-dir --with-png-dir --with-zlib-dir --with-ttf --with-freetype-dir --with-t1lib --enable-gd-native-ttf --enable-gd-jis-conv --enable-bcmath --enable-calendar --with-curl --with-dom --with-xmlrpc --enable-ftp --with-iconv --with-gettext --enable-mbstring --with-mcrypt --with-mhash --enable-sockets Summary: PHP is a server-side scripting language for creating dynamic Web pages Name: %{name} Version: %{version} Release: %{release} Source: http://no.php.net/distributions/%{name}-%{version}.tar.gz Vendor: The PHP Group URL: http://www.php.net/ License: The PHP License Group: System Environment/Libraries Prefix: != %{_prefix} BuildRoot: /tmp/%{name}-buildroot %files /bin /include /lib /etc /man %defattr(-,root,root) %description PHP is a server-side scripting language for creating dynamic Web pages. %prep %setup -q %build echo %{_prefix} ./configure --prefix=$RPM_BUILD_ROOT %{var} make %install rm -rf $RPM_BUILD_ROOT make ROOT="$RPM_BUILD_ROOT" install %clean rm -rf $RPM_BUILD_ROOT %changelog * Thu Mar 6 2007 Kim Johansen <[email protected]> - First draft of the spec file
Create PHP4.4.6 RPM for CentOS 4.4
Paste this into the file /usr/src/packages/SPECS/.spec
%define name php %define version 4.4.6 %define release 1 %define _prefix /usr %define var --with-apxs2=/usr/sbin/apxs --with-gd --with-t1lib --with-jpeg-dir --with-pn\ g-dir --with-zlib-dir --with-ttf=/usr/include/freetype1 --with-freetype-dir=/usr/include/freetype2 --with\ -t1lib --enable-gd-native-ttf --enable-gd-jis-conv --enable-bcmath --enable-calendar --with-curl --with-d\ om --with-xmlrpc --enable-ftp --with-iconv --with-gettext --enable-mbstring --with-mcrypt --with-mhash --\ enable-sockets Summary: PHP is a server-side scripting language for creating dynamic Web pages Name: %{name} Version: %{version} Release: %{release} Source: http://no.php.net/distributions/%{name}-%{version}.tar.gz Vendor: The PHP Group URL: http://www.php.net/ License: The PHP License Group: System Environment/Libraries Prefix: != %{_prefix} BuildRoot: /tmp/%{name}-buildroot %files /bin /include /lib /etc /man %defattr(-,root,root) %description PHP is a server-side scripting language for creating dynamic Web pages. %prep %setup -q %build echo %{_prefix} ./configure --prefix=$RPM_BUILD_ROOT %{var} make %install rm -rf $RPM_BUILD_ROOT make ROOT="$RPM_BUILD_ROOT" install %clean rm -rf $RPM_BUILD_ROOT %changelog * Thu Mar 9 2007 Graham Brookins <[email protected]> - First draft of the spec file