diff --git a/bnc#867767-add-version.patch b/bnc#867767-add-version.patch index fe9ded5..cec5b03 100644 --- a/bnc#867767-add-version.patch +++ b/bnc#867767-add-version.patch @@ -1,4 +1,4 @@ --- /dev/null 2015-07-20 08:30:37.121221591 +0800 -+++ corosync-2.3.5/.tarball-version 2015-07-21 13:20:34.907779088 +0800 ++++ corosync-2.4.1/.tarball-version 2016-10-17 09:24:34.907779088 +0800 @@ -0,0 +1 @@ +2.3.5 diff --git a/bsc#1001164-corosync.conf-example.patch b/bsc#1001164-corosync.conf-example.patch new file mode 100644 index 0000000..75cdba8 --- /dev/null +++ b/bsc#1001164-corosync.conf-example.patch @@ -0,0 +1,29 @@ +--- corosync-2.3.3.orig/conf/corosync.conf.example 2016-09-27 12:18:13.559737049 +0800 ++++ corosync-2.3.3/conf/corosync.conf.example 2016-09-27 14:29:41.952519958 +0800 +@@ -9,6 +9,26 @@ + crypto_cipher: none + crypto_hash: none + ++ # How long before declaring a token lost (ms) ++ token: 5000 ++ ++ # How many token retransmits before forming a new configuration ++ token_retransmits_before_loss_const: 10 ++ ++ # How long to wait for join messages in the membership protocol (ms) ++ join: 60 ++ ++ # How long to wait for consensus to be achieved before starting ++ # a new round of membership configuration (ms) ++ consensus: 6000 ++ ++ # Turn off the virtual synchrony filter ++ vsftype: none ++ ++ # Number of messages that may be sent by one processor on ++ # receipt of the token ++ max_messages: 20 ++ + # Limit generated nodeids to 31-bits (positive signed integers) + # you would set it to 'yes', the new option 'new' means wiping + # off the highest bit in network order to avoid possible nodeid diff --git a/corosync-2.3.5.tar.gz b/corosync-2.3.5.tar.gz deleted file mode 100644 index e9f68f6..0000000 --- a/corosync-2.3.5.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:11985f8a23e1498a24d154a7ce900d6c4c3486cee1a60eeb5003eed7912e177c -size 428156 diff --git a/corosync-2.4.1.tar.gz b/corosync-2.4.1.tar.gz new file mode 100644 index 0000000..5ecc78a --- /dev/null +++ b/corosync-2.4.1.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0a87e1d0fb93784944240dc9cc37cb7193eb0628d9c27aab5db654f66c3c4dc3 +size 598458 diff --git a/corosync-cts-api-error.patch b/corosync-cts-api-error.patch deleted file mode 100644 index a74b7a5..0000000 --- a/corosync-cts-api-error.patch +++ /dev/null @@ -1,15 +0,0 @@ ---- corosync-2.3.5.orig/cts/corolab.py 2015-07-21 11:09:11.898660803 +0800 -+++ corosync-2.3.5/cts/corolab.py 2015-07-21 12:53:27.922754675 +0800 -@@ -308,10 +308,10 @@ - elif Environment["all-once"] or NumIter == 0: - NumIter = len(Tests) - scenario = AllOnce( -- cm, [ InitClusterManager(Environment), TestAgentComponent(Environment), PacketLoss(Environment) ], Audits, Tests) -+ cm, [ BootCluster(Environment), TestAgentComponent(Environment), PacketLoss(Environment) ], Audits, Tests) - else: - scenario = RandomTests( -- cm, [ InitClusterManager(Environment), TestAgentComponent(Environment), PacketLoss(Environment) ], Audits, Tests) -+ cm, [ BootCluster(Environment), TestAgentComponent(Environment), PacketLoss(Environment) ], Audits, Tests) - - Environment.log(">>>>>>>>>>>>>>>> BEGINNING " + repr(NumIter) + " TESTS ") - Environment.log("Stack: %s" % Environment["Stack"]) diff --git a/corosync-start-stop-level.patch b/corosync-start-stop-level.patch new file mode 100644 index 0000000..a7f4a5e --- /dev/null +++ b/corosync-start-stop-level.patch @@ -0,0 +1,59 @@ +From b827e7f33fee652a79713d302aa9be56b456fa7d Mon Sep 17 00:00:00 2001 +From: Bin Liu +Date: Wed, 19 Oct 2016 15:59:17 +0800 +Subject: [PATCH] modify default run level for corosync daemons + +--- + init/corosync-qdevice.in | 4 ++-- + init/corosync-qnetd.in | 4 ++-- + init/corosync.in | 4 ++-- + 3 files changed, 6 insertions(+), 6 deletions(-) + +diff --git a/init/corosync-qdevice.in b/init/corosync-qdevice.in +index 913e033..4949c4e 100755 +--- a/init/corosync-qdevice.in ++++ b/init/corosync-qdevice.in +@@ -13,8 +13,8 @@ + # Provides: corosync-qdevice + # Required-Start: $corosync + # Required-Stop: $corosync +-# Default-Start: +-# Default-Stop: ++# Default-Start: 3 ++# Default-Stop: 1 + # Short-Description: Starts and stops Corosync Qdevice daemon. + # Description: Starts and stops Corosync Qdevice daemon. + ### END INIT INFO +diff --git a/init/corosync-qnetd.in b/init/corosync-qnetd.in +index 15d30ea..ed73ee0 100755 +--- a/init/corosync-qnetd.in ++++ b/init/corosync-qnetd.in +@@ -13,8 +13,8 @@ + # Provides: corosync-qnetd + # Required-Start: $network $syslog + # Required-Stop: $network $syslog +-# Default-Start: +-# Default-Stop: ++# Default-Start: 3 ++# Default-Stop: 1 + # Short-Description: Starts and stops Corosync Qdevice Network daemon. + # Description: Starts and stops Corosync Qdevice Network daemon. + ### END INIT INFO +diff --git a/init/corosync.in b/init/corosync.in +index c93f971..366b5d6 100755 +--- a/init/corosync.in ++++ b/init/corosync.in +@@ -14,8 +14,8 @@ + # Provides: corosync + # Required-Start: $network $syslog + # Required-Stop: $network $syslog +-# Default-Start: +-# Default-Stop: ++# Default-Start: 3 ++# Default-Stop: 1 + # Short-Description: Starts and stops Corosync Cluster Engine. + # Description: Starts and stops Corosync Cluster Engine. + ### END INIT INFO +-- +2.6.6 + diff --git a/corosync.changes b/corosync.changes index bb91a26..d7e9992 100644 --- a/corosync.changes +++ b/corosync.changes @@ -1,16 +1,61 @@ +------------------------------------------------------------------- +Mon Oct 17 08:28:33 UTC 2016 - bliu@suse.com + +- upgrade to corosync-2.4.1(bsc#1004967) + added: corosync-start-stop-level.patch + deleted: corosync-cts-api-error.patch + modified: bnc#867767-add-version.patch, change version to 2.4.1 + corosync-2.4.1: + Low: totemsrp: Addition of the log. + cts: Make it run with pacemaker-1.13+ + Config: Flag config uidgid entries + Spec: Qdevice require same version of corosync + + corosync-2.4.0: + qdevice and qnet + config: get_cluster_mcast_addr error is not fatal + some typo fixes + + corosync-v2.3.6 + CFG: Prevent CFG orignating messages during SYNC + wd: fix setting of watchdog timeouts + votequorum: Don't send multiple callbacks when nodes join + cfgtool: Display nodeid as unsigned int + quorum: Display node id as unsigned int. + Check for fdatasync + Fix detection of qb_log_thread_priority_set + totempg: Fix memory leak + cpg: Memory not unmapped in cpg_zcb_free + cpg: Handle ipc error in cpg_zcb_alloc/free + totemconfig: Explicitly pass IP version + parser: Make config file parser more hierarchy + logsys: fix TOTEM logging when corosync built out of tree + wd: make watchdog device configurable + schedwrk: Cleanup and make it work on PPC BE + Reapply config defaults corosync.conf reload + logconfig: Fix logging reload disabling logfiles + +------------------------------------------------------------------- +Tue Sep 27 07:33:09 UTC 2016 - bliu@suse.com + +- Default token timeout was 5000 ms in SLE 11 SP4, but is 1000 ms in SLE 12(bsc#1001164) + Added: bsc#1001164-corosync.conf-example.patch + +------------------------------------------------------------------- +Wed Sep 7 07:35:12 UTC 2016 - bliu@suse.com + +- Fix: [s390]Upgrade from SP1-GM + HA to SP2-RC2 +: Failed to start Corosync Cluster engine(bsc#996230) +- modify corosync.spec to remove "chkconfig --add" +- remove corosync-devel and require lines from baselibs.conf + ------------------------------------------------------------------- Thu Jul 14 07:59:03 UTC 2016 - bliu@suse.com - corosync process still exists when stop pacemaker service(bnc#988683) ------------------------------------------------------------------- -Mon Aug 17 15:09:13 UTC 2015 - bliu@suse.com(bnc#941910) -- remove git files from tarball +Mon Aug 17 15:09:13 UTC 2015 - bliu@suse.com +- remove git files from tarball(bnc#941910) - modify corosync.spec to delete logrotate.d -------------------------------------------------------------------- -Mon Jul 27 10:32:27 UTC 2015 - dimstar@opensuse.org - -- BuildRequire pkgconfig(systemd) instead of systemd: this should - help avoid a build cycle. ------------------------------------------------------------------- Wed Jul 21 15:12:26 UTC 2015 - bliu@suse.com diff --git a/corosync.spec b/corosync.spec index 141a420..de8817f 100644 --- a/corosync.spec +++ b/corosync.spec @@ -21,17 +21,17 @@ # Conditionals # Invoke "rpmbuild --without " or "rpmbuild --with " # to disable or enable specific features -%bcond_with testagents -%define with_testagents 1 -%bcond_with watchdog -%bcond_with monitoring -%bcond_with snmp -%bcond_with rdma +%define with_testagents 1 +%define with_watchdog 1 +#%define with_monitoring 0 +%define with_snmp 1 +#%define with_dbus 1 +%define with_rdma 1 %define with_systemd 1 -%bcond_with upstart -%bcond_with xmlconf -%bcond_with runautogen +%define with_xmlconf 1 %define with_runautogen 1 +%define with_qdevices 1 +%define with_qnetd 1 %if 0%{?sles_version} == 12 %ifnarch s390 s390x @@ -46,17 +46,20 @@ Name: corosync Summary: The Corosync Cluster Engine and Application Programming Interfaces License: BSD-3-Clause Group: Productivity/Clustering/HA -Version: 2.3.5 +Version: 2.4.1 Release: 0 -Url: http://www.corosync.org +#Release: 1%{?gitver}%{?dist} +Url: http://corosync.github.io/corosync/ Source0: %{name}-%{version}.tar.gz Source2: baselibs.conf Patch1: corosync-init-lockfile-path-error.patch -Patch2: corosync-cts-api-error.patch -Patch3: bnc#867767-add-version.patch -Patch4: bnc#872651-stop-cluster.patch -Patch5: bnc#882449-corosync-conf-example.patch -Patch6: corosync-2.3.4-fix-bashisms.patch +Patch2: bnc#867767-add-version.patch +Patch3: bnc#872651-stop-cluster.patch +Patch4: bnc#882449-corosync-conf-example.patch +Patch5: corosync-2.3.4-fix-bashisms.patch +Patch6: bsc#1001164-corosync.conf-example.patch +Patch7: corosync-start-stop-level.patch + BuildRoot: %{_tmppath}/%{name}-%{version}-build # openais is indeed gone and should be uninstalled. Yes, we do not # provide openais on purpose, the package has been deleted. @@ -67,47 +70,51 @@ Conflicts: openais < 1.2 Requires: libcorosync4 = %{version}-%{release} Requires(pre): /usr/sbin/useradd Requires(post): /sbin/chkconfig +Requires(post): %insserv_prereq %fillup_prereq Requires(preun): /sbin/chkconfig Conflicts: openais <= 0.89, openais-devel <= 0.89 # Build bits -Requires: libcorosync4 = %{version}-%{release} -#Requires(pre): /usr/sbin/useradd -#Requires(post): /sbin/chkconfig -#Requires(preun): /sbin/chkconfig - +BuildRequires: groff BuildRequires: libqb-devel -BuildRequires: mozilla-nss BuildRequires: mozilla-nss-devel +BuildRequires: zlib-devel %if %{with_runautogen} BuildRequires: autoconf BuildRequires: automake BuildRequires: libtool - %endif -%if %{with monitoring} -BuildRequires: libstatgrab-devel -%endif -%if %{with rdma} +#%if %{with monitoring} +#BuildRequires: libstatgrab-devel +#%endif +%if %{with_rdma} BuildRequires: libibverbs-devel BuildRequires: librdmacm-devel %endif -%if %{with snmp} +%if %{with_snmp} BuildRequires: net-snmp-devel %endif -%if %{with dbus} -BuildRequires: dbus-1-devel -%endif -%if %{with systemd} +#%if %{with dbus} +#BuildRequires: dbus-1-devel +#%endif +%if %{with_systemd} BuildRequires: pkgconfig(systemd) Requires(post): systemd Requires(preun): systemd Requires(postun): systemd %endif -%if %{with xmlconf} +%if %{with_xmlconf} Requires: libxslt %endif +%if %{with_qdevices} || %{with_qnetd} +Requires: mozilla-nss-tools +%endif +%if %{with_qnetd} +BuildRequires: sed +%endif + +BuildRoot: %{_tmppath}/%{name}-%{version}-build %prep %setup -q -n %{name}-%{version} @@ -117,51 +124,48 @@ Requires: libxslt %patch4 -p1 %patch5 -p1 %patch6 -p1 +%patch7 -p1 %build -%if %{with runautogen} +%if %{with_runautogen} ./autogen.sh %endif -%if %{with rdma} +%if %{with_rdma} export ibverbs_CFLAGS=-I/usr/include/infiniband \ export ibverbs_LIBS=-libverbs \ export rdmacm_CFLAGS=-I/usr/include/rdma \ export rdmacm_LIBS=-lrdmacm \ %endif %{configure} \ -%if %{with testagents} +%if %{with_testagents} --enable-testagents \ - --enable-augeas \ - --enable-debug \ %endif -%if %{with watchdog} +%if %{with_watchdog} --enable-watchdog \ %endif -%if %{with monitoring} - --enable-monitoring \ -%endif -%if %{with snmp} +%if %{with_snmp} --enable-snmp \ %endif -%if %{with dbus} - --enable-dbus \ -%endif -%if %{with rdma} +%if %{with_rdma} --enable-rdma \ %endif -%if %{with systemd} +%if %{with_systemd} --enable-systemd \ %endif -%if %{with upstart} - --enable-upstart \ -%endif -%if %{with xmlconf} +%if %{with_xmlconf} --enable-xmlconf \ +%endif +%if %{with_qdevices} + --enable-qdevices \ +%endif +%if %{with_qnetd} + --enable-qnetd \ %endif --with-initddir=%{_initrddir} \ --with-systemddir=%{_unitdir} \ - --with-upstartdir=%{_sysconfdir}/init + --with-upstartdir=%{_sysconfdir}/init \ + --with-tmpfilesdir=%{_tmpfilesdir} make %{_smp_mflags} @@ -169,12 +173,11 @@ make %{_smp_mflags} rm -rf %{buildroot} make install DESTDIR=%{buildroot} -rm -rf %{buildroot}/usr/share/doc/corosync/html -rm -rf %{buildroot}/usr/share/doc/corosync -%if %{with dbus} -mkdir -p -m 0700 %{buildroot}/%{_sysconfdir}/dbus-1/system.d -install -m 644 %{_builddir}/%{name}-%{version}/conf/corosync-signals.conf %{buildroot}/%{_sysconfdir}/dbus-1/system.d/corosync-signals.conf -%endif + +#%if %{with dbus} +#mkdir -p -m 0700 %{buildroot}/%{_sysconfdir}/dbus-1/system.d +#install -m 644 %{_builddir}/%{name}-%{version}/conf/corosync-signals.conf %{buildroot}/%{_sysconfdir}/dbus-1/system.d/corosync-signals.conf +#%endif %if %{with_systemd} ln -s /usr/sbin/service %{buildroot}%{_sbindir}/rccorosync %endif @@ -187,10 +190,50 @@ rm -f %{buildroot}%{_libdir}/*.la rm -rf %{buildroot}%{_docdir}/* mkdir -p %{buildroot}/usr/lib/tmpfiles.d/ mkdir -p %{buildroot}/usr/share/doc/packages/corosync/ +mkdir -p %{buildroot}/var/adm/fillup-templates/ +mkdir -p %{buildroot}%{_sysconfdir}/init.d/ install -m 0644 tools/corosync-notifyd.sysconfig.example %{buildroot}/usr/lib/tmpfiles.d/corosync-notifyd install -m 0644 conf/corosync.conf.example* %{buildroot}/usr/share/doc/packages/corosync/ rm -rf %{buildroot}/etc/corosync/corosync.conf.example* rm -rf %{buildroot}/etc/logrotate.d/ +# /etc/sysconfig/corosync-notifyd +mkdir -p %{buildroot}%{_sysconfdir}/sysconfig +install -m 644 tools/corosync-notifyd.sysconfig.example \ + %{buildroot}/usr/lib/tmpfiles.d/corosync-notifyd +# %{buildroot}%{_sysconfdir}/sysconfig/corosync-notifyd +# /etc/sysconfig/corosync +install -m 644 init/corosync.sysconfig.example \ + %{buildroot}/var/adm/fillup-templates/sysconfig.corosync +# %{buildroot}%{_sysconfdir}/sysconfig/corosync +#add init scripts for corosync, corosync-qdevice, corosync-qnetd +install -m 755 init/corosync %{buildroot}%{_sysconfdir}/init.d/corosync +install -m 755 init/corosync-qdevice %{buildroot}%{_sysconfdir}/init.d/corosync-qdevice +install -m 755 init/corosync-qnetd %{buildroot}%{_sysconfdir}/init.d/corosync-qnetd +rm -rf %{buildroot}%{localstatedir}/run/ +%if %{with_qdevices} +# /etc/sysconfig/corosync-qdevice +install -m 644 init/corosync-qdevice.sysconfig.example \ + %{buildroot}/var/adm/fillup-templates/sysconfig.corosync-qdevice +# %{buildroot}%{_sysconfdir}/sysconfig/corosync-qdevice +install -m 770 -d %{buildroot}/run/corosync-qdevice +%endif + +%if %{with_qnetd} +# /etc/sysconfig/corosync-qnetd +install -m 644 init/corosync-qnetd.sysconfig.example \ + %{buildroot}/var/adm/fillup-templates/sysconfig.corosync-qnetd +# %{buildroot}%{_sysconfdir}/sysconfig/corosync-qnetd +install -m 770 -d %{buildroot}/run/corosync-qnetd +%if %{with_systemd} +sed -i -e 's/^#User=/User=/' \ + %{buildroot}%{_unitdir}/corosync-qnetd.service +sed -i -e 's/root/coroqnetd/g' \ + %{buildroot}%{_tmpfilesdir}/corosync-qnetd.conf +%else +sed -i -e 's/^COROSYNC_QNETD_RUNAS=""$/COROSYNC_QNETD_RUNAS="coroqnetd"/' \ + %{buildroot}%{_sysconfdir}/sysconfig/corosync-qnetd +%endif +%endif %clean rm -rf %{buildroot} @@ -205,7 +248,8 @@ APIs and libraries, default configuration files, and an init script. %endif %post -%if %{with systemd} && 0%{?systemd_post:1} +%{fillup_and_insserv -n corosync} +%if %{with_systemd} && 0%{?systemd_post:1} %service_add_post corosync.service corosync-notifyd.service %endif rm -rf %{_sysconfdir}/corosync/corosync.conf.example %{_sysconfdir}/corosync/corosync.conf.example.unicast @@ -215,9 +259,9 @@ ln -s /usr/share/doc/packages/corosync/corosync.conf.example.udpu %{_sysconfdir} %preun unlink %{_sysconfdir}/corosync/corosync.conf.example.unicast -unlink %{_sysconfdir}//corosync/corosync.conf.example +unlink %{_sysconfdir}/corosync/corosync.conf.example -%if %{with systemd} && 0%{?systemd_preun:1} +%if %{with_systemd} && 0%{?systemd_preun:1} %systemd_preun corosync.service %else if [ $1 -eq 0 ]; then @@ -227,14 +271,14 @@ fi %endif %postun -%if %{with systemd} && 0%{?systemd_postun:1} +%if %{with_systemd} && 0%{?systemd_postun:1} %systemd_postun %endif +rm /etc/sysconfig/corosync %files %defattr(-,root,root,-) -%doc LICENSE -%doc SECURITY +%doc LICENSE SECURITY %{_sbindir}/corosync %{_sbindir}/corosync-keygen %{_sbindir}/corosync-cmapctl @@ -242,11 +286,12 @@ fi %{_sbindir}/corosync-cpgtool %{_sbindir}/corosync-quorumtool %{_sbindir}/corosync-notifyd +%{_sysconfdir}/init.d/corosync %if %{with_systemd} %{_sbindir}/rccorosync %endif %{_bindir}/corosync-blackbox -%if %{with xmlconf} +%if %{with_xmlconf} %{_bindir}/corosync-xmlproc %config(noreplace) %{_sysconfdir}/corosync/corosync.xml.example %dir %{_datadir}/corosync @@ -256,17 +301,21 @@ fi %endif %dir %{_sysconfdir}/corosync %dir %{_sysconfdir}/corosync/uidgid.d +%dir %{_datadir}/doc/corosync/ %config(noreplace) /usr/share/doc/packages/corosync/corosync.conf.example %config(noreplace) /usr/share/doc/packages/corosync/corosync.conf.example.udpu -#%config(noreplace) %{_sysconfdir}/sysconfig/corosync-notifyd %config(noreplace) /usr/lib/tmpfiles.d/corosync-notifyd -%if %{with dbus} -%{_sysconfdir}/dbus-1/system.d/corosync-signals.conf -%endif -%if %{with snmp} +#%config(noreplace) %{_sysconfdir}/sysconfig/corosync +%config(noreplace) /var/adm/fillup-templates/sysconfig.corosync +#%config(noreplace) %{_sysconfdir}/logrotate.d/corosync + +#%if %{with dbus} +#%{_sysconfdir}/dbus-1/system.d/corosync-signals.conf +#%endif +%if %{with_snmp} %{_datadir}/snmp/mibs/COROSYNC-MIB.txt %endif -%if %{with systemd} +%if %{with_systemd} %{_unitdir}/corosync.service %{_unitdir}/corosync-notifyd.service %dir %{_datadir}/corosync @@ -276,10 +325,10 @@ fi %{_initrddir}/corosync %{_initrddir}/corosync-notifyd %endif -%if %{with upstart} -%{_sysconfdir}/init/corosync.conf -%{_sysconfdir}/init/corosync-notifyd.conf -%endif +#%if %{with_upstart} +#%{_sysconfdir}/init/corosync.conf +#%{_sysconfdir}/init/corosync-notifyd.conf +#%endif %dir %{_localstatedir}/lib/corosync %dir %{_localstatedir}/log/cluster %{_mandir}/man8/corosync_overview.8* @@ -294,10 +343,10 @@ fi %{_mandir}/man5/corosync.conf.5* %{_mandir}/man5/votequorum.5* %{_mandir}/man8/cmap_keys.8* - +%{_datadir}/doc/corosync/* # optional testagent rpm # -%if %{with testagents} +%if %{with_testagents} %package -n corosync-testagents Summary: The Corosync Cluster Engine Test Agents @@ -310,16 +359,11 @@ This package contains corosync test agents. %files -n corosync-testagents %defattr(755,root,root,-) %dir %{_datadir}/corosync/tests -%dir %{_datadir}/augeas -%dir %{_datadir}/augeas/lenses -%dir %{_datadir}/augeas/lenses/tests %{_datadir}/corosync/tests/mem_leak_test.sh %{_datadir}/corosync/tests/net_breaker.sh %{_datadir}/corosync/tests/cmap-dispatch-deadlock.sh %{_datadir}/corosync/tests/shm_leak_audit.sh -%{_datadir}/augeas/lenses/corosync.aug -%{_datadir}/augeas/lenses/tests/test_corosync.aug %{_bindir}/cpg_test_agent %{_bindir}/sam_test_agent %{_bindir}/votequorum_test_agent @@ -408,4 +452,161 @@ The Corosync Cluster Engine APIs. %post -n libcorosync-devel -p /sbin/ldconfig %postun -n libcorosync-devel -p /sbin/ldconfig +# optional qdevices +# +%if %{with_qdevices} + +%package -n corosync-qdevice +Summary: The Corosync Cluster Engine Qdevice +Group: System Environment/Base +Requires: corosync +Requires: mozilla-nss-tools + +%if %{with_systemd} +Requires(post): systemd +Requires(preun): systemd +Requires(postun): systemd +Requires(post): %insserv_prereq %fillup_prereq +%endif + +%description -n corosync-qdevice +This package contains the Corosync Cluster Engine Qdevice, script for creating +NSS certificates and an init script. + +%post -n corosync-qdevice +%{fillup_and_insserv -n corosync-qdevice} +#mkdir /run/corosync-qdevice +%if %{sles_version} > 0 +ln -s /run/corosync-qdevice /var/run/ +%endif +%if %{with_systemd} && 0%{?systemd_post:1} +%systemd_post corosync-qdevice.service +%endif + +%preun -n corosync-qdevice +%if %{with_systemd} && 0%{?systemd_preun:1} +%systemd_preun corosync-qdevice.service +%else +if [ $1 -eq 0 ]; then + /sbin/service corosync-qdevice stop &>/dev/null || : + /sbin/chkconfig --del corosync-qdevice || : +fi +%endif +%if %{sles_version} +unlink /var/run/corosync-qdevice +%endif + +%postun -n corosync-qdevice +%if %{with_systemd} && 0%{?systemd_postun:1} +%systemd_postun +%endif +rm /etc/sysconfig/corosync-qdevice + +%files -n corosync-qdevice +%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 +#%dir %{_localstatedir}/run/corosync-qdevice +%{_sbindir}/corosync-qdevice +%{_sbindir}/corosync-qdevice-net-certutil +%{_sbindir}/corosync-qdevice-tool +%{_sysconfdir}/init.d/corosync-qdevice +%config(noreplace) /var/adm/fillup-templates/sysconfig.corosync-qdevice +#%config(noreplace) %{_sysconfdir}/sysconfig/corosync-qdevice +%if %{with_systemd} +%{_unitdir}/corosync-qdevice.service +%dir %{_datadir}/corosync +%{_datadir}/corosync/corosync-qdevice +%else +%{_initrddir}/corosync-qdevice +%endif +%{_mandir}/man8/corosync-qdevice-tool.8* +%{_mandir}/man8/corosync-qdevice-net-certutil.8* +%{_mandir}/man8/corosync-qdevice.8* +%endif + +# optional qnetd +# +%if %{with_qnetd} + +%package -n corosync-qnetd +Summary: The Corosync Cluster Engine Qdevice Network Daemon +Group: System Environment/Base +Requires: mozilla-nss-tools +Requires(pre): shadow + +%if %{with_systemd} +Requires(post): systemd +Requires(preun): systemd +Requires(postun): systemd +Requires(post): %insserv_prereq %fillup_prereq +%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 +getent passwd coroqnetd >/dev/null || \ + useradd -r -g coroqnetd -d / -s /sbin/nologin -c "User for corosync-qnetd" coroqnetd +exit 0 + +%post -n corosync-qnetd +#mkdir -m 770 /run/corosync-qnetd +#chown coroqnetd:coroqnetd /run/corosync-qnetd +%if %{sles_version} > 0 +ln -s /run/corosync-qnetd /var/run/ +%endif +%{fillup_and_insserv -n corosync-qnetd} +%if %{with_systemd} && 0%{?systemd_post:1} +%systemd_post corosync-qnetd.service +%endif + +%preun -n corosync-qnetd +%if %{with_systemd} && 0%{?systemd_preun:1} +%systemd_preun corosync-qnetd.service +%else +if [ $1 -eq 0 ]; then + /sbin/service corosync-qnetd stop &>/dev/null || : + /sbin/chkconfig --del corosync-qnetd || : +fi +%endif +%if %{sles_version} > 0 +unlink /var/run/corosync-qnetd +%endif + +%postun -n corosync-qnetd +%if %{with_systemd} && 0%{?systemd_postun:1} +%systemd_postun +%endif +rm /etc/sysconfig/corosync-qnetd + +%files -n corosync-qnetd +%defattr(-,root,root,-) +%dir %config(noreplace) %attr(770, coroqnetd, coroqnetd) %{_sysconfdir}/corosync/qnetd +#change corosync-qnetd to /run as /var/run is just symlink nowadays +%ghost %attr(770, coroqnetd, coroqnetd) /run/corosync-qnetd +#%dir %attr(770, coroqnetd, coroqnetd) %{_localstatedir}/run/corosync-qnetd +%{_bindir}/corosync-qnetd +%{_bindir}/corosync-qnetd-certutil +%{_bindir}/corosync-qnetd-tool +%{_sysconfdir}/init.d/corosync-qnetd +%config(noreplace) /var/adm/fillup-templates/sysconfig.corosync-qnetd +#%config(noreplace) %{_sysconfdir}/sysconfig/corosync-qnetd +%if %{with_systemd} +%{_unitdir}/corosync-qnetd.service +%dir %{_datadir}/corosync +%{_datadir}/corosync/corosync-qnetd +%{_tmpfilesdir}/corosync-qnetd.conf +%else +%{_initrddir}/corosync-qnetd +%endif +%{_mandir}/man8/corosync-qnetd-tool.8* +%{_mandir}/man8/corosync-qnetd-certutil.8* +%{_mandir}/man8/corosync-qnetd.8* +%endif + %changelog