2016-02-17 14:12:56 +00:00
Name : pcs
2016-09-22 13:49:51 +00:00
Version : 0.9.154
Release : 1%{?dist}
2012-01-24 19:43:25 +00:00
License : GPLv2
2016-09-22 13:49:51 +00:00
URL : https://github.com/ClusterLabs/pcs
2012-01-24 19:43:25 +00:00
Group : System Environment/Base
2016-02-17 14:12:56 +00:00
Summary : Pacemaker Configuration System
2016-09-22 13:49:51 +00:00
#part after last slash is recognized as filename in look-aside repository
#desired name is achived by trick with hash anchor
Source0 : %{url} /archive/%{version} .tar.gz#/%{name}-%{version}.tar.gz
2016-02-17 14:12:56 +00:00
Source1 : pcsd-bundle-config-1
2016-09-22 13:49:51 +00:00
Source11 : https://rubygems.org/downloads/orderedhash-0.0.6.gem
Source12 : https://rubygems.org/downloads/rack-1.6.4.gem
Source13 : https://rubygems.org/downloads/rpam-ruby19-1.2.1.gem
Source14 : https://rubygems.org/downloads/sinatra-1.4.7.gem
Source15 : https://rubygems.org/downloads/sinatra-contrib-1.4.7.gem
2016-02-17 14:12:56 +00:00
2016-09-22 13:49:51 +00:00
Patch0 : fedfix.patch
# git for patches
BuildRequires : git
# python for pcs
2016-04-11 09:27:40 +00:00
BuildRequires : python3 python3-devel python3-setuptools
2016-09-22 13:49:51 +00:00
# gcc for compiling custom rubygems
BuildRequires : gcc gcc-c++
# ruby and gems for pcsd
2016-04-11 09:27:40 +00:00
BuildRequires : ruby ruby-devel rubygem-bundler rubygem-io-console
2016-09-22 13:49:51 +00:00
BuildRequires : rubygem-backports rubygem-json rubygem-multi_json rubygem-open4
BuildRequires : rubygem-rack-protection rubygem-rack-test rubygem-tilt
# pam devel for compiling rubygem-rpam-ruby19
2016-04-11 09:27:40 +00:00
BuildRequires : pam-devel
2015-03-26 16:21:49 +00:00
# for post, preun and postun macros
BuildRequires : systemd
2016-02-17 14:12:56 +00:00
# for UpdateTimestamps sanitization function
BuildRequires : diffstat
2016-09-22 13:49:51 +00:00
# for tests
BuildRequires : corosync
BuildRequires : pacemaker pacemaker-cli
BuildRequires : fence-agents-all fence-virt
BuildRequires : booth-site
BuildRequires : python3-lxml python3-mock
BuildRequires : rubygem-test-unit
# python and libraries for pcs, setuptools for pcs entrypoint
Requires : python3 python3-setuptools python3-lxml
# ruby and gems for pcsd
Requires : ruby
Requires : rubygem-backports rubygem-json rubygem-multi_json rubygem-open4
Requires : rubygem-rack-protection rubygem-rack-test rubygem-tilt
# for killall
Requires : psmisc
# for working with certificates (validation etc.)
Requires : openssl
# cluster stack and related packages
Requires : corosync pacemaker pacemaker-cli
# clufter currently doesn't have python3 package
Requires : python-clufter => 0.59.0
# for post, preun and postun macros
Requires(post) : systemd
Requires(preun) : systemd
Requires(postun) : systemd
2012-01-24 19:43:25 +00:00
2015-06-23 14:52:04 +00:00
Provides : bundled(rubygem-orderedhash) = 0.0.6
2016-09-22 13:49:51 +00:00
# fedora provides version 2.0.1 which is not compatible with pcsd currently
Provides : bundled(rubygem-rack) = 1.6.4
2015-06-23 14:52:04 +00:00
Provides : bundled(rubygem-rpam-ruby19) = 1.2.1
2016-09-22 13:49:51 +00:00
# fedora provides a patched verison of sinatra which works with rack 2.0.1 but
# doesn't work with rack 1.6.4
Provides : bundled(rubygem-sinatra) = 1.4.7
Provides : bundled(rubygem-sinatra-contrib) = 1.4.7
2015-06-23 14:52:04 +00:00
2012-01-24 19:43:25 +00:00
%description
pcs is a corosync and pacemaker configuration tool. It permits users to
easily view, modify and created pacemaker based clusters.
%prep
%setup -q
2014-04-21 19:16:15 +00:00
2016-02-17 14:12:56 +00:00
# -- following borrowed from python-simplejon.el5 --
# Update timestamps on the files touched by a patch, to avoid non-equal
# .pyc/.pyo files across the multilib peers within a build, where "Level"
# is the patch prefix option (e.g. -p1)
UpdateTimestamps() {
Level=$1
PatchFile=$2
# Locate the affected files:
for f in $(diffstat $Level -l $PatchFile); do
# Set the files to have the same timestamp as that of the patch:
touch -r $PatchFile $f
done
}
2015-06-05 12:39:48 +00:00
%patch0 -p1
2016-02-17 14:12:56 +00:00
UpdateTimestamps -p1 %{PATCH0}
mkdir -p pcsd/.bundle
cp -f %SOURCE1 pcsd/.bundle/config
mkdir -p pcsd/vendor/cache
2016-09-22 13:49:51 +00:00
#copy ruby gems
cp -f %SOURCE11 pcsd/vendor/cache
cp -f %SOURCE12 pcsd/vendor/cache
cp -f %SOURCE13 pcsd/vendor/cache
cp -f %SOURCE14 pcsd/vendor/cache
cp -f %SOURCE15 pcsd/vendor/cache
#ruby gems copied
2013-12-14 00:07:51 +00:00
2012-01-24 19:43:25 +00:00
%build
2016-09-22 13:49:51 +00:00
%define PCS_PREFIX /usr
2012-01-24 19:43:25 +00:00
%install
rm -rf $RPM_BUILD_ROOT
pwd
2016-09-22 13:49:51 +00:00
make install \
DESTDIR=$RPM_BUILD_ROOT \
PREFIX=%{PCS_PREFIX} \
PYTHON=%{__python 3} \
PYTHON_SITELIB=%{python3_sitelib} \
BASH_COMPLETION_DIR=$RPM_BUILD_ROOT /usr/share/bash-completion/completions
make install_pcsd \
DESTDIR=$RPM_BUILD_ROOT \
PREFIX=%{PCS_PREFIX} \
PYTHON=%{__python 3} \
PYTHON_SITELIB=%{python3_sitelib} \
hdrdir=" %{_includedir} " \
rubyhdrdir=" %{_includedir} " \
includedir=" %{_includedir} "
%check
run_all_tests(){
#prepare environmet for tests
sitelib=$RPM_BUILD_ROOT %{python3_sitelib}
pcsd_dir=$RPM_BUILD_ROOT %{PCS_PREFIX} /lib/pcsd
export PYTHONPATH=" $ { P Y T H O N P A T H } : $ { s i t e l i b } "
#run pcs tests and remove them, we do not distribute them in rpm
# disabled tests:
#
# pcs.test.test_cluster.ClusterTest.testUIDGID
# touches live cluster configuration, cannot run in mock environment
#
# pcs.lib.booth.test.test_env.SetKeyfileAccessTest.test_set_desired_file_access
# touches live cluster configuration, test need to be fixed
# Traceback (most recent call last):
# File "/builddir/build/BUILDROOT/pcs-0.9.152-6.el7.x86_64/usr/lib/python2.7/site-packages/pcs/lib/booth/test/test_env.py", line 148, in test_set_desired_file_access
# env.set_keyfile_access(file_path)
# File "/builddir/build/BUILDROOT/pcs-0.9.152-6.el7.x86_64/usr/lib/python2.7/site-packages/pcs/lib/booth/env.py", line 63, in set_keyfile_access
# raise report_keyfile_io_error(file_path, "chown", e)
# LibraryError: ERROR FILE_IO_ERROR: {u'reason': u"Operation not permitted: '/builddir/build/BUILDROOT/pcs-0.9.152-6.el7.x86_64/usr/lib/python2.7/site-packages/pcs/test/resources/temp-keyfile'", u'file_role': u'BOOTH_KEY', u'file_path': u'/builddir/build/BUILDROOT/pcs-0.9.152-6.el7.x86_64/usr/lib/python2.7/site-packages/pcs/test/resources/temp-keyfile', u'operation': u'chown'}
%{__python 3} ${sitelib}/pcs/test/suite.py -v --no-color --all-but \
pcs.test.test_cluster.ClusterTest.testUIDGID \
pcs.lib.booth.test.test_env.SetKeyfileAccessTest.test_set_desired_file_access \
test_result_python=$?
#remove pcs tests, we do not distribute them in rpm
find ${sitelib}/pcs -name test -type d -print0|xargs -0 rm -r -v --
#run pcsd tests and remove them
GEM_HOME=${pcsd_dir}/vendor/bundle/ruby ruby \
-I${pcsd_dir} \
-I${pcsd_dir}/test \
${pcsd_dir}/test/test_all_suite.rb
test_result_ruby=$?
#remove pcsd tests, we do not distribute them in rpm
rm -r -v ${pcsd_dir}/test
if [ $test_result_python -ne 0 ]; then
return $test_result_python
fi
return $test_result_ruby
}
run_all_tests
2013-12-14 00:07:51 +00:00
%post
%systemd_post pcsd.service
%preun
%systemd_preun pcsd.service
%postun
%systemd_postun_with_restart pcsd.service
2013-06-13 18:20:23 +00:00
2012-01-24 19:43:25 +00:00
%files
2016-04-11 09:27:40 +00:00
%{python3_sitelib} /pcs
%{python3_sitelib} /pcs-%{version} -py3.*.egg-info
2012-01-24 19:43:25 +00:00
/usr/sbin/pcs
2013-03-11 20:13:10 +00:00
/usr/lib/pcsd/*
2013-12-14 00:07:51 +00:00
/usr/lib/pcsd/.bundle/config
2012-10-16 22:58:38 +00:00
/usr/lib/systemd/system/pcsd.service
2016-09-22 13:49:51 +00:00
/usr/share/bash-completion/completions/pcs
2012-10-16 22:58:38 +00:00
/var/lib/pcsd
/etc/pam.d/pcsd
2013-12-14 00:07:51 +00:00
/etc/logrotate.d/pcsd
%dir /var/log/pcsd
2016-04-11 09:27:40 +00:00
%config (noreplace) /etc/sysconfig/pcsd
2016-09-22 13:49:51 +00:00
%ghost %config (noreplace) /var/lib/pcsd/cfgsync_ctl
%ghost %config (noreplace) /var/lib/pcsd/pcsd.cookiesecret
%ghost %config (noreplace) /var/lib/pcsd/pcsd.crt
%ghost %config (noreplace) /var/lib/pcsd/pcsd.key
%ghost %config (noreplace) /var/lib/pcsd/pcs_settings.conf
%ghost %config (noreplace) /var/lib/pcsd/pcs_users.conf
%ghost %config (noreplace) /var/lib/pcsd/tokens
2013-12-14 00:07:51 +00:00
%{_mandir} /man8/pcs.*
2015-06-05 12:39:48 +00:00
%exclude /usr/lib/pcsd/*.debian
2016-04-11 09:27:40 +00:00
%exclude /usr/lib/pcsd/pcsd.service
%exclude /usr/lib/pcsd/pcsd.conf
2016-09-22 13:49:51 +00:00
%exclude %{python3_sitelib} /pcs/bash_completion.sh
2016-04-11 09:27:40 +00:00
%exclude %{python3_sitelib} /pcs/pcs.8
%exclude %{python3_sitelib} /pcs/pcs
2012-01-24 19:43:25 +00:00
%doc COPYING README
%changelog
2016-09-22 13:49:51 +00:00
* Thu Sep 22 2016 Tomas Jelinek <tojeline@redhat.com> - 0.9.154-1
- Re-synced to upstream sources
- Spec file cleanup and fixes
2016-07-19 08:14:26 +00:00
* Tue Jul 19 2016 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.9.150-2
- https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages
2016-04-11 09:27:40 +00:00
* Mon Apr 11 2016 Tomas Jelinek <tojeline@redhat.com> - 0.9.150-1
- Re-synced to upstream sources
- Make pcs depend on python3
- Spec file cleanup
2016-02-23 16:22:24 +00:00
* Tue Feb 23 2016 Tomas Jelinek <tojeline@redhat.com> - 0.9.149-2
- Fixed rubygems issues which prevented pcsd from starting
- Added missing python-lxml dependency
2016-02-17 14:12:56 +00:00
* Thu Feb 18 2016 Tomas Jelinek <tojeline@redhat.com> - 0.9.149-1
- Re-synced to upstream sources
- Security fix for CVE-2016-0720, CVE-2016-0721
- Fixed rubygems issues which prevented pcsd from starting
- Rubygems built with RELRO
- Spec file cleanup
- Fixed multilib .pyc/.pyo issue
2016-02-04 12:02:19 +00:00
* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 0.9.144-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
2016-01-12 13:36:37 +00:00
* Tue Jan 12 2016 Vít Ondruch <vondruch@redhat.com> - 0.9.144-2
- Rebuilt for https://fedoraproject.org/wiki/Changes/Ruby_2.3
2015-09-18 14:15:59 +00:00
* Fri Sep 18 2015 Tomas Jelinek <tojeline@redhat.com> - 0.9.144-1
- Re-synced to upstream sources
2015-06-23 15:29:18 +00:00
* Tue Jun 23 2015 Tomas Jelinek <tojeline@redhat.com> - 0.9.141-2
- Added requirement for psmisc for killall
2015-06-23 14:52:04 +00:00
* Tue Jun 23 2015 Tomas Jelinek <tojeline@redhat.com> - 0.9.141-1
- Re-synced to upstream sources
2015-06-18 00:53:54 +00:00
* Thu Jun 18 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.9.140-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
2015-06-05 12:39:48 +00:00
* Fri Jun 05 2015 Tomas Jelinek <tojeline@redhat.com> - 0.9.140-1
- Re-synced to upstream sources
2015-05-22 08:31:54 +00:00
* Fri May 22 2015 Tomas Jelinek <tojeline@redhat.com> - 0.9.139-4
- Fix for CVE-2015-1848, CVE-2015-3983 (sessions not signed)
2015-03-26 16:21:49 +00:00
* Thu Mar 26 2015 Tomas Jelinek <tojeline@redhat.com> - 0.9.139-3
- Add BuildRequires: systemd (rhbz#1206253)
2015-02-27 14:28:18 +00:00
* Fri Feb 27 2015 Tomas Jelinek <tojeline@redhat.com> - 0.9.139-2
- Reflect clufter inclusion (rhbz#1180723)
2015-02-19 10:32:46 +00:00
* Thu Feb 19 2015 Tomas Jelinek <tojeline@redhat.com> - 0.9.139-1
- Re-synced to upstream sources
2015-01-17 06:22:18 +00:00
* Sat Jan 17 2015 Mamoru TASAKA <mtasaka@fedoraproject.org> - 0.9.115-5
- Rebuild for https://fedoraproject.org/wiki/Changes/Ruby_2.2
2014-08-17 15:07:21 +00:00
* Sun Aug 17 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.9.115-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
2014-06-06 23:57:07 +00:00
* Fri Jun 06 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.9.115-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
2014-05-06 12:44:06 +00:00
* Tue May 06 2014 Tomas Jelinek <tojeline@redhat.com> - 0.9.115-2
- Rebuild to fix ruby dependencies
2014-04-21 19:16:15 +00:00
* Mon Apr 21 2014 Chris Feist <cfeist@redhat.com> - 0.9.115-1
- Re-synced to upstream sources
2013-12-14 00:07:51 +00:00
* Fri Dec 13 2013 Chris Feist <cfeist@redhat.com> - 0.9.102-1
- Re-synced to upstream sources
2013-06-19 20:47:59 +00:00
* Wed Jun 19 2013 Chris Feist <cfeist@redhat.com> - 0.9.48-1
- Rebuild with upstream sources
2013-06-13 18:20:23 +00:00
* Thu Jun 13 2013 Chris Feist <cfeist@redhat.com> - 0.9.44-5
- Added fixes for building rpam with ruby-2.0.0
2013-06-04 22:03:44 +00:00
* Mon Jun 03 2013 Chris Feist <cfeist@redhat.com> - 0.9.44-4
- Rebuild with upstream sources
2013-05-08 16:10:15 +00:00
* Tue May 07 2013 Chris Feist <cfeist@redhat.com> - 0.9.41-2
2013-05-08 16:09:05 +00:00
- Resynced to upstream sources
2013-04-19 22:14:03 +00:00
* Fri Apr 19 2013 Chris Feist <cfeist@redhat.com> - 0.9.39-1
- Fixed gem building
- Re-synced to upstream sources
2013-03-25 19:49:49 +00:00
* Mon Mar 25 2013 Chris Feist <cfeist@rehdat.com> - 0.9.36-4
- Don't try to build gems at all
2013-03-25 19:36:17 +00:00
* Mon Mar 25 2013 Chris Feist <cfeist@rehdat.com> - 0.9.36-3
- Removed all gems from build, will need to find pam package in the future
2013-03-25 19:30:08 +00:00
* Mon Mar 25 2013 Chris Feist <cfeist@redhat.com> - 0.9.36-2
- Removed duplicate libraries already present in fedora
2013-03-18 19:54:37 +00:00
* Mon Mar 18 2013 Chris Feist <cfeist@redhat.com> - 0.9.36-1
- Resynced to latest upstream
2013-03-11 20:13:10 +00:00
* Mon Mar 11 2013 Chris Feist <cfeist@redhat.com> - 0.9.33-1
- Resynched to latest upstream
- pcsd has been moved to /usr/lib to fix /usr/local packaging issues
2013-02-22 00:14:32 +00:00
* Thu Feb 21 2013 Chris Feist <cfeist@redhat.com> - 0.9.32-1
- Resynced to latest version of pcs/pcsd
2012-11-05 19:33:56 +00:00
* Mon Nov 05 2012 Chris Feist <cfeist@redhat.com> - 0.9.27-3
- Build on all archs
* Thu Oct 25 2012 Chris Feist <cfeist@redhat.com> - 0.9.27-2
2012-10-16 22:58:38 +00:00
- Resync to latest version of pcs
- Added pcsd daemon
2012-10-08 21:50:29 +00:00
* Mon Oct 08 2012 Chris Feist <cfeist@redhat.cmo> - 0.9.26-1
- Resync to latest version of pcs
2012-09-20 22:59:43 +00:00
* Thu Sep 20 2012 Chris Feist <cfeist@redhat.cmo> - 0.9.24-1
- Resync to latest version of pcs
2012-09-20 22:36:02 +00:00
* Thu Sep 20 2012 Chris Feist <cfeist@redhat.cmo> - 0.9.23-1
- Resync to latest version of pcs
2012-09-13 02:02:42 +00:00
* Wed Sep 12 2012 Chris Feist <cfeist@redhat.cmo> - 0.9.22-1
- Resync to latest version of pcs
2012-09-06 22:36:12 +00:00
* Thu Sep 06 2012 Chris Feist <cfeist@redhat.cmo> - 0.9.19-1
- Resync to latest version of pcs
2012-08-07 21:22:30 +00:00
* Tue Aug 07 2012 Chris Feist <cfeist@redhat.com> - 0.9.12-1
- Resync to latest version of pcs
2012-08-08 14:46:48 +00:00
* Fri Jul 20 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.9.3.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
2012-05-24 18:27:32 +00:00
* Thu May 24 2012 Chris Feist <cfeist@redhat.com> - 0.9.4-1
- Resync to latest version of pcs
- Move cluster creation options to cluster sub command.
2012-05-07 19:50:43 +00:00
* Mon May 07 2012 Chris Feist <cfeist@redhat.com> - 0.9.3.1-1
- Resync to latest version of pcs which includes fixes to work with F17.
2012-03-19 22:14:25 +00:00
* Mon Mar 19 2012 Chris Feist <cfeist@redhat.com> - 0.9.2.4-1
2012-03-19 18:36:49 +00:00
- Resynced to latest version of pcs
2012-01-24 19:43:25 +00:00
* Mon Jan 23 2012 Chris Feist <cfeist@redhat.com> - 0.9.1-1
- Updated BuildRequires and %doc section for fedora
* Fri Jan 20 2012 Chris Feist <cfeist@redhat.com> - 0.9.0-2
- Updated spec file for fedora specific changes
* Mon Jan 16 2012 Chris Feist <cfeist@redhat.com> - 0.9.0-1
- Initial Build