Fix compatibility with httpd 2.4 in F-18/RHEL-7 onwards
- Fix compatibility with httpd 2.4 in F-18/RHEL-7 onwards - Use /run rather than /var/run from F-15/RHEL-7 onwards
This commit is contained in:
parent
8a1a0a690b
commit
62b43fb3b1
12
fcgid24.conf
Normal file
12
fcgid24.conf
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
# This is the Apache server configuration file for providing FastCGI support
|
||||||
|
# through mod_fcgid
|
||||||
|
#
|
||||||
|
# Documentation is available at
|
||||||
|
# http://httpd.apache.org/mod_fcgid/mod/mod_fcgid.html
|
||||||
|
|
||||||
|
# Use FastCGI to process .fcg .fcgi & .fpl scripts
|
||||||
|
AddHandler fcgid-script fcg fcgi fpl
|
||||||
|
|
||||||
|
# Sane place to put sockets and shared memory file
|
||||||
|
FcgidIPCDir /run/mod_fcgid
|
||||||
|
FcgidProcessTableFile /run/mod_fcgid/fcgid_shm
|
@ -1 +1 @@
|
|||||||
d /var/run/mod_fcgid - apache apache
|
d /run/mod_fcgid - apache apache
|
||||||
|
@ -9,14 +9,29 @@
|
|||||||
%global selinux_buildreqs %{nil}
|
%global selinux_buildreqs %{nil}
|
||||||
%else
|
%else
|
||||||
%global selinux_module 1
|
%global selinux_module 1
|
||||||
%global selinux_types %(%{__awk} '/^#[[:space:]]*SELINUXTYPE=/,/^[^#]/ { if ($3 == "-") printf "%s ", $2 }' /etc/selinux/config 2>/dev/null)
|
%global selinux_types %(awk '/^#[[:space:]]*SELINUXTYPE=/,/^[^#]/ { if ($3 == "-") printf "%s ", $2 }' /etc/selinux/config 2>/dev/null)
|
||||||
%global selinux_variants %([ -z "%{selinux_types}" ] && echo mls strict targeted || echo %{selinux_types})
|
%global selinux_variants %([ -z "%{selinux_types}" ] && echo mls strict targeted || echo %{selinux_types})
|
||||||
%global selinux_buildreqs checkpolicy, selinux-policy-devel, hardlink
|
%global selinux_buildreqs checkpolicy, selinux-policy-devel, hardlink
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
|
# apxs script location
|
||||||
|
%{!?_httpd_apxs: %global _httpd_apxs %{_sbindir}/apxs}
|
||||||
|
|
||||||
|
# Module Magic Number
|
||||||
|
%{!?_httpd_mmn: %global _httpd_mmn %(cat %{_includedir}/httpd/.mmn 2>/dev/null || echo missing-httpd-devel)}
|
||||||
|
|
||||||
|
# For httpd ≥ 2.4 we have a different filesystem layout
|
||||||
|
%if 0%{?fedora} > 17 || 0%{?rhel} > 6
|
||||||
|
%global httpd24 1
|
||||||
|
%global rundir /run
|
||||||
|
%else
|
||||||
|
%global httpd24 0
|
||||||
|
%global rundir %{_localstatedir}/run
|
||||||
|
%endif
|
||||||
|
|
||||||
Name: mod_fcgid
|
Name: mod_fcgid
|
||||||
Version: 2.3.6
|
Version: 2.3.6
|
||||||
Release: 5%{?dist}
|
Release: 6%{?dist}
|
||||||
Summary: FastCGI interface module for Apache 2
|
Summary: FastCGI interface module for Apache 2
|
||||||
Group: System Environment/Daemons
|
Group: System Environment/Daemons
|
||||||
License: ASL 2.0
|
License: ASL 2.0
|
||||||
@ -26,18 +41,19 @@ Source1: fcgid.conf
|
|||||||
Source2: mod_fcgid-2.1-README.RPM
|
Source2: mod_fcgid-2.1-README.RPM
|
||||||
Source3: mod_fcgid-2.1-README.SELinux
|
Source3: mod_fcgid-2.1-README.SELinux
|
||||||
Source4: mod_fcgid-tmpfs.conf
|
Source4: mod_fcgid-tmpfs.conf
|
||||||
|
Source5: fcgid24.conf
|
||||||
Source10: fastcgi.te
|
Source10: fastcgi.te
|
||||||
Source11: fastcgi-2.5.te
|
Source11: fastcgi-2.5.te
|
||||||
Source12: fastcgi.fc
|
Source12: fastcgi.fc
|
||||||
Patch0: mod_fcgid-2.3.4-fixconf-shellbang.patch
|
Patch0: mod_fcgid-2.3.4-fixconf-shellbang.patch
|
||||||
Patch1: mod_fcgid-2.3.6-bz783742.patch
|
Patch1: mod_fcgid-2.3.6-bz783742.patch
|
||||||
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
|
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(id -nu)
|
||||||
BuildRequires: httpd-devel >= 2.0, pkgconfig
|
BuildRequires: httpd-devel >= 2.0, pkgconfig
|
||||||
Requires: httpd-mmn = %([ -a %{_includedir}/httpd/.mmn ] && %{__cat} %{_includedir}/httpd/.mmn || echo missing)
|
Requires: httpd-mmn = %{_httpd_mmn}
|
||||||
# sed required for fixconf script
|
# sed required for fixconf script
|
||||||
Requires: /bin/sed
|
Requires: /bin/sed
|
||||||
# systemd-units needed for ownership of /etc/tmpfiles.d directory
|
# systemd-units needed for ownership of /etc/tmpfiles.d directory
|
||||||
%if 0%{?fedora} > 14
|
%if 0%{?fedora} > 14 || 0%{?rhel} > 6
|
||||||
Requires: systemd-units
|
Requires: systemd-units
|
||||||
%endif
|
%endif
|
||||||
# Make sure that selinux-policy is sufficiently up-to-date if it's installed
|
# Make sure that selinux-policy is sufficiently up-to-date if it's installed
|
||||||
@ -64,8 +80,8 @@ the number of fastcgi servers, and kicking out corrupt fastcgi servers as soon
|
|||||||
as possible.
|
as possible.
|
||||||
|
|
||||||
%if %{selinux_module}
|
%if %{selinux_module}
|
||||||
%global selinux_policyver %(%{__sed} -e 's,.*selinux-policy-\\([^/]*\\)/.*,\\1,' /usr/share/selinux/devel/policyhelp || echo 0.0.0)
|
%global selinux_policyver %(sed -e 's,.*selinux-policy-\\([^/]*\\)/.*,\\1,' /usr/share/selinux/devel/policyhelp || echo 0.0.0)
|
||||||
%global selinux_policynum %(echo %{selinux_policyver} | %{__awk} -F. '{ printf "%d%02d%02d", $1, $2, $3 }')
|
%global selinux_policynum %(echo %{selinux_policyver} | awk -F. '{ printf "%d%02d%02d", $1, $2, $3 }')
|
||||||
%package selinux
|
%package selinux
|
||||||
Summary: SELinux policy module supporting FastCGI applications with mod_fcgid
|
Summary: SELinux policy module supporting FastCGI applications with mod_fcgid
|
||||||
Group: System Environment/Base
|
Group: System Environment/Base
|
||||||
@ -90,6 +106,7 @@ SELinux policy module supporting FastCGI applications with mod_fcgid.
|
|||||||
cp -p %{SOURCE1} fcgid.conf
|
cp -p %{SOURCE1} fcgid.conf
|
||||||
cp -p %{SOURCE2} README.RPM
|
cp -p %{SOURCE2} README.RPM
|
||||||
cp -p %{SOURCE3} README.SELinux
|
cp -p %{SOURCE3} README.SELinux
|
||||||
|
cp -p %{SOURCE5} fcgid24.conf
|
||||||
%if 0%{?selinux_policynum} < 20501
|
%if 0%{?selinux_policynum} < 20501
|
||||||
cp -p %{SOURCE10} fastcgi.te
|
cp -p %{SOURCE10} fastcgi.te
|
||||||
%else
|
%else
|
||||||
@ -105,7 +122,7 @@ cp -p %{SOURCE12} fastcgi.fc
|
|||||||
%patch1 -p3
|
%patch1 -p3
|
||||||
|
|
||||||
%build
|
%build
|
||||||
APXS=/usr/sbin/apxs ./configure.apxs
|
APXS=%{_httpd_apxs} ./configure.apxs
|
||||||
make
|
make
|
||||||
%if %{selinux_module}
|
%if %{selinux_module}
|
||||||
for selinuxvariant in %{selinux_variants}
|
for selinuxvariant in %{selinux_variants}
|
||||||
@ -119,15 +136,25 @@ done
|
|||||||
%install
|
%install
|
||||||
rm -rf %{buildroot}
|
rm -rf %{buildroot}
|
||||||
make DESTDIR=%{buildroot} MKINSTALLDIRS="mkdir -p" install
|
make DESTDIR=%{buildroot} MKINSTALLDIRS="mkdir -p" install
|
||||||
|
%if %{httpd24}
|
||||||
|
mkdir -p %{buildroot}{%{_httpd_confdir},%{_httpd_modconfdir}}
|
||||||
|
echo "LoadModule fcgid_module modules/mod_fcgid.so" > %{buildroot}%{_httpd_modconfdir}/fcgid.conf
|
||||||
|
install -D -m 644 fcgid24.conf %{buildroot}%{_httpd_confdir}/fcgid.conf
|
||||||
|
%else
|
||||||
install -D -m 644 fcgid.conf %{buildroot}%{_sysconfdir}/httpd/conf.d/fcgid.conf
|
install -D -m 644 fcgid.conf %{buildroot}%{_sysconfdir}/httpd/conf.d/fcgid.conf
|
||||||
install -d -m 755 %{buildroot}%{_localstatedir}/run/mod_fcgid
|
%endif
|
||||||
|
install -d -m 755 %{buildroot}%{rundir}/mod_fcgid
|
||||||
|
|
||||||
# Include the manual as %%doc, don't need it elsewhere
|
# Include the manual as %%doc, don't need it elsewhere
|
||||||
|
%if %{httpd24}
|
||||||
|
rm -rf %{buildroot}%{_httpd_contentdir}/manual
|
||||||
|
%else
|
||||||
rm -rf %{buildroot}%{_var}/www/manual
|
rm -rf %{buildroot}%{_var}/www/manual
|
||||||
|
%endif
|
||||||
|
|
||||||
# Make sure /var/run/mod_fcgid exists at boot time for systems
|
# Make sure %%{rundir}/mod_fcgid exists at boot time for systems
|
||||||
# with /var/run on tmpfs (#656625)
|
# with %%{rundir} on tmpfs (#656625)
|
||||||
%if 0%{?fedora} > 14
|
%if 0%{?fedora} > 14 || 0%{?rhel} > 6
|
||||||
install -d -m 755 %{buildroot}%{_sysconfdir}/tmpfiles.d
|
install -d -m 755 %{buildroot}%{_sysconfdir}/tmpfiles.d
|
||||||
install -p -m 644 %{SOURCE4} %{buildroot}%{_sysconfdir}/tmpfiles.d/mod_fcgid.conf
|
install -p -m 644 %{SOURCE4} %{buildroot}%{_sysconfdir}/tmpfiles.d/mod_fcgid.conf
|
||||||
%endif
|
%endif
|
||||||
@ -156,7 +183,7 @@ do
|
|||||||
%{_datadir}/selinux/${selinuxvariant}/fastcgi.pp &> /dev/null || :
|
%{_datadir}/selinux/${selinuxvariant}/fastcgi.pp &> /dev/null || :
|
||||||
done
|
done
|
||||||
# Fix up non-standard directory context from earlier packages
|
# Fix up non-standard directory context from earlier packages
|
||||||
/sbin/restorecon -R %{_localstatedir}/run/mod_fcgid || :
|
/sbin/restorecon -R %{rundir}/mod_fcgid || :
|
||||||
|
|
||||||
%postun selinux
|
%postun selinux
|
||||||
# Clean up after package removal
|
# Clean up after package removal
|
||||||
@ -166,8 +193,8 @@ if [ $1 -eq 0 ]; then
|
|||||||
/usr/sbin/semodule -s ${selinuxvariant} -r fastcgi &> /dev/null || :
|
/usr/sbin/semodule -s ${selinuxvariant} -r fastcgi &> /dev/null || :
|
||||||
done
|
done
|
||||||
# Clean up any remaining file contexts (shouldn't be any really)
|
# Clean up any remaining file contexts (shouldn't be any really)
|
||||||
[ -d %{_localstatedir}/run/mod_fcgid ] && \
|
[ -d %{rundir}/mod_fcgid ] && \
|
||||||
/sbin/restorecon -R %{_localstatedir}/run/mod_fcgid &> /dev/null || :
|
/sbin/restorecon -R %{rundir}/mod_fcgid &> /dev/null || :
|
||||||
fi
|
fi
|
||||||
exit 0
|
exit 0
|
||||||
%endif
|
%endif
|
||||||
@ -179,11 +206,16 @@ exit 0
|
|||||||
%doc docs/manual/mod/mod_fcgid.html.en modules/fcgid/ChangeLog
|
%doc docs/manual/mod/mod_fcgid.html.en modules/fcgid/ChangeLog
|
||||||
%doc build/fixconf.sed
|
%doc build/fixconf.sed
|
||||||
%{_libdir}/httpd/modules/mod_fcgid.so
|
%{_libdir}/httpd/modules/mod_fcgid.so
|
||||||
|
%if %{httpd24}
|
||||||
|
%config(noreplace) %{_httpd_modconfdir}/fcgid.conf
|
||||||
|
%config(noreplace) %{_httpd_confdir}/fcgid.conf
|
||||||
|
%else
|
||||||
%config(noreplace) %{_sysconfdir}/httpd/conf.d/fcgid.conf
|
%config(noreplace) %{_sysconfdir}/httpd/conf.d/fcgid.conf
|
||||||
%if 0%{?fedora} > 14
|
%endif
|
||||||
|
%if 0%{?fedora} > 14 || 0%{?rhel} > 6
|
||||||
%{_sysconfdir}/tmpfiles.d/mod_fcgid.conf
|
%{_sysconfdir}/tmpfiles.d/mod_fcgid.conf
|
||||||
%endif
|
%endif
|
||||||
%dir %attr(0755,apache,apache) %{_localstatedir}/run/mod_fcgid/
|
%dir %attr(0755,apache,apache) %{rundir}/mod_fcgid/
|
||||||
|
|
||||||
%if %{selinux_module}
|
%if %{selinux_module}
|
||||||
%files selinux
|
%files selinux
|
||||||
@ -193,6 +225,10 @@ exit 0
|
|||||||
%endif
|
%endif
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Tue Mar 27 2012 Paul Howarth <paul@city-fan.org> 2.3.6-6
|
||||||
|
- Fix compatibility with httpd 2.4 in F-18/RHEL-7 onwards
|
||||||
|
- Use /run rather than /var/run from F-15/RHEL-7 onwards
|
||||||
|
|
||||||
* Sun Jan 22 2012 Paul Howarth <paul@city-fan.org> 2.3.6-5
|
* Sun Jan 22 2012 Paul Howarth <paul@city-fan.org> 2.3.6-5
|
||||||
- Fix regression in 2.3.6 that broke process controls when using vhost-specific
|
- Fix regression in 2.3.6 that broke process controls when using vhost-specific
|
||||||
configuration (upstream issue 49902, #783742, CVE-2012-1181)
|
configuration (upstream issue 49902, #783742, CVE-2012-1181)
|
||||||
|
Loading…
Reference in New Issue
Block a user