RPM: building proctitle for PHP

Sometimes it’s convenient to change PHP script name, it allows to check if it’s running by typing just pstree. You can perform that with use of proctitle. Unfortunately there is no rpm for this package for Fedora 15. So to use it you need to build it. Firstly you need to download source package to your rpmbuild/SOURCES directory. ┬áPut this spec file to SPECS:

%define modname proctitle
%global php_apiver %((echo 0; php -i 2>/dev/null | sed -n 's/^PHP API => //p') | tail -1)
%global php_extdir %(php-config --extension-dir 2>/dev/null || echo "undefined")
%global php_version %(php-config --version 2>/dev/null || echo 0)
Name: php-pecl-proctitle
Version: 0.1.1
Release: 1%{?dist}
Summary: Allows setting the current process name on Linux and BSD
Group: Development/Languages
License: PHP
URL: http://pecl.php.net/package/proctitle
Source0: http://pecl.php.net/get/proctitle-0.1.1.tgz
Source1: %{modname}.ini
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot
BuildRequires: php-devel
Requires: php(zend-abi) = %{php_zend_api}
Requires: php(api) = %{php_apiver}
This extension allows changing the current process' name on Linux and *BSD systems. This is useful when using pcntl_fork() to identify running processes in process list.
%setup -n -q %{modname}-%{version}
[ "../package.xml" != "/" ] && mv ../package.xml .
cp %{SOURCE1} %{}
find . -type d -exec chmod 755 {} ;
find . -type f -exec chmod 644 {} ;
make %{?_smp_mflags}
# install configuration
%{__mkdir} -p $RPM_BUILD_ROOT%{_sysconfdir}/php.d
%{__cp} %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/php.d/
%doc LICENSE README package*.xml
%config(noreplace) %{_sysconfdir}/php.d/%{modname}.ini

Run rpmbuild:

[builder@playground BUILD]$ rpmbuild -ba ../SPECS/php-pecl-proctitle.spec

After it finishes you will get built rpm:

[builder@playground rpmbuild]$ rpm -qpl RPMS/x86_64/php-pecl-proctitle-0.1.1-1.fc15.x86_64.rpm
[builder@playground rpmbuild]$

Create test file:

<?php setproctitle("myscript"); sleep(60); ?>

And check:

[web@playground ~]$ ps axu | grep m[y]
builder 28272 1.3 1.1 387524 11720 pts/2 S+ 07:39 0:00 myscript
[web@playground ~]$

Didn’t find the answer to your question? Ask it our administrators to reply we will publish on website.

Leave a Reply

Your email address will not be published.