Mark McLoughlin ddb82e0
#
5d7dc94
# This is 2012.2 folsom release
Mark McLoughlin ddb82e0
#
d75edaf
%global release_name folsom
182512a
%global release_letter rc
47940b8
%global milestone 2
47940b8
%global snapdate 20120926
47940b8
%global git_revno r2538
a52820c
d291f25
%global snaptag ~%{release_letter}%{milestone}~%{snapdate}.%{git_revno}
f4d0273
%global with_doc %{!?_without_doc:1}%{?_without_doc:0}
Matt Domsch 0b714a3
Matt Domsch 0b714a3
Name:           openstack-keystone
d75edaf
Version:        2012.2
b2ca996
Release:        4%{?dist}
5d7dc94
#Release:        0.1.%{release_letter}%{milestone}%{?dist}
Matt Domsch 0b714a3
Summary:        OpenStack Identity Service
Matt Domsch 0b714a3
Matt Domsch 0b714a3
License:        ASL 2.0
Matt Domsch 0b714a3
URL:            http://keystone.openstack.org/
5d7dc94
Source0:        http://launchpad.net/keystone/%{release_name}/%{version}/+download/keystone-%{version}.tar.gz
5d7dc94
#Source0:        http://launchpad.net/keystone/%{release_name}/%{release_name}-%{milestone}/+download/keystone-%{version}~%{release_letter}%{milestone}.tar.gz
938c199
#Source0:        http://tarballs.openstack.org/keystone/keystone-%{version}%{snaptag}.tar.gz
Matt Domsch 0b714a3
Source1:        openstack-keystone.logrotate
Matt Domsch 0b714a3
Source2:        openstack-keystone.service
7aebc9c
Source5:        openstack-keystone-sample-data
Matt Domsch 0b714a3
177a2cd
938c199
#
5d7dc94
# patches_base=2012.2
938c199
#
182512a
Patch0001: 0001-match-egg-and-spec-requires.patch
182512a
Patch0002: 0002-add-Quantum-endpoint-in-sample-data.patch
1a947d4
Patch0003: 0003-add-Swift-endpoint-in-sample-data.patch
31af86d
Patch0004: 0004-notify-calling-process-we-are-ready-to-serve.patch
6a96c8b
Patch0005: 0005-Fix-default-port-for-identity.internalURL.patch
f4d0273
Matt Domsch 0b714a3
BuildArch:      noarch
Matt Domsch 0b714a3
BuildRequires:  python2-devel
7aebc9c
BuildRequires:  python-sphinx >= 1.0
edd22d6
BuildRequires:  openstack-utils
191daee
BuildRequires:  python-iniparse
Matt Domsch 0b714a3
BuildRequires:  systemd-units
Matt Domsch 0b714a3
5c169fe
Requires:       python-keystone = %{version}-%{release}
44f4456
Requires:       python-keystoneclient >= 2012.1-0.4.e4
Matt Domsch 0b714a3
Matt Domsch 0b714a3
Requires(post):   systemd-units
Matt Domsch 0b714a3
Requires(preun):  systemd-units
Matt Domsch 0b714a3
Requires(postun): systemd-units
Matt Domsch 0b714a3
Requires(pre):    shadow-utils
Matt Domsch 0b714a3
Matt Domsch 0b714a3
%description
4c31395
Keystone is a Python implementation of the OpenStack
4c31395
(http://www.openstack.org) identity service API.
Matt Domsch 0b714a3
a54b58f
This package contains the Keystone daemon.
5c169fe
5c169fe
%package -n       python-keystone
5c169fe
Summary:          Keystone Python libraries
5c169fe
Group:            Applications/System
5c169fe
# python-keystone added in 2012.1-0.2.e3
5c169fe
Conflicts:      openstack-keystone < 2012.1-0.2.e3
5c169fe
8f2217e
Provides:       python-keystone-auth-token
8f2217e
Obsoletes:      python-keystone-auth-token
8f2217e
# auth-token subpackage was removed to avoid issues like rhbz#868357
8f2217e
# in Folsom auth-token does not work standalone anyway rhbz#844508
8f2217e
# it will be back in Grizzly pythone-keystoneclient lp#1039567
6ab07b6
5c169fe
Requires:       python-eventlet
5c169fe
Requires:       python-ldap
5c169fe
Requires:       python-lxml
5c169fe
Requires:       python-memcached
25c3f93
Requires:       python-migrate
5c169fe
Requires:       python-paste-deploy
5c169fe
Requires:       python-routes
5c169fe
Requires:       python-sqlalchemy
5c169fe
Requires:       python-webob
5c169fe
Requires:       python-passlib
c184bf1
Requires:       MySQL-python
177a2cd
Requires:       PyPAM
b2ca996
Requires:       python-iso8601
5c169fe
5c169fe
%description -n   python-keystone
5c169fe
Keystone is a Python implementation of the OpenStack
5c169fe
(http://www.openstack.org) identity service API.
5c169fe
5c169fe
This package contains the Keystone Python library.
Matt Domsch 0b714a3
f4d0273
%if 0%{?with_doc}
f4d0273
%package doc
f4d0273
Summary:        Documentation for OpenStack Identity Service
f4d0273
Group:          Documentation
f4d0273
f4d0273
%description doc
f4d0273
Keystone is a Python implementation of the OpenStack
f4d0273
(http://www.openstack.org) identity service API.
f4d0273
f4d0273
This package contains documentation for Keystone.
f4d0273
%endif
f4d0273
Matt Domsch 0b714a3
%prep
2ef442f
%setup -q -n keystone-%{version}
Matt Domsch 0b714a3
7629405
%patch0001 -p1
7629405
%patch0002 -p1
1a947d4
%patch0003 -p1
31af86d
%patch0004 -p1
6a96c8b
%patch0005 -p1
177a2cd
873a194
find . \( -name .gitignore -o -name .placeholder \) -delete
873a194
find keystone -name \*.py -exec sed -i '/\/usr\/bin\/env python/d' {} \;
873a194
873a194
873a194
%build
a54b58f
# change default configuration
d75edaf
cp etc/keystone.conf.sample etc/keystone.conf
edd22d6
openstack-config --set etc/keystone.conf DEFAULT log_file %{_localstatedir}/log/keystone/keystone.log
edd22d6
openstack-config --set etc/keystone.conf sql connection mysql://keystone:keystone@localhost/keystone
edd22d6
openstack-config --set etc/keystone.conf catalog template_file %{_sysconfdir}/keystone/default_catalog.templates
edd22d6
openstack-config --set etc/keystone.conf catalog driver keystone.catalog.backends.sql.Catalog
edd22d6
openstack-config --set etc/keystone.conf identity driver keystone.identity.backends.sql.Identity
edd22d6
openstack-config --set etc/keystone.conf token driver keystone.token.backends.sql.Token
edd22d6
openstack-config --set etc/keystone.conf ec2 driver keystone.contrib.ec2.backends.sql.Ec2
cfe28e6
openstack-config --set etc/keystone.conf DEFAULT onready keystone.common.systemd
Matt Domsch 0b714a3
Matt Domsch 0b714a3
%{__python} setup.py build
Matt Domsch 0b714a3
Matt Domsch 0b714a3
%install
e79b277
%{__python} setup.py install --skip-build --root %{buildroot}
Matt Domsch 0b714a3
a54b58f
# Delete tests
a54b58f
rm -fr %{buildroot}%{python_sitelib}/tests
a54b58f
rm -fr %{buildroot}%{python_sitelib}/run_tests.*
a54b58f
d291f25
install -d -m 755 %{buildroot}%{_sysconfdir}/keystone
d291f25
install -p -D -m 640 etc/keystone.conf %{buildroot}%{_sysconfdir}/keystone/keystone.conf
d75edaf
install -p -D -m 640 etc/logging.conf.sample %{buildroot}%{_sysconfdir}/keystone/logging.conf
5b1a509
install -p -D -m 640 etc/default_catalog.templates %{buildroot}%{_sysconfdir}/keystone/default_catalog.templates
7aebc9c
install -p -D -m 640 etc/policy.json %{buildroot}%{_sysconfdir}/keystone/policy.json
Matt Domsch 0b714a3
install -p -D -m 644 %{SOURCE1} %{buildroot}%{_sysconfdir}/logrotate.d/openstack-keystone
Matt Domsch 0b714a3
install -p -D -m 644 %{SOURCE2} %{buildroot}%{_unitdir}/openstack-keystone.service
a54b58f
# Install sample data script.
7aebc9c
install -p -D -m 755 tools/sample_data.sh %{buildroot}%{_datadir}/%{name}/sample_data.sh
44f4456
install -p -D -m 755 %{SOURCE5} %{buildroot}%{_bindir}/openstack-keystone-sample-data
7aebc9c
Matt Domsch 0b714a3
install -d -m 755 %{buildroot}%{_sharedstatedir}/keystone
Matt Domsch 0b714a3
install -d -m 755 %{buildroot}%{_localstatedir}/log/keystone
Matt Domsch 0b714a3
Matt Domsch 0b714a3
# docs generation requires everything to be installed first
18db6a6
export PYTHONPATH="$( pwd ):$PYTHONPATH"
7aebc9c
pushd doc
f4d0273
if [ -x /usr/bin/sphinx-apidoc ]; then
7aebc9c
    make html
f4d0273
    make man
7aebc9c
else
7aebc9c
    make html SPHINXAPIDOC=echo
f4d0273
    make man SPHINXAPIDOC=echo
7aebc9c
fi
f4d0273
mkdir -p %{buildroot}%{_mandir}/man1
f4d0273
install -p -D -m 644 build/man/*.1 %{buildroot}%{_mandir}/man1/
18db6a6
popd
18db6a6
# Fix hidden-file-or-dir warnings
7aebc9c
rm -fr doc/build/html/.doctrees doc/build/html/.buildinfo
Matt Domsch 0b714a3
Matt Domsch 0b714a3
%pre
beb0635
# 163:163 for keystone (openstack-keystone) - rhbz#752842
beb0635
getent group keystone >/dev/null || groupadd -r --gid 163 keystone
Matt Domsch 0b714a3
getent passwd keystone >/dev/null || \
beb0635
useradd --uid 163 -r -g keystone -d %{_sharedstatedir}/keystone -s /sbin/nologin \
Matt Domsch 0b714a3
-c "OpenStack Keystone Daemons" keystone
Matt Domsch 0b714a3
exit 0
Matt Domsch 0b714a3
Matt Domsch 0b714a3
%post
Matt Domsch 0b714a3
if [ $1 -eq 1 ] ; then
Matt Domsch 0b714a3
    # Initial installation
Matt Domsch 0b714a3
    /bin/systemctl daemon-reload >/dev/null 2>&1 || :
Matt Domsch 0b714a3
fi
Matt Domsch 0b714a3
Matt Domsch 0b714a3
%preun
Matt Domsch 0b714a3
if [ $1 -eq 0 ] ; then
Matt Domsch 0b714a3
    # Package removal, not upgrade
Matt Domsch 0b714a3
    /bin/systemctl --no-reload disable openstack-keystone.service > /dev/null 2>&1 || :
Matt Domsch 0b714a3
    /bin/systemctl stop openstack-keystone.service > /dev/null 2>&1 || :
Matt Domsch 0b714a3
fi
Matt Domsch 0b714a3
Matt Domsch 0b714a3
%postun
Matt Domsch 0b714a3
/bin/systemctl daemon-reload >/dev/null 2>&1 || :
Matt Domsch 0b714a3
if [ $1 -ge 1 ] ; then
Matt Domsch 0b714a3
    # Package upgrade, not uninstall
Matt Domsch 0b714a3
    /bin/systemctl try-restart openstack-keystone.service >/dev/null 2>&1 || :
Matt Domsch 0b714a3
fi
Matt Domsch 0b714a3
Matt Domsch 0b714a3
%files
4c31395
%doc LICENSE
074d4a0
%doc README.rst
f4d0273
%{_mandir}/man1/keystone*.1.gz
a54b58f
%{_bindir}/keystone-all
a54b58f
%{_bindir}/keystone-manage
a54b58f
%{_bindir}/openstack-keystone-sample-data
7aebc9c
%{_datadir}/%{name}
Matt Domsch 0b714a3
%{_unitdir}/openstack-keystone.service
Matt Domsch 0b714a3
%dir %{_sysconfdir}/keystone
7aebc9c
%config(noreplace) %attr(-, root, keystone) %{_sysconfdir}/keystone/keystone.conf
d75edaf
%config(noreplace) %attr(-, root, keystone) %{_sysconfdir}/keystone/logging.conf
7aebc9c
%config(noreplace) %attr(-, root, keystone) %{_sysconfdir}/keystone/default_catalog.templates
7aebc9c
%config(noreplace) %attr(-, keystone, keystone) %{_sysconfdir}/keystone/policy.json
Matt Domsch 0b714a3
%config(noreplace) %{_sysconfdir}/logrotate.d/openstack-keystone
Matt Domsch 0b714a3
%dir %attr(-, keystone, keystone) %{_sharedstatedir}/keystone
Matt Domsch 0b714a3
%dir %attr(-, keystone, keystone) %{_localstatedir}/log/keystone
Matt Domsch 0b714a3
5c169fe
%files -n python-keystone
5c169fe
%defattr(-,root,root,-)
5c169fe
%doc LICENSE
5c169fe
%{python_sitelib}/keystone
5c169fe
%{python_sitelib}/keystone-%{version}-*.egg-info
5c169fe
f4d0273
%if 0%{?with_doc}
f4d0273
%files doc
f4d0273
%doc LICENSE doc/build/html
f4d0273
%endif
f4d0273
Matt Domsch 0b714a3
%changelog
b2ca996
* Mon Nov 12 2012 Alan Pevec <apevec@redhat.com> 2012.2-4
b2ca996
- readd iso8601 dependency (from openstack-common timeutils)
b2ca996
8f2217e
* Fri Nov 09 2012 Alan Pevec <apevec@redhat.com> 2012.2-3
8f2217e
- remove auth-token subpackage (rhbz#868357)
8f2217e
6a96c8b
* Thu Nov 08 2012 Alan Pevec <apevec@redhat.com> 2012.2-2
6a96c8b
- Fix default port for identity.internalURL in sample script
6a96c8b
5d7dc94
* Thu Sep 27 2012 Alan Pevec <apevec@redhat.com> 2012.2-1
5d7dc94
- Update to folsom final
5d7dc94
47940b8
* Wed Sep 26 2012 Alan Pevec <apevec@redhat.com> 2012.2-0.9.rc2
47940b8
- folsom rc2
47940b8
31af86d
* Fri Sep 21 2012 Alan Pevec <apevec@redhat.com> 2012.2-0.8.rc1
31af86d
- fix systemd notification (rhbz#858188)
31af86d
182512a
* Fri Sep 14 2012 Alan Pevec <apevec@redhat.com> 2012.2-0.7.rc1
182512a
- folsom rc1 (CVE-2012-4413)
182512a
312b182
* Thu Aug 30 2012 Alan Pevec <apevec@redhat.com> 2012.2-0.6.f3
312b182
- Require authz to update user's tenant (CVE-2012-3542)
312b182
7629405
* Wed Aug 29 2012 Alan Pevec <apevec@redhat.com> 2012.2-0.5.f3
7629405
- allow middleware configuration from app config
7629405
b747258
* Mon Aug 20 2012 Alan Pevec <apevec@redhat.com> 2012.2-0.4.f3
b747258
- folsom-3 milestone
b747258
286b0dc
* Fri Jul 20 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2012.2-0.3.f2
286b0dc
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
286b0dc
938c199
* Fri Jul 06 2012 Alan Pevec <apevec@redhat.com> 2012.2-0.2.f2
182512a
- folsom-2 milestone (CVE-2012-3426)
938c199
d75edaf
* Fri May 25 2012 Alan Pevec <apevec@redhat.com> 2012.2-0.1.f1
d75edaf
- folsom-1 milestone
d75edaf
6ab07b6
* Thu May 24 2012 Alan Pevec <apevec@redhat.com> 2012.1-3
6ab07b6
- python-keystone-auth-token subpackage (rhbz#824034)
beb0635
- use reserved user id for keystone (rhbz#752842)
6ab07b6
edd22d6
* Mon May 21 2012 Alan Pevec <apevec@redhat.com> 2012.1-2
edd22d6
- Sync up with Essex stable branch
edd22d6
- Remove dependencies no loner needed by Essex
edd22d6
3ee0967
* Thu Apr 05 2012 Alan Pevec <apevec@redhat.com> 2012.1-1
3ee0967
- Essex release
3ee0967
c651a6a
* Wed Apr 04 2012 Alan Pevec <apevec@redhat.com> 2012.1-0.13.rc2
c651a6a
- essex rc2
c651a6a
a52820c
* Sat Mar 24 2012 Alan Pevec <apevec@redhat.com> 2012.1-0.12.rc1
c651a6a
- update to final essex rc1
a52820c
7aebc9c
* Wed Mar 21 2012 Alan Pevec <apevec@redhat.com> 2012.1-0.11.rc1
7aebc9c
- essex rc1
7aebc9c
44f4456
* Thu Mar 08 2012 Alan Pevec <apevec@redhat.com> 2012.1-0.10.e4
44f4456
- change default catalog backend to sql rhbz#800704
44f4456
- update sample-data script
44f4456
- add missing keystoneclient dependency
44f4456
c184bf1
* Thu Mar 01 2012 Alan Pevec <apevec@redhat.com> 2012.1-0.9.e4
c184bf1
- essex-4 milestone
c184bf1
a54b58f
* Sat Feb 25 2012 Alan Pevec <apevec@redhat.com> 2012.1-0.8.e4
a54b58f
- change default database to mysql
a54b58f
074d4a0
* Tue Feb 21 2012 Alan Pevec <apevec@redhat.com> 2012.1-0.7.e4
074d4a0
- switch all backends to sql
074d4a0
5b1a509
* Mon Feb 20 2012 Alan Pevec <apevec@redhat.com> 2012.1-0.6.e4
5b1a509
- add missing default_catalog.templates
5b1a509
d291f25
* Mon Feb 20 2012 Alan Pevec <apevec@redhat.com> 2012.1-0.5.e4
d291f25
- pre essex-4 snapshot, for keystone rebase
d291f25
25c3f93
* Mon Feb 13 2012 Alan Pevec <apevec@redhat.com> 2012.1-0.4.e3
25c3f93
- fix deps rhbz#787072
25c3f93
- keystone is not hashing passwords lp#924391
25c3f93
- Fix "KeyError: 'service-header-mappings'" lp#925872
25c3f93
e79b277
* Wed Feb  8 2012 Toshio Kuratomi <toshio@fedoraproject.org> - 2012.1-0.3.e3
e79b277
- Remove the dep on python-sqlite2 as that's being retired in F17 and keystone
e79b277
  will work with the sqlite3 module from the stdlib
e79b277
5c169fe
* Thu Jan 26 2012 Alan Pevec <apevec@redhat.com> 2012.1-0.2.e3
5c169fe
- separate library to python-keystone
e4f2734
- avoid conflict with python-keystoneclient
5c169fe
9442af8
* Thu Jan 26 2012 Alan Pevec <apevec@redhat.com> 2012.1-0.1.e3
9442af8
- essex-3 milestone
9442af8
0f86ec6
* Wed Jan 18 2012 Alan Pevec <apevec@redhat.com> 2012.1-0.e2
0f86ec6
- essex-2 milestone
0f86ec6
294d359
* Fri Jan 13 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2011.3.1-3
294d359
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
294d359
4c31395
* Thu Nov 24 2011 Alan Pevec <apevec@redhat.com> 2011.3.1-2
4c31395
- include LICENSE, update package description from README.md
4c31395
2ef442f
* Mon Nov 21 2011 Alan Pevec <apevec@redhat.com> 2011.3.1-1
7a0d673
- Update to 2011.3.1 stable/diablo release
2ef442f
191daee
* Fri Nov 11 2011 Alan Pevec <apevec@redhat.com> 2011.3-2
191daee
- Update to the latest stable/diablo snapshot
191daee
Mark McLoughlin ddb82e0
* Mon Oct 24 2011 Mark McLoughlin <markmc@redhat.com> - 2011.3-1
Mark McLoughlin ddb82e0
- Update version to diablo final
Mark McLoughlin ddb82e0
Matt Domsch e972b04
* Wed Oct 19 2011 Matt Domsch <Matt_Domsch@dell.com> - 1.0-0.4.d4.1213
Matt Domsch e972b04
- add Requires: python-passlib
Matt Domsch e972b04
Matt Domsch 0b714a3
* Mon Oct 3 2011 Matt Domsch <Matt_Domsch@dell.com> - 1.0-0.2.d4.1213
Matt Domsch 0b714a3
- update to diablo release.
Matt Domsch 0b714a3
- BR systemd-units for _unitdir
Matt Domsch 0b714a3
Matt Domsch 0b714a3
* Fri Sep  2 2011 Mark McLoughlin <markmc@redhat.com> - 1.0-0.2.d4.1078
Matt Domsch 0b714a3
- Use upstream snapshot tarball
Matt Domsch 0b714a3
- No need to define python_sitelib anymore
Matt Domsch 0b714a3
- BR python2-devel
Matt Domsch 0b714a3
- Remove BRs only needed for unit tests
Matt Domsch 0b714a3
- No need to clean buildroot in install anymore
Matt Domsch 0b714a3
- Use slightly more canonical site for URL tag
Matt Domsch 0b714a3
- Prettify the requires tags
Matt Domsch 0b714a3
- Cherry-pick tools.tracer patch from upstream
Matt Domsch 0b714a3
- Add config file
Matt Domsch 0b714a3
- Add keystone user and group
Matt Domsch 0b714a3
- Ensure log file is in /var/log/keystone
Matt Domsch 0b714a3
- Ensure the sqlite db is in /var/lib/keystone
Matt Domsch 0b714a3
- Add logrotate support
Matt Domsch 0b714a3
- Add system units
Matt Domsch 0b714a3
Matt Domsch 0b714a3
* Thu Sep  1 2011 Matt Domsch <Matt_Domsch@dell.com> - 1.0-0.1.20110901git396f0bfd%{?dist}
Matt Domsch 0b714a3
- initial packaging