From 0517c90a68776fea6bd0a3911b71febe6d0e4916 Mon Sep 17 00:00:00 2001 From: Douglas Mendizabal Date: Sun, 7 Jul 2013 22:50:10 -0500 Subject: [PATCH] Added barbican-api rpm packaging. Change-Id: I758880bc71648c1179c2249aa49e5772ae34702b --- MANIFEST.in | 5 +++ debian/barbican-api.logrotate | 3 ++ debian/barbican-api.upstart | 6 +-- etc/init/barbican-api.conf | 10 +++++ etc/logrotate.d/barbican-api | 10 +++++ rpmbuild/SPECS/barbican.spec | 73 +++++++++++++++++++++++++++++++++++ 6 files changed, 104 insertions(+), 3 deletions(-) create mode 100644 etc/init/barbican-api.conf create mode 100644 etc/logrotate.d/barbican-api create mode 100644 rpmbuild/SPECS/barbican.spec diff --git a/MANIFEST.in b/MANIFEST.in index 6ef0c31d8..aa41a135c 100644 --- a/MANIFEST.in +++ b/MANIFEST.in @@ -7,5 +7,10 @@ include LICENSE include setup.cfg include babel.cfg tox.ini include barbican/tests/api/resources_test.py +include barbican/model/migration/README +include barbican/model/migration/alembic.ini +include barbican/model/migration/alembic_migrations/script.py.mako +include barbican/model/migration/alembic_migrations/versions/*.py +include barbican/model/migration/alembic_migrations/versions/README graft tools graft etc diff --git a/debian/barbican-api.logrotate b/debian/barbican-api.logrotate index e31066095..0abaf8a89 100644 --- a/debian/barbican-api.logrotate +++ b/debian/barbican-api.logrotate @@ -1,3 +1,6 @@ +# logrotate.d configuration +# Used in deb build. Keep in sync with etc/logrotate.d/barbican-api + /var/log/barbican/barbican-api.log { daily missingok diff --git a/debian/barbican-api.upstart b/debian/barbican-api.upstart index af7d0802a..a161289e2 100644 --- a/debian/barbican-api.upstart +++ b/debian/barbican-api.upstart @@ -1,10 +1,10 @@ -# Barbican script +# Barbican upstart script +# Used in deb build. Keep in sync with etc/init/barbican-api.conf description "Barbican Key Management APIs" start on runlevel [2345] stop on runlevel [06] script - uwsgi --master --die-on-term --emperor /etc/barbican/vassals --logto /var/log/barbican/uwsgi.log + uwsgi --master --die-on-term --emperor /etc/barbican/vassals --logto /var/log/barbican/barbican-api.log end script - diff --git a/etc/init/barbican-api.conf b/etc/init/barbican-api.conf new file mode 100644 index 000000000..af191f094 --- /dev/null +++ b/etc/init/barbican-api.conf @@ -0,0 +1,10 @@ +# Barbican upstart script +# Used in rpm build. Keep in sync with debian/barbican-api.upstart + +description "Barbican Key Management APIs" +start on runlevel [2345] +stop on runlevel [06] + +script + uwsgi --master --die-on-term --emperor /etc/barbican/vassals --logto /var/log/barbican/barbican-api.log +end script diff --git a/etc/logrotate.d/barbican-api b/etc/logrotate.d/barbican-api new file mode 100644 index 000000000..c3158d7ca --- /dev/null +++ b/etc/logrotate.d/barbican-api @@ -0,0 +1,10 @@ +# logrotate.d configuration +# Used in rpm build. Keep in sync with debian/barbican-api.logrotate + +/var/log/barbican/barbican-api.log { + daily + missingok + compress + delaycompress + notifempty +} diff --git a/rpmbuild/SPECS/barbican.spec b/rpmbuild/SPECS/barbican.spec new file mode 100644 index 000000000..e3c8dfeeb --- /dev/null +++ b/rpmbuild/SPECS/barbican.spec @@ -0,0 +1,73 @@ +%define version 0.1.66dev +%define release 1 + +Summary: Common files for Barbican Key Manager +Name: barbican-common +Version: %{version} +Release: %{release} +Source0: barbican-%{version}.tar.gz +Vendor: Rackspace, Inc. +Packager: Douglas Mendizabal +Url: http://github.com/cloudkeep/barbican +License: Apache License (2.0) +Group: Python WSGI Application +BuildRoot: %{_tmppath}/barbican-%{version}-%{release}-buildroot +BuildArch: noarch +Requires(pre): shadow-utils + +%description +Common files for Barbican Key Management API (barbican-api) and +Barbican Worker (barbican-worker) + +%prep +%setup -n barbican-%{version} -q + +%build +python setup.py build + +%install +python setup.py install -O1 --root $RPM_BUILD_ROOT +mkdir -p $RPM_BUILD_ROOT/etc/barbican/vassals +mkdir -p $RPM_BUILD_ROOT/etc/init +mkdir -p $RPM_BUILD_ROOT/var/l{ib,og}/barbican +install etc/barbican/policy.json $RPM_BUILD_ROOT/etc/barbican +install etc/init/barbican-api.conf $RPM_BUILD_ROOT/etc/init +install -D etc/barbican/barbican* $RPM_BUILD_ROOT/etc/barbican +install -D etc/barbican/vassals/*.ini $RPM_BUILD_ROOT/etc/barbican/vassals +touch $RPM_BUILD_ROOT/var/log/barbican/barbican-api.log + +# install log rotation +mkdir -p $RPM_BUILD_ROOT/etc/logrotate.d +install -m644 etc/logrotate.d/barbican-api $RPM_BUILD_ROOT/etc/logrotate.d/barbican-api + +%pre +# Add the 'barbican' user +getent group barbican >/dev/null || groupadd -r barbican +getent passwd barbican >/dev/null || \ + useradd -r -g barbican -d /var/lib/barbican -s /sbin/nologin \ + -c "Barbican Key Manager user account." barbican +exit 0 + +%clean +rm -rf $RPM_BUILD_ROOT + +%files +%defattr(-,barbican,barbican) +%{python_sitelib}/* +%dir /var/lib/barbican + +# API package +%package -n barbican-api +Summary: Barbican Key Manager API daemon +Requires: barbican-common + +%description -n barbican-api +Barbican Key Manager API daemon + +%files -n barbican-api +%defattr(-,root,root) +%verify(not md5 size mtime) %attr(0750, barbican,root) /var/log/barbican/barbican-api.log +/etc/logrotate.d/barbican-api +%attr(0755,root,root) /usr/bin/barbican-all +%config(noreplace) /etc/init/barbican-api.conf +%config(noreplace) /etc/barbican/*