Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package haproxy for openSUSE:Factory checked in at 2026-06-08 16:47:27 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/haproxy (Old) and /work/SRC/openSUSE:Factory/.haproxy.new.2375 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "haproxy" Mon Jun 8 16:47:27 2026 rev:185 rq:1357984 version:3.4.0+git0.64a335366 Changes: -------- --- /work/SRC/openSUSE:Factory/haproxy/haproxy.changes 2026-05-12 19:27:35.181370080 +0200 +++ /work/SRC/openSUSE:Factory/.haproxy.new.2375/haproxy.changes 2026-06-08 16:47:32.794976648 +0200 @@ -1,0 +2,31 @@ +Wed Jun 03 14:29:06 UTC 2026 - Marcus Rueckert <[email protected]> + +- Update to version 3.4.0+git0.64a335366: + - https://www.haproxy.com/blog/announcing-haproxy-3-4 + - https://www.mail-archive.com/[email protected]/msg47182.html +- Update apparmor profile to match 3.4 +- The package can now be built with opentelemtry support (off by + default) at 849ecaf + + In opentelemetry mode, 2 new subpackages get created with the + haproxy binary + + - haproxy-opentelemetry + - haproxy-normal + + By default it will pull haproxy-normal but it can be replaced + with haproxy-opentelemetry + + +------------------------------------------------------------------- +Fri May 29 18:51:41 UTC 2026 - Marcus Rueckert <[email protected]> + +- Enable more debugging tools after recommendation from upstream + https://github.com/haproxy/haproxy/issues/3401 + +------------------------------------------------------------------- +Fri May 29 11:37:49 UTC 2026 - Marcus Rueckert <[email protected]> + +- Add haring as haproxy-haring + +------------------------------------------------------------------- Old: ---- haproxy-3.3.10+git0.0a72d7f9f.tar.gz New: ---- haproxy-3.4.0+git0.64a335366.tar.gz haproxy-opentelemetry-849ecaf.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ haproxy.spec ++++++ --- /var/tmp/diff_new_pack.mePuX8/_old 2026-06-08 16:47:36.471129089 +0200 +++ /var/tmp/diff_new_pack.mePuX8/_new 2026-06-08 16:47:36.491129918 +0200 @@ -16,6 +16,9 @@ # => notes regarding QUIC in README.SUSE.PACKAGING +%define main_binaries haproxy +%define extra_binaries haterm admin/halog/halog dev/haring/haring dev/gdb/libs-from-core dev/gdb/pm-from-core + %define pkg_name haproxy %define pkg_home %{_localstatedir}/lib/%{pkg_name} %{!?vim_data_dir:%global vim_data_dir %{_datadir}/vim/%(readlink %{_datadir}/vim/current)} @@ -34,9 +37,16 @@ %bcond_with ech +%bcond_with opentelemetry + Name: haproxy -Version: 3.3.10+git0.0a72d7f9f +Version: 3.4.0+git0.64a335366 Release: 0 +%if %{with opentelemetry} +%global otel_revision 849ecaf +%global otel_subdir haproxy-opentelemetry-%{otel_revision} +%global otel_additional_source -a9 +%endif # Summary: The Reliable, High Performance TCP/HTTP Load Balancer License: GPL-3.0-or-later AND LGPL-2.1-or-later @@ -52,18 +62,28 @@ Source6: haproxy-tmpfiles.conf Source7: README.SUSE Source8: README.SUSE.PACKAGING +%if %{with opentelemetry} +Source9: %{otel_subdir}.tar.gz +%endif # Source98: series Source99: haproxy-rpmlintrc +# PATCH-OPENSUSE Patch1: haproxy-1.6.0_config_haproxy_user.patch +# PATCH-OPENSUSE Patch2: haproxy-1.6.0-makefile_lib.patch +# PATCH-OPENSUSE Patch3: haproxy-1.6.0-sec-options.patch +# PATCH-OPENSUSE Patch4: haproxy-service.patch BuildRequires: libgcrypt-devel BuildRequires: pcre2-devel BuildRequires: pkgconfig BuildRequires: vim BuildRequires: zlib-devel +%if %{with opentelemetry} +BuildRequires: pkgconfig(opentelemetry-c-wrapper) +%endif Provides: %{name}-doc = %{version} Obsoletes: %{name}-doc < %{version} Provides: haproxy-1.5 = %{version} @@ -87,6 +107,13 @@ BuildRequires: sysuser-tools %{?systemd_ordering} %sysusers_requires +%if %{with opentelemetry} +#!BuildIgnore: haproxy-implementation +Requires: haproxy-implementation = %{version}-%{release} +Requires(post): haproxy-implementation = %{version}-%{release} +Requires(postun): haproxy-implementation = %{version}-%{release} +Suggests: haproxy-normal +%endif %description HAProxy implements an event-driven, mono-process model which enables support @@ -99,64 +126,130 @@ multi-processor systems. That's the reason why they must be optimized to get the most work done from every CPU cycle. +%if %{with opentelemetry} +%package normal +Summary: Normal haproxy binary package +Provides: haproxy-implementation = %{version}-%{release} +Requires: haproxy = %{version}-%{release} +Conflicts: haproxy-implementation +Removepathpostfixes: -normal +%description normal +HAProxy implements an event-driven, mono-process model which enables support +for very high number of simultaneous connections at very high speeds. +Multi-process or multi-threaded models can rarely cope with thousands of +connections because of memory limits, system scheduler limits, and lock +contention everywhere. Event-driven models do not have these problems because +implementing all the tasks in user-space allows a finer resource and time +management. The down side is that those programs generally don't scale well on +multi-processor systems. That's the reason why they must be optimized to get +the most work done from every CPU cycle. + +This package holds the normal haproxy binary without the opentelemetry feature. + +%package opentelemetry +Summary: Normal haproxy binary package +Provides: haproxy-implementation = %{version}-%{release} +Requires: haproxy = %{version}-%{release} +Conflicts: haproxy-implementation +Removepathpostfixes: -otel +%description opentelemetry +HAProxy implements an event-driven, mono-process model which enables support +for very high number of simultaneous connections at very high speeds. +Multi-process or multi-threaded models can rarely cope with thousands of +connections because of memory limits, system scheduler limits, and lock +contention everywhere. Event-driven models do not have these problems because +implementing all the tasks in user-space allows a finer resource and time +management. The down side is that those programs generally don't scale well on +multi-processor systems. That's the reason why they must be optimized to get +the most work done from every CPU cycle. + +This package holds the haproxy binary with the opentelemetry feature. + +%endif + %prep -%autosetup -p1 +%autosetup -p1 %{?otel_additional_source} cp %{SOURCE7} . %build -%make_build \ - TARGET=linux-glibc \ - USE_RELRO_NOW=1 \ - USE_STACKPROTECTOR=1 \ - USE_PIE=1 \ - USE_KTLS=1 \ - USE_PCRE2=1 \ - %if %{with pcre2_jit} - USE_PCRE2_JIT=1 \ - %endif - %ifarch %{ix86} - USE_REGPARM=1 \ - %endif - USE_GETADDRINFO=1 \ -%if %{with awslc} - USE_OPENSSL_AWSLC=1 \ -%else - USE_OPENSSL=1 \ -%if %{with ech} - USE_QUIC_OPENSSL_COMPAT=1 \ - USE_ECH=1 \ -%endif -%endif - USE_LUA=1 \ - USE_ZLIB=1 \ - USE_TFO=1 \ - USE_NS=1 \ - LIB="%{_lib}" \ - PREFIX="%{_prefix}" \ - USE_PROMEX=1 \ - %if %{with quic} - USE_QUIC=1 \ -%if %{without awslc} - USE_QUIC_OPENSSL_COMPAT=1 \ -%endif - %endif - %if %{with opentracing} - USE_OT=1 \ - %endif - %if %{with memory_profiling} - USE_MEMORY_PROFILING=1 \ - %endif +%global shared_make_flags \\\ + TARGET=linux-glibc \\\ + USE_RELRO_NOW=1 \\\ + USE_STACKPROTECTOR=1 \\\ + USE_PIE=1 \\\ + USE_KTLS=1 \\\ + USE_PCRE2=1 \\\ + %if %{with pcre2_jit} \ + USE_PCRE2_JIT=1 \\\ + %endif \ + %ifarch %{ix86} \ + USE_REGPARM=1 \\\ + %endif \ + USE_GETADDRINFO=1 \\\ +%if %{with awslc} \ + USE_OPENSSL_AWSLC=1 \\\ +%else \ + USE_OPENSSL=1 \\\ +%if %{with ech} \ + USE_QUIC_OPENSSL_COMPAT=1 \\\ + USE_ECH=1 \\\ +%endif \ +%endif \ + USE_LUA=1 \\\ + USE_ZLIB=1 \\\ + USE_TFO=1 \\\ + USE_NS=1 \\\ + LIB="%{_lib}" \\\ + PREFIX="%{_prefix}" \\\ + USE_PROMEX=1 \\\ + %if %{with quic} \ + USE_QUIC=1 \\\ +%if %{without awslc} \ + USE_QUIC_OPENSSL_COMPAT=1 \\\ +%endif \ + %endif \ + %if %{with opentracing} \ + USE_OT=1 \\\ + %endif \ + %if %{with memory_profiling} \ + USE_MEMORY_PROFILING=1 \\\ + %endif \ OPT_CFLAGS="%{optflags}" V=1 + +%make_build %{shared_make_flags} %{main_binaries} + +%if %{with opentelemetry} +for main_binary in %{main_binaries} ; do + mv ${main_binary} ${main_binary}-normal +done +%make_build clean +%make_build %{shared_make_flags} EXTRA_MAKE="%{otel_subdir}" %{main_binaries} +for main_binary in %{main_binaries} ; do + mv ${main_binary} ${main_binary}-otel +done +%make_build clean +%endif + %make_build -C admin/systemd PREFIX="%{_prefix}" +%make_build %{shared_make_flags} %{extra_binaries} + %sysusers_generate_pre %{SOURCE5} haproxy haproxy-user.conf -%make_build admin/halog/halog DEBUG_CFLAGS="%{optflags}" %install -install -D -m 0755 %{pkg_name} %{buildroot}%{_sbindir}/%{pkg_name} +%if %{with opentelemetry} +for main_binary in %{main_binaries} ; do + install -D -m 0755 ${main_binary}-{normal,otel} -t %{buildroot}%{_sbindir} +done +%else +install -D -m 0755 %{main_binaries} -t %{buildroot}%{_sbindir}/ +%endif install -d -m 0750 %{buildroot}%{_sysconfdir}/%{pkg_name}/ +install -d -m 0750 %{buildroot}%{_sysconfdir}/%{pkg_name}/conf.d/ install -m 0640 %{SOURCE4} %{buildroot}%{_sysconfdir}/%{pkg_name}/%{pkg_name}.cfg -install -D -m 0755 admin/halog/halog %{buildroot}%{_sbindir}/haproxy-halog +for extra_binary in %{extra_binaries} ; do +install -D -m 0755 ${extra_binary} %{buildroot}%{_sbindir}/haproxy-$(basename ${extra_binary}) +done install -D -m 0644 admin/systemd/%{pkg_name}.service %{buildroot}%{_unitdir}/%{pkg_name}.service install -D -m 644 %{SOURCE5} %{buildroot}%{_sysusersdir}/haproxy-user.conf @@ -192,16 +285,26 @@ %files %license LICENSE %doc README.SUSE CHANGELOG README.md +%if %{with opentelemetry} +%doc %{otel_subdir}/README* +%endif %doc doc/* examples/ %doc admin/netsnmp-perl/ admin/selinux/ %dir %attr(-,root,haproxy) %{_sysconfdir}/%{pkg_name} +%dir %attr(-,root,haproxy) %{_sysconfdir}/%{pkg_name}/conf.d/ %config(noreplace) %attr(-,root,haproxy) %{_sysconfdir}/%{pkg_name}/* %{_unitdir}/%{pkg_name}.service %{_sysusersdir}/haproxy-user.conf %{_tmpfilesdir}/%{name}.conf %dir %ghost %attr(0750,root,haproxy) %{_rundir}/%{name} +%if %{without opentelemetry} %{_sbindir}/haproxy +%endif %{_sbindir}/haproxy-halog +%{_sbindir}/haproxy-haterm +%{_sbindir}/haproxy-haring +%{_sbindir}/haproxy-libs-from-core +%{_sbindir}/haproxy-pm-from-core %dir %ghost %{pkg_home} %{_mandir}/man1/%{pkg_name}.1%{?ext_man} %dir %{_datadir}/vim @@ -214,3 +317,11 @@ %config(noreplace) %ghost %{_sysconfdir}/apparmor.d/local/usr.sbin.haproxy %endif +%if %{with opentelemetry} +%files normal +%{_sbindir}/haproxy-normal + +%files opentelemetry +%{_sbindir}/haproxy-otel +%endif + ++++++ _service ++++++ --- /var/tmp/diff_new_pack.mePuX8/_old 2026-06-08 16:47:37.063153638 +0200 +++ /var/tmp/diff_new_pack.mePuX8/_new 2026-06-08 16:47:37.099155131 +0200 @@ -1,15 +1,25 @@ <services> <service name="tar_scm" mode="manual"> - <param name="url">http://git.haproxy.org/git/haproxy-3.3.git/</param> + <param name="url">https://github.com/haproxytech/haproxy-opentelemetry.git/</param> + <param name="scm">git</param> + <param name="filename">haproxy-opentelemetry</param> + <param name="versionformat">%h</param> + <param name="revision">main</param> + <param name="changesgenerate">enable</param> + </service> + <service name="tar_scm" mode="manual"> + <param name="url">http://git.haproxy.org/git/haproxy-3.4.git/</param> <param name="scm">git</param> <param name="filename">haproxy</param> <param name="versionformat">@PARENT_TAG@+git@TAG_OFFSET@.%h</param> + <param name="revision">v3.4.0</param> <param name="versionrewrite-pattern">v(.*)</param> <param name="versionrewrite-replacement">\1</param> <!-- - <param name="revision">v3.3.6</param> - --> <param name="revision">master</param> + <param name="versionrewrite-pattern">v(.*)-(dev.*)</param> + <param name="versionrewrite-replacement">\1~\2</param> + --> <param name="changesgenerate">enable</param> </service> ++++++ _servicedata ++++++ --- /var/tmp/diff_new_pack.mePuX8/_old 2026-06-08 16:47:37.311163922 +0200 +++ /var/tmp/diff_new_pack.mePuX8/_new 2026-06-08 16:47:37.355165747 +0200 @@ -1,8 +1,11 @@ <servicedata> <service name="tar_scm"> - <param name="url">http://git.haproxy.org/git/haproxy-3.3.git/</param> - <param name="changesrevision">0a72d7f9f45c1e8ca476492edf8328913ce2277a</param> + <param name="url">http://git.haproxy.org/git/haproxy-3.4.git/</param> + <param name="changesrevision">64a335366dc1bb5431e28a75e3a22e4226ac9b8f</param> + </service> + <service name="tar_scm"> + <param name="url">https://github.com/haproxytech/haproxy-opentelemetry.git/</param> + <param name="changesrevision">849ecaf450a03c17a8a405c4d8c3148fea9cb305</param> </service> </servicedata> -(No newline at EOF) ++++++ haproxy-3.3.10+git0.0a72d7f9f.tar.gz -> haproxy-3.4.0+git0.64a335366.tar.gz ++++++ ++++ 84507 lines of diff (skipped) ++++++ haproxy-rpmlintrc ++++++ --- /var/tmp/diff_new_pack.mePuX8/_old 2026-06-08 16:47:42.531380391 +0200 +++ /var/tmp/diff_new_pack.mePuX8/_new 2026-06-08 16:47:42.535380557 +0200 @@ -1,3 +1,2 @@ addFilter('wrong-file-end-of-line-encoding .*/examples/errorfiles/.*\.http$') -addFilter('file-contains-current-date /usr/share/doc/packages/haproxy/examples/haproxy.spec') ++++++ haproxy-service.patch ++++++ --- /var/tmp/diff_new_pack.mePuX8/_old 2026-06-08 16:47:42.567381884 +0200 +++ /var/tmp/diff_new_pack.mePuX8/_new 2026-06-08 16:47:42.579382382 +0200 @@ -1,12 +1,14 @@ ---- a/admin/systemd/haproxy.service.in 2024-01-18 15:32:19.000000000 +0100 -+++ b/admin/systemd/haproxy.service.in 2024-02-04 23:58:30.873980359 +0100 -@@ -6,7 +6,7 @@ +Index: haproxy/admin/systemd/haproxy.service.in +=================================================================== +--- haproxy.orig/admin/systemd/haproxy.service.in ++++ haproxy/admin/systemd/haproxy.service.in +@@ -6,7 +6,7 @@ Wants=network-online.target [Service] EnvironmentFile=-/etc/default/haproxy EnvironmentFile=-/etc/sysconfig/haproxy --Environment="CONFIG=/etc/haproxy/haproxy.cfg" "PIDFILE=/run/haproxy.pid" "EXTRAOPTS=-S /run/haproxy-master.sock" -+Environment="CONFIG=/etc/haproxy/haproxy.cfg" "PIDFILE=/run/haproxy/pid" "EXTRAOPTS=-S /run/haproxy/master.sock" - ExecStart=@SBINDIR@/haproxy -Ws -f $CONFIG -p $PIDFILE $EXTRAOPTS - ExecReload=@SBINDIR@/haproxy -Ws -f $CONFIG -c $EXTRAOPTS +-Environment="CONFIG=/etc/haproxy/haproxy.cfg" "PIDFILE=/run/haproxy.pid" "CFGDIR=/etc/haproxy/conf.d" "EXTRAOPTS=-S /run/haproxy-master.sock" ++Environment="CONFIG=/etc/haproxy/haproxy.cfg" "PIDFILE=/run/haproxy.pid" "CFGDIR=/etc/haproxy/conf.d" "EXTRAOPTS=-S /run/haproxy/master.sock" + ExecStart=@SBINDIR@/haproxy -Ws -f $CONFIG -f $CFGDIR -p $PIDFILE $EXTRAOPTS + ExecReload=@SBINDIR@/haproxy -Ws -f $CONFIG -f $CFGDIR -c $EXTRAOPTS ExecReload=/bin/kill -USR2 $MAINPID ++++++ usr.sbin.haproxy.apparmor ++++++ --- /var/tmp/diff_new_pack.mePuX8/_old 2026-06-08 16:47:42.819392335 +0200 +++ /var/tmp/diff_new_pack.mePuX8/_new 2026-06-08 16:47:42.843393330 +0200 @@ -22,10 +22,16 @@ network inet, network inet6, - /etc/haproxy/* r, + /etc/haproxy/* r, + + # new in 3.4 + /etc/haproxy/conf.d/ r, + /etc/haproxy/conf.d/* r, /etc/os-release r, + / r, + /usr/sbin/haproxy rmix, /dev/shm/haproxy_startup_logs_* rwlk, @@ -37,6 +43,7 @@ # new stats socket location /run/haproxy/stats*.sock{,*.{bak,tmp}} rwl, + /run/haproxy.pid rw, /{,var/}run/haproxy/pid rw, /{,var/}run/haproxy/master.sock* rwlk, @@ -46,6 +53,9 @@ /sys/devices/system/node/*/cpumap r, /sys/devices/system/cpu/online r, /sys/devices/system/node/node[0-9]/cpulist r, + /sys/devices/system/cpu/cpu[0-9]*/acpi_cppc/nominal_perf r, + /sys/devices/system/cpu/cpu[0-9]*/policy[0-9]*/scaling_max_freq r, + /sys/devices/system/cpu/cpu[0-9]*/acpi_cppc/nominal_perf r, /sys/devices/system/cpu/cpu[0-9]*/cache/index[0-9]*/type r, /sys/devices/system/cpu/cpu[0-9]*/cache/index[0-9]*/level r, /sys/devices/system/cpu/cpu[0-9]*/cache/index[0-9]*/shared_cpu_list r, @@ -64,6 +74,10 @@ /sys/class/dmi/id/board_vendor r, /sys/firmware/devicetree/base/model r, /sys/class/dmi/id/board_name r, + /sys/devices/virtual/dmi/id/board_vendor r, + /sys/devices/virtual/dmi/id/board_name r, + /sys/devices/virtual/dmi/id/board_vendor r, + /sys/devices/virtual/dmi/id/board_name r, /proc/2/status r, /proc/cpuinfo r, # end of debug.c files
