[httpd-itk] - Owesome! Httpd 2.4.7 pushed. It shoud not require any hack anymore. - Major update to 2.4.7-01. -
Pavel Alexeev
hubbitus at fedoraproject.org
Sun Dec 1 14:07:10 UTC 2013
commit bee04b5aa3194a99a636392af9f40aa28e3f4113
Author: Pavel Alexeev (aka Pahan-Hubbitus) <pahan at hubbitus.info>
Date: Sun Dec 1 18:06:50 2013 +0400
- Owesome! Httpd 2.4.7 pushed. It shoud not require any hack anymore.
- Major update to 2.4.7-01.
- Apache from 2.4 version have modularity structure, so many changes:
- Mpm may be build without apache source tree!
- Exclude apache sources, turn mpm-itk tarball into regular source0.
- So drop all black magic!
- Instal it as module, retire separate systemd service files and related stuff.
- Rewrite README.Fedora.
README.Fedora | 8 +
apache2.2-mpm-itk-2.2.17-01.patch | 2084 -------------------------------------
httpd-2.0.45-export.patch | 20 -
httpd-2.0.48-release.patch | 16 -
httpd-2.1.10-apctl.patch | 107 --
httpd-2.1.10-apxs.patch | 97 --
httpd-2.1.10-disablemods.patch | 36 -
httpd-2.1.10-layout.patch | 17 -
httpd-2.1.10-pod.patch | 53 -
httpd-2.2.11-corelimit.patch | 35 -
httpd-2.2.11-selinux.patch | 56 -
httpd-2.2.19-build.patch | 12 -
httpd-2.2.9-deplibs.patch | 14 -
httpd-2.2.9-suenable.patch | 11 -
httpd-itk.spec | 156 +---
15 files changed, 40 insertions(+), 2682 deletions(-)
---
diff --git a/README.Fedora b/README.Fedora
index 84d1eff..a03b19c 100644
--- a/README.Fedora
+++ b/README.Fedora
@@ -1,6 +1,13 @@
It is only additional MPM for Apache web server.
To enable it:
+
+=== For versions >= 2.4
+1) Choose non-threaded MPM like prefork in: /etc/httpd/conf.modules.d/00-mpm.conf
+2) Uncomment ITK in shipped: /etc/httpd/conf.modules.d/00-mpm-itk.conf
+3) Then (re)start service: systemctl start httpd-itk.service
+
+=== For versions < 2.4
1) If you are use moderm systemd:
systemctl stop httpd.service
systemctl disable httpd.service
@@ -11,4 +18,5 @@ systemctl start httpd-itk.service
Set HTTPD=/usr/sbin/httpd.itk in /etc/sysconfig/httpd and restart daemon:
service httpd restart
+
For more information about Apache refer to man and manuals in main httpd package
diff --git a/httpd-itk.spec b/httpd-itk.spec
index 51e665c..db57bae 100644
--- a/httpd-itk.spec
+++ b/httpd-itk.spec
@@ -1,56 +1,22 @@
-%global contentdir /var/www
-%global mmn 20051115
+%global ver 2.4.7-01
Summary: MPM Itk for Apache HTTP Server
Name: httpd-itk
-Version: 2.2.22
-Release: 10%{?dist}
+Version: %( echo %ver | tr '-' '.' )
+Release: 1%{?dist}
URL: http://mpm-itk.sesse.net/
License: ASL 2.0
Group: System Environment/Daemons
# It still needed as it targedted for EL5 too
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
-Source0: http://www.apache.org/dist/httpd/httpd-%{version}.tar.bz2
-# In 2.2.19 introduced new mpm winnt, delete it for backward capability
-Patch99: httpd-2.2.19-build.patch
-# It main Patch, actually as second upstream source for this package in patch form distribution!
-Patch100: http://mpm-itk.sesse.net/apache2.2-mpm-itk-2.2.17-01.patch
-
+Source0: http://mpm-itk.sesse.net/mpm-itk-%{ver}.tar.gz
Source1: README.Fedora
-Source2: httpd-itk.service
-
-# Other patches (greather than 200) from main httpd package. Unfortunately I can't gone it there
-# to do not miss something urgent (see comment and links in first changelog entry)!!
-# Comment was leaved filled about that to httpd maintainer: https://bugzilla.redhat.com/show_bug.cgi?id=225891#c3
-Patch201: httpd-2.1.10-apctl.patch
-Patch202: httpd-2.1.10-apxs.patch
-Patch203: httpd-2.2.9-deplibs.patch
-Patch204: httpd-2.1.10-disablemods.patch
-Patch205: httpd-2.1.10-layout.patch
-Patch220: httpd-2.0.48-release.patch
-Patch222: httpd-2.1.10-pod.patch
-Patch223: httpd-2.0.45-export.patch
-Patch224: httpd-2.2.11-corelimit.patch
-Patch225: httpd-2.2.11-selinux.patch
-Patch226: httpd-2.2.9-suenable.patch
-Patch227: httpd-2.2.22-pcre830.patch
-
-
-BuildRequires: autoconf, perl, pkgconfig
-BuildRequires: zlib-devel, libselinux-devel
-BuildRequires: apr-devel >= 1.3.0, apr-util-devel >= 1.3.0, pcre-devel >= 5.0
-Requires: initscripts >= 8.36, /etc/mime.types, system-logos >= 7.92.1-1
-Provides: webserver
-Conflicts: pcre < 4.0
+
+BuildRequires: httpd-devel >= 2.4.7
# There no required strict equal httpd version, just not older, because from it
# used only environment, but package provide fully independent binary file.
-Requires: httpd >= %{version}
-
-BuildRequires: systemd-units
-Requires(preun): systemd-units
-Requires(postun): systemd-units
-Requires(post): systemd-units
+Requires: httpd >= 2.4.7
%description
The Apache HTTP Server is a powerful, efficient, and extensible web server.
@@ -64,104 +30,46 @@ In summary it is Apache module (opposite CGI solutions like suexec), fast and
allow safely use non-thread-aware code software (like many PHP extensions f.e.)
%prep
-%setup -q -n httpd-%{version}
-%patch99 -p1 -b .pre-itk
-%patch100 -p1 -b .itk
-
-%patch201 -p1 -b .apctl
-%patch202 -p1 -b .apxs
-%patch203 -p1 -b .deplibs
-%patch204 -p1 -b .disablemods
-%patch205 -p1 -b .layout
-%patch220 -p1 -b .fedora
-%patch222 -p1 -b .pod
-%patch223 -p1 -b .export
-%patch224 -p1 -b .corelimit
-%patch225 -p1 -b .selinux
-%patch226 -p1 -b .suenable
-%patch227 -p1 -b .pcre830
-
-# Safety check: prevent build if defined MMN does not equal upstream MMN.
-vmmn=`echo MODULE_MAGIC_NUMBER_MAJOR | cpp -include include/ap_mmn.h | sed -n '/^2/p'`
-if test "x${vmmn}" != "x%{mmn}"; then
- : Error: Upstream MMN is now ${vmmn}, packaged MMN is %{mmn}.
- : Update the mmn macro and rebuild.
- exit 1
-fi
-: Building with MMN %{mmn}
-
-# forcibly prevent use of bundled apr, apr-util, pcre
-rm -rf srclib/{apr,apr-util,pcre}
+%setup -q -n mpm-itk-%{ver}
%build
-# regenerate configure scripts
-autoheader && autoconf || exit 1
-
-function mpmbuild(){
-mpm=$1; shift
-mkdir $mpm;
-pushd $mpm;
-ln -s ../configure
-%configure \
- --prefix=%{_sysconfdir}/httpd \
- --exec-prefix=%{_prefix} \
- --sysconfdir=%{_sysconfdir}/httpd/conf \
- --includedir=%{_includedir}/httpd \
- --libexecdir=%{_libdir}/httpd/modules \
- --datadir=%{contentdir} \
- --with-installbuilddir=%{_libdir}/httpd/build \
- --with-mpm=$mpm \
- --with-apr=%{_prefix} \
- --with-apr-util=%{_prefix} \
- --enable-pie \
- --with-pcre \
- $*
-
+%configure
make %{?_smp_mflags}
-popd
-}
-
-# Only one build
-mpmbuild itk --enable-modules=none
%install
rm -rf %{buildroot}
-install -m 600 %{SOURCE1} .
-install -Dm 755 itk/httpd %{buildroot}%{_sbindir}/httpd.itk
-install -Dm 600 %{SOURCE2} %{buildroot}/%{_unitdir}/%{name}.service
-
-%post
-# Register the httpd service
-if [ $1 -eq 1 ] ; then
- # Initial installation
- /bin/systemctl daemon-reload >/dev/null 2>&1 || :
-fi
-
-%preun
-if [ $1 -eq 0 ] ; then
- # Package removal, not upgrade
- /bin/systemctl --no-reload disable %{name}.service > /dev/null 2>&1 || :
- /bin/systemctl stop %{name}.service > /dev/null 2>&1 || :
-fi
-
-%postun
-/bin/systemctl daemon-reload >/dev/null 2>&1 || :
-if [ $1 -ge 1 ] ; then
- # Package upgrade, not uninstall
- /bin/systemctl try-restart %{name}.service >/dev/null 2>&1 || :
-fi
+install -m 644 %{SOURCE1} .
+install -D .libs/mpm_itk.so %{buildroot}/%{_httpd_moddir}/mod_mpm_itk.so
+install -d %{buildroot}/%{_httpd_modconfdir}/
+
+cat > %{buildroot}/%{_httpd_modconfdir}/00-mpm-itk.conf << EOF
+# ITK MPM (Multi-Processing Module). Mpm-itk allows you to run each of your
+# vhost under a separate uid and gid - in short, the scripts and configuration
+# files for one vhost no longer have to be readable for all the other vhosts.
+#LoadModule mpm_itk_module modules/mod_mpm_itk.so
+EOF
%clean
rm -rf %{buildroot}
%files
%defattr(-,root,root,-)
-%doc README.Fedora
-%{_sbindir}/httpd.itk
-%{_unitdir}/%{name}.service
+%doc README CHANGES README.Fedora
+%{_httpd_moddir}/mod_mpm_itk.so
+%config(noreplace) %{_httpd_modconfdir}/00-mpm-itk.conf
%changelog
+* Sat Nov 30 2013 Pavel Alexeev <Pahan at Hubbitus.info> - 2.4.7.01.1
+- Owesome! Httpd 2.4.7 pushed. It shoud not require any hack anymore.
+- Major update to 2.4.7-01.
+- Apache from 2.4 version have modularity structure, so many changes:
+ - Mpm may be build without apache source tree!
+ - Exclude apache sources, turn mpm-itk tarball into regular source0.
+ - So drop all black magic!
+ - Instal it as module, retire separate systemd service files and related stuff.
+ - Rewrite README.Fedora.
+
* Sat Aug 03 2013 Fedora Release Engineering <rel-eng at lists.fedoraproject.org> - 2.2.22-10
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
More information about the scm-commits
mailing list