public inbox for git-commits@fedoraproject.org
help / color / mirror / Atom feed
* [rpms/python-carbon] rawhide: Fix FTBFS (fedora#2504451).
@ 2026-07-25 21:19 Jonathan Steffan
  0 siblings, 0 replies; only message in thread
From: Jonathan Steffan @ 2026-07-25 21:19 UTC (permalink / raw)
  To: git-commits

A new commit has been pushed.

Repo   : rpms/python-carbon
Branch : rawhide
Commit : 9925112eb6cf0ea8231a87814636fc9dd56fef8c
Author : Jonathan Steffan <jsteffan@fedoraproject.org>
Date   : 2026-07-25T15:19:14-06:00
Stats  : +203/-1 in 2 file(s)
URL    : https://src.fedoraproject.org/rpms/python-carbon/c/9925112eb6cf0ea8231a87814636fc9dd56fef8c?branch=rawhide

Log:
Fix FTBFS (fedora#2504451).

---
diff --git a/python-carbon-1.1.10-Regenerate-protobuf-bindings.patch b/python-carbon-1.1.10-Regenerate-protobuf-bindings.patch
new file mode 100644
index 0000000..666ebc8
--- /dev/null
+++ b/python-carbon-1.1.10-Regenerate-protobuf-bindings.patch
@@ -0,0 +1,192 @@
+diff -up carbon-1.1.10/lib/carbon/carbon_pb2.py.orig carbon-1.1.10/lib/carbon/carbon_pb2.py
+--- carbon-1.1.10/lib/carbon/carbon_pb2.py.orig	2022-05-22 11:58:01.000000000 -0600
++++ carbon-1.1.10/lib/carbon/carbon_pb2.py	2026-07-25 15:11:31.517318400 -0600
+@@ -1,161 +1,40 @@
++# -*- coding: utf-8 -*-
+ # Generated by the protocol buffer compiler.  DO NOT EDIT!
++# NO CHECKED-IN PROTOBUF GENCODE
+ # source: carbon.proto
+-
+-import sys
++# Protobuf Python Version: 6.33.5
++"""Generated protocol buffer code."""
+ from google.protobuf import descriptor as _descriptor
+-from google.protobuf import message as _message
+-from google.protobuf import reflection as _reflection
++from google.protobuf import descriptor_pool as _descriptor_pool
++from google.protobuf import runtime_version as _runtime_version
+ from google.protobuf import symbol_database as _symbol_database
++from google.protobuf.internal import builder as _builder
++_runtime_version.ValidateProtobufRuntimeVersion(
++    _runtime_version.Domain.PUBLIC,
++    6,
++    33,
++    5,
++    '',
++    'carbon.proto'
++)
+ # @@protoc_insertion_point(imports)
+ 
+-
+ _sym_db = _symbol_database.Default()
+ 
+-_b = sys.version_info[0] < 3 and (lambda x: x) or (lambda x: x.encode('latin1'))
+ 
+-DESCRIPTOR = _descriptor.FileDescriptor(
+-  name='carbon.proto',
+-  package='carbon',
+-  syntax='proto3',
+-  serialized_pb=_b('\n\x0c\x63\x61rbon.proto\x12\x06\x63\x61rbon\")\n\x05Point\x12\x11\n\ttimestamp'
+-                   '\x18\x01 \x01(\r\x12\r\n\x05value\x18\x02 \x01(\x01\"7\n\x06Metric\x12\x0e\n'
+-                   '\x06metric\x18\x01 \x01(\t\x12\x1d\n\x06points\x18\x02 \x03(\x0b\x32\r.carbon.'
+-                   'Point\"*\n\x07Payload\x12\x1f\n\x07metrics\x18\x01 \x03(\x0b\x32\x0e.carbon.'
+-                   'Metricb\x06proto3')
+-)
+-_sym_db.RegisterFileDescriptor(DESCRIPTOR)
+-
+-_POINT = _descriptor.Descriptor(
+-  name='Point',
+-  full_name='carbon.Point',
+-  filename=None,
+-  file=DESCRIPTOR,
+-  containing_type=None,
+-  fields=[
+-    _descriptor.FieldDescriptor(
+-      name='timestamp', full_name='carbon.Point.timestamp', index=0,
+-      number=1, type=13, cpp_type=3, label=1,
+-      has_default_value=False, default_value=0,
+-      message_type=None, enum_type=None, containing_type=None,
+-      is_extension=False, extension_scope=None,
+-      options=None),
+-    _descriptor.FieldDescriptor(
+-      name='value', full_name='carbon.Point.value', index=1,
+-      number=2, type=1, cpp_type=5, label=1,
+-      has_default_value=False, default_value=float(0),
+-      message_type=None, enum_type=None, containing_type=None,
+-      is_extension=False, extension_scope=None,
+-      options=None),
+-  ],
+-  extensions=[
+-  ],
+-  nested_types=[],
+-  enum_types=[
+-  ],
+-  options=None,
+-  is_extendable=False,
+-  syntax='proto3',
+-  extension_ranges=[],
+-  oneofs=[
+-  ],
+-  serialized_start=24,
+-  serialized_end=65,
+-)
+ 
+ 
+-_METRIC = _descriptor.Descriptor(
+-  name='Metric',
+-  full_name='carbon.Metric',
+-  filename=None,
+-  file=DESCRIPTOR,
+-  containing_type=None,
+-  fields=[
+-    _descriptor.FieldDescriptor(
+-      name='metric', full_name='carbon.Metric.metric', index=0,
+-      number=1, type=9, cpp_type=9, label=1,
+-      has_default_value=False, default_value=_b("").decode('utf-8'),
+-      message_type=None, enum_type=None, containing_type=None,
+-      is_extension=False, extension_scope=None,
+-      options=None),
+-    _descriptor.FieldDescriptor(
+-      name='points', full_name='carbon.Metric.points', index=1,
+-      number=2, type=11, cpp_type=10, label=3,
+-      has_default_value=False, default_value=[],
+-      message_type=None, enum_type=None, containing_type=None,
+-      is_extension=False, extension_scope=None,
+-      options=None),
+-  ],
+-  extensions=[
+-  ],
+-  nested_types=[],
+-  enum_types=[
+-  ],
+-  options=None,
+-  is_extendable=False,
+-  syntax='proto3',
+-  extension_ranges=[],
+-  oneofs=[
+-  ],
+-  serialized_start=67,
+-  serialized_end=122,
+-)
+-
+-
+-_PAYLOAD = _descriptor.Descriptor(
+-  name='Payload',
+-  full_name='carbon.Payload',
+-  filename=None,
+-  file=DESCRIPTOR,
+-  containing_type=None,
+-  fields=[
+-    _descriptor.FieldDescriptor(
+-      name='metrics', full_name='carbon.Payload.metrics', index=0,
+-      number=1, type=11, cpp_type=10, label=3,
+-      has_default_value=False, default_value=[],
+-      message_type=None, enum_type=None, containing_type=None,
+-      is_extension=False, extension_scope=None,
+-      options=None),
+-  ],
+-  extensions=[
+-  ],
+-  nested_types=[],
+-  enum_types=[
+-  ],
+-  options=None,
+-  is_extendable=False,
+-  syntax='proto3',
+-  extension_ranges=[],
+-  oneofs=[
+-  ],
+-  serialized_start=124,
+-  serialized_end=166,
+-)
+-
+-_METRIC.fields_by_name['points'].message_type = _POINT
+-_PAYLOAD.fields_by_name['metrics'].message_type = _METRIC
+-DESCRIPTOR.message_types_by_name['Point'] = _POINT
+-DESCRIPTOR.message_types_by_name['Metric'] = _METRIC
+-DESCRIPTOR.message_types_by_name['Payload'] = _PAYLOAD
+-
+-Point = _reflection.GeneratedProtocolMessageType('Point', (_message.Message,), dict(
+-  DESCRIPTOR=_POINT,
+-  __module__='carbon_pb2'
+-  # @@protoc_insertion_point(class_scope:carbon.Point)
+-))
+-_sym_db.RegisterMessage(Point)
+-
+-Metric = _reflection.GeneratedProtocolMessageType('Metric', (_message.Message,), dict(
+-  DESCRIPTOR=_METRIC,
+-  __module__='carbon_pb2'
+-  # @@protoc_insertion_point(class_scope:carbon.Metric)
+-))
+-_sym_db.RegisterMessage(Metric)
+-
+-Payload = _reflection.GeneratedProtocolMessageType('Payload', (_message.Message,), dict(
+-  DESCRIPTOR=_PAYLOAD,
+-  __module__='carbon_pb2'
+-  # @@protoc_insertion_point(class_scope:carbon.Payload)
+-))
+-_sym_db.RegisterMessage(Payload)
++DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x0ccarbon.proto\x12\x06carbon";\n\x05Point\x12\x1c\n\ttimestamp\x18\x01 \x01(\rR\ttimestamp\x12\x14\n\x05value\x18\x02 \x01(\x01R\x05value"G\n\x06Metric\x12\x16\n\x06metric\x18\x01 \x01(\tR\x06metric\x12%\n\x06points\x18\x02 \x03(\x0b2\r.carbon.PointR\x06points"3\n\x07Payload\x12(\n\x07metrics\x18\x01 \x03(\x0b2\x0e.carbon.MetricR\x07metricsb\x06proto3')
+ 
++_globals = globals()
++_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
++_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'carbon_pb2', _globals)
++if not _descriptor._USE_C_DESCRIPTORS:
++  _globals['DESCRIPTOR']._loaded_options = None
++  _globals['_POINT']._serialized_start=24
++  _globals['_POINT']._serialized_end=83
++  _globals['_METRIC']._serialized_start=85
++  _globals['_METRIC']._serialized_end=156
++  _globals['_PAYLOAD']._serialized_start=158
++  _globals['_PAYLOAD']._serialized_end=209
+ # @@protoc_insertion_point(module_scope)

diff --git a/python-carbon.spec b/python-carbon.spec
index 1ce8f9f..e52aae7 100644
--- a/python-carbon.spec
+++ b/python-carbon.spec
@@ -7,7 +7,7 @@ a storage back-end.}
 
 Name:           python-%{srcname}
 Version:        1.1.10
-Release:        19%{?dist}
+Release:        20%{?dist}
 
 Summary:        Back-end data caching and persistence daemon for Graphite
 # Automatically converted from old format: ASL 2.0 - review is highly recommended.
@@ -37,6 +37,10 @@ Patch1:         %{name}-0.10.0-Set-sane-defaults.patch
 Patch2:         %{name}-0.9.13-Fix-path-to-storage-schemas.conf.patch
 # Python 3.12 support https://github.com/graphite-project/carbon/issues/946
 Patch3:         %{name}-1.1.10-Py3.12-support.patch
+# Regenerate the checked-in protobuf gencode; the old descriptor-based
+# carbon_pb2.py predates protobuf 3.20 and fails under current protobuf
+# with "Descriptors cannot be created directly."
+Patch4:         %{name}-1.1.10-Regenerate-protobuf-bindings.patch
 
 BuildArch:      noarch
 
@@ -222,6 +226,12 @@ install -m0644 -D python-carbon.sysusers.conf %{buildroot}%{_sysusersdir}/python
 
 
 %changelog
+* Sat Jul 25 2026 Jonathan Steffan <jsteffan@fedoraproject.org> - 1.1.10-20
+- Regenerate carbon_pb2.py gencode for current protobuf
+- The checked-in carbon_pb2.py predated protobuf 3.20 and used the old
+  descriptor-based API, which protobuf 6.33 refuses to load, raising
+  "TypeError: Descriptors cannot be created directly." at test collection
+
 * Thu Jul 16 2026 Fedora Release Engineering <releng@fedoraproject.org> - 1.1.10-19
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_45_Mass_Rebuild
 

^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2026-07-25 21:19 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-07-25 21:19 [rpms/python-carbon] rawhide: Fix FTBFS (fedora#2504451) Jonathan Steffan

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox