diff --git a/corosync.spec.in b/corosync.spec.in index 049c585a..7cb70114 100644 --- a/corosync.spec.in +++ b/corosync.spec.in @@ -1,307 +1,307 @@ @ALPHATAG@ @NUMCOMM@ @DIRTY@ # Conditionals # Invoke "rpmbuild --without " or "rpmbuild --with " # to disable or enable specific features %bcond_with watchdog %bcond_with monitoring %bcond_with snmp %bcond_with dbus %bcond_with systemd %bcond_with xmlconf %bcond_with nozzle %bcond_with vqsim %bcond_with runautogen %bcond_with userflags %global gitver %{?numcomm:.%{numcomm}}%{?alphatag:.%{alphatag}}%{?dirty:.%{dirty}} %global gittarver %{?numcomm:.%{numcomm}}%{?alphatag:-%{alphatag}}%{?dirty:-%{dirty}} Name: corosync Summary: The Corosync Cluster Engine and Application Programming Interfaces Version: @version@ Release: 1%{?gitver}%{?dist} License: BSD-3-Clause URL: http://corosync.github.io/corosync/ Source0: https://github.com/%{name}/%{name}/releases/download/v%{version}/%{name}-%{version}%{?gittarver}.tar.gz # Runtime bits # The automatic dependency overridden in favor of explicit version lock Requires: corosynclib%{?_isa} = %{version}-%{release} # Support crypto reload Requires: libknet1 >= 1.18 # Build bits BuildRequires: gcc %if 0%{?suse_version} BuildRequires: groff-full %else BuildRequires: groff %endif BuildRequires: libqb-devel BuildRequires: libknet1-devel >= 1.18 BuildRequires: zlib-devel %if %{with runautogen} BuildRequires: autoconf automake libtool %endif %if %{with monitoring} BuildRequires: libstatgrab-devel %endif %if %{with snmp} BuildRequires: net-snmp-devel %endif %if %{with dbus} %if 0%{?suse_version} BuildRequires: dbus-1-devel %else BuildRequires: dbus-devel %endif %endif %if %{with nozzle} BuildRequires: libnozzle1-devel %endif %if %{with systemd} %{?systemd_requires} BuildRequires: systemd BuildRequires: systemd-devel %else Requires(post): /sbin/chkconfig Requires(preun): /sbin/chkconfig %endif %if %{with xmlconf} Requires: libxslt %endif %if %{with vqsim} BuildRequires: readline-devel %endif %prep %setup -q -n %{name}-%{version}%{?gittarver} %build %if %{with runautogen} ./autogen.sh %endif %{configure} \ %if %{with watchdog} --enable-watchdog \ %endif %if %{with monitoring} --enable-monitoring \ %endif %if %{with snmp} --enable-snmp \ %endif %if %{with dbus} --enable-dbus \ %endif %if %{with systemd} --enable-systemd \ %endif %if %{with xmlconf} --enable-xmlconf \ %endif %if %{with nozzle} --enable-nozzle \ %endif %if %{with vqsim} --enable-vqsim \ %endif %if %{with userflags} --enable-user-flags \ %endif --with-initddir=%{_initrddir} \ --with-systemddir=%{_unitdir} \ --docdir=%{_docdir} make %{_smp_mflags} %install make install DESTDIR=%{buildroot} %if %{with dbus} mkdir -p -m 0700 %{buildroot}/%{_sysconfdir}/dbus-1/system.d install -m 644 %{_builddir}/%{name}-%{version}%{?gittarver}/conf/corosync-signals.conf %{buildroot}/%{_datadir}/dbus-1/system.d/corosync-signals.conf %endif ## tree fixup # drop static libs rm -f %{buildroot}%{_libdir}/*.a rm -f %{buildroot}%{_libdir}/*.la # drop docs and html docs for now rm -rf %{buildroot}%{_docdir}/* # /etc/sysconfig/corosync-notifyd mkdir -p %{buildroot}%{_sysconfdir}/sysconfig install -m 644 tools/corosync-notifyd.sysconfig.example \ %{buildroot}%{_sysconfdir}/sysconfig/corosync-notifyd # /etc/sysconfig/corosync install -m 644 init/corosync.sysconfig.example \ %{buildroot}%{_sysconfdir}/sysconfig/corosync %description This package contains the Corosync Cluster Engine Executive, several default APIs and libraries, default configuration files, and an init script. %post %if %{with systemd} && 0%{?systemd_post:1} %systemd_post corosync.service %else if [ $1 -eq 1 ]; then /sbin/chkconfig --add corosync || : fi %endif %preun %if %{with systemd} && 0%{?systemd_preun:1} %systemd_preun corosync.service %else if [ $1 -eq 0 ]; then /sbin/service corosync stop &>/dev/null || : /sbin/chkconfig --del corosync || : fi %endif %postun %if %{with systemd} && 0%{?systemd_postun:1} %systemd_postun corosync.service %endif %files %doc LICENSE %{_sbindir}/corosync %{_sbindir}/corosync-keygen %{_sbindir}/corosync-cmapctl %{_sbindir}/corosync-cfgtool %{_sbindir}/corosync-cpgtool %{_sbindir}/corosync-quorumtool %{_sbindir}/corosync-notifyd %{_bindir}/corosync-blackbox %if %{with xmlconf} %{_bindir}/corosync-xmlproc %dir %{_datadir}/corosync %{_datadir}/corosync/xml2conf.xsl %{_mandir}/man8/corosync-xmlproc.8* %{_mandir}/man5/corosync.xml.5* %endif %dir %{_sysconfdir}/corosync %dir %{_sysconfdir}/corosync/uidgid.d %config(noreplace) %{_sysconfdir}/corosync/corosync.conf.example %config(noreplace) %{_sysconfdir}/sysconfig/corosync-notifyd %config(noreplace) %{_sysconfdir}/sysconfig/corosync %config(noreplace) %{_sysconfdir}/logrotate.d/corosync %if %{with dbus} %{_datadir}/dbus-1/system.d/corosync-signals.conf %endif %if %{with snmp} %{_datadir}/snmp/mibs/COROSYNC-MIB.txt %endif %if %{with systemd} %{_unitdir}/corosync.service %{_unitdir}/corosync-notifyd.service %else %{_initrddir}/corosync %{_initrddir}/corosync-notifyd %endif %if %{without systemd} %dir %{_localstatedir}/lib/corosync -%endif %dir %{_localstatedir}/log/cluster +%endif %{_mandir}/man7/corosync_overview.7* %{_mandir}/man8/corosync.8* %{_mandir}/man8/corosync-blackbox.8* %{_mandir}/man8/corosync-cmapctl.8* %{_mandir}/man8/corosync-keygen.8* %{_mandir}/man8/corosync-cfgtool.8* %{_mandir}/man8/corosync-cpgtool.8* %{_mandir}/man8/corosync-notifyd.8* %{_mandir}/man8/corosync-quorumtool.8* %{_mandir}/man5/corosync.conf.5* %{_mandir}/man5/votequorum.5* %{_mandir}/man7/cmap_keys.7* # library # %package -n corosynclib Summary: The Corosync Cluster Engine Libraries %description -n corosynclib This package contains corosync libraries. %files -n corosynclib %doc LICENSE %{_libdir}/libcfg.so.* %{_libdir}/libcpg.so.* %{_libdir}/libcmap.so.* %{_libdir}/libquorum.so.* %{_libdir}/libvotequorum.so.* %{_libdir}/libsam.so.* %{_libdir}/libcorosync_common.so.* %post -n corosynclib -p /sbin/ldconfig %postun -n corosynclib -p /sbin/ldconfig %package -n corosynclib-devel Summary: The Corosync Cluster Engine Development Kit Requires: corosynclib%{?_isa} = %{version}-%{release} Requires: pkgconfig Provides: corosync-devel = %{version}-%{release} Provides: corosync-devel%{?_isa} = %{version}-%{release} %description -n corosynclib-devel This package contains include files and man pages used to develop using The Corosync Cluster Engine APIs. %files -n corosynclib-devel %doc LICENSE %dir %{_includedir}/corosync/ %{_includedir}/corosync/corodefs.h %{_includedir}/corosync/cfg.h %{_includedir}/corosync/cmap.h %{_includedir}/corosync/corotypes.h %{_includedir}/corosync/cpg.h %{_includedir}/corosync/hdb.h %{_includedir}/corosync/sam.h %{_includedir}/corosync/quorum.h %{_includedir}/corosync/votequorum.h %{_libdir}/libcfg.so %{_libdir}/libcpg.so %{_libdir}/libcmap.so %{_libdir}/libquorum.so %{_libdir}/libvotequorum.so %{_libdir}/libsam.so %{_libdir}/libcorosync_common.so %{_libdir}/pkgconfig/*.pc %{_mandir}/man3/cpg_*3* %{_mandir}/man3/quorum_*3* %{_mandir}/man3/votequorum_*3* %{_mandir}/man3/sam_*3* %{_mandir}/man3/cmap_*3* %if %{with vqsim} %package -n corosync-vqsim Summary: The Corosync Cluster Engine - Votequorum Simulator Requires: corosynclib%{?_isa} = %{version}-%{release} Requires: pkgconfig %description -n corosync-vqsim A command-line simulator for the corosync votequorum subsystem. It uses the same code as the corosync quorum system but forks them into subprocesses to simulate nodes. Nodes can be added and removed as well as partitioned (to simulate network splits) %files -n corosync-vqsim %doc LICENSE %{_bindir}/corosync-vqsim %{_mandir}/man8/corosync-vqsim.8* %endif %changelog * @date@ Autotools generated version - @version@-1-@numcomm@.@alphatag@.@dirty@ - Autotools generated version diff --git a/init/corosync.service.in b/init/corosync.service.in index 3e3efef8..89d67b5e 100644 --- a/init/corosync.service.in +++ b/init/corosync.service.in @@ -1,35 +1,36 @@ [Unit] Description=Corosync Cluster Engine Documentation=man:corosync man:corosync.conf man:corosync_overview ConditionKernelCommandLine=!nocluster Requires=network-online.target After=network-online.target [Service] EnvironmentFile=-@INITCONFIGDIR@/corosync ExecStart=@SBINDIR@/corosync -f $COROSYNC_OPTIONS ExecStop=@SBINDIR@/corosync-cfgtool -H --force StateDirectory=corosync +LogsDirectory=cluster Type=notify # In typical systemd deployments, both standard outputs are forwarded to # journal (stderr is what's relevant in the pristine corosync configuration), # which hazards a message redundancy since the syslog stream usually ends there # as well; before editing this line, you may want to check DefaultStandardError # in systemd-system.conf(5) and whether /dev/log is a systemd related symlink. StandardError=null # The following config is for corosync with enabled watchdog service. # # When corosync watchdog service is being enabled and using with # pacemaker.service, and if you want to exert the watchdog when a # corosync process is terminated abnormally, # uncomment the line of the following Restart= and RestartSec=. #Restart=on-failure # Specify a period longer than soft_margin as RestartSec. #RestartSec=70 # rewrite according to environment. #ExecStartPre=/sbin/modprobe softdog [Install] WantedBy=multi-user.target