]> Raphaƫl G. Git Repositories - ihttpd/blobdiff - SPECS/ihttpd.spec
Readd link to form
[ihttpd] / SPECS / ihttpd.spec
index 7db50f02330f06313689bd9a0787faa29daea293..7e4170ee80ab24c743663efaf16eb56676d5c473 100644 (file)
@@ -1,3 +1,5 @@
+# (luigiwalser, ngompa): httpd build hates parallelization
+%define _smp_ncpus_max 8
 %define contentdir %{_datadir}/httpd
 %define docroot /var/www
 
@@ -5,7 +7,7 @@
 %{?!serverlimit:%global serverlimit 1024}
 
 Name:          ihttpd
-Version:       2.4.20
+Version:       2.4.54
 Release:       %mkrel 1
 Summary:       The most widely used Web server on the Internet
 License:       Apache License
@@ -14,8 +16,8 @@ URL:          http://httpd.apache.org/
 Source0:       http://www.apache.org/dist/httpd/httpd-%version.tar.bz2
 Source1:       index.bin.c
 Source2:       reboot.sh
-Source14:      ihttpd.tmpfiles
 Source15:      ihttpd.service
+Source16:      debug-sshd.service
 Source18:      ihttpd.dracut
 Source19:      ihttpd.module-setup
 Source20:      ihttpd.conf
@@ -28,19 +30,22 @@ Patch6:             httpd-2.4.3-apctl-systemd.patch
 Patch7:                httpd-2.4.10-detect-systemd.patch
 # Features/functional changes
 Patch20:       httpd-2.4.3-release.patch
-Patch23:       httpd-2.4.4-export.patch
+#Disable in ihttpd to avoid build fail
+#Patch23:      httpd-2.4.4-export.patch
 Patch24:       httpd-2.4.1-corelimit.patch
-Patch26:       httpd-2.4.4-r1337344+.patch
+#Patch26:      httpd-2.4.4-r1337344+.patch
 Patch27:       httpd-2.4.2-icons.patch
 Patch28:       httpd-2.4.4-r1332643+.patch
+# http://marc.info/?l=apache-httpd-dev&m=134867223818085&w=2
+Patch29:       httpd-2.4.27-systemd.patch
 Patch30:       httpd-2.4.4-cachehardmax.patch
-Patch31:       httpd-2.4.18-sslmultiproxy.patch
+#Patch31:      httpd-2.4.18-sslmultiproxy.patch
 Patch34:       httpd-2.4.17-socket-activation.patch
-Patch35:       httpd-2.4.17-sslciphdefault.patch
+#Patch35:      httpd-2.4.33-sslciphdefault.patch
 # Bug fixes
-Patch55:       httpd-2.4.4-malformed-host.patch
-Patch56:       httpd-2.4.4-mod_unique_id.patch
-Patch57:       httpd-2.4.10-sigint.patch
+# http://issues.apache.org/bugzilla/show_bug.cgi?id=32524
+Patch100:   httpd-2.4.25-ab_source_address.patch
+Patch101:   httpd-2.2.10-ldap_auth_now_modular_in-apr-util-dbd-ldap_fix.diff
 
 # For /var/www/html
 Requires:      webserver-base
@@ -52,6 +57,18 @@ Requires(post):      rpm-helper >= 0.24.8-1
 Requires(post):        openssl makedev
 Requires(preun):       rpm-helper >= 0.24.8-1
 
+BuildRequires:  bison
+BuildRequires:  flex
+BuildRequires:  libcurl-devel
+BuildRequires:  libtool >= 1.4.2
+BuildRequires:  multiarch-utils >= 1.0.3
+BuildRequires:  pkgconfig(apr-1) >= 1.7.0-4
+BuildRequires:  pkgconfig(apr-util-1) >= 1.6.1-5
+BuildRequires:  pkgconfig(libpcre)
+BuildRequires:  pkgconfig(openssl)
+BuildRequires:  pkgconfig(systemd)
+BuildRequires:  pkgconfig(zlib)
+
 %description
 This package contains the main binary of apache, a powerful, full-featured,
 efficient and freely-available Web server. Apache is also the most popular Web
@@ -69,18 +86,21 @@ This version of apache is fully static, and few modules are available built-in.
 %patch6 -p1 -b .apctlsystemd
 %patch7 -p1 -b .detectsystemd
 
-%patch23 -p1 -b .export
+#Disable in ihttpd to avoid build fail
+#%patch23 -p1 -b .export
 %patch24 -p1 -b .corelimit
-%patch26 -p1 -b .r1337344+
+#%patch26 -p1 -b .r1337344+
 %patch27 -p1 -b .icons
+%patch29 -p1 -b .systemd
 %patch30 -p1 -b .cachehardmax
