X-Git-Url: https://git.rapsys.eu/ihttpd/blobdiff_plain/84c85f28e85d96930c9f9a3ab52cfadcb80a7d7e..3d7a9e54623c2e40b45a7b000d78bf4c54182b73:/SPECS/ihttpd.spec diff --git a/SPECS/ihttpd.spec b/SPECS/ihttpd.spec index 0e1d74e..6c25f8c 100644 --- a/SPECS/ihttpd.spec +++ b/SPECS/ihttpd.spec @@ -1,14 +1,19 @@ +%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.38 -Release: %mkrel 5 +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 @@ -19,7 +24,6 @@ Source16: debug-sshd.service Source18: ihttpd.dracut Source19: ihttpd.module-setup Source20: ihttpd.conf -#Source21: ihttpd.modprobe # build/scripts patches Patch1: httpd-2.4.1-apctl.patch Patch2: httpd-2.4.9-apxs.patch @@ -29,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 +#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 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.33-socket-activation.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 @@ -53,7 +60,17 @@ Requires(post): rpm-helper >= 0.24.8-1 Requires(post): openssl makedev Requires(preun): rpm-helper >= 0.24.8-1 -BuildRequires: apr-devel apr-util-devel +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, @@ -65,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} @@ -132,12 +152,13 @@ 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' \ @@ -168,7 +189,8 @@ 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" gcc index.bin.c -o index.bin @@ -185,9 +207,6 @@ install -D -p -m 644 %{SOURCE18} %{buildroot}%{_sysconfdir}/dracut.conf.d/99-%{n install -d -m 755 %{buildroot}%{_prefix}/lib/dracut/modules.d/99ihttpd install -D -p -m 755 %{SOURCE19} %{buildroot}%{_prefix}/lib/dracut/modules.d/99ihttpd/module-setup.sh -#IHttpd modprobe config -#install -D -p -m 644 %{SOURCE21} %{buildroot}%{_sysconfdir}/modprobe.d/%{name}.conf - #Ihttpd files install -d -m 755 %{buildroot}%{_prefix}/lib/%{name} install -D -p -m 755 index.bin %{buildroot}%{_prefix}/lib/%{name}/ @@ -196,16 +215,12 @@ 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}/ - -#%find_lang %name - %post %_create_ssl_certificate %{name} %files -n %name %config(noreplace) %{_prefix}/lib/%{name}/%{name}.conf %config(noreplace) %{_sysconfdir}/dracut.conf.d/99-%{name}.conf -#%config(noreplace) %{_sysconfdir}/modprobe.d/%{name}.conf %{_sbindir}/%{name} %dir %{_prefix}/lib/dracut/modules.d/99ihttpd %{_prefix}/lib/dracut/modules.d/99ihttpd/module-setup.sh