Mark McLoughlin ddb82e0
#
d75edaf
# This is 2012.2 folsom-1 milestone
Mark McLoughlin ddb82e0
#
d75edaf
%global release_name folsom
d75edaf
%global release_letter f
d75edaf
%global milestone 1
d75edaf
%global snapdate 20120523
d75edaf
%global git_revno r2300
a52820c
d291f25
%global snaptag ~%{release_letter}%{milestone}~%{snapdate}.%{git_revno}
Matt Domsch 0b714a3
Matt Domsch 0b714a3
Name:           openstack-keystone
d75edaf
Version:        2012.2
d75edaf
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/
d75edaf
#Source0:        http://launchpad.net/keystone/%{release_name}/%{version}/+download/keystone-%{version}.tar.gz
d75edaf
Source0:        http://launchpad.net/keystone/%{release_name}/%{release_name}-%{milestone}/+download/keystone-%{version}~%{release_letter}%{milestone}.tar.gz
a52820c
#Source0:        http://keystone.openstack.org/tarballs/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
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
6ab07b6
# to pull middleware on yum update
6ab07b6
Requires:       python-keystone-auth-token = %{version}-%{release}
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
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
6ab07b6
%package -n     python-keystone-auth-token
6ab07b6
Summary:        Keystone Authentication Middleware.
6ab07b6
Group:          Applications/System
6ab07b6
# python-keystone-auth-token added in 2012.1-3
6ab07b6
Conflicts:      python-keystone < 2012.1-3
6ab07b6
6ab07b6
Requires:       python-iso8601
6ab07b6
Requires:       python-memcached
6ab07b6
Requires:       python-webob
6ab07b6
6ab07b6
%description -n   python-keystone-auth-token
6ab07b6
Keystone is a Python implementation of the OpenStack
6ab07b6
(http://www.openstack.org) identity service API.
6ab07b6
6ab07b6
This package contains the Keystone Authentication Middleware.
6ab07b6
Matt Domsch 0b714a3
%prep
2ef442f
%setup -q -n keystone-%{version}
Matt Domsch 0b714a3
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
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
7aebc9c
if [ -x /usr/bin/sphix-apidoc ]; then
7aebc9c
    make html
7aebc9c
else
7aebc9c
    make html SPHINXAPIDOC=echo
7aebc9c
fi
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
7aebc9c
%doc doc/build/html
a54b58f
%{_bindir}/keystone-all
a54b58f
%{_bindir}/keystone-manage
a54b58f
%{_bindir}/openstack-keystone-sample-data
7aebc9c
%{_datadir}/%{name}
7aebc9c
%{_datadir}/%{name}/sample_data.sh
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
6ab07b6
%exclude %{python_sitelib}/keystone/middleware/auth_token.py*
5c169fe
%{python_sitelib}/keystone-%{version}-*.egg-info
5c169fe
6ab07b6
%files -n python-keystone-auth-token
6ab07b6
%defattr(-,root,root,-)
6ab07b6
%doc LICENSE
6ab07b6
%dir %{python_sitelib}/keystone
6ab07b6
%{python_sitelib}/keystone/middleware/auth_token.py*
6ab07b6
Matt Domsch 0b714a3
%changelog
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