[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