]> Raphaƫl G. Git Repositories - ihttpd/blobdiff - SPECS/ihttpd.spec
Version 2.4.62
[ihttpd] / SPECS / ihttpd.spec
index 7db50f02330f06313689bd9a0787faa29daea293..6c25f8c58faf22082d2d10993826cf092d8666ae 100644 (file)
@@ -1,21 +1,26 @@
+%global __brp_check_rpaths %{nil}
+%define _disable_ld_no_undefined 1
+# (luigiwalser, ngompa): httpd build hates parallelization
+%define _smp_ncpus_max 8
 %define contentdir %{_datadir}/httpd
 %define docroot /var/www
+%define vstring Mageia
 
 %{?!maxmodules:%global maxmodules 128}
 %{?!serverlimit:%global serverlimit 1024}
 
 Name:          ihttpd
-Version:       2.4.20
+Version:       2.4.62
 Release:       %mkrel 1
 Summary:       The most widely used Web server on the Internet
-License:       Apache License
+License:       ASL 2.0
 Group:         System/Servers
 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 +33,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
-Patch34:       httpd-2.4.17-socket-activation.patch
-Patch35:       httpd-2.4.17-sslciphdefault.patch
+#Patch31:      httpd-2.4.18-sslmultiproxy.patch
+Patch34:       httpd-2.4.60-socket-activation.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 +60,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(libpcre2-8)
+BuildRequires:  pkgconfig(openssl)
+BuildRequires:  pkgconfig(libsystemd)
+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
@@ -62,28 +82,31 @@ This version of apache is fully static, and few modules are available built-in.
 %prep
 %setup -q -n httpd-%{version}
 
-%patch1 -p1 -b .apctl
-%patch2 -p1 -b .apxs
-%patch3 -p1 -b .deplibs
-%patch5 -p1 -b .layout
-%patch6 -p1 -b .apctlsystemd
-%patch7 -p1 -b .detectsystemd
-
-%patch23 -p1 -b .export
-%patch24 -p1 -b .corelimit
-%patch26 -p1 -b .r1337344+
-%patch27 -p1 -b .icons
-%patch30 -p1 -b .cachehardmax
-%patch31 -p1 -b .sslmultiproxy
-%patch34 -p1 -b .socketactivation
-%patch35 -p1 -b .sslciphdefault
-
-%patch55 -p1 -b .malformedhost
-%patch56 -p1 -b .uniqueid
-%patch57 -p1 -b .sigint
+%patch1 -P 1 -p1 -b .apctl
+%patch2 -P 2 -p1 -b .apxs
+%patch3 -P 3 -p1 -b .deplibs
+%patch5 -P 5 -p1 -b .layout
+%patch6 -P 6 -p1 -b .apctlsystemd
+%patch7 -P 7 -p1 -b .detectsystemd
+
+#Disable in ihttpd to avoid build fail
+#%patch23 -P 23 -p1 -b .export
+%patch24 -P 24 -p1 -b .corelimit
+#%patch26 -P 26 -p1 -b .r1337344+
+%patch27 -P 27 -p1 -b .icons
+%patch29 -P 29 -p1 -b .systemd
+%patch30 -P 30 -p1 -b .cachehardmax
+# No longer applies
+#%patch31 -P 31 -p1 -b .sslmultiproxy
+%patch34 -P 34 -p1 -b .socketactivation
+#%patch35 -P 35 -p1 -b .sslciphdefault
+#patch44 -P 44 -p1 -b .luaresume
+
+%patch100 -P 100 -p1 -b .ab_source_address.droplet
+%patch101 -P 101 -p0 -b .PR45994.droplet
 
 # Patch in vendor/release string
-sed "s/@RELEASE@/%{product_distribution}/" < %{PATCH20} | patch -p1
+sed "s/@RELEASE@/%{vstring}/" < %{PATCH20} | patch -p1
 
 # forcibly prevent use of bundled apr, apr-util, pcre
 rm -rf srclib/{apr,apr-util,pcre}
@@ -127,13 +150,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 +189,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 +200,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 +209,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