diff --git a/httpd.spec b/httpd.spec index 64853ddb2b513fb27c3373cf2bb50a1eb805dc17..9b6f5f5bad96f8710dee5da9495981cbeaeced5b 100644 --- a/httpd.spec +++ b/httpd.spec @@ -8,7 +8,7 @@ Name: httpd Summary: Apache HTTP Server Version: 2.4.58 -Release: 10 +Release: 11 License: ASL 2.0 URL: https://httpd.apache.org/ Source0: https://archive.apache.org/dist/httpd/httpd-%{version}.tar.bz2 @@ -204,17 +204,17 @@ sed -i '/suexec/s,setcap ,echo Skipping setcap for ,' Makefile.in sed -i 's/openEuler/%{_vendor}/g' config.layout # Example conf for instances -cp $RPM_SOURCE_DIR/instance.conf . -sed < $RPM_SOURCE_DIR/httpd.conf >> instance.conf ' +cp %{_sourcedir}/instance.conf . +sed < %{_sourcedir}/httpd.conf >> instance.conf ' 0,/^ServerRoot/d; /# Supplemental configuration/,$d /^ *CustomLog .logs/s,logs/,logs/${HTTPD_INSTANCE}_, /^ *ErrorLog .logs/s,logs/,logs/${HTTPD_INSTANCE}_, ' -touch -r $RPM_SOURCE_DIR/instance.conf instance.conf -cp -p $RPM_SOURCE_DIR/server-status.conf server-status.conf +touch -r %{_sourcedir}/instance.conf instance.conf +cp -p %{_sourcedir}/server-status.conf server-status.conf -sed 's/@MPM@/%{mpm}/' < $RPM_SOURCE_DIR/httpd.service.xml \ +sed 's/@MPM@/%{mpm}/' < %{_sourcedir}/httpd.service.xml \ > httpd.service.xml xmlto man ./httpd.service.xml @@ -255,38 +255,38 @@ export LYNX_PATH=/usr/bin/links %make_build %install -rm -rf $RPM_BUILD_ROOT +rm -rf %{buildroot} %make_install -install -d $RPM_BUILD_ROOT%{_unitdir} -install -p -m644 $RPM_SOURCE_DIR/httpd.service $RPM_BUILD_ROOT%{_unitdir}/httpd.service -install -p -m644 $RPM_SOURCE_DIR/{htcacheclean.service,httpd.socket,httpd@.service,httpd-init.service} $RPM_BUILD_ROOT%{_unitdir}/ +install -d %{buildroot}%{_unitdir} +install -p -m644 %{_sourcedir}/httpd.service %{buildroot}%{_unitdir}/httpd.service +install -p -m644 %{_sourcedir}/{htcacheclean.service,httpd.socket,httpd@.service,httpd-init.service} %{buildroot}%{_unitdir}/ -install -D -m644 $RPM_SOURCE_DIR/README.confd $RPM_BUILD_ROOT%{_sysconfdir}/httpd/conf.d/README -install -D -m644 $RPM_SOURCE_DIR/README.confmod $RPM_BUILD_ROOT%{_sysconfdir}/httpd/conf.modules.d/README -install -p -m644 $RPM_SOURCE_DIR/0*.conf $RPM_BUILD_ROOT%{_sysconfdir}/httpd/conf.modules.d/ +install -D -m644 %{_sourcedir}/README.confd %{buildroot}%{_sysconfdir}/httpd/conf.d/README +install -D -m644 %{_sourcedir}/README.confmod %{buildroot}%{_sysconfdir}/httpd/conf.modules.d/README +install -p -m644 %{_sourcedir}/0*.conf %{buildroot}%{_sysconfdir}/httpd/conf.modules.d/ -sed -i '/^#LoadModule mpm_%{mpm}_module /s/^#//' $RPM_BUILD_ROOT%{_sysconfdir}/httpd/conf.modules.d/00-mpm.conf -touch -r $RPM_SOURCE_DIR/00-mpm.conf $RPM_BUILD_ROOT%{_sysconfdir}/httpd/conf.modules.d/00-mpm.conf +sed -i '/^#LoadModule mpm_%{mpm}_module /s/^#//' %{buildroot}%{_sysconfdir}/httpd/conf.modules.d/00-mpm.conf +touch -r %{_sourcedir}/00-mpm.conf %{buildroot}%{_sysconfdir}/httpd/conf.modules.d/00-mpm.conf -install -d $RPM_BUILD_ROOT%{_unitdir}/httpd.service.d -install -D -m 644 -p $RPM_SOURCE_DIR/10-listen443.conf $RPM_BUILD_ROOT%{_unitdir}/httpd.socket.d/10-listen443.conf -install -m644 -p $RPM_SOURCE_DIR/{welcome.conf,ssl.conf,manual.conf,userdir.conf} $RPM_BUILD_ROOT%{_sysconfdir}/httpd/conf.d/ -install -m 644 docs/conf/extra/httpd-autoindex.conf $RPM_BUILD_ROOT%{_sysconfdir}/httpd/conf.d/autoindex.conf +install -d %{buildroot}%{_unitdir}/httpd.service.d +install -D -m 644 -p %{_sourcedir}/10-listen443.conf %{buildroot}%{_unitdir}/httpd.socket.d/10-listen443.conf +install -m644 -p %{_sourcedir}/{welcome.conf,ssl.conf,manual.conf,userdir.conf} %{buildroot}%{_sysconfdir}/httpd/conf.d/ +install -m 644 docs/conf/extra/httpd-autoindex.conf %{buildroot}%{_sysconfdir}/httpd/conf.d/autoindex.conf rm -v docs/conf/extra/httpd-{ssl,userdir}.conf -rm $RPM_BUILD_ROOT%{_sysconfdir}/httpd/conf/*.conf +rm %{buildroot}%{_sysconfdir}/httpd/conf/*.conf -install -m 644 -p $RPM_SOURCE_DIR/httpd.conf $RPM_BUILD_ROOT%{_sysconfdir}/httpd/conf/httpd.conf +install -m 644 -p %{_sourcedir}/httpd.conf %{buildroot}%{_sysconfdir}/httpd/conf/httpd.conf -install -D -m 644 -p $RPM_SOURCE_DIR/htcacheclean.sysconf \ - $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig/htcacheclean +install -D -m 644 -p %{_sourcedir}/htcacheclean.sysconf \ + %{buildroot}%{_sysconfdir}/sysconfig/htcacheclean -install -D -m 644 -p $RPM_SOURCE_DIR/httpd.tmpfiles \ - $RPM_BUILD_ROOT%{_prefix}/lib/tmpfiles.d/httpd.conf +install -D -m 644 -p %{_sourcedir}/httpd.tmpfiles \ + %{buildroot}%{_tmpfilesdir}/httpd.conf -install -d $RPM_BUILD_ROOT%{_localstatedir}/lib/{dav,httpd} \ - $RPM_BUILD_ROOT/run/httpd/htcacheclean +install -d %{buildroot}%{_localstatedir}/lib/{dav,httpd} \ + %{buildroot}/run/httpd/htcacheclean sed -i \ "s,@@ServerRoot@@/var,%{_localstatedir}/lib/dav,; @@ -296,10 +296,10 @@ sed -i \ s,@@Port@@,80,;" \ docs/conf/extra/*.conf -install -d $RPM_BUILD_ROOT%{_localstatedir}/cache/httpd/{proxy,ssl} +install -d %{buildroot}%{_localstatedir}/cache/httpd/{proxy,ssl} -install -d $RPM_BUILD_ROOT%{_rpmconfigdir}/macros.d -cat > $RPM_BUILD_ROOT%{_rpmconfigdir}/macros.d/macros.httpd < %{buildroot}%{_rpmconfigdir}/macros.d/macros.httpd < $RPM_BUILD_ROOT%{_rpmconfigdir}/macros.d/macros.httpd < $RPM_BUILD_ROOT%{_mandir}/man8/httpd.8 + > %{buildroot}%{_mandir}/man8/httpd.8 sed -i '/.*DEFAULT_..._LIBEXECDIR/d;/DEFAULT_..._INSTALLBUILDDIR/d' \ - $RPM_BUILD_ROOT%{_includedir}/httpd/ap_config_layout.h + %{buildroot}%{_includedir}/httpd/ap_config_layout.h rm -vf \ - $RPM_BUILD_ROOT%{_libdir}/*.exp \ - $RPM_BUILD_ROOT/etc/httpd/conf/mime.types \ - $RPM_BUILD_ROOT%{_libdir}/httpd/modules/*.exp \ - $RPM_BUILD_ROOT%{_libdir}/httpd/build/config.nice \ - $RPM_BUILD_ROOT%{_bindir}/{ap?-config,dbmmanage} \ - $RPM_BUILD_ROOT%{_sbindir}/{checkgid,envvars*} \ - $RPM_BUILD_ROOT%{contentdir}/htdocs/* \ - $RPM_BUILD_ROOT%{_mandir}/man1/dbmmanage.* \ - $RPM_BUILD_ROOT%{contentdir}/cgi-bin/* - -rm -rf $RPM_BUILD_ROOT/etc/httpd/conf/{original,extra} + %{buildroot}%{_libdir}/*.exp \ + %{buildroot}/etc/httpd/conf/mime.types \ + %{buildroot}%{_libdir}/httpd/modules/*.exp \ + %{buildroot}%{_libdir}/httpd/build/config.nice \ + %{buildroot}%{_bindir}/{ap?-config,dbmmanage} \ + %{buildroot}%{_sbindir}/{checkgid,envvars*} \ + %{buildroot}%{contentdir}/htdocs/* \ + %{buildroot}%{_mandir}/man1/dbmmanage.* \ + %{buildroot}%{contentdir}/cgi-bin/* + +rm -rf %{buildroot}/etc/httpd/conf/{original,extra} %pre filesystem getent group apache >/dev/null || groupadd -g 48 -r apache @@ -399,22 +399,22 @@ test -f /etc/sysconfig/httpd-disable-posttrans || \ /bin/systemctl try-restart --no-block httpd.service htcacheclean.service >/dev/null 2>&1 || : %check -if readelf -d $RPM_BUILD_ROOT%{_libdir}/httpd/modules/*.so | grep TEXTREL; then +if readelf -d %{buildroot}%{_libdir}/httpd/modules/*.so | grep TEXTREL; then : modules contain non-relocatable code exit 1 fi set +x rv=0 -for f in $RPM_BUILD_ROOT%{_libdir}/httpd/modules/*.so; do +for f in %{buildroot}%{_libdir}/httpd/modules/*.so; do m=${f##*/} - if ! grep -q $m $RPM_BUILD_ROOT%{_sysconfdir}/httpd/conf.modules.d/*.conf; then + if ! grep -q $m %{buildroot}%{_sysconfdir}/httpd/conf.modules.d/*.conf; then echo ERROR: Module $m not configured. Disable it, or load it. rv=1 fi done -mods=`grep -h ^LoadModule $RPM_BUILD_ROOT%{_sysconfdir}/httpd/conf.modules.d/*.conf | sed 's,.*modules/,,'` +mods=`grep -h ^LoadModule %{buildroot}%{_sysconfdir}/httpd/conf.modules.d/*.conf | sed 's,.*modules/,,'` for m in $mods; do - f=$RPM_BUILD_ROOT%{_libdir}/httpd/modules/${m} + f=%{buildroot}%{_libdir}/httpd/modules/${m} if ! test -x $f; then echo ERROR: Module $m is configured but not built. rv=1 @@ -444,7 +444,7 @@ exit $rv %config(noreplace) %{_sysconfdir}/sysconfig/htcacheclean %ghost %{_sysconfdir}/sysconfig/httpd -%{_prefix}/lib/tmpfiles.d/httpd.conf +%{_tmpfilesdir}/httpd.conf %{_libexecdir}/initscripts/legacy-actions/httpd/* %{_sbindir}/ht* %{_sbindir}/fcgistarter @@ -540,6 +540,14 @@ exit $rv %{_rpmconfigdir}/macros.d/macros.httpd %changelog +* Tue Aug 19 2025 lifeifei - 2.4.58-11 +- Type:bugfix +- CVE:NA +- SUG:NA +- DESC:* Replace $RPM_SOURCE_DIR with %{_sourcedir}、$RPM_BUILD_ROOT with %{buildroot}; + * Replace hardcoded paths with macros: + Replace the hardcoded path %{_prefix}/lib/tmpfiles.d with the appropriate macro %{_tmpfilesdir}. + * Wed Aug 13 2025 yanglu - 2.4.58-10 - Type:CVE - CVE:CVE-2025-49812,CVE-2025-23048,CVE-2024-47252,CVE-2024-43204,CVE-2024-42516