webbuilder_pel7ppc64lebuilder0
2 years ago
9 changed files with 291 additions and 0 deletions
@ -0,0 +1,8 @@ |
|||||||
|
Until BZ #1655702 [1] is resolved and a new selinux-polcy is pushed out, the |
||||||
|
local system administrator must apply the following command to avoid avc write |
||||||
|
denials, if selinux security policies are being enforced: |
||||||
|
|
||||||
|
semanage fcontext -a -t httpd_var_run_t '/var/run/fcgiwrap(/.*)?' |
||||||
|
|
||||||
|
|
||||||
|
[1] https://bugzilla.redhat.com/show_bug.cgi?id=1655702 |
@ -0,0 +1,19 @@ |
|||||||
|
Perform these steps after package installation: |
||||||
|
|
||||||
|
1. Inspect the environment file /etc/sysconfig/fcgiwrap. Set fcgiwrap daemon |
||||||
|
parameters acording to your needs. See man fcgiwrap for details. |
||||||
|
|
||||||
|
2. The systemd unit files provided with this package are instantiated and must |
||||||
|
be started by specifiying the desired web server user account. For example, |
||||||
|
when using nginx, the fgciwrap service is enabled then started like so: |
||||||
|
|
||||||
|
systemctl enable fcgiwrap@nginx.socket |
||||||
|
systemctl start fcgiwrap@nginx.socket |
||||||
|
|
||||||
|
Note the socket name is used here rather than the service name. There is no |
||||||
|
need to enable the service itself. Indeed one cannot enable the service on |
||||||
|
older versions of systemd. This is by design. |
||||||
|
|
||||||
|
See the systemd socket documentation for further details: |
||||||
|
https://www.freedesktop.org/software/systemd/man/systemd.socket.html |
||||||
|
|
@ -0,0 +1,8 @@ |
|||||||
|
# fcgiwrap configuration parameters |
||||||
|
|
||||||
|
# Specify the number of fcgiwrap processes to prefork |
||||||
|
DAEMON_PROCS=1 |
||||||
|
|
||||||
|
# Specify additional daemon options. See man fcgiwrap. |
||||||
|
DAEMON_OPTS=-f |
||||||
|
|
@ -0,0 +1,27 @@ |
|||||||
|
From bd00af48ca0b0165eea66f47cd9556ac4cee7219 Mon Sep 17 00:00:00 2001 |
||||||
|
From: Peter Colberg <peter@colberg.org> |
||||||
|
Date: Sat, 5 Aug 2017 11:58:26 -0400 |
||||||
|
Subject: [PATCH] Declare cgi_error noreturn |
||||||
|
|
||||||
|
This declares the function cgi_error with the attribute __noreturn__ to |
||||||
|
hint to GCC/Clang that the function exits the program and to prevent |
||||||
|
implicit-fallthrough warnings in the function handle_fcgi_request. |
||||||
|
--- |
||||||
|
fcgiwrap.c | 1 + |
||||||
|
1 file changed, 1 insertion(+) |
||||||
|
|
||||||
|
diff --git a/fcgiwrap.c b/fcgiwrap.c |
||||||
|
index b44d8aa..751c100 100644 |
||||||
|
--- a/fcgiwrap.c |
||||||
|
+++ b/fcgiwrap.c |
||||||
|
@@ -500,6 +500,7 @@ static bool is_allowed_program(const char *program) { |
||||||
|
return false; |
||||||
|
} |
||||||
|
|
||||||
|
+__attribute__((__noreturn__)) |
||||||
|
static void cgi_error(const char *message, const char *reason, const char *filename) |
||||||
|
{ |
||||||
|
printf("Status: %s\r\nContent-Type: text/plain\r\n\r\n%s\r\n", |
||||||
|
-- |
||||||
|
2.13.5 |
||||||
|
|
@ -0,0 +1,22 @@ |
|||||||
|
From dc0c3b14f0d7bb014a9a4c6c17eb55a123496365 Mon Sep 17 00:00:00 2001 |
||||||
|
From: "D.pz" <xpz91@126.me> |
||||||
|
Date: Mon, 28 Aug 2017 23:54:08 +0800 |
||||||
|
Subject: [PATCH] 1.fix: kill() parameter sequence wrong |
||||||
|
|
||||||
|
--- |
||||||
|
fcgiwrap.c | 2 +- |
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-) |
||||||
|
|
||||||
|
diff --git a/fcgiwrap.c b/fcgiwrap.c |
||||||
|
index b44d8aa..bfd9a90 100644 |
||||||
|
--- a/fcgiwrap.c |
||||||
|
+++ b/fcgiwrap.c |
||||||
|
@@ -205,7 +205,7 @@ static void fcgi_finish(struct fcgi_context *fc, const char* msg) |
||||||
|
if (fc->fd_stderr >= 0) close(fc->fd_stderr); |
||||||
|
|
||||||
|
if (fc->cgi_pid) |
||||||
|
- kill(SIGTERM, fc->cgi_pid); |
||||||
|
+ kill(fc->cgi_pid, SIGTERM); |
||||||
|
} |
||||||
|
|
||||||
|
static const char * fcgi_pass_fd(struct fcgi_context *fc, int *fdp, FCGI_FILE *ffp, char *buf, size_t bufsize) |
@ -0,0 +1,25 @@ |
|||||||
|
From 99e1976b5dbe8379457bd3cd3115208b688f0c9c Mon Sep 17 00:00:00 2001 |
||||||
|
From: Juan Orti Alcaine <j.orti.alcaine@gmail.com> |
||||||
|
Date: Wed, 9 Nov 2016 16:29:10 +0100 |
||||||
|
Subject: [PATCH] pkg-config libsystemd-daemon has been renamed to libsystemd |
||||||
|
|
||||||
|
--- |
||||||
|
configure.ac | 2 +- |
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-) |
||||||
|
|
||||||
|
diff --git a/configure.ac b/configure.ac |
||||||
|
index bb3674e..2b02ef4 100644 |
||||||
|
--- a/configure.ac |
||||||
|
+++ b/configure.ac |
||||||
|
@@ -28,7 +28,7 @@ AC_ARG_WITH([systemd], |
||||||
|
[], [with_systemd=check]) |
||||||
|
have_systemd=no |
||||||
|
if test "x$with_systemd" != "xno"; then |
||||||
|
- PKG_CHECK_MODULES(systemd, [libsystemd-daemon], |
||||||
|
+ PKG_CHECK_MODULES(systemd, [libsystemd], |
||||||
|
[AC_DEFINE(HAVE_SYSTEMD, 1, [Define if systemd is available]) |
||||||
|
have_systemd=yes], |
||||||
|
have_systemd=no) |
||||||
|
-- |
||||||
|
2.9.3 |
||||||
|
|
@ -0,0 +1,11 @@ |
|||||||
|
[Unit] |
||||||
|
Description=Simple CGI Server |
||||||
|
After=nss-user-lookup.target |
||||||
|
|
||||||
|
[Service] |
||||||
|
EnvironmentFile=/etc/sysconfig/fcgiwrap |
||||||
|
ExecStart=/usr/sbin/fcgiwrap ${DAEMON_OPTS} -c ${DAEMON_PROCS} |
||||||
|
User=%i |
||||||
|
|
||||||
|
[Install] |
||||||
|
Also=fcgiwrap@%i.socket |
@ -0,0 +1,11 @@ |
|||||||
|
[Unit] |
||||||
|
Description=fcgiwrap Socket |
||||||
|
|
||||||
|
[Socket] |
||||||
|
ListenStream=/run/fcgiwrap/fcgiwrap-%i.sock |
||||||
|
RuntimeDirectory=fcgiwrap |
||||||
|
SocketUser=%i |
||||||
|
SocketMode=0660 |
||||||
|
|
||||||
|
[Install] |
||||||
|
WantedBy=sockets.target |
@ -0,0 +1,160 @@ |
|||||||
|
%global commit 99c942c90063c73734e56bacaa65f947772d9186 |
||||||
|
%global shortcommit %(c=%{commit}; echo ${c:0:7}) |
||||||
|
%global date 20181108 |
||||||
|
|
||||||
|
Name: fcgiwrap |
||||||
|
Version: 1.1.0 |
||||||
|
Release: 18.%{date}git%{shortcommit}%{?dist} |
||||||
|
Summary: Simple FastCGI wrapper for CGI scripts |
||||||
|
License: MIT |
||||||
|
URL: https://github.com/gnosek/fcgiwrap |
||||||
|
Source0: https://github.com/gnosek/fcgiwrap/archive/%{commit}/%{name}-%{commit}.tar.gz |
||||||
|
Source1: %{name}@.service |
||||||
|
Source2: %{name}@.socket |
||||||
|
Source3: %{name} |
||||||
|
Source4: SETUP |
||||||
|
Source5: README.SELinux |
||||||
|
|
||||||
|
# https://github.com/gnosek/fcgiwrap/pull/39 |
||||||
|
Patch0: %{name}-1.1.0-use_pkg-config_libsystemd.patch |
||||||
|
# https://github.com/gnosek/fcgiwrap/pull/43 |
||||||
|
Patch1: %{name}-1.1.0-declare_cgi_error_noreturn.patch |
||||||
|
# https://github.com/gnosek/fcgiwrap/pull/44 |
||||||
|
Patch2: %{name}-1.1.0-fix_kill_param_sequence.patch |
||||||
|
|
||||||
|
BuildRequires: coreutils |
||||||
|
BuildRequires: gcc |
||||||
|
BuildRequires: autoconf |
||||||
|
BuildRequires: automake |
||||||
|
BuildRequires: fcgi-devel |
||||||
|
BuildRequires: systemd-devel |
||||||
|
BuildRequires: make |
||||||
|
%{?systemd_requires} |
||||||
|
|
||||||
|
%description |
||||||
|
This package provides a simple FastCGI wrapper for CGI scripts with/ |
||||||
|
following features: |
||||||
|
- very lightweight (84KB of private memory per instance) |
||||||
|
- fixes broken CR/LF in headers |
||||||
|
- handles environment in a sane way (CGI scripts get HTTP-related environment |
||||||
|
vars from FastCGI parameters and inherit all the others from |
||||||
|
environment of fcgiwrap ) |
||||||
|
- no configuration, so you can run several sites off the same |
||||||
|
fcgiwrap pool |
||||||
|
- passes CGI std error output to std error stream of cgiwrap or FastCGI |
||||||
|
- support systemd socket activation, launcher program like spawn-fcgi |
||||||
|
is no longer required on systemd-enabled distributions |
||||||
|
|
||||||
|
%prep |
||||||
|
%autosetup -n %{name}-%{commit} |
||||||
|
install -pm 0644 %{SOURCE4} . |
||||||
|
install -pm 0644 %{SOURCE5} . |
||||||
|
|
||||||
|
%build |
||||||
|
autoreconf -i |
||||||
|
%configure --prefix="" --with-systemd |
||||||
|
%make_build |
||||||
|
|
||||||
|
%install |
||||||
|
%make_install |
||||||
|
|
||||||
|
# Remove the default systemd files |
||||||
|
rm -f %{buildroot}%{_unitdir}/fcgiwrap.service |
||||||
|
rm -f %{buildroot}%{_unitdir}/fcgiwrap.socket |
||||||
|
|
||||||
|
# Install our own systemd config files |
||||||
|
install -Dm 644 %{SOURCE1} %{buildroot}%{_unitdir}/%{name}@.service |
||||||
|
install -Dm 644 %{SOURCE2} %{buildroot}%{_unitdir}/%{name}@.socket |
||||||
|
install -Dm 644 %{SOURCE3} %{buildroot}%{_sysconfdir}/sysconfig/%{name} |
||||||
|
|
||||||
|
%post |
||||||
|
%systemd_post %{name}@.service %{name}@.socket |
||||||
|
|
||||||
|
%preun |
||||||
|
%systemd_preun %{name}@.service %{name}@.socket |
||||||
|
|
||||||
|
%postun |
||||||
|
%systemd_postun_with_restart %{name}@.service %{name}@.socket |
||||||
|
|
||||||
|
%files |
||||||
|
%doc README.rst README.SELinux SETUP |
||||||
|
%license COPYING |
||||||
|
%{_sbindir}/%{name} |
||||||
|
%{_mandir}/man8/%{name}.8* |
||||||
|
%{_unitdir}/%{name}@.service |
||||||
|
%{_unitdir}/%{name}@.socket |
||||||
|
%config(noreplace) %{_sysconfdir}/sysconfig/%{name} |
||||||
|
|
||||||
|
%changelog |
||||||
|
* Thu Jan 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1.1.0-18.20181108git99c942c |
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild |
||||||
|
|
||||||
|
* Wed Jul 21 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1.1.0-17.20181108git99c942c |
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild |
||||||
|
|
||||||
|
* Tue Mar 02 2021 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 1.1.0-16.20181108git99c942c |
||||||
|
- Rebuilt for updated systemd-rpm-macros |
||||||
|
See https://pagure.io/fesco/issue/2583. |
||||||
|
|
||||||
|
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1.1.0-15.20181108git99c942c |
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild |
||||||
|
|
||||||
|
* Mon Jul 27 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.1.0-14.20181108git99c942c |
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild |
||||||
|
|
||||||
|
* Tue Jan 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.1.0-13.20181108git99c942c |
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild |
||||||
|
|
||||||
|
* Sun Oct 06 2019 Andrew Bauer <zonexpertconsulting@outlook.com> - 1.1.0-12.20181108git99c942c |
||||||
|
- Update SETUP instructions. Fixes RHBZ 1740030. |
||||||
|
|
||||||
|
* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.1.0-11.20181108git99c942c |
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild |
||||||
|
|
||||||
|
* Thu Jan 31 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.1.0-10.20181108git99c942c |
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild |
||||||
|
|
||||||
|
* Fri Dec 14 2018 Andrew Bauer <zonexpertconsulting@outlook.com> - 1.1.0-9.20181108git99c942c |
||||||
|
- fix typo in fcgiwrap socket file |
||||||
|
|
||||||
|
* Tue Dec 04 2018 Andrew Bauer <zonexpertconsulting@outlook.com> - 1.1.0-8.20181108git99c942c |
||||||
|
- Modify socket file based on feedback in BZ 1655281 |
||||||
|
- Add README.SELinux |
||||||
|
|
||||||
|
* Thu Nov 08 2018 Andrew Bauer <zonexpertconsulting@outlook.com> - 1.1.0-7.20181108git99c942c |
||||||
|
- Feedback from fedora package review |
||||||
|
- Remove Group from unit file |
||||||
|
- Set date to snapshot date, not commit date |
||||||
|
|
||||||
|
* Sat Nov 03 2018 Andrew Bauer <zonexpertconsulting@outlook.com> - 1.1.0-6.20150530git99c942c |
||||||
|
- Supply our own systemd service, socket, and environment files |
||||||
|
- Add Patch2 to fix kill parameter sequence |
||||||
|
|
||||||
|
* Wed Aug 30 2017 Juan Orti Alcaine <jorti@fedoraproject.org> - 1.1.0-5.20150530git99c942c |
||||||
|
- Add license |
||||||
|
- Use systemd_requires macro |
||||||
|
- Update URL |
||||||
|
- Add Patch1 to fix compilation with gcc 7 |
||||||
|
|
||||||
|
* Wed Nov 09 2016 Juan Orti Alcaine <jorti@fedoraproject.org> - 1.1.0-4.20150530git99c942c |
||||||
|
- Patch0 to rename pkg-config libsystemd-daemon to libsystemd |
||||||
|
|
||||||
|
* Thu Feb 04 2016 Juan Orti Alcaine <jorti@fedoraproject.org> - 1.1.0-3.20150530git99c942c |
||||||
|
- Use %%make_build macro |
||||||
|
|
||||||
|
* Sat May 30 2015 Juan Orti Alcaine <jorti@fedoraproject.org> - 1.1.0-2.20150530git99c942c |
||||||
|
- Update to commit 99c942c |
||||||
|
|
||||||
|
* Fri Feb 08 2013 Hiroaki Nakamura <hnakamur@gmail.com> - 1.1.0-1 |
||||||
|
- new upstream release. |
||||||
|
|
||||||
|
* Fri Jan 11 2013 Hiroaki Nakamura <hnakamur@gmail.com> - 1.0.3.20120908-1 |
||||||
|
- Change version to increase monotonously. |
||||||
|
|
||||||
|
* Wed Jan 9 2013 Hiroaki Nakamura <hnakamur@gmail.com> - 1.0.3-3.gitb9f03e6377 |
||||||
|
- Make the rpm relocatable. |
||||||
|
|
||||||
|
* Tue Dec 25 2012 Hiroaki Nakamura <hnakamur@gmail.com> - 1.0.3-2.gitb9f03e6377 |
||||||
|
|
||||||
|
* Tue Jan 31 2012 Craig Barnes <cr@igbarn.es> - 1.0.3-1.git1328862 |
||||||
|
- Initial package |
Loading…
Reference in new issue