From 657f05f17a279b65b968e117a462b42b23541bb8 Mon Sep 17 00:00:00 2001 From: virtbuilder_pel7ppc64bebuilder0 Date: Fri, 19 Jul 2019 19:11:24 +0200 Subject: [PATCH] python-virtualbmc package creation Signed-off-by: virtbuilder_pel7ppc64bebuilder0 --- SOURCES/60-vbmcd.rules | 8 +++ SOURCES/vbmcd.service | 23 ++++++ SPECS/python-virtualbmc.spec | 133 +++++++++++++++++++++++++++++++++++ 3 files changed, 164 insertions(+) create mode 100644 SOURCES/60-vbmcd.rules create mode 100644 SOURCES/vbmcd.service create mode 100644 SPECS/python-virtualbmc.spec diff --git a/SOURCES/60-vbmcd.rules b/SOURCES/60-vbmcd.rules new file mode 100644 index 0000000..4a6ac71 --- /dev/null +++ b/SOURCES/60-vbmcd.rules @@ -0,0 +1,8 @@ +polkit.addRule(function(action, subject) { + if (action.id == "org.libvirt.unix.manage" && + subject.user == "vbmcd") { + polkit.log("action=" + action); + polkit.log("subject=" + subject); + return polkit.Result.YES; + } +}); diff --git a/SOURCES/vbmcd.service b/SOURCES/vbmcd.service new file mode 100644 index 0000000..5125fbf --- /dev/null +++ b/SOURCES/vbmcd.service @@ -0,0 +1,23 @@ +[Unit] +Description=VirtualBMC daemon +Documentation=https://docs.openstack.org/virtualbmc/latest/user/index.html +After=libvirtd.service +After=network.target + +[Service] +Type=simple +User=vbmcd +Group=vbmcd +WorkingDirectory=/var/lib/vbmcd +ExecStart=/usr/bin/vbmcd --foreground +ProtectSystem=full +ProtectHome=true +PrivateTmp=true +CapabilityBoundingSet= +NoNewPrivileges=true +ProtectKernelTunables=true +ProtectKernelModules=true +ProtectControlGroups=true + +[Install] +WantedBy=multi-user.target diff --git a/SPECS/python-virtualbmc.spec b/SPECS/python-virtualbmc.spec new file mode 100644 index 0000000..3d0ee20 --- /dev/null +++ b/SPECS/python-virtualbmc.spec @@ -0,0 +1,133 @@ +%global srcname virtualbmc + +Name: python-%{srcname} +Version: 1.5.0 +Release: 1%{?dist} +Summary: A virtual BMC for controlling virtual machines using IPMI commands +License: ASL 2.0 +URL: https://github.com/openstack/virtualbmc +Source0: %{srcname}-%{version}.tar.gz +Source1: 60-vbmcd.rules +Source2: vbmcd.service +BuildArch: noarch +BuildRequires: python3-devel +BuildRequires: python3-pbr +BuildRequires: python3-setuptools +BuildRequires: systemd-rpm-macros +# Documentation +BuildRequires: python3-sphinx +# Tests +BuildRequires: python3-stestr +BuildRequires: python3-libvirt +BuildRequires: python3-mock +BuildRequires: python3-pyghmi +BuildRequires: python3-zmq +BuildRequires: python3-oslotest + +%description +A virtual BMC for controlling virtual machines using IPMI commands. + +%package -n python3-%{srcname} +Summary: A virtual BMC for controlling virtual machines using IPMI commands +#Suggests: python3-%{srcname}-doc +Requires(pre): shadow-utils +%{?python_provide:%python_provide python3-%{srcname}} + +%description -n python3-%{srcname} +A virtual BMC for controlling virtual machines using IPMI commands. + +%package -n python3-%{srcname}-tests +Summary: VirtualBMC tests +Requires: python3-%{srcname} = %{version}-%{release} + +%description -n python3-%{srcname}-tests +Tests for VirtualBMC. + +%package -n python3-%{srcname}-doc +Summary: VirtualBMC documentation + +%description -n python3-%{srcname}-doc +Documentation for VirtualBMC. + +%prep +%autosetup -n %{srcname}-%{version} + +%build +%{__python3} setup.py build + +# generate html docs +#%{__python3} setup.py build_sphinx -b html +# remove the sphinx-build leftovers +#rm -rf doc/build/html/.{doctrees,buildinfo} + +%install +%{__python3} setup.py install --optimize 2 --root %{buildroot} +install -D -m 0644 %{SOURCE1} %{buildroot}%{_sysconfdir}/polkit-1/rules.d/60-vbmcd.rules +install -D -m 0644 %{SOURCE2} %{buildroot}%{_unitdir}/vbmcd.service +install -d -m 750 %{buildroot}%{_sharedstatedir}/vbmcd + +%check +#PYTHON=%{__python3} stestr run + +%pre -n python3-%{srcname} +getent group vbmcd >/dev/null || groupadd -r vbmcd +getent passwd vbmcd >/dev/null || \ + useradd -r -g vbmcd -d %{_sharedstatedir}/vbmcd -s /sbin/nologin \ + -c "VirtualBMC daemon" vbmcd +exit 0 + +%post -n python3-%{srcname} +%systemd_post vbmcd.service + +%preun -n python3-%{srcname} +%systemd_preun vbmcd.service + +%postun -n python3-%{srcname} +%systemd_postun_with_restart vbmcd.service + +%files -n python3-%{srcname} +%license LICENSE +%{_bindir}/vbmcd +%{_bindir}/vbmc +%{python3_sitelib}/%{srcname} +%{python3_sitelib}/%{srcname}-*.egg-info +%exclude %{python3_sitelib}/%{srcname}/tests +%config(noreplace) %{_sysconfdir}/polkit-1/rules.d/60-vbmcd.rules +%{_unitdir}/vbmcd.service +%dir %attr(750, vbmcd, vbmcd) %{_sharedstatedir}/vbmcd + +%files -n python3-%{srcname}-tests +%license LICENSE +%{python3_sitelib}/%{srcname}/tests + +%files -n python3-%{srcname}-doc +%license LICENSE +%doc README.rst HACKING.rst CONTRIBUTING.rst ChangeLog +#%doc doc/build/html + +%changelog +* Mon Jul 15 2019 Juan Orti Alcaine - 1.5.0-5 +- Fix polkit logging + +* Sun Jul 14 2019 Juan Orti Alcaine - 1.5.0-4 +- Fix tests for Fedora 30 + +* Sun Jul 14 2019 Juan Orti Alcaine - 1.5.0-3 +- Include html docs +- Run tests + +* Thu Jul 11 2019 Juan Orti Alcaine - 1.5.0-2 +- Include polkit and service unit + +* Wed Jul 10 2019 Juan Orti Alcaine - 1.5.0-1 +- Build only for Python3 +- Version 1.5.0 + +* Tue Feb 13 2018 Maxim Burgerhout - 1.2.0-2 +- First build for Fedora 27 copr + +* Tue Aug 22 2017 Alfredo Moralejo - 1.2.0-1 +- Update to 1.2.0 + +* Tue Nov 15 2016 Lucas Alvares Gomes - 0.1.0-1 +- Initial package.