Rebase to libqb 2.0.0

This commit is contained in:
Christine Caulfield 2020-05-13 08:08:07 +01:00
parent 044dcc3f4a
commit d9e52f66eb
5 changed files with 24 additions and 1866 deletions

File diff suppressed because it is too large Load Diff

View File

@ -1,49 +0,0 @@
From 9249caf51698a3c867cffd25833b8d700eb939e0
From: Christine Caulfield <ccaulfie@redhat.com>
Date: Mon, 23 Apr 2020 16:28:57 +0000
Subject: [PATCH] list: additional fix list handling for gcc10
--- libqb-1.0.5.orig/include/qb/qblist.h 2020-04-23 10:18:19.992706670 +0100
+++ libqb-1.0.5/include/qb/qblist.h 2020-04-23 10:19:55.704980389 +0100
@@ -28,6 +28,7 @@
/* *INDENT-ON* */
#include <stdint.h>
+#include <stddef.h>
#include <qb/qbdefs.h>
/**
@@ -109,16 +110,16 @@
/**
* Replace old entry by new one
- * @param old: the element to be replaced
- * @param new: the new element to insert
+ * @param old_one: the element to be replaced
+ * @param new_one: the new element to insert
*/
-static inline void qb_list_replace(struct qb_list_head *old,
- struct qb_list_head *new)
+static inline void qb_list_replace(struct qb_list_head *old_one,
+ struct qb_list_head *new_one)
{
- new->next = old->next;
- new->next->prev = new;
- new->prev = old->prev;
- new->prev->next = new;
+ new_one->next = old_one->next;
+ new_one->next->prev = new_one;
+ new_one->prev = old_one->prev;
+ new_one->prev->next = new_one;
}
/**
@@ -194,7 +195,7 @@
* @param member: the name of the list_struct within the struct.
*/
#define qb_list_entry(ptr,type,member) ({ \
- ((type *)((void*)ptr - offsetof(type, member))); })
+ ((type *)((char*)ptr - offsetof(type, member))); })
/**
* Get the first element from a list

View File

@ -1,37 +0,0 @@
From 4f0a30f4e05e140e1325784195e79c5ec62c689c Mon Sep 17 00:00:00 2001
From: Christine Caulfield <ccaulfie@redhat.com>
Date: Mon, 17 Feb 2020 16:28:57 +0000
Subject: [PATCH] list: fix list handling for gcc10
---
configure.ac | 1 -
include/qb/qblist.h | 4 ++--
2 files changed, 2 insertions(+), 3 deletions(-)
diff --git a/configure.ac b/configure.ac
index ec8736cb..108b2f18 100644
--- a/configure.ac
+++ b/configure.ac
@@ -558,7 +558,6 @@
suggest-attribute=noreturn
suggest-attribute=format
strict-prototypes
- pointer-arith
write-strings
cast-align
bad-function-cast
diff --git a/include/qb/qblist.h b/include/qb/qblist.h
index e3ae3f18..8064c874 100644
--- a/include/qb/qblist.h
+++ b/include/qb/qblist.h
@@ -193,8 +193,8 @@ static inline void qb_list_splice_tail(struct qb_list_head *list,
* @param type: the type of the struct this is embedded in.
* @param member: the name of the list_struct within the struct.
*/
-#define qb_list_entry(ptr,type,member)\
- ((type *)((char *)(ptr)-(char*)(&((type *)0)->member)))
+#define qb_list_entry(ptr,type,member) ({ \
+ ((type *)((void*)ptr - offsetof(type, member))); })
/**
* Get the first element from a list

View File

@ -1,17 +1,13 @@
%bcond_without check
Name: libqb
Version: 1.0.5
Release: 6%{?dist}
Version: 2.0.0
Release: 1%{?dist}
Summary: Library providing high performance logging, tracing, ipc, and poll
License: LGPLv2+
URL: https://github.com/ClusterLabs/libqb
Source0: https://github.com/ClusterLabs/libqb/releases/download/v%{version}/%{name}-%{version}.tar.xz
Patch0: IPC-avoid-temporary-channel-priority-loss.patch
# https://github.com/ClusterLabs/libqb/pull/383
Patch1: libqb-fix-list-handling-gcc10.patch
Patch2: libqb-fix-list-handling-gcc10-2.patch
BuildRequires: autoconf automake libtool
BuildRequires: check-devel
@ -22,9 +18,11 @@ BuildRequires: procps
BuildRequires: pkgconfig(glib-2.0)
# git-style patch application
BuildRequires: git-core
# For doxygen2man
BuildRequires: libxml2-devel
%description
libqb provides high-performance, reusable features for client-server
A "Quite Boring" library that provides high-performance, reusable features for client-server
architecture, such as logging, tracing, inter-process communication (IPC),
and polling.
@ -38,8 +36,7 @@ and polling.
%if 0%{?with_check}
%check
make check V=1 \
&& make -C tests/functional/log_internal check V=1
make check V=1
%endif
%install
@ -71,7 +68,24 @@ developing applications that use %{name}.
%{_libdir}/pkgconfig/libqb.pc
%{_mandir}/man3/qb*3*
%package -n doxygen2man
Summary: Program to create nicely-formatted man pages from Doxygen XML files
Requires: %{name}%{?_isa} = %{version}-%{release}
%description -n doxygen2man
This package contains a program to create nicely-formatted man pages from Doxygen XML files
%files -n doxygen2man
%{_bindir}/doxygen2man
%{_mandir}/man1/doxygen2man.1.gz
%changelog
* Wed May 13 2020 Christine Caulfield <ccaulfie@redhat.com> 2.0.0-1
- Rebase to version 2.0.0
* Thu Apr 23 2020 Christine Caulfield <ccaulfie@redhat.com> 1.0.5-6
- Further fix for qblist when compiling on gcc10
Affects users of the package rather than libqb itself

View File

@ -1 +1 @@
SHA512 (libqb-1.0.5.tar.xz) = a695bc4c913a32d47535cb2d8812f14a39732cae32651521a8f7b6d05c4202bfc28a477c88875bbfbe1a0238cd33f1fe64f2d2217b0c27cf11acf7233fc2cbdf
SHA512 (libqb-2.0.0.tar.xz) = fb6f788ff53236549006e0d80d55aa81b19b0ba74edd70638c81c819a995354d07c3a3112d80754220f84bd994493655c09d39c73c8414df22d501c177737c58