Sync from SUSE:SLFO:Main corosync-qdevice revision 26b40ffb0f9ea6020b6caa809b78fd93

This commit is contained in:
Adrian Schröter 2024-10-01 08:32:12 +02:00
commit a646f630bf
6 changed files with 379 additions and 0 deletions

23
.gitattributes vendored Normal file
View File

@ -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

19
_service Normal file
View File

@ -0,0 +1,19 @@
<services>
<service name="tar_scm" mode="disabled">
<param name="url">https://github.com/corosync/corosync-qdevice.git</param>
<param name="scm">git</param>
<param name="filename">corosync-qdevice</param>
<param name="versionformat">3.0.3+%cd.%h</param>
<param name="revision">4331c7d</param>
<param name="changesgenerate">enable</param>
</service>
<service name="recompress" mode="disabled">
<param name="file">*corosync-qdevice*.tar</param>
<param name="compression">gz</param>
</service>
<service name="set_version" mode="disabled">
<param name="basename">corosync-qdevice</param>
</service>
</services>

4
_servicedata Normal file
View File

@ -0,0 +1,4 @@
<servicedata>
<service name="tar_scm">
<param name="url">https://github.com/corosync/corosync-qdevice.git</param>
<param name="changesrevision">4331c7d5650a8bf44c16512419f1954d0ef96df5</param></service></servicedata>

BIN
corosync-qdevice-3.0.3.tar.gz (Stored with Git LFS) Normal file

Binary file not shown.

90
corosync-qdevice.changes Normal file
View File

@ -0,0 +1,90 @@
-------------------------------------------------------------------
Wed Apr 05 14:33:43 UTC 2023 - XLiang@suse.com
- Update to version 3.0.3+20230322.4331c7d:
* qdevice: Destroy non blocking client on failure
* configure: Modernize configure.ac a bit
* unix-socket: Check minimal length of socket path
-------------------------------------------------------------------
Mon May 24 06:50:00 UTC 2021 - XLiang@suse.com
- Update to version 3.0.1+20210409.e1d5914:
* man: replace votequorum_poll for actually used fn
* qnetd: sort by node_id when add new client
* timer-list: Use correct english term children
* tests: Fix test-timer-list NULL check
* tests: Enhance test-timer-list
-------------------------------------------------------------------
Thu Jan 07 05:16:57 UTC 2021 - XLiang@suse.com
- Update to version 3.0.1+20201123.df3c672:
* qnetd: Don't alloc host_addr
* qnetd: Move client schedule disconnect handling
* qnetd-algo-ffsplit: Simplify KAP Tie-breaker logic
* qnetd: Improve dead peer detection
* qnet-config: Add space to string concat
* timer-list: Add functions for get and set interval
* timer-list: Rename delete and reschedule ops
* utils: Add utils_strtod
* qdevice: Handle configurations without ring0_addr
* qdevice: Configuration without nodelist is invalid
* qdevice-cmap: Load clear node high bit only once
* qdevice-cmap: Fix clear high node bit typo
* qdevice-net-ipc-cmd: Fix compiler warning
* devel: add corosync-qdevice.pc file for pcs to use
* tests: Fix assert problems
* timer-list: Improve efficiency of delete operation
* test-timer-list: Ignore poll errors
* tlv: Check dynar_cat result
* test-process-list: Fix few bugs
* msg: Check cat result on adding msg type and size
* timer-list: Implement heap based timer-list
* pr-poll-loop: Add queue header include
* qdevice-ipc: Fix dereference bug
* qnet: Add support for keep active partition vote
* qnetd: Fix NULL dereference of client
* qdevice-net-heuristics: Fix log message
* qdevice: Fix set option and set option reply
* LICENSE: Update copyright date
* qnetd: Add support for keep active partition vote
* README: Fix typos
* timer-list: Add test
* timer-list: Return error on adding NULL callback
* qnetd: Fix dpd timer
* qdevice-votequorum: Fix typo in log message
* qdevice: Port qdevice to use pr-poll-loop
* qdevice-net: Log adds newline automatically
* qnetd: Return error code based on ipc closed
* pr-poll-loop: Fix set_events_cb return code
* qdevice: Fix connect heuristics result callback
* pr-poll-loop: Add pre poll callbacks
* pr-poll-loop: Pass PRPollDesc for prfd events
* pr-poll-loop: Add support for PR_POLL_EXCEPT
* qnetd: Move pr_poll_loop_exec call to function
* qnetd: Log pr_poll_loop_add,del errors properly
* qnetd: Remove unneeded pprio include
* qnetd: Remove write callback on listening sockets
* qdevice: Initial port to use pr-poll-loop
* pr-poll-loop: Return error code if PR_Poll fails
* heuristics: Remove qdevice instance pointer
* tests: Enhance pr-poll-loop test
* tests: Add pr-poll-loop test
* pr-poll-loop: Do not add FD when events is empty
* qdevice: Fix connect heuristics result callback
* qdevice: Add space before bracket
* qdevice: Use EXIT_SUCCESS and EXIT_FAILURE codes
* qnetd: Do not call ffsplit_do on shutdown
* qnetd: Migrate main loop to pr-poll-loop
* pr-poll-loop: Add main poll loop based on PR_Poll
-------------------------------------------------------------------
Wed Aug 12 01:38:13 UTC 2020 - XinLiang <XLiang@suse.com>
- Corosync-qdevice with rolling up version with upstream latest commit
-------------------------------------------------------------------
Tue Jul 23 02:48:40 UTC 2019 - Yuan Ren <yren@suse.com>
- Corosync-qdevice with rolling up version with upstream latest commit

