Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package syslog-ng for openSUSE:Factory checked in at 2025-06-24 20:50:29 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/syslog-ng (Old) and /work/SRC/openSUSE:Factory/.syslog-ng.new.7067 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "syslog-ng" Tue Jun 24 20:50:29 2025 rev:138 rq:1288252 version:4.8.2 Changes: -------- --- /work/SRC/openSUSE:Factory/syslog-ng/syslog-ng.changes 2025-05-08 18:26:00.659059088 +0200 +++ /work/SRC/openSUSE:Factory/.syslog-ng.new.7067/syslog-ng.changes 2025-06-24 20:52:45.029180106 +0200 @@ -1,0 +2,6 @@ +Tue Jun 24 10:06:11 UTC 2025 - peter czanik <pe...@czanik.hu> + +- add patch (5408.patch) to compile GRPC-based modules with latest + protobuf version + +------------------------------------------------------------------- New: ---- 5408.patch ----------(New B)---------- New: - add patch (5408.patch) to compile GRPC-based modules with latest protobuf version ----------(New E)---------- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ syslog-ng.spec ++++++ --- /var/tmp/diff_new_pack.YuxGNd/_old 2025-06-24 20:52:45.797211983 +0200 +++ /var/tmp/diff_new_pack.YuxGNd/_new 2025-06-24 20:52:45.801212149 +0200 @@ -108,6 +108,7 @@ Source3: syslog-ng.service Source4: syslog-ng-service-prepare Patch0: syslog-ng-reproducible-jar-mtime.patch +Patch1: 5408.patch BuildRequires: bison BuildRequires: flex BuildRequires: gcc-c++ @@ -391,6 +392,7 @@ %patch -P 0 -p1 %endif %endif +%patch -P 1 -p1 # fill out placeholders in the config, # systemd service and prepare script. for file in \ ++++++ 5408.patch ++++++ >From 1f22d8a3e92e5ef1cd724b11d19a638a59530eed Mon Sep 17 00:00:00 2001 From: Hofi <hofi...@gmail.com> Date: Thu, 19 Jun 2025 17:29:12 +0200 Subject: [PATCH] grpc: add workarounds of protobuf 30 changes that can be compiled with the older versions as well Signed-off-by: Hofi <hofi...@gmail.com> Signed-off-by: Kovacs, Gergo Ferenc <gergo.kov...@quest.com> --- modules/grpc/bigquery/bigquery-dest.cpp | 3 ++- modules/grpc/otel/filterx/object-otel-array.cpp | 6 ++++-- modules/grpc/otel/filterx/object-otel-kvlist.cpp | 6 ++++-- modules/grpc/otel/filterx/otel-field.cpp | 8 +++++--- modules/grpc/otel/filterx/protobuf-field.cpp | 13 ++++++++----- modules/grpc/otel/filterx/protobuf-field.hpp | 2 +- 6 files changed, 24 insertions(+), 14 deletions(-) diff --git a/modules/grpc/bigquery/bigquery-dest.cpp b/modules/grpc/bigquery/bigquery-dest.cpp index d3745e4c7..6042d91ac 100644 --- a/modules/grpc/bigquery/bigquery-dest.cpp +++ b/modules/grpc/bigquery/bigquery-dest.cpp @@ -316,7 +316,8 @@ DestinationDriver::load_protobuf_schema() LogTemplate *value = (LogTemplate *) current_value->data; - this->fields.push_back(Field{field->name(), (google::protobuf::FieldDescriptorProto::Type) field->type(), value}); + std::string name(field->name()); + this->fields.push_back(Field{name.c_str(), (google::protobuf::FieldDescriptorProto::Type) field->type(), value}); this->fields[i].field_desc = field; current_value = current_value->next; diff --git a/modules/grpc/otel/filterx/object-otel-array.cpp b/modules/grpc/otel/filterx/object-otel-array.cpp index ab2b8de7b..c21feca99 100644 --- a/modules/grpc/otel/filterx/object-otel-array.cpp +++ b/modules/grpc/otel/filterx/object-otel-array.cpp @@ -354,9 +354,11 @@ OtelArrayField::FilterXObjectSetter(google::protobuf::Message *message, ProtoRef if (filterx_object_is_type(object, &FILTERX_TYPE_NAME(list))) return _set_array_field_from_list(message, reflectors, object, assoc_object); + std::string name(reflectors.fieldDescriptor->name()); + std::string type_name(reflectors.fieldDescriptor->type_name()); msg_error("otel-array: Failed to convert field, type is unsupported", - evt_tag_str("field", reflectors.fieldDescriptor->name().c_str()), - evt_tag_str("expected_type", reflectors.fieldDescriptor->type_name()), + evt_tag_str("field", name.c_str()), + evt_tag_str("expected_type", type_name.c_str()), evt_tag_str("type", object->type->name)); return false; } diff --git a/modules/grpc/otel/filterx/object-otel-kvlist.cpp b/modules/grpc/otel/filterx/object-otel-kvlist.cpp index 20e02d59f..fbfca03b2 100644 --- a/modules/grpc/otel/filterx/object-otel-kvlist.cpp +++ b/modules/grpc/otel/filterx/object-otel-kvlist.cpp @@ -482,9 +482,11 @@ OtelKVListField::FilterXObjectSetter(google::protobuf::Message *message, ProtoRe if (filterx_object_is_type(object, &FILTERX_TYPE_NAME(dict))) return _set_kvlist_field_from_dict(message, reflectors, object, assoc_object); + std::string name(reflectors.fieldDescriptor->name()); + std::string type_name(reflectors.fieldDescriptor->type_name()); msg_error("otel-kvlist: Failed to convert field, type is unsupported", - evt_tag_str("field", reflectors.fieldDescriptor->name().c_str()), - evt_tag_str("expected_type", reflectors.fieldDescriptor->type_name()), + evt_tag_str("field", name.c_str()), + evt_tag_str("expected_type", type_name.c_str()), evt_tag_str("type", object->type->name)); return false; } diff --git a/modules/grpc/otel/filterx/otel-field.cpp b/modules/grpc/otel/filterx/otel-field.cpp index 947bb0538..a627bed1f 100644 --- a/modules/grpc/otel/filterx/otel-field.cpp +++ b/modules/grpc/otel/filterx/otel-field.cpp @@ -99,8 +99,9 @@ AnyField::FilterXObjectGetter(Message *message, ProtoReflectors reflectors) return this->FilterXObjectDirectGetter(anyValue); } + std::string name(reflectors.fieldDescriptor->name()); msg_error("otel-field: Unexpected protobuf field type", - evt_tag_str("name", reflectors.fieldDescriptor->name().c_str()), + evt_tag_str("name", name.c_str()), evt_tag_int("type", reflectors.fieldType)); return nullptr; } @@ -258,7 +259,8 @@ public: return true; } - return protobuf_converter_by_type(reflectors.fieldDescriptor->type())->Set(message, reflectors.fieldDescriptor->name(), + return protobuf_converter_by_type(reflectors.fieldDescriptor->type())->Set(message, + std::string(reflectors.fieldDescriptor->name()), object, assoc_object); } }; @@ -313,7 +315,7 @@ ProtobufField *syslogng::grpc::otel::otel_converter_by_type(FieldDescriptor::Typ ProtobufField *syslogng::grpc::otel::otel_converter_by_field_descriptor(const FieldDescriptor *fd) { - const std::string &fieldName = fd->name(); + const std::string fieldName(fd->name()); if (fieldName.compare("time_unix_nano") == 0 || fieldName.compare("observed_time_unix_nano") == 0) { diff --git a/modules/grpc/otel/filterx/protobuf-field.cpp b/modules/grpc/otel/filterx/protobuf-field.cpp index e6bbcd54d..5faf67a25 100644 --- a/modules/grpc/otel/filterx/protobuf-field.cpp +++ b/modules/grpc/otel/filterx/protobuf-field.cpp @@ -42,9 +42,11 @@ using namespace syslogng::grpc::otel; void log_type_error(ProtoReflectors reflectors, const char *type) { + std::string name(reflectors.fieldDescriptor->name()); + std::string type_name(reflectors.fieldDescriptor->type_name()); msg_error("protobuf-field: Failed to convert field, type is unsupported", - evt_tag_str("field", reflectors.fieldDescriptor->name().c_str()), - evt_tag_str("expected_type", reflectors.fieldDescriptor->type_name()), + evt_tag_str("field", name.c_str()), + evt_tag_str("expected_type", type_name.c_str()), evt_tag_str("type", type)); } @@ -159,8 +161,9 @@ public: uint64_t val = reflectors.reflection->GetUInt64(*message, reflectors.fieldDescriptor); if (val > INT64_MAX) { + std::string name(reflectors.fieldDescriptor->name()); msg_error("protobuf-field: exceeding FilterX number value range", - evt_tag_str("field", reflectors.fieldDescriptor->name().c_str()), + evt_tag_str("field", name.c_str()), evt_tag_long("range_min", INT64_MIN), evt_tag_long("range_max", INT64_MAX), evt_tag_printf("current", "%" G_GUINT64_FORMAT, val)); @@ -218,8 +221,8 @@ public: const gchar *json_literal = filterx_json_to_json_literal(object); if (!json_literal) { - msg_error("protobuf-field: json marshal error", - evt_tag_str("field", reflectors.fieldDescriptor->name().c_str())); + std::string name(reflectors.fieldDescriptor->name()); + msg_error("protobuf-field: json marshal error", evt_tag_str("field", name.c_str())); return false; } reflectors.reflection->SetString(message, reflectors.fieldDescriptor, json_literal); diff --git a/modules/grpc/otel/filterx/protobuf-field.hpp b/modules/grpc/otel/filterx/protobuf-field.hpp index 7bc8c5716..709564245 100644 --- a/modules/grpc/otel/filterx/protobuf-field.hpp +++ b/modules/grpc/otel/filterx/protobuf-field.hpp @@ -49,7 +49,7 @@ struct ProtoReflectors this->descriptor = message.GetDescriptor(); if (!this->reflection || !this->descriptor) { - std::string error_msg = "unable to access reflector for protobuf message: " + message.GetTypeName(); + std::string error_msg = "unable to access reflector for protobuf message: " + std::string(message.GetTypeName()); throw std::invalid_argument(error_msg); } this->fieldDescriptor = this->descriptor->FindFieldByName(fieldName); -- 2.50.0