commit 3b25df021fc1b992bf314de166ce5d612dea73e9 Author: Adrian Schröter Date: Fri Sep 22 09:52:27 2023 +0200 Sync from SUSE:ALP:Source:Standard:1.0 libdlm revision 0e8114ea37c2da847bf602d76dba08fa diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..fecc750 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,23 @@ +## Default LFS +*.7z filter=lfs diff=lfs merge=lfs -text +*.bsp filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.gem filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.jar filter=lfs diff=lfs merge=lfs -text +*.lz filter=lfs diff=lfs merge=lfs -text +*.lzma filter=lfs diff=lfs merge=lfs -text +*.obscpio filter=lfs diff=lfs merge=lfs -text +*.oxt filter=lfs diff=lfs merge=lfs -text +*.pdf filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.rpm filter=lfs diff=lfs merge=lfs -text +*.tbz filter=lfs diff=lfs merge=lfs -text +*.tbz2 filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.ttf filter=lfs diff=lfs merge=lfs -text +*.txz filter=lfs diff=lfs merge=lfs -text +*.whl filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text diff --git a/0001-makefile-for-diff-arch.patch b/0001-makefile-for-diff-arch.patch new file mode 100644 index 0000000..effd163 --- /dev/null +++ b/0001-makefile-for-diff-arch.patch @@ -0,0 +1,34 @@ +Index: a/dlm_controld/Makefile +=================================================================== +--- a/dlm_controld/Makefile ++++ b/dlm_controld/Makefile +@@ -1,6 +1,11 @@ + DESTDIR= + PREFIX=/usr +-LIBNUM=/lib64 ++cpu_bit=$(shell getconf LONG_BIT) ++ifeq ($(cpu_bit),64) ++ LIBNUM=/lib64 ++else ++ LIBNUM=/lib ++endif + BINDIR=$(PREFIX)/sbin + LIBDIR=$(PREFIX)/$(LIBNUM) + HDRDIR=$(PREFIX)/include +Index: libdlm-4.0.2/libdlm/Makefile +=================================================================== +--- libdlm-4.0.2.orig/libdlm/Makefile ++++ libdlm-4.0.2/libdlm/Makefile +@@ -1,6 +1,11 @@ + DESTDIR= + PREFIX=/usr +-LIBNUM=/lib64 ++cpu_bit=$(shell getconf LONG_BIT) ++ifeq ($(cpu_bit),64) ++ LIBNUM=/lib64 ++else ++ LIBNUM=/lib ++endif + LIBDIR=$(PREFIX)/$(LIBNUM) + HDRDIR=$(PREFIX)/include + MANDIR=$(PREFIX)/share/man diff --git a/0002-remove-sd-notify.patch b/0002-remove-sd-notify.patch new file mode 100644 index 0000000..bbc3c58 --- /dev/null +++ b/0002-remove-sd-notify.patch @@ -0,0 +1,13 @@ +Index: a/dlm_controld/Makefile +=================================================================== +--- a/dlm_controld/Makefile ++++ b/dlm_controld/Makefile +@@ -6,7 +6,7 @@ LIBDIR=$(PREFIX)/$(LIBNUM) + MANDIR=$(PREFIX)/share/man + PKGDIR=$(LIBDIR)/pkgconfig + +-USE_SD_NOTIFY=yes ++USE_SD_NOTIFY=no + + BIN_TARGET = dlm_controld + diff --git a/0003-bnc#874705-nodes-without-quorum.patch b/0003-bnc#874705-nodes-without-quorum.patch new file mode 100644 index 0000000..4833e30 --- /dev/null +++ b/0003-bnc#874705-nodes-without-quorum.patch @@ -0,0 +1,36 @@ +Index: libdlm-4.0.2/dlm_controld/cpg.c +=================================================================== +--- libdlm-4.0.2.orig/dlm_controld/cpg.c ++++ libdlm-4.0.2/dlm_controld/cpg.c +@@ -1261,6 +1261,19 @@ void process_lockspace_changes(void) + poll_fs = 0; + + list_for_each_entry_safe(ls, safe, &lockspaces, list) { ++ if (ls->leaving && !(opt(enable_quorum_lockspace_ind) ++ && !cluster_quorate)) { ++ log_group(ls, "confchg for our leave"); ++ stop_kernel(ls, 0); ++ set_configfs_members(ls, ls->name, 0, NULL, 0, NULL); ++ set_sysfs_event_done(ls->name, 0); ++ cpg_finalize(ls->cpg_handle); ++ client_dead(ls->cpg_client); ++ purge_plocks(ls, our_nodeid, 1); ++ list_del(&ls->list); ++ free_ls(ls); ++ return; ++ } + if (!list_empty(&ls->changes)) + apply_changes(ls); + } +@@ -1414,7 +1427,10 @@ static void confchg_cb(cpg_handle_t hand + return; + } + +- if (ls->leaving && we_left(left_list, left_list_entries)) { ++ /*check currently if we have quorum in order to keep the ++ same behavior with other nodes*/ ++ if (ls->leaving && we_left(left_list, left_list_entries) ++ && !(opt(enable_quorum_lockspace_ind) && !cluster_quorate)) { + /* we called cpg_leave(), and this should be the final + cpg callback we receive */ + log_group(ls, "confchg for our leave"); diff --git a/0004-man-dlm.conf-add-note-that-the-file-is-not-creat.patch b/0004-man-dlm.conf-add-note-that-the-file-is-not-creat.patch new file mode 100644 index 0000000..17c5943 --- /dev/null +++ b/0004-man-dlm.conf-add-note-that-the-file-is-not-creat.patch @@ -0,0 +1,33 @@ +From 74595a9400f20c4d4fd83c0a748ddb875d39f578 Mon Sep 17 00:00:00 2001 +From: Gang He +Date: Mon, 14 Sep 2020 15:51:01 +0800 +Subject: [PATCH] man dlm.conf: add note that the file is not created + +/etc/dlm/dlm.conf file is not created during installation. +we need to tell the user this configuration file does not exist. + +Signed-off-by: Gang He +--- + dlm_controld/dlm.conf.5 | 6 ++++++ + 1 file changed, 6 insertions(+) + +diff --git a/dlm_controld/dlm.conf.5 b/dlm_controld/dlm.conf.5 +index 0eb226358100..02a52e977f54 100644 +--- a/dlm_controld/dlm.conf.5 ++++ b/dlm_controld/dlm.conf.5 +@@ -422,6 +422,12 @@ node id=1 mark=42 + + For local nodes this value doesn't have any effect. + ++.SH NOTES ++.B /etc/dlm/dlm.conf ++file is not created during installation. ++.br ++If you want to modify any default configuration items, you need to create and edit the file. ++ + .SH SEE ALSO + .BR dlm_controld (8), + .BR dlm_tool (8) +-- +2.12.3 + diff --git a/0005-build-dlm_controld-disable-annobin-plugin.patch b/0005-build-dlm_controld-disable-annobin-plugin.patch new file mode 100644 index 0000000..719ce7d --- /dev/null +++ b/0005-build-dlm_controld-disable-annobin-plugin.patch @@ -0,0 +1,13 @@ +--- dlm-4.2.0/dlm_controld/Makefile ++++ dlm-4.2.0/dlm_controld/Makefile +@@ -52,7 +52,7 @@ + + BIN_CFLAGS += $(CFLAGS) -fPIE -DPIE + BIN_CFLAGS += -I../include -I../libdlm +-LIB_CFLAGS += $(CFLAGS) -fPIC -fplugin=annobin ++LIB_CFLAGS += $(CFLAGS) -fPIC + + BIN_LDFLAGS += $(LDFLAGS) -Wl,-z,relro -Wl,-z,now -pie + BIN_LDFLAGS += -lpthread -lrt -lcpg -lcmap -lcfg -lquorum -luuid + + diff --git a/0006-dlm_controld-remove-unnecessary-header-include.patch b/0006-dlm_controld-remove-unnecessary-header-include.patch new file mode 100644 index 0000000..97c6d05 --- /dev/null +++ b/0006-dlm_controld-remove-unnecessary-header-include.patch @@ -0,0 +1,33 @@ +From ddbba6608896f81bfce8f8edf3d0f507714cfc43 Mon Sep 17 00:00:00 2001 +From: Alexander Aring +Date: Wed, 24 May 2023 08:56:41 -0400 +Subject: [PATCH] dlm_controld: remove unnecessary header include + +The timewarn netlink functionality got dropped and will be removed by +kernel v6.4. The user space part was already dropped by commit 34ea31e7 +("controld: remove timewarn handling"). This is just a left over of this +commit. Recent builds fails now because the UAPI header in the Linux +kernel was removed. This means older dlm sources cannot be build with +newer kernel-headers, however it is not recommended to use older dlm +sources and all existing users should upgrade anyway. + +Reported-by: Fabio M. Di Nitto +--- + dlm_controld/main.c | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/dlm_controld/main.c b/dlm_controld/main.c +index c9d1c5f1..14be5edd 100644 +--- a/dlm_controld/main.c ++++ b/dlm_controld/main.c +@@ -12,7 +12,6 @@ + #include + #include + #include +-#include + #include + + #ifdef USE_SD_NOTIFY +-- +2.41.0 + diff --git a/0007-Revert-treewide-add-fcf-protection-full-to-CFLAGS.patch b/0007-Revert-treewide-add-fcf-protection-full-to-CFLAGS.patch new file mode 100644 index 0000000..52ea449 --- /dev/null +++ b/0007-Revert-treewide-add-fcf-protection-full-to-CFLAGS.patch @@ -0,0 +1,70 @@ +From 4cfb7b21a88f0ae32d97ea4cbb0c7419b88f397d Mon Sep 17 00:00:00 2001 +From: Alexander Aring +Date: Wed, 12 Oct 2022 12:44:03 -0400 +Subject: [PATCH] Revert "treewide: add -fcf-protection=full to CFLAGS" + +This reverts commit 215aedf1fdff58c62fe596284948590965acc85c. +--- + dlm_controld/Makefile | 2 +- + dlm_tool/Makefile | 2 +- + fence/Makefile | 2 +- + libdlm/Makefile | 4 ++-- + 4 files changed, 5 insertions(+), 5 deletions(-) + +diff --git a/dlm_controld/Makefile b/dlm_controld/Makefile +index ec8c360c..9cf7152f 100644 +--- a/dlm_controld/Makefile ++++ b/dlm_controld/Makefile +@@ -43,7 +43,7 @@ CFLAGS += -D_GNU_SOURCE -O2 -ggdb \ + -Wno-sign-compare -Wno-unused-parameter -Wp,-D_FORTIFY_SOURCE=2 \ + -fexceptions -fasynchronous-unwind-tables -fdiagnostics-show-option \ + -Wp,-D_GLIBCXX_ASSERTIONS -fstack-protector-strong \ +- -fstack-clash-protection -fcf-protection=full ++ -fstack-clash-protection + + BIN_CFLAGS += $(CFLAGS) -fPIE -DPIE + BIN_CFLAGS += -I../include -I../libdlm +diff --git a/dlm_tool/Makefile b/dlm_tool/Makefile +index 57629c73..1c3d61d5 100644 +--- a/dlm_tool/Makefile ++++ b/dlm_tool/Makefile +@@ -15,7 +15,7 @@ CFLAGS += -D_GNU_SOURCE -O2 -ggdb \ + -Wno-sign-compare -Wno-unused-parameter -Wp,-D_FORTIFY_SOURCE=2 \ + -fexceptions -fasynchronous-unwind-tables -fdiagnostics-show-option \ + -Wp,-D_GLIBCXX_ASSERTIONS -fstack-protector-strong \ +- -fstack-clash-protection -fcf-protection=full ++ -fstack-clash-protection + + CFLAGS += -fPIE -DPIE + CFLAGS += -I../include -I../libdlm -I../dlm_controld +diff --git a/fence/Makefile b/fence/Makefile +index 446f4eaa..ee4dfb88 100644 +--- a/fence/Makefile ++++ b/fence/Makefile +@@ -15,7 +15,7 @@ CFLAGS += -D_GNU_SOURCE -O2 -ggdb \ + -Wno-sign-compare -Wno-unused-parameter -Wp,-D_FORTIFY_SOURCE=2 \ + -fexceptions -fasynchronous-unwind-tables -fdiagnostics-show-option \ + -Wp,-D_GLIBCXX_ASSERTIONS -fstack-protector-strong \ +- -fstack-clash-protection -fcf-protection=full ++ -fstack-clash-protection + + CFLAGS += -fPIE -DPIE + CFLAGS += -I../include +diff --git a/libdlm/Makefile b/libdlm/Makefile +index 823fdaa9..5069ccf1 100644 +--- a/libdlm/Makefile ++++ b/libdlm/Makefile +@@ -80,8 +80,8 @@ CFLAGS += -D_GNU_SOURCE -O2 -ggdb \ + -fdiagnostics-show-option \ + -fPIC + +-LIB_CFLAGS += $(CFLAGS) -D_REENTRANT -fcf-protection=full +-LLT_CFLAGS += $(CFLAGS) -fcf-protection=full ++LIB_CFLAGS += $(CFLAGS) -D_REENTRANT ++LLT_CFLAGS += $(CFLAGS) + + LIB_LDFLAGS += $(LDFLAGS) -lpthread -Wl,-z,now + LLT_LDFLAGS += $(LDFLAGS) -Wl,-z,now +-- +2.41.0 + diff --git a/bug-1191734_0015-Revert-dlm_controld-add-version-check-for-libquorum.patch b/bug-1191734_0015-Revert-dlm_controld-add-version-check-for-libquorum.patch new file mode 100644 index 0000000..96877a4 --- /dev/null +++ b/bug-1191734_0015-Revert-dlm_controld-add-version-check-for-libquorum.patch @@ -0,0 +1,28 @@ +From 6579bebc5c8843c4b7dfc3252267708990b097fc Mon Sep 17 00:00:00 2001 +From: Heming Zhao +Date: Mon, 18 Oct 2021 16:19:32 +0800 +Subject: [PATCH 1/2] Revert "dlm_controld: add version check for libquorum" + +This reverts commit 3201db3835c85a1d9a407e621bff7902896e8a82. +--- + dlm_controld/Makefile | 4 ---- + 1 file changed, 4 deletions(-) + +diff --git a/dlm_controld/Makefile b/dlm_controld/Makefile +index 8cfc97e6909a..667998076acc 100644 +--- a/dlm_controld/Makefile ++++ b/dlm_controld/Makefile +@@ -60,10 +60,6 @@ ifeq ($(USE_SD_NOTIFY),yes) + BIN_LDFLAGS += $(shell $(PKG_CONFIG) --libs libsystemd) + endif + +-ifeq (, $(shell $(PKG_CONFIG) --libs "libquorum >= 3.1.0")) +- $(error "Requires libquorum at least version 3.1.0") +-endif +- + all: $(LIB_TARGET) $(BIN_TARGET) $(LIB_PC) + + $(BIN_TARGET): $(BIN_SOURCE) +-- +2.33.0 + diff --git a/bug-1191734_0016-Revert-dlm_controld-use-new-quorum-api-to-detect-mis.patch b/bug-1191734_0016-Revert-dlm_controld-use-new-quorum-api-to-detect-mis.patch new file mode 100644 index 0000000..5871b8e --- /dev/null +++ b/bug-1191734_0016-Revert-dlm_controld-use-new-quorum-api-to-detect-mis.patch @@ -0,0 +1,186 @@ +From fd4aa4e5eec8477b08b279fbf6ed0eb1406c8fa8 Mon Sep 17 00:00:00 2001 +From: Heming Zhao +Date: Mon, 18 Oct 2021 16:20:32 +0800 +Subject: [PATCH 2/2] Revert "dlm_controld: use new quorum api to detect missed + failures" + +This reverts commit 2e893b981b19430aeca983dd63fb3ac0979d0b35. +--- + dlm_controld/member.c | 106 ++++++------------------------------------ + 1 file changed, 15 insertions(+), 91 deletions(-) + +diff --git a/dlm_controld/member.c b/dlm_controld/member.c +index d567c114b259..1d5bfa3d9166 100644 +--- a/dlm_controld/member.c ++++ b/dlm_controld/member.c +@@ -20,8 +20,6 @@ static int old_node_count; + static uint32_t quorum_nodes[MAX_NODES]; + static int quorum_node_count; + static struct list_head cluster_nodes; +-static uint32_t leavejoin_nodes[MAX_NODES]; +-static int leavejoin_count; + + struct node_cluster { + struct list_head list; +@@ -105,51 +103,15 @@ int is_cluster_member(uint32_t nodeid) + return is_member(quorum_nodes, quorum_node_count, nodeid); + } + +-static int is_leavejoin_node(uint32_t nodeid) +-{ +- return is_member(leavejoin_nodes, leavejoin_count, nodeid); +-} +- +-static void quorum_nodelist_callback(quorum_handle_t cbhandle, struct quorum_ring_id ring_id, +- uint32_t member_list_entries, const uint32_t *member_list, +- uint32_t joined_list_entries, const uint32_t *joined_list, +- uint32_t left_list_entries, const uint32_t *left_list) +-{ +- uint64_t ring_seq = ring_id.seq; +- int i, j; +- +- for (i = 0; i < left_list_entries; i++) { +- log_debug("cluster left_list %u seq %llu", +- left_list[i], (unsigned long long)ring_seq); +- } +- +- for (j = 0; j < joined_list_entries; j++) { +- log_debug("cluster joined_list %u seq %llu", +- joined_list[j], (unsigned long long)ring_seq); +- } +- +- for (i = 0; i < left_list_entries; i++) { +- for (j = 0; j < joined_list_entries; j++) { +- if (joined_list[j] == left_list[i]) { +- log_debug("cluster node %d left and joined", joined_list[j]); +- if (!is_leavejoin_node(joined_list[j])) +- leavejoin_nodes[leavejoin_count++] = joined_list[j]; +- } +- } +- } +-} +- +-static void quorum_callback(quorum_handle_t cbhandle, uint32_t quorate, +- struct quorum_ring_id ring_id, uint32_t node_list_entries, +- const uint32_t *node_list) ++static void quorum_callback(quorum_handle_t h, uint32_t quorate, ++ uint64_t ring_seq, uint32_t node_list_entries, ++ uint32_t *node_list) + { + corosync_cfg_node_address_t addrs[MAX_NODE_ADDRESSES]; + corosync_cfg_node_address_t *addrptr = addrs; + const struct node_config *nc; + cs_error_t err; + int i, j, num_addrs; +- uint32_t nodeid; +- uint64_t ring_seq = ring_id.seq; + uint64_t now = monotime(); + + if (!cluster_joined_monotime) { +@@ -180,55 +142,15 @@ static void quorum_callback(quorum_handle_t cbhandle, uint32_t quorate, + if (!is_cluster_member(old_nodes[i])) { + log_debug("cluster node %u removed seq %llu", + old_nodes[i], (unsigned long long)cluster_ringid_seq); +- + rem_cluster_node(old_nodes[i], now); + del_configfs_node(old_nodes[i]); + } + } + +- for (i = 0; i < leavejoin_count; i++) { +- nodeid = leavejoin_nodes[i]; +- +- log_debug("cluster node %u leavejoin seq %llu", +- nodeid, (unsigned long long)cluster_ringid_seq); +- +- /* remove */ +- +- rem_cluster_node(nodeid, now); +- del_configfs_node(nodeid); +- +- /* add */ +- +- add_cluster_node(nodeid, now); +- +- fence_delay_begin = now; +- +- err = corosync_cfg_get_node_addrs(ch, nodeid, +- MAX_NODE_ADDRESSES, +- &num_addrs, addrs); +- if (err != CS_OK) { +- log_error("corosync_cfg_get_node_addrs failed nodeid %u", nodeid); +- continue; +- } +- +- nc = node_config_get(nodeid); +- +- for (j = 0; j < num_addrs; j++) { +- add_configfs_node(nodeid, +- addrptr[j].address, +- addrptr[j].address_length, +- (nodeid == our_nodeid), +- nc->mark); +- } +- } +- + for (i = 0; i < quorum_node_count; i++) { +- if (is_leavejoin_node(quorum_nodes[i])) +- continue; + if (!is_old_member(quorum_nodes[i])) { + log_debug("cluster node %u added seq %llu", + quorum_nodes[i], (unsigned long long)cluster_ringid_seq); +- + add_cluster_node(quorum_nodes[i], now); + + fence_delay_begin = now; +@@ -254,11 +176,13 @@ static void quorum_callback(quorum_handle_t cbhandle, uint32_t quorate, + } + } + } +- +- memset(leavejoin_nodes, 0, sizeof(leavejoin_nodes)); +- leavejoin_count = 0; + } + ++static quorum_callbacks_t quorum_callbacks = ++{ ++ .quorum_notify_fn = quorum_callback, ++}; ++ + void process_cluster(int ci) + { + cs_error_t err; +@@ -284,23 +208,23 @@ void update_cluster(void) + + int setup_cluster(void) + { +- quorum_model_v1_data_t model_data; + cs_error_t err; + int fd; +- uint32_t quorum_type = 0; ++ uint32_t quorum_type; + + INIT_LIST_HEAD(&cluster_nodes); + +- memset(&model_data, 0, sizeof(model_data)); +- model_data.quorum_notify_fn = quorum_callback; +- model_data.nodelist_notify_fn = quorum_nodelist_callback; +- +- err = quorum_model_initialize(&qh, QUORUM_MODEL_V1, (quorum_model_data_t *)&model_data, &quorum_type, NULL); ++ err = quorum_initialize(&qh, &quorum_callbacks, &quorum_type); + if (err != CS_OK) { + log_error("quorum init error %d", err); + return -1; + } + ++ if (quorum_type == QUORUM_FREE) { ++ log_error("no quorum provider configured in corosync, unable to operate"); ++ goto fail; ++ } ++ + err = quorum_fd_get(qh, &fd); + if (err != CS_OK) { + log_error("quorum fd_get error %d", err); +-- +2.33.0 + diff --git a/dlm-4.2.0.tar.gz b/dlm-4.2.0.tar.gz new file mode 100644 index 0000000..991257c --- /dev/null +++ b/dlm-4.2.0.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6ec801bff8e93885b31da7e12dbb6a429ec8cdc1237b825a4d2ba8a0e49a9945 +size 135774 diff --git a/libdlm.changes b/libdlm.changes new file mode 100644 index 0000000..18ee7f5 --- /dev/null +++ b/libdlm.changes @@ -0,0 +1,543 @@ +------------------------------------------------------------------- +Tue Jun 27 12:44:30 UTC 2023 - Ana Guerrero + +- Update to v4.2.0 + * remove patches included upstream + + bug-1191734_0001-libdlm-add-stdint.h-to-api-header.patch + + bug-1191734_0002-dlm_controld-create-var-parent-directories.patch + + bug-1191734_0003-stonith_helper-fix-build.patch + + bug-1191734_0004-plock-move-clear-waiter-to-debug-info.patch + + bug-1191734_0005-treewide-try-to-resolve-symbols-at-linking-time.patch + + bug-1191734_0006-dlm_controld-add-version-check-for-libquorum.patch + + bug-1191734_0007-dlm_tool-man-add-command-joinleave-USAGE.patch + + bug-1191734_0008-man-add-reload_config-in-dlm_tool-dlm.conf.patch + + bug-1191734_0009-add-new-dlm_tool-command-reload_config.patch + + bug-1191734_0010-dlm_tool-man-add-new-command-set_config.patch + + bug-1191734_0011-dlm_tool-dlm_controld-add-new-feature-set_config.patch + + bug-1191734_0012-fix-some-minor-bugs.patch + + bug-1191734_0013-dlm_controld-fix-string-copies.patch + + bug-1191734_0014-man-page-updates.patch + * patch to disable annobin (still not available in openSUSE) + + 0005-build-dlm_controld-disable-annobin-plugin.patch + * patch to remove unnecesary header (boo#1212767) + + 0006-dlm_controld-remove-unnecessary-header-include.patch + * patch to remove -fcf-protection=full, not supported in SLE15 + + 0007-Revert-treewide-add-fcf-protection-full-to-CFLAGS.patch + +------------------------------------------------------------------- +Fri May 27 06:12:29 UTC 2022 - Yan Gao + +- Adjust BuildRequires libpacemaker-devel -> pkgconfig(pacemaker) + +------------------------------------------------------------------- +Mon Oct 18 08:29:00 UTC 2021 - heming.zhao@suse.com + +- Update to v4.1.0+ (bsc#1191734) + * include some fixes/enhancements upstream patches based on 4.1.0 tag + + bug-1191734_0001-libdlm-add-stdint.h-to-api-header.patch + + bug-1191734_0002-dlm_controld-create-var-parent-directories.patch + + bug-1191734_0003-stonith_helper-fix-build.patch + + bug-1191734_0004-plock-move-clear-waiter-to-debug-info.patch + + bug-1191734_0005-treewide-try-to-resolve-symbols-at-linking-time.patch + + bug-1191734_0006-dlm_controld-add-version-check-for-libquorum.patch + + bug-1191734_0007-dlm_tool-man-add-command-joinleave-USAGE.patch + + bug-1191734_0008-man-add-reload_config-in-dlm_tool-dlm.conf.patch + + bug-1191734_0009-add-new-dlm_tool-command-reload_config.patch + + bug-1191734_0010-dlm_tool-man-add-new-command-set_config.patch + + bug-1191734_0011-dlm_tool-dlm_controld-add-new-feature-set_config.patch + + bug-1191734_0012-fix-some-minor-bugs.patch + + bug-1191734_0013-dlm_controld-fix-string-copies.patch + + bug-1191734_0014-man-page-updates.patch + * patch for compatible with corosync-2.4.5+ + + bug-1191734_0015-Revert-dlm_controld-add-version-check-for-libquorum.patch + + bug-1191734_0016-Revert-dlm_controld-use-new-quorum-api-to-detect-mis.patch + * drop 2 patches which are already included in upstream code + - cluster-ringid-seq.patch + - sysmacros.patch + * change name and modify patch for code changed + - dlm_controld-add-note-that-the-dlm-file-is-not-creat.patch + + 0004-man-dlm.conf-add-note-that-the-file-is-not-creat.patch + * change libdlm.spec to seperate upsteam patch and suse special patch + +------------------------------------------------------------------- +Wed Oct 14 11:04:44 UTC 2020 - Jan Engelhardt + +- Do build with SUSE's %optflags. +- Abolish historic specfile constructs. +- Rework libdlm3 require with a shared library version + tag instead so it propagates to all consuming packages. + +------------------------------------------------------------------- +Wed Oct 14 10:10:20 UTC 2020 - ghe@suse.com + +- Add require libdlm3 (bsc#1177658) + +------------------------------------------------------------------- +Mon Sep 21 11:10:20 UTC 2020 - ghe@suse.com + +- Add dependency relationship between libdlm and dlm-kmp (bsc#1121380) + +------------------------------------------------------------------- +Tue Sep 15 10:30:20 UTC 2020 - ghe@suse.com + +- Add notes in dlm.conf man page (bsc#1175812) + * add dlm_controld-add-note-that-the-dlm-file-is-not-creat.patch + +------------------------------------------------------------------- +Fri May 15 08:10:20 UTC 2020 - ghe@suse.com + +- Support uint64_t corosync ringid (bsc#1168771) + * add cluster-ringid-seq.patch + +------------------------------------------------------------------- +Mon Aug 5 09:16:31 UTC 2019 - ghe@suse.com + +- Update to v4.0.9 + * include some fixes/enhancements for dlm_controld (bsc#1144793) + * source moved to https://pagure.io/dlm + * drop 0004-bsc#1098449-dlm_stonith-explicitly-use-libstonithd.patch + +------------------------------------------------------------------- +Thu Nov 15 10:40:59 UTC 2018 - ygao@suse.com + +- Explicitly use and link libstonithd from libpacemaker3 (bsc#1098449) + * 0004-bsc#1098449-dlm_stonith-explicitly-use-libstonithd.patch + +------------------------------------------------------------------- +Mon Aug 6 11:01:48 UTC 2018 - schwab@suse.de + +- sysmacros.patch: Include for minor + +------------------------------------------------------------------- +Thu Nov 23 13:48:46 UTC 2017 - rbrown@suse.com + +- Replace references to /var/adm/fillup-templates with new + %_fillupdir macro (boo#1069468) + +------------------------------------------------------------------- +Tue Feb 14 09:04:32 UTC 2017 - jengelh@inai.de + +- Use source URL; drop redundant %clean section; + rectify RPM groups; run fdupes to merge duplicate files. + +------------------------------------------------------------------- +Sat Feb 4 07:26:02 UTC 2017 - zren@suse.com + +- Update to v4.0.7 + * bsc#1023595: libdlm: upgrade version to 4.0.7 +- Re-add the dropped bsc numbers to follow the factory-first policy + * take Factory fixes for SLE12 (boo#944795, bsc#944797) + +------------------------------------------------------------------- +Mon Jul 25 06:54:31 UTC 2016 - zren@suse.com + +- Update to v4.0.6 + * In v4.0.4, there's a stupid and severe bug so that upstream + released v4.0.5 soon with an urgent fix + * Upstream merged our fix for bsc#977201 with release v4.0.6, + so I still use the 2 below bugs for this updates: + * bsc#967332: libdlm: package update to v4.0.4 + * bsc#977201: output of `dlm_tool ls` should distinguish causes + for "wait fencing" message + +- Drop patches + * bnc#875122dlm_controld-fix-long-name-in-log-entry.patch + * build-dlm_stonith.patch + +- Rename patches more readable + * remove: Makefile-for-diff-arch.patch, remove-sd-notify.patch, + bnc#874705nodes-without-quorum.patch + * add: 0001-makefile-for-diff-arch.patch, + 0002-remove-sd-notify.patch, + 0003-bnc#874705-nodes-without-quorum.patch + + +------------------------------------------------------------------- +Mon Feb 15 06:15:03 UTC 2016 - zren@suse.com + +- Update to V4.0.4 + * Remove build-dlm_stonith.patch + * Reove bnc#875122dlm_controld-fix-long-name-in-log-entry.patch + +------------------------------------------------------------------- +Fri May 1 16:41:52 UTC 2015 - jengelh@inai.de + +- Avoid running sh for %post ldconfig +- Default to implicit -n for %setup + +------------------------------------------------------------------- +Sun Apr 12 16:30:46 UTC 2015 - crrodriguez@opensuse.org + +- Move udev rules to %{_udevrulesdir}, packages should + not ship files in /etc/udev/rules.d which is reserved + for the sysadmin. + +------------------------------------------------------------------- +Fri Nov 14 08:33:11 UTC 2014 - dimstar@opensuse.org + +- BuildRequire pkgconfig(systemd) instead of systemd-devel. + +------------------------------------------------------------------- +Wed May 21 11:34:53 UTC 2014 - jsegitz@novell.com + +- added necessary macros for systemd files + +------------------------------------------------------------------- +Tue May 20 08:06:58 UTC 2014 - lzhong@suse.com + +- fix different behavior when nodes without quorum + + bnc#874705nodes-without-quorum.patch + +------------------------------------------------------------------- +Mon Apr 28 02:36:41 UTC 2014 - lzhong@suse.com + +- dlm_controld print out error format message(bnc#875122) + + bnc#875122dlm_controld-fix-long-name-in-log-entry.patch + +------------------------------------------------------------------- +Mon Mar 31 06:12:40 UTC 2014 - lzhong@suse.com + +- dlm_controld notifies systemd(bnc#870626) + + remove-sd-notify.patch + +------------------------------------------------------------------- +Sat Sep 7 09:40:54 CDT 2013 - rgoldwyn@suse.com + +- Build dlm_stonith to prox fencing for pacemaker + + build-dlm_stonith.patch +- Remove patch to use default fscontrol using sysconfig + - libdlm-enable-fscontrol.patch + +------------------------------------------------------------------- +Thu Aug 1 04:33:51 UTC 2013 - lzhong@suse.com + +- Update to V4.0.2 + +------------------------------------------------------------------- +Tue Jul 23 01:44:05 UTC 2013 - lzhong@suse.com + +- Update to V4.0.1(openSuse13.1) + + file a patch for opensuse build service +- Remove patches from sle11sp3 for either merged in the upstream + or obsoleted. + - bnc804707-reduce-RR-priority.patch + - bnc777137-fix-plock-dev_write_no_op.patch + - libdlm-gcc47.patch + - libdlm-pacemaker.patch + +------------------------------------------------------------------- +Mon Jun 24 07:59:44 UTC 2013 - ygao@suse.com + +- dl_controld: libdlm-pacemaker.patch + * Replace use of send_ais_text() with send_cluster_text() + * Replace use of ais_dispatch() with plugin_dispatch() + * Replace use of crm_peer_id_cache with crm_peer_cache + +------------------------------------------------------------------- +Mon May 27 08:14:43 UTC 2013 - tserong@suse.com + +- Replace NAME= with SYMLINK+= in udev rules (bnc#779718) + + use-symlink-in-udev-rules.patch + +------------------------------------------------------------------- +Thu Mar 28 09:50:01 UTC 2013 - dmzhang@suse.com + +- reduce dlm_controld priority to RR(1). (bnc#804707) + +------------------------------------------------------------------- +Fri Feb 22 18:16:54 UTC 2013 - lmb@suse.com + +- Make sure we poll the right fd for AIS notifications to avoid spinning + (bnc#803746) + +------------------------------------------------------------------- +Mon Jan 28 14:48:07 UTC 2013 - coolo@suse.com + +- small cleanup of spec file + +------------------------------------------------------------------- +Mon Jan 28 06:42:32 UTC 2013 - xli@suse.com + +- fix the build issue on openSuSE 12.3 Milestone 1 (bnc#798263) + add bnc798263-fix-opensuse123-compile-error.patch + +------------------------------------------------------------------- +Fri Aug 24 02:51:55 UTC 2012 - jjzhang@suse.com + +- dlm_controld: fix plock dev_write no op (bnc#777137) + add bnc777137-fix-plock-dev_write-no-op.patch + +------------------------------------------------------------------- +Sat Jun 23 07:21:44 UTC 2012 - ygao@suse.com + +- dlm_controld: Replace use of crm_is_member_active() with the new + crm_is_peer_active() from pacemaker > 1.1.7 + +------------------------------------------------------------------- +Thu May 24 10:38:35 UTC 2012 - idonmez@suse.com + +- Fix build with gcc 4.7 + +------------------------------------------------------------------- +Fri Dec 16 04:55:40 UTC 2011 - tserong@suse.com + +- fix build with current pacemaker + (/usr/include/pacemaker/crm/common/stack.h + moved to + /usr/include/pacemaker/crm/cluster/stack.h) + +------------------------------------------------------------------- +Sun Nov 13 09:15:17 UTC 2011 - coolo@suse.com + +- add libtool as explicit buildrequire to avoid implicit dependency from prjconf + +------------------------------------------------------------------- +Tue Sep 20 14:07:24 UTC 2011 - tserong@suse.com + +- dlm_controld: fix build with old (< 3.0) kernel headers +- dlm_controld: clear waiting plocks for closed files +- dlm_controld: Introduce RB tree for improving plock resources searching + efficiency +- dlm_controld: RB tree implementation borrowed from the kernel source +- dlm_controld: remove oom_adj +- dlm_controld: ignore plocks until checkpoint time +- dlm_controld: fix plock signature in stored message +- dlm_controld: fix plock owner syncing +- dlm_controld: fix plock owner in checkpoints +- dlm_controld: fix plock checkpoint signatures +- dlm_controld: wrong fencing time comparison +- dlm_controld.pcmk: Prevent use-of-NULL by checking the node has a valid + address before adding it to configfs +- dlm_controld: always return error if the daemon is not ready to operate + +------------------------------------------------------------------- +Tue Aug 30 19:36:41 UTC 2011 - andrea.turrini@gmail.com + +- Fixed typos and removed duplicated "Authors:" entry in + descriptions of libdlm.spec + +------------------------------------------------------------------- +Mon May 23 19:39:04 UTC 2011 - crrodriguez@opensuse.org + +- Avoid adding build time in binaries, breaks build-compare. + +------------------------------------------------------------------- +Tue Feb 8 12:24:01 UTC 2011 - tserong@novell.com + +- bnc-634240_reset-fs_notified.diff : Reset fs_notified when check_fs_done + + +------------------------------------------------------------------- +Thu Aug 19 11:13:53 UTC 2010 - tserong@novell.com + +- Revert previous change ("allow libdlm to compile with new + pacemaker version") + +------------------------------------------------------------------- +Mon Jun 14 15:16:06 UTC 2010 - lmb@novell.com + +- Allow libdlm to compile with new pacemaker version. + +------------------------------------------------------------------- +Tue May 18 01:46:52 UTC 2010 - tserong@novell.com + +- Reverted libdlm-bug-603685-v2.diff (bug now fixed in Pacemaker) + +------------------------------------------------------------------- +Fri May 14 12:54:48 UTC 2010 - lmb@novell.com + +- libdlm-bug-603685-v2.diff: fix dlm_controld.pcmk member processing + (bnc#603685) + +------------------------------------------------------------------- +Mon Apr 26 16:00:24 UTC 2010 - coly.li@suse.de + +- update from upstream (cs fae6ee39) + - dlm_controld: don't log errors after disabling plocks + - dlm_controld: don't skip unlinking checkpoint + - dlm_controld: set last_plock_time for ownership operations + - dlm_controld: add plock checkpoint signatures + - dlm_controld: check all messages against enable options + - dlm_controld: avoid full plock unlock when no resource exists + +------------------------------------------------------------------- +Wed Mar 24 18:34:58 UTC 2010 - coyli@novell.com + +- update from upstream: + - dlm_controld: set rmem for sctp + - misc: update copyright year and owners + - man pages: dlm_tool and dlm_controld + - dlm_controld/libdlmcontrol/dlm_tool: separate plock debug buffer + - dlm_controld: add more fs_notified debugging + +------------------------------------------------------------------- +Fri Feb 5 10:22:31 UTC 2010 - coyli@novell.com + +- delete 64bytes_lvb_len.diff (bnc#573460) + +------------------------------------------------------------------- +Wed Jan 27 09:32:49 UTC 2010 - lmb@novell.com + +- Remove libdlm2 on upgrade. + +------------------------------------------------------------------- +Tue Dec 8 06:35:06 UTC 2009 - coyli@novell.com + +- 64bytes_lvb_len.diff: change DLM_LVB_LEN to 64 bytes (bnc#515645) + +------------------------------------------------------------------- +Wed Dec 2 08:35:31 UTC 2009 - coyli@novell.com + +- remove already-in-upstream patches from package + +------------------------------------------------------------------- +Wed Dec 2 07:44:08 UTC 2009 - coyli@novell.com + +- update to upstream commit 7ad436ba4a7d68a79510fd6c033568b6bb100191. + not pass compiling yet + +------------------------------------------------------------------- +Thu Nov 26 18:31:24 UTC 2009 - coyli@novell.com + +- upgrade package version number from 2.99.08 to 3.00.01, no code + modified. + +------------------------------------------------------------------- +Tue Sep 29 06:54:06 UTC 2009 - "lmb@novell.com" + +- libdlm-lockspace-fs_notify.diff: fix a race which could lead to an + infinite logging loop (bnc#532406). + +------------------------------------------------------------------- +Tue Sep 22 14:19:50 UTC 2009 - "lmb@novell.com" + +- dlm-no-quorum-default.diff: change quorum handling to allow cluster to + shutdown nodes one-by-one (bnc#541042). + +------------------------------------------------------------------- +Thu Sep 3 09:25:51 UTC 2009 - "lmb@novell.com" + +- dlm-debug.diff: Include the lockspace name in syslog(). + +------------------------------------------------------------------- +Thu Aug 27 16:14:16 UTC 2009 - "lmb@novell.com" + +- dlm-plock-optimization.diff: allow plocks to revert back to single + node mode (bnc#497176). + +------------------------------------------------------------------- +Mon Aug 10 17:48:27 UTC 2009 - lmb@novell.com + +- libdlm-lockspace-recovery.patch: ensure that all lock spaces are + recovered (bnc#528425). + +------------------------------------------------------------------- +Wed Jul 29 16:20:24 CST 2009 - coly.li@suse.de + +- add ocfs2-kmp to libdlm requires, since fs/dlm will be integrated + into ocfs2-kmp. + +------------------------------------------------------------------- +Tue Jul 21 15:10:39 CEST 2009 - lmb@novell.com + +- Fix compilation with new pacemaker code. + +------------------------------------------------------------------- +Tue Mar 31 15:08:36 CEST 2009 - abeekhof@suse.de + +- Update for HAE11-RC9 +- Bug bnc#490418 - Reduce the amount of logging while waiting for nodes to be shot + +------------------------------------------------------------------- +Fri Mar 20 12:12:41 CET 2009 - abeekhof@suse.de + +- Split the SUSE specific patch from the parts that have + been submitted upstream +- Correctly log the result of calls to crm_terminate_member_no_mainloop() + +------------------------------------------------------------------- +Thu Mar 19 13:38:25 CET 2009 - abeekhof@suse.de + +- Fix race condition when creating configfs entries for + cluster peers + +------------------------------------------------------------------- +Fri Mar 13 09:45:54 CET 2009 - abeekhof@suse.de + +- All previous patches are now upstream +- Update to upstream: cfd58b24b8bb17087e19a73139cf966135e78bec + - dlm_controld (pcmk) - Use a Pacemaker library function for kicking nodes from the cluster + - dlm_tool: fix lockdebug parsing of first_lkid + - dlm_controld: default to no plock rate limit + - dlm_controld: don't exit from query thread + - dlm_controld: finalize ckpt handle + - dlm_controld: cpg_finalize + - dlm_controld: use quorum instead of votequorum + +------------------------------------------------------------------- +Tue Feb 17 18:11:03 CET 2009 - abeekhof@suse.de + +- BNC#476449 - Correctly return the current fencing status + +------------------------------------------------------------------- +Fri Feb 6 19:14:34 CET 2009 - abeekhof@suse.de + +- Switch to stand-alone libdlm code-base +- Update to upstream: af52b7bb26a05a8f73d1076254e178b02ed192cd +- Update to patch-level: a85c21afc4c99dc2aee8f7e7e356f25133c4d4ad + - Implement fencing hooks for Pacemaker based clusters + - Leverage more funcaitonality from Pacemaker libraries + - Add pkgconfig entries + - dlm_controld/gfs_controld: read lockless resources from ckpts + - dlm_controld/gfs_controld: dump unused resources + - dlm_controld/gfs_controld: fix plock rate limiting + - dlm_controld/gfs_controld: plock config paths + - dlm_controld/gfs_controld: plock dump display resource owner + - dlm_controld: recv error checking + - dlm_controld: clear plock syncing flags + +------------------------------------------------------------------- +Tue Nov 11 11:22:14 CET 2008 - abeekhof@suse.de + +- Update to upstream bd261c8e51f3b5406f22bbb00b76f6da8722412d + - fix plock dump + - fix fencing checks which weren't happening + - fix confchg/message processing, must be done after each individual confchg/message + - init logging after fork to avoid ugly interaction with logging threads + - fix usage of the query thread mutex + - fix usage of realloc in deadlock code + - join should return error without fence domain + +------------------------------------------------------------------- +Thu Oct 9 10:23:42 CEST 2008 - abeekhof@suse.de + +- Update to upstream b6d73f5752306d635f306036438af1fcf26f4332 + - Adds protocol negotiation which important for future compatability + - Miscelaneous bug fixes + +------------------------------------------------------------------- +Mon Sep 15 16:22:42 CEST 2008 - abeekhof@suse.de + +- Reference newly created shared library packages as build dependancies + +------------------------------------------------------------------- +Mon Sep 8 10:04:08 CEST 2008 - abeekhof@suse.de + +- Move documentation to acceptable location + +------------------------------------------------------------------- +Tue Sep 2 09:19:25 CEST 2008 - abeekhof@suse.de + +- Extra %dir entries n the %files section to make autobuild happy + +------------------------------------------------------------------- +Mon Aug 25 10:12:28 CEST 2008 - abeekhof@suse.de + +- version 2.99.08-2 +- make sure local_nodeid is set correctly for dlm_controld + +-------------------------------------------------------------------- +Tue Aug 19 19:14:17 CEST 2008 - abeekhof@suse.de + +- version 2.99.08-1 +- Initial package check-in diff --git a/libdlm.spec b/libdlm.spec new file mode 100644 index 0000000..f23aa3d --- /dev/null +++ b/libdlm.spec @@ -0,0 +1,152 @@ +# +# spec file for package libdlm +# +# Copyright (c) 2023 SUSE LLC +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via https://bugs.opensuse.org/ +# + + +#Compat macro for new _fillupdir macro introduced in Nov 2017 +%if ! %{defined _fillupdir} + %define _fillupdir /var/adm/fillup-templates +%endif + +%if 0%{?suse_version} +%define _libexecdir %{_libdir} +%endif +%if 0%{?fedora_version} || 0%{?centos_version} || 0%{?rhel_version} +%define pkg_group System Environment/Daemons +%else +%define pkg_group Productivity/Clustering/HA +%endif + +Name: libdlm +Summary: Application interface to the kernel's distributed lock manager +License: GPL-2.0-only AND GPL-2.0-or-later AND LGPL-2.1-or-later +Group: Productivity/Clustering/HA +Version: 4.2.0 +Release: 0 +URL: https://pagure.io/dlm/ +Source: https://releases.pagure.org/dlm/dlm-%{version}.tar.gz +# suse special patch +Patch101: 0001-makefile-for-diff-arch.patch +Patch102: 0002-remove-sd-notify.patch +Patch103: 0003-bnc#874705-nodes-without-quorum.patch +Patch104: 0004-man-dlm.conf-add-note-that-the-file-is-not-creat.patch +Patch105: bug-1191734_0015-Revert-dlm_controld-add-version-check-for-libquorum.patch +Patch106: bug-1191734_0016-Revert-dlm_controld-use-new-quorum-api-to-detect-mis.patch +Patch107: 0005-build-dlm_controld-disable-annobin-plugin.patch +Patch108: 0006-dlm_controld-remove-unnecessary-header-include.patch +Patch109: 0007-Revert-treewide-add-fcf-protection-full-to-CFLAGS.patch +################### +BuildRequires: fdupes +BuildRequires: glib2-devel +BuildRequires: libcorosync-devel +BuildRequires: libtool +BuildRequires: libxml2-devel +BuildRequires: pkgconfig(pacemaker) +BuildRequires: pkgconfig(systemd) +BuildRequires: pkgconfig(udev) +Recommends: dlm-kmp + +%description +Libraries and tools that allow applications, particularly filesystems +like OCFS2, to interface with the in-kernel distributed lock manager. + +%package -n libdlm3 +Summary: Application interface to the kernel's distributed lock manager +# libdlm2 (openSUSE 11.2) also contained libdlm*.so.3 +License: GPL-2.0-only AND GPL-2.0-or-later AND LGPL-2.1-or-later +Group: System/Libraries +Obsoletes: libdlm2 +Conflicts: libdlm2 + +%description -n libdlm3 +Libraries and tools that allow applications, particularly filesystems +like OCFS2, to interface with the in-kernel distributed lock manager. + +%package devel +Summary: Development files for the kernel's distributed lock manager +License: LGPL-2.1-or-later +Group: Development/Libraries/C and C++ +Requires: libdlm3 = %{version} + +%description devel +Libraries and tools that allow applications, particularly filesystems +like OCFS2, to interface with the in-kernel distributed lock manager. + +%prep +%autosetup -p1 -n dlm-%{version} + +%build +echo "V_%version { global: *; };" >dlm.ver +export CFLAGS="%optflags" +export LDFLAGS="-Wl,--version-script=$PWD/dlm.ver" +make all UDEVDIR="%{_udevrulesdir}" +########################################################### + +%install +########################################################### +%make_install UDEVDIR="%{_udevrulesdir}" +mkdir -p $RPM_BUILD_ROOT%{_datadir}/doc/packages/libdlm-%{version} + +install -Dm 0644 init/dlm.service $RPM_BUILD_ROOT%{_unitdir}/dlm.service +install -Dm 0644 init/dlm.sysconfig $RPM_BUILD_ROOT%{_fillupdir}/sysconfig.dlm +%fdupes %{buildroot}/%{_prefix} + +########################################################### + +%post +%fillup_only -n dlm +%{?udev_rules_update} +%service_add_post dlm.service + +%preun +%service_del_preun dlm.service + +%pre +%service_add_pre dlm.service + +%postun +%service_del_postun dlm.service + +%post -n libdlm3 -p /sbin/ldconfig +%postun -n libdlm3 -p /sbin/ldconfig + +%files +%dir %{_datadir}/doc/packages/libdlm-%{version} +%{_udevrulesdir}/51-dlm.rules +%{_sbindir}/dlm_controld +%{_sbindir}/dlm_stonith +%{_sbindir}/dlm_tool +%{_datadir}/man/man8/*.gz +%{_datadir}/man/man3/*.gz +%{_datadir}/man/man5/*.gz +%{_datadir}/doc/packages/libdlm-%{version} +%{_unitdir}/dlm.service +%{_fillupdir}/sysconfig.dlm + +%files -n libdlm3 +%{_libdir}/libdlm.so.* +%{_libdir}/libdlm_lt.so.* +%{_libdir}/libdlmcontrol.so.* + +%files devel +%{_libdir}/libdlm*.so +%{_libdir}/pkgconfig/libdlm.pc +%{_libdir}/pkgconfig/libdlm_lt.pc +%{_libdir}/pkgconfig/libdlmcontrol.pc +%{_includedir}/libdlm.h +%{_includedir}/libdlmcontrol.h + +%changelog