240
corosync-qdevice.spec Normal file
View File

@ -0,0 +1,240 @@
#
# spec file for package corosync-qdevice
#
# Copyright (c) 2024 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 http://bugs.opensuse.org/
#
# Conditionals
# Invoke "rpmbuild --without <feature>" or "rpmbuild --with <feature>"
# to disable or enable specific features
%bcond_without runautogen
%bcond_without systemd
%global gitver %{?numcomm:.%{numcomm}}%{?alphatag:.%{alphatag}}%{?dirty:.%{dirty}}
%global gittarver %{?numcomm:.%{numcomm}}%{?alphatag:-%{alphatag}}%{?dirty:-%{dirty}}
%define _unpackaged_files_terminate_build 0
Name: corosync-qdevice
Summary: The Corosync Cluster Engine Qdevice
Version: 3.0.3
Release: 0%{?gitver}%{?dist}
License: BSD-3-Clause
URL: https://github.com/corosync/corosync-qdevice
Source0: https://github.com/corosync/corosync-qdevice/releases/download/v%{version}%{?gittarver}/%{name}-%{version}%{?gittarver}.tar.gz
# Runtime bits
Requires: corosync > 2.4.6
Requires: corosync-libs > 2.4.6
Requires: mozilla-nss-tools
%if %{with systemd}
BuildRequires: pkgconfig(systemd)
BuildRequires: systemd-devel
Requires(post): systemd
Requires(preun): systemd
Requires(postun): systemd
%else
Requires(post): /sbin/chkconfig
Requires(preun): /sbin/chkconfig
%endif
# Build bits
BuildRequires: gcc
BuildRequires: corosync-devel > 2.4.6
BuildRequires: libqb-devel
BuildRequires: sed
%if 0%{?suse_version}
BuildRequires: groff-full
%else
BuildRequires: groff
%endif
%if 0%{?suse_version}
BuildRequires: mozilla-nss-devel
%else
BuildRequires: nss-devel
%endif
%if %{with runautogen}
BuildRequires: autoconf automake libtool
%endif
%prep
%setup -q -n %{name}-%{version}%{?gittarver}
echo %{version} > .tarball-version
echo %{version} > .version
%build
%if %{with runautogen}
./autogen.sh
%endif
%{configure} \
%if %{with systemd}
--enable-systemd \
%endif
--enable-qdevices \
--enable-qnetd \
--with-initddir=%{_initrddir} \
--with-systemddir=%{_unitdir} \
--docdir=%{_docdir}
make %{_smp_mflags}
%install
%make_install
%if %{with systemd}
ln -s /usr/sbin/service %{buildroot}%{_sbindir}/rccorosync-qnetd
ln -s /usr/sbin/service %{buildroot}%{_sbindir}/rccorosync-qdevice
%endif
## tree fixup
# drop docs and html docs for now
rm -rf %{buildroot}%{_docdir}/*
mkdir -p %{buildroot}%{_sysconfdir}/sysconfig
mkdir -p %{buildroot}%{_fillupdir}/
# /etc/sysconfig/corosync-qdevice
install -p -m 644 init/corosync-qdevice.sysconfig.example \
%{buildroot}%{_fillupdir}/sysconfig.corosync-qdevice
# /etc/sysconfig/corosync-qnetd
install -p -m 644 init/corosync-qnetd.sysconfig.example \
%{buildroot}%{_fillupdir}/sysconfig.corosync-qnetd
%if %{with systemd}
sed -i -e 's/^#User=/User=/' \
%{buildroot}%{_unitdir}/corosync-qnetd.service
%else
sed -i -e 's/^COROSYNC_QNETD_RUNAS=""$/COROSYNC_QNETD_RUNAS="coroqnetd"/' \
%{buildroot}%{_sysconfdir}/sysconfig/corosync-qnetd
%endif
%description
This package contains the Corosync Cluster Engine Qdevice, script for creating
NSS certificates and an init script.
%pre -n corosync-qdevice
%service_add_pre corosync-qdevice.service
%post -n corosync-qdevice
%{fillup_and_insserv -n corosync-qdevice}
%if %{sles_version} > 0
ln -s /run/corosync-qdevice /var/run/
%endif
%service_add_post corosync-qdevice.service
%preun -n corosync-qdevice
%service_del_preun corosync-qdevice.service
%if %{sles_version}
unlink /var/run/corosync-qdevice
%endif
%postun -n corosync-qdevice
if [ -f /etc/sysconfig/corosync-qdevice ]; then
rm /etc/sysconfig/corosync-qdevice
fi
%service_del_postun corosync-qdevice.service
%files
%defattr(-,root,root,-)
%dir %{_sysconfdir}/corosync/qdevice
%dir %config(noreplace) %{_sysconfdir}/corosync/qdevice/net
#change corosync-qdevice to /run as /var/run is symlink nowdays
%ghost /run/corosync-qdevice
%{_sbindir}/corosync-qdevice
%{_sbindir}/corosync-qdevice-net-certutil
%{_sbindir}/corosync-qdevice-tool
%config(noreplace) %{_fillupdir}/sysconfig.corosync-qdevice
%if %{with systemd}
%{_unitdir}/corosync-qdevice.service
%{_sbindir}/rccorosync-qdevice
%dir %{_sysconfdir}/corosync
%else
%{_initrddir}/corosync-qdevice
%endif
%{_mandir}/man8/corosync-qdevice-tool.8*
%{_mandir}/man8/corosync-qdevice-net-certutil.8*
%{_mandir}/man8/corosync-qdevice.8*
%package -n corosync-qnetd
Summary: The Corosync Cluster Engine Qdevice Network Daemon
Group: System/Base
Requires: mozilla-nss-tools
Requires(pre): shadow
Requires(pre): /usr/sbin/useradd
Provides: group(coroqnetd)
Provides: user(coroqnetd)
%if %{with systemd}
%{?systemd_requires}
%endif
%description -n corosync-qnetd
This package contains the Corosync Cluster Engine Qdevice Network Daemon,
script for creating NSS certificates and an init script.
%pre -n corosync-qnetd
getent group coroqnetd >/dev/null || groupadd -r coroqnetd -g 701
getent passwd coroqnetd >/dev/null || useradd -r -g coroqnetd -u 701 -s /sbin/nologin -c "User for corosync-qnetd" coroqnetd
%service_add_pre corosync-qnetd.service
exit 0
%post -n corosync-qnetd
%if %{sles_version} > 0
ln -s /run/corosync-qnetd /var/run/
%endif
%{fillup_and_insserv -n corosync-qnetd}
%service_add_post corosync-qnetd.service
%preun -n corosync-qnetd
%service_del_preun corosync-qnetd.service
%if %{sles_version} > 0
unlink /var/run/corosync-qnetd
%endif
%postun -n corosync-qnetd
if [ -f /etc/sysconfig/corosync-qnetd ];then
rm /etc/sysconfig/corosync-qnetd
fi
%service_del_postun corosync-qnetd.service
%files -n corosync-qnetd
%defattr(-,root,root,-)
%license LICENSE
%dir %config(noreplace) %attr(770, coroqnetd, coroqnetd) %{_sysconfdir}/corosync/qnetd
#change corosync-qnetd to /run as /var/run is just symlink nowadays
%ghost %attr (750, coroqnetd, coroqnetd) /run/corosync-qnetd
%{_bindir}/corosync-qnetd
%{_bindir}/corosync-qnetd-certutil
%{_bindir}/corosync-qnetd-tool
%config(noreplace) %{_fillupdir}/sysconfig.corosync-qnetd
%if %{with systemd}
%{_unitdir}/corosync-qnetd.service
%{_sbindir}/rccorosync-qnetd
%else
%{_initrddir}/corosync-qnetd
%endif
%{_mandir}/man8/corosync-qnetd-tool.8*
%{_mandir}/man8/corosync-qnetd-certutil.8*
%{_mandir}/man8/corosync-qnetd.8*
%changelog