-%patch31 -p1 -b .sslmultiproxy
+# No longer applies
+#%patch31 -p1 -b .sslmultiproxy
 %patch34 -p1 -b .socketactivation
-%patch35 -p1 -b .sslciphdefault
+#%patch35 -p1 -b .sslciphdefault
+#patch44 -p1 -b .luaresume
 
-%patch55 -p1 -b .malformedhost
-%patch56 -p1 -b .uniqueid
-%patch57 -p1 -b .sigint
+%patch100 -p1 -b .ab_source_address.droplet
+%patch101 -p0 -b .PR45994.droplet
 
 # Patch in vendor/release string
 sed "s/@RELEASE@/%{product_distribution}/" < %{PATCH20} | patch -p1
@@ -127,13 +147,15 @@ install -m 644 %{SOURCE1} index.bin.c
 # regenerate configure scripts
 autoheader && autoconf || exit 1
 
+# Required to be able to run as root
 export CFLAGS="$RPM_OPT_FLAGS -DBIG_SECURITY_HOLE"
-export LDFLAGS="-Wl,-z,relro,-z,now"
+ldflags_hacky_workaround_for_systemd_lib_not_added="-lsystemd "
+export LDFLAGS="${ldflags_hacky_workaround_for_systemd_lib_not_added}-Wl,-z,relro,-z,now"
 
 # Hard-code path to links to avoid unnecessary builddep
 export LYNX_PATH=/usr/bin/links
 
-%configure2_5x \
+%configure \
        --enable-layout=IHttpd \
        --sysconfdir='/etc' \
        --includedir='/usr/include/ihttpd' \
@@ -164,10 +186,10 @@ export LYNX_PATH=/usr/bin/links
        --enable-modules=none \
        --enable-mods-static='unixd auth_basic authn_core authn_file authz_core authz_host authz_user rewrite socache_shmcb dir mime log_config cgi ssl'
 
-%make
+# parallel build fails on the build host
+%__make
 
 export CFLAGS="$RPM_OPT_FLAGS"
-# -m64 -std=c99 -pedantic -Wall -Wshadow -Wpointer-arith -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes
 gcc index.bin.c -o index.bin
 
 %install
@@ -175,9 +197,6 @@ gcc index.bin.c -o index.bin
 #IHttpd sbin
 install -D -p -m 755 ihttpd %{buildroot}%{_sbindir}/ihttpd
 
-#Tmpfiles.d config
-install -D -p -m 644 %{SOURCE14} %{buildroot}%{_tmpfilesdir}/ihttpd.conf
-
 #IHttpd dracut config
 install -D -p -m 644 %{SOURCE18} %{buildroot}%{_sysconfdir}/dracut.conf.d/99-%{name}.conf
 
@@ -187,30 +206,23 @@ install -D -p -m 755 %{SOURCE19} %{buildroot}%{_prefix}/lib/dracut/modules.d/99i
 
 #Ihttpd files
 install -d -m 755 %{buildroot}%{_prefix}/lib/%{name}
-install -D -p -m 755 index.bin %{buildroot}%{_prefix}/lib/%{name}/index.bin
+install -D -p -m 755 index.bin %{buildroot}%{_prefix}/lib/%{name}/
 install -D -p -m 755 %{SOURCE2} %{buildroot}%{_prefix}/lib/%{name}/reboot.bin
-install -D -p -m 644 %{SOURCE20} %{buildroot}%{_prefix}/lib/%{name}/ihttpd.conf
-install -D -p -m 644 %{SOURCE15} %{buildroot}%{_prefix}/lib/%{name}/ihttpd.service
-
-
-%find_lang %name
+install -D -p -m 644 %{SOURCE20} %{buildroot}%{_prefix}/lib/%{name}/
+install -D -p -m 644 %{SOURCE15} %{buildroot}%{_prefix}/lib/%{name}/
+install -D -p -m 644 %{SOURCE16} %{buildroot}%{_prefix}/lib/%{name}/
 
 %post
-%_tmpfilescreate %{name}
-%_post_service %{name}
 %_create_ssl_certificate %{name}
 
-%preun
-%_preun_service %{name}
-
 %files -n %name
 %config(noreplace) %{_prefix}/lib/%{name}/%{name}.conf
 %config(noreplace) %{_sysconfdir}/dracut.conf.d/99-%{name}.conf
 %{_sbindir}/%{name}
-%{_tmpfilesdir}/%{name}.conf
 %dir %{_prefix}/lib/dracut/modules.d/99ihttpd
 %{_prefix}/lib/dracut/modules.d/99ihttpd/module-setup.sh
 %dir %{_prefix}/lib/%{name}
 %{_prefix}/lib/%{name}/%{name}.service
+%{_prefix}/lib/%{name}/debug-sshd.service
 %{_prefix}/lib/%{name}/index.bin
 %{_prefix}/lib/%{name}/reboot.bin