commit:     d26b0662fd51083aceda2eb70a5d2460c3c29c80
Author:     Michael Mair-Keimberger <mm1ke <AT> gentoo <DOT> org>
AuthorDate: Sun Jun 15 07:53:44 2025 +0000
Commit:     Michael Mair-Keimberger <mm1ke <AT> gentoo <DOT> org>
CommitDate: Sun Jun 15 07:53:44 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d26b0662

dev-libs/librdkafka: remove unused patch(es)

Signed-off-by: Michael Mair-Keimberger <mm1ke <AT> gentoo.org>

 .../files/librdkafka-2.2.0-backport-pr4449.patch   | 285 ---------------------
 1 file changed, 285 deletions(-)

diff --git a/dev-libs/librdkafka/files/librdkafka-2.2.0-backport-pr4449.patch 
b/dev-libs/librdkafka/files/librdkafka-2.2.0-backport-pr4449.patch
deleted file mode 100644
index cc6b57ea72d2..000000000000
--- a/dev-libs/librdkafka/files/librdkafka-2.2.0-backport-pr4449.patch
+++ /dev/null
@@ -1,285 +0,0 @@
-https://bugs.gentoo.org/915433
-https://github.com/confluentinc/librdkafka/pull/4449
-
-From 8b311b8a850805f4ec9bb068c0edb31492ad03fe Mon Sep 17 00:00:00 2001
-From: Emanuele Sabellico <[email protected]>
-Date: Wed, 27 Sep 2023 11:08:33 +0200
-Subject: [PATCH 1/3] tmpabuf refactor and fix for insufficient buffer
- allocation
-
----
- CHANGELOG.md                 | 10 ++++++
- src/rdkafka_buf.h            | 25 ++++++++++++---
- src/rdkafka_metadata.c       | 59 +++++++++++++++++++-----------------
- src/rdkafka_metadata_cache.c | 38 +++++++++++------------
- src/rdkafka_topic.c          | 36 +++++++++++++---------
- 5 files changed, 100 insertions(+), 68 deletions(-)
-
-diff --git a/src/rdkafka_buf.h b/src/rdkafka_buf.h
-index ccd563cc6..623ec49ae 100644
---- a/src/rdkafka_buf.h
-+++ b/src/rdkafka_buf.h
-@@ -49,21 +49,36 @@ typedef struct rd_tmpabuf_s {
-         size_t of;
-         char *buf;
-         int failed;
--        int assert_on_fail;
-+        rd_bool_t assert_on_fail;
- } rd_tmpabuf_t;
- 
- /**
-- * @brief Allocate new tmpabuf with \p size bytes pre-allocated.
-+ * @brief Initialize new tmpabuf of non-final \p size bytes.
-  */
- static RD_UNUSED void
--rd_tmpabuf_new(rd_tmpabuf_t *tab, size_t size, int assert_on_fail) {
--        tab->buf            = rd_malloc(size);
--        tab->size           = size;
-+rd_tmpabuf_new(rd_tmpabuf_t *tab, size_t size, rd_bool_t assert_on_fail) {
-+        tab->buf            = NULL;
-+        tab->size           = RD_ROUNDUP(size, 8);
-         tab->of             = 0;
-         tab->failed         = 0;
-         tab->assert_on_fail = assert_on_fail;
- }
- 
-+/**
-+ * @brief Add a new allocation of \p _size bytes,
-+ *        rounded up to maximum word size,
-+ *        for \p _times times.
-+ */
-+#define rd_tmpabuf_add_alloc_times(_tab, _size, _times)                       
 \
-+        (_tab)->size += RD_ROUNDUP(_size, 8) * _times
-+
-+#define rd_tmpabuf_add_alloc(_tab, _size)                                     
 \
-+        rd_tmpabuf_add_alloc_times(_tab, _size, 1)
-+/**
-+ * @brief Finalize tmpabuf pre-allocating tab->size bytes.
-+ */
-+#define rd_tmpabuf_finalize(_tab) (_tab)->buf = rd_malloc((_tab)->size)
-+
- /**
-  * @brief Free memory allocated by tmpabuf
-  */
-diff --git a/src/rdkafka_metadata.c b/src/rdkafka_metadata.c
-index f96edf658..6c2f60ae3 100644
---- a/src/rdkafka_metadata.c
-+++ b/src/rdkafka_metadata.c
-@@ -164,7 +164,8 @@ static rd_kafka_metadata_internal_t 
*rd_kafka_metadata_copy_internal(
-          * Because of this we copy all the structs verbatim but
-          * any pointer fields needs to be copied explicitly to update
-          * the pointer address. */
--        rd_tmpabuf_new(&tbuf, size, 1 /*assert on fail*/);
-+        rd_tmpabuf_new(&tbuf, size, rd_true /*assert on fail*/);
-+        rd_tmpabuf_finalize(&tbuf);
-         mdi = rd_tmpabuf_write(&tbuf, src, sizeof(*mdi));
-         md  = &mdi->metadata;
- 
-@@ -506,11 +507,13 @@ rd_kafka_parse_Metadata(rd_kafka_broker_t *rkb,
-          * no more than 4 times larger than the wire representation.
-          * This is increased to 5 times in case if we want to compute 
partition
-          * to rack mapping. */
--        rd_tmpabuf_new(&tbuf,
--                       sizeof(*mdi) + rkb_namelen +
--                           (rkbuf->rkbuf_totlen * 4 +
--                            (compute_racks ? rkbuf->rkbuf_totlen : 0)),
--                       0 /*dont assert on fail*/);
-+        rd_tmpabuf_new(&tbuf, 0, rd_false /*dont assert on fail*/);
-+        rd_tmpabuf_add_alloc(&tbuf, sizeof(*mdi));
-+        rd_tmpabuf_add_alloc(&tbuf, rkb_namelen);
-+        rd_tmpabuf_add_alloc(&tbuf, rkbuf->rkbuf_totlen *
-+                                        (4 + (compute_racks ? 1 : 0)));
-+
-+        rd_tmpabuf_finalize(&tbuf);
- 
-         if (!(mdi = rd_tmpabuf_alloc(&tbuf, sizeof(*mdi)))) {
-                 rd_kafka_broker_unlock(rkb);
-@@ -1603,35 +1606,37 @@ rd_kafka_metadata_new_topic_mock(const 
rd_kafka_metadata_topic_t *topics,
-         rd_kafka_metadata_internal_t *mdi;
-         rd_kafka_metadata_t *md;
-         rd_tmpabuf_t tbuf;
--        size_t topic_names_size = 0;
--        int total_partition_cnt = 0;
-         size_t i;
-         int curr_broker = 0;
- 
--        /* Calculate total partition count and topic names size before
--         * allocating memory. */
--        for (i = 0; i < topic_cnt; i++) {
--                topic_names_size += 1 + strlen(topics[i].topic);
--                total_partition_cnt += topics[i].partition_cnt;
--        }
--
-         /* If the replication factor is given, num_brokers must also be given 
*/
-         rd_assert(replication_factor <= 0 || num_brokers > 0);
- 
-         /* Allocate contiguous buffer which will back all the memory
-          * needed by the final metadata_t object */
--        rd_tmpabuf_new(
--            &tbuf,
--            sizeof(*mdi) + (sizeof(*md->topics) * topic_cnt) +
--                topic_names_size + (64 /*topic name size..*/ * topic_cnt) +
--                (sizeof(*md->topics[0].partitions) * total_partition_cnt) +
--                (sizeof(*mdi->topics) * topic_cnt) +
--                (sizeof(*mdi->topics[0].partitions) * total_partition_cnt) +
--                (sizeof(*mdi->brokers) * RD_ROUNDUP(num_brokers, 8)) +
--                (replication_factor > 0 ? RD_ROUNDUP(replication_factor, 8) *
--                                              total_partition_cnt * 
sizeof(int)
--                                        : 0),
--            1 /*assert on fail*/);
-+        rd_tmpabuf_new(&tbuf, sizeof(*mdi), rd_true /*assert on fail*/);
-+
-+        rd_tmpabuf_add_alloc(&tbuf, topic_cnt * sizeof(*md->topics));
-+        rd_tmpabuf_add_alloc(&tbuf, topic_cnt * sizeof(*mdi->topics));
-+        rd_tmpabuf_add_alloc(&tbuf, num_brokers * sizeof(*md->brokers));
-+
-+        /* Calculate total partition count and topic names size before
-+         * allocating memory. */
-+        for (i = 0; i < topic_cnt; i++) {
-+                rd_tmpabuf_add_alloc(&tbuf, 1 + strlen(topics[i].topic));
-+                rd_tmpabuf_add_alloc(&tbuf,
-+                                     topics[i].partition_cnt *
-+                                         sizeof(*md->topics[i].partitions));
-+                rd_tmpabuf_add_alloc(&tbuf,
-+                                     topics[i].partition_cnt *
-+                                         sizeof(*mdi->topics[i].partitions));
-+                if (replication_factor > 0)
-+                        rd_tmpabuf_add_alloc_times(
-+                            &tbuf, replication_factor * sizeof(int),
-+                            topics[i].partition_cnt);
-+        }
-+
-+        rd_tmpabuf_finalize(&tbuf);
- 
-         mdi = rd_tmpabuf_alloc(&tbuf, sizeof(*mdi));
-         memset(mdi, 0, sizeof(*mdi));
-diff --git a/src/rdkafka_metadata_cache.c b/src/rdkafka_metadata_cache.c
-index 18f19a4d0..1530e699e 100644
---- a/src/rdkafka_metadata_cache.c
-+++ b/src/rdkafka_metadata_cache.c
-@@ -249,8 +249,6 @@ static struct rd_kafka_metadata_cache_entry 
*rd_kafka_metadata_cache_insert(
-     rd_kafka_metadata_broker_internal_t *brokers_internal,
-     size_t broker_cnt) {
-         struct rd_kafka_metadata_cache_entry *rkmce, *old;
--        size_t topic_len;
--        size_t racks_size = 0;
-         rd_tmpabuf_t tbuf;
-         int i;
- 
-@@ -261,34 +259,32 @@ static struct rd_kafka_metadata_cache_entry 
*rd_kafka_metadata_cache_insert(
-          * any pointer fields needs to be copied explicitly to update
-          * the pointer address.
-          * See also rd_kafka_metadata_cache_delete which frees this. */
--        topic_len = strlen(mtopic->topic) + 1;
-+        rd_tmpabuf_new(&tbuf, 0, rd_true /*assert on fail*/);
-+
-+        rd_tmpabuf_add_alloc(&tbuf, sizeof(*rkmce));
-+        rd_tmpabuf_add_alloc(&tbuf, strlen(mtopic->topic) + 1);
-+        rd_tmpabuf_add_alloc(&tbuf, mtopic->partition_cnt *
-+                                        sizeof(*mtopic->partitions));
-+        rd_tmpabuf_add_alloc(&tbuf,
-+                             mtopic->partition_cnt *
-+                                 
sizeof(*metadata_internal_topic->partitions));
- 
-         for (i = 0; include_racks && i < mtopic->partition_cnt; i++) {
-                 size_t j;
--                racks_size += RD_ROUNDUP(
--                    metadata_internal_topic->partitions[i].racks_cnt *
--                        sizeof(char *),
--                    8);
-+                rd_tmpabuf_add_alloc(
-+                    &tbuf, metadata_internal_topic->partitions[i].racks_cnt *
-+                               sizeof(char *));
-                 for (j = 0;
-                      j < metadata_internal_topic->partitions[i].racks_cnt;
-                      j++) {
--                        racks_size += RD_ROUNDUP(
--                            strlen(metadata_internal_topic->partitions[i]
--                                       .racks[j]) +
--                                1,
--                            8);
-+                        rd_tmpabuf_add_alloc(
-+                            &tbuf, 
strlen(metadata_internal_topic->partitions[i]
-+                                              .racks[j]) +
-+                                       1);
-                 }
-         }
- 
--        rd_tmpabuf_new(
--            &tbuf,
--            RD_ROUNDUP(sizeof(*rkmce), 8) + RD_ROUNDUP(topic_len, 8) +
--                (mtopic->partition_cnt *
--                 RD_ROUNDUP(sizeof(*mtopic->partitions), 8)) +
--                (mtopic->partition_cnt *
--                 RD_ROUNDUP(sizeof(*metadata_internal_topic->partitions), 8)) 
+
--                racks_size,
--            1 /*assert on fail*/);
-+        rd_tmpabuf_finalize(&tbuf);
- 
-         rkmce = rd_tmpabuf_alloc(&tbuf, sizeof(*rkmce));
- 
-diff --git a/src/rdkafka_topic.c b/src/rdkafka_topic.c
-index 3b3986d43..b63a0bbea 100644
---- a/src/rdkafka_topic.c
-+++ b/src/rdkafka_topic.c
-@@ -1831,38 +1831,44 @@ rd_kafka_topic_info_t 
*rd_kafka_topic_info_new_with_rack(
-     const rd_kafka_metadata_partition_internal_t *mdpi) {
-         rd_kafka_topic_info_t *ti;
-         rd_tmpabuf_t tbuf;
--        size_t tlen             = RD_ROUNDUP(strlen(topic) + 1, 8);
--        size_t total_racks_size = 0;
-         int i;
-+        rd_bool_t has_racks = rd_false;
- 
-+        rd_tmpabuf_new(&tbuf, 0, rd_true /* assert on fail */);
-+
-+        rd_tmpabuf_add_alloc(&tbuf, sizeof(*ti));
-+        rd_tmpabuf_add_alloc(&tbuf, strlen(topic) + 1);
-         for (i = 0; i < partition_cnt; i++) {
-                 size_t j;
-                 if (!mdpi[i].racks)
-                         continue;
- 
-+                if (unlikely(!has_racks))
-+                        has_racks = rd_true;
-+
-                 for (j = 0; j < mdpi[i].racks_cnt; j++) {
--                        total_racks_size +=
--                            RD_ROUNDUP(strlen(mdpi[i].racks[j]) + 1, 8);
-+                        rd_tmpabuf_add_alloc(&tbuf,
-+                                             strlen(mdpi[i].racks[j]) + 1);
-                 }
--                total_racks_size +=
--                    RD_ROUNDUP(sizeof(char *) * mdpi[i].racks_cnt, 8);
-+                rd_tmpabuf_add_alloc(&tbuf, sizeof(char *) * 
mdpi[i].racks_cnt);
-+        }
-+
-+        /* Only bother allocating this if at least one
-+         * rack is there. */
-+        if (has_racks) {
-+                rd_tmpabuf_add_alloc(
-+                    &tbuf, sizeof(rd_kafka_metadata_partition_internal_t) *
-+                               partition_cnt);
-         }
- 
--        if (total_racks_size) /* Only bother allocating this if at least one
--                                 rack is there. */
--                total_racks_size +=
--                    RD_ROUNDUP(sizeof(rd_kafka_metadata_partition_internal_t) 
*
--                                   partition_cnt,
--                               8);
-+        rd_tmpabuf_finalize(&tbuf);
- 
--        rd_tmpabuf_new(&tbuf, sizeof(*ti) + tlen + total_racks_size,
--                       1 /* assert on fail */);
-         ti                      = rd_tmpabuf_alloc(&tbuf, sizeof(*ti));
-         ti->topic               = rd_tmpabuf_write_str(&tbuf, topic);
-         ti->partition_cnt       = partition_cnt;
-         ti->partitions_internal = NULL;
- 
--        if (total_racks_size) {
-+        if (has_racks) {
-                 ti->partitions_internal = rd_tmpabuf_alloc(
-                     &tbuf, sizeof(*ti->partitions_internal) * partition_cnt);
- 
-

Reply via email to