Skip to content

Commit

Permalink
Add rpm build instructions to README.rst
Browse files Browse the repository at this point in the history
  • Loading branch information
schnell18 committed Apr 23, 2014
1 parent 3d74f67 commit 81e1616
Show file tree
Hide file tree
Showing 2 changed files with 88 additions and 7 deletions.
65 changes: 60 additions & 5 deletions README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ fcgiwrap
:Author: Grzegorz Nosek <[email protected]>
:Contributors: W-Mark Kubacki <[email protected]>
Jordi Mallach <[email protected]>
Justin Zhang <[email protected]>


This page has been translated into `Spanish <http://www.webhostinghub.com/support/es/misc/fcgiwrap>`_ language by Maria Ramos from `Webhostinghub.com/support/edu <http://www.webhostinghub.com/support/edu>`_.
Expand All @@ -17,9 +18,11 @@ Features
- handles environment in a sane way (CGI scripts get HTTP-related env. vars from FastCGI parameters and inherit all the others from ``fcgiwrap``'s environment)
- no configuration, so you can run several sites off the same ``fcgiwrap`` pool
- passes CGI stderr output to ``fcgiwrap``'s stderr or FastCGI stderr stream
- support systemd socket activation, launcher program like spawn-fcgi
is no longer required on systemd-enabled distributions

Installation
============
Install from source
===================

requirements
------------
Expand All @@ -41,9 +44,61 @@ To install::
*fcgiwrap* will be copied to ``/usr/local/sbin/fcgiwrap`` if you did not set
``--prefix`` for configure or ``DESTDIR`` for the makefile.

usage
-----
Most probably you will want ``fcgiwrap`` be launched by `www-servers/spawn-fcgi <http://redmine.lighttpd.net/projects/spawn-fcgi>`_. Or you could use the author's Perl launcher - see the homepage for that.
Install from RPM package
========================

requirements
------------
At the time of writing, the *fcgiwrap* RPM is not included in any public
repository. As a result, You have to build the RPM from scratch by following
the procedure below:
build the RPM package
---------------------
To install or upgrade RPM build tools::

sudo yum install -y autoconf automake fcgi-devel pkgconfig rpm-build

On systemd enabled OS, you need additional ``systemd-devel`` pacakge::

sudo yum install -y systemd-devel
Then you download appropriate version of the fcgiwrap source tarball from
Github or clone this repository and build the source tarball by using this
command::

git archive --format tgz --prefix fcgiwrap-1.1.0/ HEAD > fcgiwrap-1.1.0.tgz

Then you can kick off the RPM build by running::

rpmbuild -ta fcgiwrap-1.1.0.tgz

and locate the result .rpm file at ~/rpmbuild/RPMS.

install the RPM package
-----------------------
The RPM package of *fcgiwrap* include the excutable ``/usr/sbin/fcgiwrap``
and manual page. If you build the RPM package on systemd enabled OS, the
systemd unit files are included in this package as well. To install the
package, run command like below::

sudo rpm -Uhv fcgiwrap-1.1.0-1.fc18.armv6hl.rpm

The exact name of the RPM package file name depends on the OS and
hardware architecture where you build the RPM.

Usage
=====
If you are on traditional SysV init systems, most probably you will want
``fcgiwrap`` be launched by `www-servers/spawn-fcgi
<http://redmine.lighttpd.net/projects/spawn-fcgi>`_. Or you could use
the author's Perl launcher - see the homepage for that. On the systemd
enabled distributions like Fedora 14+, RHEL 7+, you can take advantage
of systemd socket activation feature instead of the extra launcher like
spawn-fcgi. The systemd unit files ``fcgiwrap.socket`` and
``fcgiwrap.service`` is included in the tarball release under
``systemd`` directory. You can also build the RPM package by following
the instructions aforementioned. The RPM package installs and enables
the socket activation for fcgiwrap automatically on systemd enabled OS.

There are two modes of ``fcgiwrap`` operation:
- when *SCRIPT_FILENAME* is set, its value is treated as the script name and executed directly.
Expand Down
30 changes: 28 additions & 2 deletions fcgiwrap.spec
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ BuildRequires: autoconf automake fcgi-devel pkgconfig
%{?with_systemd:BuildRequires: systemd-devel systemd}
Requires: fcgi


%description
This package provides a simple FastCGI wrapper for CGI scripts with/
following features:
Expand All @@ -32,15 +33,17 @@ following features:
- no configuration, so you can run several sites off the same
fcgiwrap pool
- passes CGI stderr output to stderr stream of cgiwrap or FastCGI
- support systemd socket activation, launcher program like spawn-fcgi
is no longer required on systemd-enabled distributions


%prep
%setup -q


%build
autoreconf -i
%configure

make %{?_smp_mflags}


Expand All @@ -62,7 +65,30 @@ rm -rf %{buildroot}
%{_unitdir}/*.service
%{_unitdir}/*.socket
}


%post
# enable socket activation for fcgiwrap
%{?with_systemd:
/usr/bin/systemctl enable fcgiwrap.socket
/usr/bin/systemctl start fcgiwrap.socket

cat <<BANNER
==================================================
FCGI service fcgiwrap is ready!!!
==================================================
BANNER
}

%preun
# stop and disable socket activation for fcgiwrap
%{?with_systemd:
/usr/bin/systemctl stop fcgiwrap.socket
/usr/bin/systemctl disable fcgiwrap.socket
}


%changelog
* Tue Apr 22 2014 Justin Zhang <schnell18[AT]gmail.com> - 1.1.0-1
- version 1.1.0
- First spec file for the fcgiwrap
- Create RPM spec file for the fcgiwrap

0 comments on commit 81e1616

Please sign in to comment.