diff --git a/openstack-panko.spec b/openstack-panko.spec new file mode 100644 index 0000000000000000000000000000000000000000..950db6b9a81e95f7e38fdf88aa3f79f1c46c0d7c --- /dev/null +++ b/openstack-panko.spec @@ -0,0 +1,214 @@ +%global pypi_name panko +%global with_doc %{!?_without_doc:1}%{?_without_doc:0} +%{!?upstream_version: %global upstream_version %{version}%{?milestone}} + +%global common_desc OpenStack Panko provides API to store events from OpenStack components. + + +Name: openstack-panko +Version: 10.0.0 +Release: 1 +Summary: Panko provides Event storage and REST API + +License: ASL 2.0 +URL: http://github.com/openstack/panko +Source0: https://tarballs.openstack.org/%{pypi_name}/%{pypi_name}-%{upstream_version}.tar.gz +Source1: %{pypi_name}-dist.conf +Source2: %{pypi_name}.logrotate +BuildArch: noarch + +BuildRequires: python3-setuptools +BuildRequires: python3-pbr +BuildRequires: python3-devel +BuildRequires: openstack-macros + +%description +HTTP API to store events. + +%package -n python3-%{pypi_name} +Summary: OpenStack panko python libraries +%{?python_provide:%python_provide python3-%{pypi_name}} + +Requires: python3-debtcollector +Requires: python3-tenacity +Requires: python3-keystonemiddleware +Requires: python3-oslo-config +Requires: python3-oslo-db +Requires: python3-oslo-i18n +Requires: python3-oslo-log +Requires: python3-oslo-middleware +Requires: python3-oslo-policy +Requires: python3-oslo-reports +Requires: python3-oslo-utils +Requires: python3-oslo-serialization +Requires: python3-pecan +Requires: python3-sqlalchemy +Requires: python3-alembic +Requires: python3-stevedore +Requires: python3-webob +Requires: python3-wsme +Requires: python3-dateutil +Requires: python3-pbr + +Requires: python3-lxml +Requires: python3-paste +Requires: python3-paste-deploy +Requires: python3-sqlalchemy-utils +Requires: python3-yaml +Requires: python3-oslo-context +Requires: python3-pymongo + +%description -n python3-%{pypi_name} +%{common_desc} + +This package contains the Panko python library. + + +%package api + +Summary: OpenStack panko api + +Requires: %{name}-common = %{version}-%{release} + + +%description api +%{common_desc} + +This package contains the Panko API service. + +%package common +Summary: Components common to all OpenStack panko services + +BuildRequires: python3-oslo-config +BuildRequires: python3-oslo-concurrency +BuildRequires: python3-oslo-db +BuildRequires: python3-oslo-log +BuildRequires: python3-oslo-messaging +BuildRequires: python3-oslo-policy +BuildRequires: python3-oslo-reports +BuildRequires: python3-oslo-service +BuildRequires: python3-tenacity +BuildRequires: python3-werkzeug + +Requires: python3-panko = %{version}-%{release} +Requires: openstack-ceilometer-common + + +%description common +%{common_desc} + +%package -n python3-panko-tests +Summary: Panko tests +%{?python_provide:%python_provide python3-panko-tests} +Requires: python3-panko = %{version}-%{release} + +%description -n python3-%{pypi_name}-tests +This package contains the Panko test files. + +%if 0%{?with_doc} +%package doc +Summary: Documentation for OpenStack panko + +Requires: python3-panko = %{version}-%{release} +BuildRequires: python3-sphinx +BuildRequires: python3-oslo-sphinx +BuildRequires: openstack-macros + +%description doc +%{common_desc} + +This package contains documentation files for Panko. +%endif + + +%prep +%setup -q -n %{pypi_name}-%{upstream_version} + +find . \( -name .gitignore -o -name .placeholder \) -delete + +find panko -name \*.py -exec sed -i '/\/usr\/bin\/env python/{d;q}' {} + + +sed -i '/setup_requires/d; /install_requires/d; /dependency_links/d' setup.py + +%py_req_cleanup + + +%build + +PYTHONPATH=. oslo-config-generator --config-file=etc/panko/panko-config-generator.conf + +%{py3_build} + +while read name eq value; do + test "$name" && test "$value" || continue + sed -i "0,/^# *$name=/{s!^# *$name=.*!#$name=$value!}" etc/panko/panko.conf +done < %{SOURCE1} + + +%install + +%{py3_install} + +mkdir -p %{buildroot}/%{_sysconfdir}/sysconfig/ +mkdir -p %{buildroot}/%{_sysconfdir}/panko/ +mkdir -p %{buildroot}/%{_var}/log/%{name} + +install -p -D -m 640 %{SOURCE1} %{buildroot}%{_datadir}/panko/panko-dist.conf +install -p -D -m 640 etc/panko/panko.conf %{buildroot}%{_sysconfdir}/panko/panko.conf +install -p -D -m 640 etc/panko/api_paste.ini %{buildroot}%{_sysconfdir}/panko/api_paste.ini + +install -d -m 755 %{buildroot}%{_sharedstatedir}/panko +install -d -m 755 %{buildroot}%{_sharedstatedir}/panko/tmp +install -d -m 755 %{buildroot}%{_localstatedir}/log/panko + +install -p -D -m 644 %{SOURCE2} %{buildroot}%{_sysconfdir}/logrotate.d/%{name} + +rm -f %{buildroot}/usr/etc/panko/* + +%pre common +getent group panko >/dev/null || groupadd -r panko +if ! getent passwd panko >/dev/null; then + useradd -r -g panko -G panko,nobody -d %{_sharedstatedir}/panko -s /sbin/nologin -c "OpenStack panko Daemons" panko +fi +usermod -a -G panko ceilometer +exit 0 + + +%files -n python3-panko +%{python3_sitelib}/panko +%{python3_sitelib}/panko-*.egg-info + +%exclude %{python3_sitelib}/panko/tests + +%files -n python3-panko-tests +%license LICENSE +%{python3_sitelib}/panko/tests + +%files api +%defattr(-,root,root,-) +%{_bindir}/panko-api +%{_bindir}/panko-dbsync +%{_bindir}/panko-expirer + +%files common +%dir %{_sysconfdir}/panko +%attr(-, root, panko) %{_datadir}/panko/panko-dist.conf +%config(noreplace) %attr(-, root, panko) %{_sysconfdir}/panko/panko.conf +%config(noreplace) %attr(-, root, panko) %{_sysconfdir}/panko/api_paste.ini +%config(noreplace) %attr(-, root, panko) %{_sysconfdir}/logrotate.d/%{name} +%dir %attr(0755, panko, root) %{_localstatedir}/log/panko + +%defattr(-, panko, panko, -) +%dir %{_sharedstatedir}/panko +%dir %{_sharedstatedir}/panko/tmp + + +%if 0%{?with_doc} +%files doc +%doc doc/source/ +%endif + + +%changelog +* Feb Feb 22 2022 zhangy -10.0.0-1 +- Init packages diff --git a/panko-10.0.0.tar.gz b/panko-10.0.0.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..a8cc90aa784b957be0fe33a9c3738e37d75e489a Binary files /dev/null and b/panko-10.0.0.tar.gz differ diff --git a/panko-dist.conf b/panko-dist.conf new file mode 100644 index 0000000000000000000000000000000000000000..c33a2ee55fc647e84be0775a5bcd0bc7925c040b --- /dev/null +++ b/panko-dist.conf @@ -0,0 +1,4 @@ +[DEFAULT] +log_dir = /var/log/panko +use_stderr = False + diff --git a/panko.logrotate b/panko.logrotate new file mode 100644 index 0000000000000000000000000000000000000000..442c80f2998bbe5d581398d125f4bacb4e8f424d --- /dev/null +++ b/panko.logrotate @@ -0,0 +1,9 @@ +compress + +/var/log/panko/*.log { + weekly + rotate 4 + missingok + compress + minsize 100k +}